Dominique Leuenberger 2018-04-05 13:31:33 +00:00 committed by Git OBS Bridge
commit a99970beed
4 changed files with 116 additions and 123 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ff0fbcc5fd581772aaabcde1a998b774da70fd87e2934a19fd7d61e60ab5245d
size 872617

3
libsmbios-2.4.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bca36af54a169eafeda19463e100378b26b1845d90dfd2fcb41cbd05a632f015
size 435512

View File

@ -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 Fri Feb 23 15:36:12 UTC 2018 - josef.moellers@suse.com

View File

@ -1,7 +1,7 @@
# #
# spec file for package libsmbios # 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 # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -18,104 +18,67 @@
# these are all substituted by autoconf # these are all substituted by autoconf
%define major 2 %define major 2
%define minor 3 %define minor 4
%define micro 3 %define micro 1
%define extra %{nil} %define extra %{nil}
%define pot_file libsmbios %define pot_file libsmbios
%define lang_dom libsmbios-2.3-x86_64 %define lang_dom libsmbios-2.4-x86_64
%define release_version 2.3.3 %define release_version 2.4.1
%define release_name libsmbios %define release_name libsmbios
%define other_name libsmbios2 %define other_name libsmbios2
%if 0%{?suse_version} %if 0%{?suse_version}
%define release_name libsmbios2 %define release_name libsmbios_c2
%define other_name libsmbios %define other_name libsmbios
%endif %endif
%{!?build_python: %global build_python 1} %{!?build_python: %global build_python 1}
%{?_with_python: %global build_python 1} %{?_with_python: %global build_python 1}
%{?_without_python: %undefine build_python} %{?_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 # run_unit_tests not defined by default as cppunit
# not available in OS on several major OS # not available in OS on several major OS
%{?_without_unit_tests: %undefine run_unit_tests} %{?_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} %{!?as_needed: %global as_needed 1}
%{?_without_as_needed: %undefine as_needed} %{?_without_as_needed: %undefine as_needed}
%{?_with_as_needed: %global as_needed 1} %{?_with_as_needed: %global as_needed 1}
%define cppunit_BR cppunit-devel %global pkgconfig_BR pkgconfig
%define pkgconfig_BR pkgconfig %global valgrind_BR valgrind
%define ctypes_BR python-ctypes
%define valgrind_BR valgrind
# Some variable definitions so that we can be compatible between SUSE Build service and Fedora build system # 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 # SUSE: fedora_version suse_version rhel_version centos_version sles_version
# Fedora: fedora dist fc8 fc9 # Fedora: fedora dist fc8 fc9
# suse/sles %global python_devel_BR %{nil}
%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}
%if 0%{?build_python} %if 0%{?build_python}
%define python_devel_BR %{pythons} %global python_devel_BR python3-devel
# 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))")}
%endif %endif
# if unit tests are disabled, get rid of a few BuildRequires # 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}} %{!?run_unit_tests: %global valgrind_BR %{nil}}
Name: %{release_name} Name: libsmbios
Version: %{release_version} Version: %{release_version}
Release: 3.1%{?dist} Release: 0%{?dist}
Summary: Libsmbios C shared libraries Summary: SMBIOS table library and utilities
License: GPL-2.0+ or OSL-2.1 License: GPL-2.0-or-later OR OSL-2.1
Group: System/Libraries Group: Hardware/Other
Source: libsmbios-%{version}.tar.bz2 Source: libsmbios-%{version}.tar.xz
Source1: libsmbios.rpmlintrc Source1: libsmbios.rpmlintrc
Url: http://github.com/dell/libsmbios Url: http://github.com/dell/libsmbios
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gettext-devel
BuildRequires: libtool
BuildRequires: python-rpm-macros 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 # uncomment for official fedora
Obsoletes: libsmbios-libs < 2.0.0 Obsoletes: libsmbios-libs < 2.0.0
Provides: libsmbios-libs = 0:%{version}-%{release} Provides: libsmbios-libs = 0:%{version}-%{release}
Obsoletes: %{other_name} < 0:%{version}-%{release} Obsoletes: %{other_name} < 0:%{version}-%{release}
Provides: %{other_name} = 0:%{version}-%{release} Provides: %{other_name} = 0:%{version}-%{release}
# libsmbios only ever makes sense on intel compatible arches # libsmbios only ever makes sense on intel compatible arches
@ -123,16 +86,39 @@ Provides: %{other_name} = 0:%{version}-%{release}
ExclusiveArch: x86_64 ia64 %{ix86} ExclusiveArch: x86_64 ia64 %{ix86}
%description %description
This package is a library and utilities that can be used by client programs to get libsmbios provides a library to interface with the SMBIOS tables. It
information from standard BIOS tables, such as the SMBIOS table. 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 %package -n python-smbios
Summary: Python interface to Libsmbios C library Summary: Python interface to Libsmbios C library
Group: System/Libraries Group: System/Libraries
Requires: %{release_name} = %{version}-%{release} Requires: %{release_name} = %{version}-%{release}
Requires: python %{ctypes_BR} Requires: python3
%description -n python-smbios %description -n python-smbios
This package provides a Python interface to libsmbios This package provides a Python interface to libsmbios
@ -200,9 +186,9 @@ programs against libsmbios.
: '########################################' : '########################################'
: '########################################' : '########################################'
%setup -q -n libsmbios-%{version} %setup -q -n libsmbios-%{version}
find . -type d -exec chmod -f 755 {} \; find . -type d -exec chmod -f a+rx "{}" "+"
find doc src -type f -exec chmod -f 644 {} \; find doc src -type f -exec chmod -f a-x "{}" "+"
find ./src/cppunit/ -name "*.sh" -type f -exec chmod 755 '{}' \; find src/pyunit/ -name "*.sh" -o -name "*.py" -type f -exec chmod a+x "{}" "+"
%build %build
# this line lets us build an RPM directly from a git tarball # 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 mkdir _build
cd _build cd _build
echo '../configure "$@"' > configure %define _configure ../configure
chmod +x ./configure
%configure \ %configure \
%{?!as_needed:--disable-as-needed} %{?!build_python:--disable-python} %{?!as_needed:--disable-as-needed} %{?!build_python:--disable-python}
mkdir -p out/libsmbios_c 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 %check
runtest() { runtest() {
@ -232,47 +216,31 @@ runtest() {
touch -r ../configure.ac $1$2-%{_arch}.log touch -r ../configure.ac $1$2-%{_arch}.log
make -e $1 2>&1 | tee $1$2.log make -e $1 2>&1 | tee $1$2.log
popd popd
echo \%doc _$1$2/$1$2-%{_arch}.log >> _build/buildlogs.txt echo "%%doc _$1$2/$1$2-%{_arch}.log" >> _build/buildlogs.txt
%endif %endif
} }
if [ -d /usr/include/cppunit ]; then VALGRIND="strace -f" runtest check strace > /dev/null || echo FAILED strace check
# run this first since it is slightly faster than valgrind runtest valgrind > /dev/null || echo FAILED valgrind check
VALGRIND="strace -f" runtest check strace > /dev/null || echo FAILED strace check runtest check > /dev/null || echo FAILED 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
%install %install
rm -rf %{buildroot}
mkdir %{buildroot}
cd _build cd _build
TOPDIR=.. TOPDIR=..
make install DESTDIR=%{buildroot} INSTALL="%{__install} -p" %make_install INSTALL="install -p"
mkdir -p %{buildroot}/%{_includedir} mkdir -p %{buildroot}/%{_includedir}
mkdir -p %{buildroot}/%{_bindir} mkdir -p %{buildroot}/%{_bindir}
cp -a $TOPDIR/src/include/* %{buildroot}/%{_includedir}/ cp -a $TOPDIR/src/include/* %{buildroot}/%{_includedir}/
cp -a out/public-include/* %{buildroot}/%{_includedir}/ cp -a out/public-include/* %{buildroot}/%{_includedir}/
rm -f %{buildroot}/%{_libdir}/lib*.{la,a} rm -f %{buildroot}/%{_libdir}/libsmbios*.*a
find %{buildroot}/%{_includedir} out/libsmbios_c -exec touch -r $TOPDIR/configure.ac {} \; find %{buildroot}/%{_includedir} out/libsmbios_c -exec touch -r $TOPDIR/configure.ac "{}" "+"
mv out/libsmbios_c out/libsmbios_c-%{_arch} mv out/libsmbios_c out/libsmbios_c-%{_arch}
rename %{pot_file}.mo %{lang_dom}.mo $(find %{buildroot}/%{_datadir} -name %{pot_file}.mo) rename %{pot_file}.mo %{lang_dom}.mo $(find %{buildroot}/%{_datadir} -name %{pot_file}.mo)
%find_lang %{lang_dom} %find_lang %{lang_dom}
find %{buildroot} -name '*-1.pyc' -exec rm {} \; find %{buildroot} -name '*-1.pyc' -delete
touch files-smbios-utils-python touch files-smbios-utils-python
touch files-python-smbios 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-wireless-ctl %{buildroot}/%{_sbindir}/dellWirelessCtl
ln -s smbios-lcd-brightness %{buildroot}/%{_sbindir}/dellLcdBrightness ln -s smbios-lcd-brightness %{buildroot}/%{_sbindir}/dellLcdBrightness
%python_expand sitelib=%{$python_sitelib}
cat > files-python-smbios <<-EOF cat > files-python-smbios <<-EOF
%doc COPYING-GPL COPYING-OSL %%doc COPYING-GPL COPYING-OSL
$sitelib/* %%{python3_sitearch}/*
EOF EOF
cat > files-smbios-utils-python <<-EOF cat > files-smbios-utils-python <<-EOF
%doc COPYING-GPL COPYING-OSL %%doc COPYING-GPL COPYING-OSL
%doc src/bin/getopts_LICENSE.txt %%doc src/bin/getopts_LICENSE.txt
%dir %{_sysconfdir}/libsmbios %%dir %%{_sysconfdir}/libsmbios
%config(noreplace) %{_sysconfdir}/libsmbios/* %%config(noreplace) %%{_sysconfdir}/libsmbios/*
# python utilities # python utilities
%{_sbindir}/smbios-sys-info %%{_sbindir}/smbios-sys-info
%{_sbindir}/smbios-token-ctl %%{_sbindir}/smbios-token-ctl
%{_sbindir}/smbios-passwd %%{_sbindir}/smbios-passwd
%{_sbindir}/smbios-wakeup-ctl %%{_sbindir}/smbios-wakeup-ctl
%{_sbindir}/smbios-wireless-ctl %%{_sbindir}/smbios-wireless-ctl
%{_sbindir}/smbios-lcd-brightness %%{_sbindir}/smbios-lcd-brightness
%{_sbindir}/smbios-keyboard-ctl %%{_sbindir}/smbios-keyboard-ctl
%{_sbindir}/smbios-thermal-ctl %%{_sbindir}/smbios-thermal-ctl
%{_sbindir}/smbios-battery-ctl %%{_sbindir}/smbios-battery-ctl
# man pages
%%{_mandir}/man1/smbios*
# used by HAL in old location, so keep it around until HAL is updated. # used by HAL in old location, so keep it around until HAL is updated.
%{_sbindir}/dellLcdBrightness %%{_sbindir}/dellLcdBrightness
%{_sbindir}/getSystemId %%{_sbindir}/getSystemId
%{_sbindir}/dellWirelessCtl %%{_sbindir}/dellWirelessCtl
%{_bindir}/dellWirelessCtl %%{_bindir}/dellWirelessCtl
# data files # data files
%{_datadir}/smbios-utils %%{_datadir}/smbios-utils
EOF EOF
%endif %endif
%clean
rm -rf %{buildroot}
%post -n %{release_name} -p /sbin/ldconfig %post -n %{release_name} -p /sbin/ldconfig
%postun -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,-) %defattr(-,root,root,-)
%{_libdir}/libsmbios_c.so.* %{_libdir}/libsmbios_c.so.*
%files lang -f _build/%{lang_dom}.lang
%defattr(-,root,root,-)
%files -n libsmbios-devel -f _build/buildlogs.txt %files -n libsmbios-devel -f _build/buildlogs.txt
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc COPYING-GPL COPYING-OSL src/bin/getopts_LICENSE.txt %doc COPYING-GPL COPYING-OSL src/bin/getopts_LICENSE.txt