Name:		lshw
Version:	B.02.19.2
Release:    3
Summary:	Hardware lister
License:	GPLv2
URL:		http://ezix.org/project/wiki/HardwareLiSter
Source0:	http://www.ezix.org/software/files/%{name}-%{version}.tar.gz
Patch0:         lshw-B.02.18-scandir.patch

Patch2:         lshw-B.02.18-revert-json.patch
Patch3:         lshw-B.02.19.2-cmake.patch
Patch4:         lshw-B.02.19.2-sw.patch

BuildRequires:	gcc gcc-c++ cmake gettext 
BuildRequires:  desktop-file-utils libappstream-glib ninja-build
BuildRequires:	python3-devel gtk2-devel >= 2.4
Requires:	hwdata
Provides:	%{name}-gui = %{version}-%{release}
Obsoletes:	%{name}-gui < %{version}-%{release}

%description
lshw (Hardware Lister) is a small tool to provide detailed information
on the hardware configuration of the machine. It can report exact memory
configuration, firmware version, mainboard configuration, CPU version
and speed, cache configuration, bus speed, etc. on DMI-capable x86 or
EFI (IA-64) systems and on some PowerPC machines (PowerMac G4 is known
to work).

%package	help
Summary: 	Doc files for %{name}
BuildArch:	noarch

%description 	help
The %{name}-help package contains doc files for %{name}.

%prep
%setup -q
%patch00 -p1

%patch02 -R -p1
%patch03 -p1
%ifarch sw_64
%patch04 -p1
%endif

%build
mkdir -p build && cd build
%cmake .. -DNOLOGO=ON -DHWDATA=OFF -DPOLICYKIT=ON -DBUILD_SHARED_LIBS=OFF  -GNinja
%ninja_build

%install
cd build
%ninja_install
ln -s gtk-lshw %{buildroot}/%{_sbindir}/lshw-gui

rm -rf %{buildroot}/%{_datadir}/locale/fr/

%check
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/appdata/*.appdata.xml
cd build
src/lshw -json -disable usb -disable pcmcia -disable isapnp \
    -disable ide -disable scsi -disable dmi -disable memory \
    -disable cpuinfo 2>/dev/null | %{__python3} -m json.tool

%files
%license COPYING
%{_bindir}/lshw-gui
%{_sbindir}/*lshw*
%{_datadir}/lshw/artwork
%{_datadir}/lshw/ui/*
%{_datadir}/pixmaps/*
%{_datadir}/applications/gtk-lshw.desktop
%{_datadir}/appdata/gtk-lshw.appdata.xml
%{_datadir}/polkit-1/actions/org.ezix.lshw.gui.policy

%files help
%doc README.md
%{_mandir}/man1/lshw.1.gz

%changelog
* Mon Apr 24 2023 guoqinglan <guoqinglan@kylinsec.com.cn> - B.02.19.2-3
- fix build error for sw_64

* Mon Oct 24 2022 wuzx<wuzx1226@qq.com> - B.02.19.2-2
- add sw64 patch

* Wed Jan 27 2021 yuanxin <yuanxin24@huawei.com> - B.02.19.2-1
- upgrade version to B.02.19.2

* Fri Feb 14 2020 chengquan <chengquan3@huawei.com> - B.02.18-21
- Rollback some patches for bugfix

* Mon Jan 13 2020 chengquan <chengquan3@huawei.com> - B.02.18-20
- remove gui function and unrelated patches

* Mon Sep 9 2019 luhuaxin <luhuaxin@huawei.com> - B.02.18-19
- Package init
