diff --git a/libsmbios-2.3.3.tar.bz2 b/libsmbios-2.3.3.tar.bz2 deleted file mode 100644 index 2540a07..0000000 --- a/libsmbios-2.3.3.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ff0fbcc5fd581772aaabcde1a998b774da70fd87e2934a19fd7d61e60ab5245d -size 872617 diff --git a/libsmbios-2.4.1.tar.xz b/libsmbios-2.4.1.tar.xz new file mode 100644 index 0000000..a647b36 --- /dev/null +++ b/libsmbios-2.4.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bca36af54a169eafeda19463e100378b26b1845d90dfd2fcb41cbd05a632f015 +size 435512 diff --git a/libsmbios.changes b/libsmbios.changes index e4c61c2..4cb5c2f 100644 --- a/libsmbios.changes +++ b/libsmbios.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Mon Mar 26 11:18:52 UTC 2018 - jengelh@inai.de + +- Update shared library packaging to meet guideline. +- Use find's -exec + strategy. +- Escape all % signs to %% where needed. + +------------------------------------------------------------------- +Thu Mar 22 19:45:36 UTC 2018 - antoine.belvire@opensuse.org + +- Update to 2.4.1: + * Minor fixes submitted for help2man improvements and a signed + comparison. + * Fix a crash when used by fwupd [boo#1086732] +- Changes in 2.4.0: + * Convert all python2 -> python3. + * Drop libsmbios C++ library. + * Introduce support for WMI SMM API provided by Linux kernel + 4.15+. + * Add proper support for SMBIOS 3.0 tables. + * Fix many many crashers. + * Clean up long standing coverity errors. + ------------------------------------------------------------------- Fri Feb 23 15:36:12 UTC 2018 - josef.moellers@suse.com diff --git a/libsmbios.spec b/libsmbios.spec index db5fe6f..c883a97 100644 --- a/libsmbios.spec +++ b/libsmbios.spec @@ -1,7 +1,7 @@ # # spec file for package libsmbios # -# Copyright (c) 2018 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,104 +18,67 @@ # these are all substituted by autoconf %define major 2 -%define minor 3 -%define micro 3 +%define minor 4 +%define micro 1 %define extra %{nil} %define pot_file libsmbios -%define lang_dom libsmbios-2.3-x86_64 -%define release_version 2.3.3 +%define lang_dom libsmbios-2.4-x86_64 +%define release_version 2.4.1 %define release_name libsmbios %define other_name libsmbios2 %if 0%{?suse_version} -%define release_name libsmbios2 +%define release_name libsmbios_c2 %define other_name libsmbios %endif %{!?build_python: %global build_python 1} %{?_with_python: %global build_python 1} %{?_without_python: %undefine build_python} -%{?!python_module:%define python_module() python-%{**} python3-%{**}} -# %%define debug_package %%{nil} # run_unit_tests not defined by default as cppunit # not available in OS on several major OS %{?_without_unit_tests: %undefine run_unit_tests} -%{?_with_unit_tests: %define run_unit_tests 1} +%{?_with_unit_tests: %global run_unit_tests 1} %{!?as_needed: %global as_needed 1} %{?_without_as_needed: %undefine as_needed} %{?_with_as_needed: %global as_needed 1} -%define cppunit_BR cppunit-devel -%define pkgconfig_BR pkgconfig -%define ctypes_BR python-ctypes -%define valgrind_BR valgrind +%global pkgconfig_BR pkgconfig +%global valgrind_BR valgrind # Some variable definitions so that we can be compatible between SUSE Build service and Fedora build system # SUSE: fedora_version suse_version rhel_version centos_version sles_version # Fedora: fedora dist fc8 fc9 -# suse/sles -%if 0%{?suse_version} -%if 0%{?suse_version} < 1000 - %define valgrind_BR %{nil} - # sles 9 doesnt have as_needed - %undefine as_needed -%endif -%if 0%{?suse_version} >= 1020 - # suse never added python-ctypes provides to python 2.5 :( - %define ctypes_BR %{nil} -%endif -%endif - -# rhel (should work on OBS and EPEL) -%if 0%{?rhel} -%if 0%{?rhel} < 4 - # dont yet have rhel3 valgrind - %define valgrind_BR %{nil} - # no python-ctypes for python <= 2.2 - %undefine build_python - # rhel3 doesnt have -as-needed - %undefine as_needed -%endif -%endif - -%define python_devel_BR %{nil} +%global python_devel_BR %{nil} %if 0%{?build_python} - %define python_devel_BR %{pythons} - # per fedora and suse python packaging guidelines - # suse: will define py_sitedir for us - # fedora: use the !? code below to define when it isnt already - - # pure python stuff goes here - %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} - - # arch-dep python stuff goes here - %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} - + %global python_devel_BR python3-devel %endif # if unit tests are disabled, get rid of a few BuildRequires -%{!?run_unit_tests: %global cppunit_BR %{nil}} %{!?run_unit_tests: %global valgrind_BR %{nil}} -Name: %{release_name} +Name: libsmbios Version: %{release_version} -Release: 3.1%{?dist} -Summary: Libsmbios C shared libraries -License: GPL-2.0+ or OSL-2.1 -Group: System/Libraries -Source: libsmbios-%{version}.tar.bz2 +Release: 0%{?dist} +Summary: SMBIOS table library and utilities +License: GPL-2.0-or-later OR OSL-2.1 +Group: Hardware/Other +Source: libsmbios-%{version}.tar.xz Source1: libsmbios.rpmlintrc Url: http://github.com/dell/libsmbios BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gettext-devel +BuildRequires: libtool BuildRequires: python-rpm-macros -BuildRequires: strace libxml2-devel gcc-c++ gettext doxygen %{valgrind_BR} %{cppunit_BR} %{pkgconfig_BR} %{pythons} +BuildRequires: strace libxml2-devel gcc-c++ gettext doxygen help2man %{valgrind_BR} %{pkgconfig_BR} %{python_devel_BR} # uncomment for official fedora Obsoletes: libsmbios-libs < 2.0.0 Provides: libsmbios-libs = 0:%{version}-%{release} Obsoletes: %{other_name} < 0:%{version}-%{release} - Provides: %{other_name} = 0:%{version}-%{release} # libsmbios only ever makes sense on intel compatible arches @@ -123,16 +86,39 @@ Provides: %{other_name} = 0:%{version}-%{release} ExclusiveArch: x86_64 ia64 %{ix86} %description -This package is a library and utilities that can be used by client programs to get -information from standard BIOS tables, such as the SMBIOS table. +libsmbios provides a library to interface with the SMBIOS tables. It +also provides extensions for proprietary methods of interfacing with +Dell specific SMBIOS tables. -This package provides the C-based libsmbios library, with a C interface. +%package lang +Summary: Translations for package libsmbios +Group: System/Localization + +%description lang +Provides translations for the "libsmbios" package. + +%package -n %{release_name} +Summary: SMBIOS table interface library +# Leap 42.X +Group: System/Libraries +Provides: libsmbios = %{version} +Obsoletes: libsmbios < %{version} +# Short-time Factory package containing libsmbios_c2 +Provides: libsmbios2 = %{version} +Obsoletes: libsmbios2 < %{version} + +%description -n %{release_name} +libsmbios provides a library to interface with the SMBIOS tables. It +also provides extensions for proprietary methods of interfacing with +Dell specific SMBIOS tables. + +This package provides the C API library. %package -n python-smbios Summary: Python interface to Libsmbios C library Group: System/Libraries Requires: %{release_name} = %{version}-%{release} -Requires: python %{ctypes_BR} +Requires: python3 %description -n python-smbios This package provides a Python interface to libsmbios @@ -200,9 +186,9 @@ programs against libsmbios. : '########################################' : '########################################' %setup -q -n libsmbios-%{version} -find . -type d -exec chmod -f 755 {} \; -find doc src -type f -exec chmod -f 644 {} \; -find ./src/cppunit/ -name "*.sh" -type f -exec chmod 755 '{}' \; +find . -type d -exec chmod -f a+rx "{}" "+" +find doc src -type f -exec chmod -f a-x "{}" "+" +find src/pyunit/ -name "*.sh" -o -name "*.py" -type f -exec chmod a+x "{}" "+" %build # this line lets us build an RPM directly from a git tarball @@ -211,16 +197,14 @@ find ./src/cppunit/ -name "*.sh" -type f -exec chmod 755 '{}' \; mkdir _build cd _build -echo '../configure "$@"' > configure -chmod +x ./configure - +%define _configure ../configure %configure \ %{?!as_needed:--disable-as-needed} %{?!build_python:--disable-python} mkdir -p out/libsmbios_c -make CFLAGS="-Werror" %{?_smp_mflags} OPT="$RPM_OPT_FLAGS" 2>&1 | tee build-%{_arch}.log +make CFLAGS="-Werror %{optflags}" %{?_smp_mflags} 2>&1 | tee build-%{_arch}.log -echo \%doc _build/build-%{_arch}.log > buildlogs.txt +echo '%%doc _build/build-%{_arch}.log' > buildlogs.txt %check runtest() { @@ -232,47 +216,31 @@ runtest() { touch -r ../configure.ac $1$2-%{_arch}.log make -e $1 2>&1 | tee $1$2.log popd - echo \%doc _$1$2/$1$2-%{_arch}.log >> _build/buildlogs.txt + echo "%%doc _$1$2/$1$2-%{_arch}.log" >> _build/buildlogs.txt %endif } -if [ -d /usr/include/cppunit ]; then - # run this first since it is slightly faster than valgrind - VALGRIND="strace -f" runtest check strace > /dev/null || echo FAILED strace check -fi - -if [ -e /usr/bin/valgrind -a -d /usr/include/cppunit ]; then - runtest valgrind > /dev/null || echo FAILED valgrind check -fi - -if [ -d /usr/include/cppunit ]; then - runtest check > /dev/null || echo FAILED check -fi - -if [ ! -d /usr/include/cppunit ]; then - echo "Unit tests skipped due to missing cppunit." -fi +VALGRIND="strace -f" runtest check strace > /dev/null || echo FAILED strace check +runtest valgrind > /dev/null || echo FAILED valgrind check +runtest check > /dev/null || echo FAILED check %install -rm -rf %{buildroot} -mkdir %{buildroot} - cd _build TOPDIR=.. -make install DESTDIR=%{buildroot} INSTALL="%{__install} -p" +%make_install INSTALL="install -p" mkdir -p %{buildroot}/%{_includedir} mkdir -p %{buildroot}/%{_bindir} cp -a $TOPDIR/src/include/* %{buildroot}/%{_includedir}/ cp -a out/public-include/* %{buildroot}/%{_includedir}/ -rm -f %{buildroot}/%{_libdir}/lib*.{la,a} -find %{buildroot}/%{_includedir} out/libsmbios_c -exec touch -r $TOPDIR/configure.ac {} \; +rm -f %{buildroot}/%{_libdir}/libsmbios*.*a +find %{buildroot}/%{_includedir} out/libsmbios_c -exec touch -r $TOPDIR/configure.ac "{}" "+" mv out/libsmbios_c out/libsmbios_c-%{_arch} rename %{pot_file}.mo %{lang_dom}.mo $(find %{buildroot}/%{_datadir} -name %{pot_file}.mo) %find_lang %{lang_dom} -find %{buildroot} -name '*-1.pyc' -exec rm {} \; +find %{buildroot} -name '*-1.pyc' -delete touch files-smbios-utils-python touch files-python-smbios @@ -285,51 +253,53 @@ ln -s smbios-sys-info %{buildroot}/%{_sbindir}/getSystemId ln -s smbios-wireless-ctl %{buildroot}/%{_sbindir}/dellWirelessCtl ln -s smbios-lcd-brightness %{buildroot}/%{_sbindir}/dellLcdBrightness -%python_expand sitelib=%{$python_sitelib} cat > files-python-smbios <<-EOF - %doc COPYING-GPL COPYING-OSL - $sitelib/* + %%doc COPYING-GPL COPYING-OSL + %%{python3_sitearch}/* EOF cat > files-smbios-utils-python <<-EOF - %doc COPYING-GPL COPYING-OSL - %doc src/bin/getopts_LICENSE.txt - %dir %{_sysconfdir}/libsmbios - %config(noreplace) %{_sysconfdir}/libsmbios/* + %%doc COPYING-GPL COPYING-OSL + %%doc src/bin/getopts_LICENSE.txt + %%dir %%{_sysconfdir}/libsmbios + %%config(noreplace) %%{_sysconfdir}/libsmbios/* # python utilities - %{_sbindir}/smbios-sys-info - %{_sbindir}/smbios-token-ctl - %{_sbindir}/smbios-passwd - %{_sbindir}/smbios-wakeup-ctl - %{_sbindir}/smbios-wireless-ctl - %{_sbindir}/smbios-lcd-brightness - %{_sbindir}/smbios-keyboard-ctl - %{_sbindir}/smbios-thermal-ctl - %{_sbindir}/smbios-battery-ctl + %%{_sbindir}/smbios-sys-info + %%{_sbindir}/smbios-token-ctl + %%{_sbindir}/smbios-passwd + %%{_sbindir}/smbios-wakeup-ctl + %%{_sbindir}/smbios-wireless-ctl + %%{_sbindir}/smbios-lcd-brightness + %%{_sbindir}/smbios-keyboard-ctl + %%{_sbindir}/smbios-thermal-ctl + %%{_sbindir}/smbios-battery-ctl + + # man pages + %%{_mandir}/man1/smbios* # used by HAL in old location, so keep it around until HAL is updated. - %{_sbindir}/dellLcdBrightness - %{_sbindir}/getSystemId - %{_sbindir}/dellWirelessCtl - %{_bindir}/dellWirelessCtl + %%{_sbindir}/dellLcdBrightness + %%{_sbindir}/getSystemId + %%{_sbindir}/dellWirelessCtl + %%{_bindir}/dellWirelessCtl # data files - %{_datadir}/smbios-utils + %%{_datadir}/smbios-utils EOF %endif -%clean -rm -rf %{buildroot} - %post -n %{release_name} -p /sbin/ldconfig %postun -n %{release_name} -p /sbin/ldconfig -%files -f _build/%{lang_dom}.lang +%files -n %{release_name} %defattr(-,root,root,-) %{_libdir}/libsmbios_c.so.* +%files lang -f _build/%{lang_dom}.lang +%defattr(-,root,root,-) + %files -n libsmbios-devel -f _build/buildlogs.txt %defattr(-,root,root,-) %doc COPYING-GPL COPYING-OSL src/bin/getopts_LICENSE.txt