Compare commits

...

No commits in common. "c9-beta" and "c8s" have entirely different histories.
c9-beta ... c8s

5 changed files with 150 additions and 87 deletions

3
.gitignore vendored
View File

@ -1 +1,2 @@
SOURCES/libsmbios-2.4.3.tar.gz
SOURCES/libsmbios-2.4.1.tar.gz
/libsmbios-2.4.1.tar.gz

View File

@ -1 +0,0 @@
60f44f8938a73efeb571a47de00b18b3aeaf543a SOURCES/libsmbios-2.4.3.tar.gz

View File

@ -0,0 +1,51 @@
From 22728f16eb611411258146045030292e1170bfef Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Wed, 14 Feb 2018 16:15:28 -0500
Subject: [PATCH] libsmbios: fix more places with loop iterators with bad types
In these cases we get:
../src/libsmbios_c/smbios/smbios_obj.c: In function 'smbios_verify_smbios':
../src/libsmbios_c/smbios/smbios_obj.c:415:31: error: comparison of integer expressions of different signedness: 'unsigned int' and 'long int' [-Werror=sign-compare]
for(unsigned int i = 0; i < length ; ++i )
^
../src/libsmbios_c/smbios/smbios_obj.c: In function 'smbios_verify_smbios3':
../src/libsmbios_c/smbios/smbios_obj.c:436:31: error: comparison of integer expressions of different signedness: 'unsigned int' and 'long int' [-Werror=sign-compare]
for(unsigned int i = 0; i < length ; ++i )
^
I really don't understand why gcc will complain about it being signed vs
unsigned, but not about the fact that the int can obviously overflow
before the condition being checked against length, a larger type, is
satisfied.
Signed-off-by: Peter Jones <pjones@redhat.com>
---
src/libsmbios_c/smbios/smbios_obj.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/libsmbios_c/smbios/smbios_obj.c b/src/libsmbios_c/smbios/smbios_obj.c
index a6f2e1e3525..c932ba59535 100644
--- a/src/libsmbios_c/smbios/smbios_obj.c
+++ b/src/libsmbios_c/smbios/smbios_obj.c
@@ -412,7 +412,7 @@ bool __hidden smbios_verify_smbios(const char *buf, long length, long *dmi_lengt
bool retval = true;
u8 checksum = 0;
- for(unsigned int i = 0; i < length ; ++i )
+ for(long i = 0; i < length ; ++i )
checksum = (checksum + buf[i]) & 0xFF;
fnprintf("SMBIOS TEP csum %d.\n", (int)checksum);
@@ -433,7 +433,7 @@ bool __hidden smbios_verify_smbios3(const char *buf, long length, long *dmi_leng
{
struct smbios_table_entry_point_64 *ep;
u8 checksum = 0;
- for(unsigned int i = 0; i < length ; ++i )
+ for(long i = 0; i < length ; ++i )
checksum = (checksum + buf[i]) & 0xFF;
fnprintf("SMBIOS TEP csum %d.\n", (int)checksum);
--
2.14.3

View File

@ -3,34 +3,23 @@
%define lang_dom libsmbios-2.4
Name: libsmbios
Version: 2.4.3
Release: 4%{?dist}
Summary: Libsmbios C/C++ shared libraries
Version: 2.4.1
Release: 2%{?dist}
License: GPLv2+ or OSL 2.1
Summary: Libsmbios C/C++ shared libraries
Group: System Environment/Libraries
URL: https://github.com/dell/libsmbios
Source0: https://github.com/dell/libsmbios/archive/v%{version}/libsmbios-%{version}.tar.gz
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: cppunit-devel
BuildRequires: doxygen
BuildRequires: gcc-c++
BuildRequires: gettext
BuildRequires: gettext-devel
BuildRequires: help2man
BuildRequires: libtool
BuildRequires: libxml2-devel
BuildRequires: make
BuildRequires: pkgconfig
BuildRequires: python3-devel
BuildRequires: strace
BuildRequires: valgrind
BuildRequires: strace libxml2-devel gcc-c++ gettext git doxygen
BuildRequires: valgrind cppunit-devel hardlink pkgconfig python3-devel
BuildRequires: autoconf gettext-devel automake libtool help2man
# libsmbios only ever makes sense on intel compatible arches
# no DMI tables on ppc, s390, etc.
ExclusiveArch: x86_64 %{ix86}
Source0: https://github.com/dell/libsmbios/archive/v%{version}/libsmbios-%{version}.tar.gz
Patch0001: 0001-libsmbios-fix-more-places-with-loop-iterators-with-b.patch
%description
Libsmbios is a library and utilities that can be used by client programs to get
information from standard BIOS tables, such as the SMBIOS table.
@ -39,6 +28,7 @@ This package provides the C-based libsmbios library, with a C interface.
%package -n python3-smbios
Summary: Python interface to Libsmbios C library
Group: System Environment/Libraries
Requires: libsmbios = %{version}-%{release}
Requires: python3
Obsoletes: python-smbios < 2.4.1
@ -48,6 +38,7 @@ This package provides a Python interface to libsmbios
%package -n smbios-utils
Summary: Meta-package that pulls in all smbios binaries and python scripts
Group: Applications/System
Requires: smbios-utils-bin
Requires: smbios-utils-python
@ -57,6 +48,7 @@ as the python executables.
%package -n smbios-utils-bin
Summary: Binary utilities that use libsmbios
Group: Applications/System
Requires: libsmbios = %{version}-%{release}
%description -n smbios-utils-bin
@ -65,6 +57,7 @@ asset tag.
%package -n smbios-utils-python
Summary: Python executables that use libsmbios
Group: Applications/System
Requires: python3-smbios = %{version}-%{release}
%description -n smbios-utils-python
@ -76,6 +69,7 @@ Update BIOS on select Dell systems. Set LCD brightness on select Dell laptops.
# name the devel package libsmbios-devel regardless of package name, per suse/fedora convention
%package -n libsmbios-devel
Summary: Development headers and archives
Group: Development/Libraries
Requires: libsmbios = %{version}-%{release}
%description -n libsmbios-devel
@ -86,11 +80,19 @@ This package contains the headers and .a files necessary to compile new client
programs against libsmbios.
%prep
%autosetup -p1
%setup -q -n libsmbios-%{version}
find . -type d -exec chmod -f 755 {} \;
find doc src -type f -exec chmod -f 644 {} \;
chmod 755 src/cppunit/*.sh
git init
git config user.email "%{name}-owner@fedoraproject.org"
git config user.name "Fedora Ninjas"
git config gc.auto 0
git add .
git commit -a -q -m "%{version} baseline."
git am %{patches} </dev/null
git config --unset user.email
git config --unset user.name
%build
# this line lets us build an RPM directly from a git tarball
@ -105,10 +107,30 @@ chmod +x ./configure
%configure
mkdir -p out/libsmbios_c
mkdir -p out/libsmbios_c++
make CFLAGS+="%{optflags} -Werror" %{?_smp_mflags} 2>&1 | tee build-%{_arch}.log
echo \%doc _build/build-%{_arch}.log > buildlogs.txt
TOPDIR=$(pwd)/../
pushd ../src/bin
for x in smbios-battery-ctl smbios-keyboard-ctl smbios-lcd-brightness \
smbios-passwd smbios-sys-info smbios-thermal-ctl smbios-token-ctl \
smbios-wakeup-ctl smbios-wireless-ctl ;
do
chmod +x ${x}
LD_LIBRARY_PATH=$TOPDIR/_build/out/.libs/ help2man -o ${x}.8 -s 8 -n ${x} -N -l ./${x}
done
popd
pushd out
for x in smbios-get-ut-data smbios-state-byte-ctl smbios-sys-info-lite \
smbios-upflag-ctl ;
do
LD_LIBRARY_PATH=$TOPDIR/_build/out/.libs/ help2man -o ${x}.8 -s 8 -n ${x} -N -l ./${x}
done
popd
%check
runtest() {
mkdir _$1$2
@ -121,43 +143,75 @@ runtest() {
echo \%doc _$1$2/$1$2-%{_arch}.log >> _build/buildlogs.txt
}
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
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
%install
rm -rf %{buildroot}
mkdir %{buildroot}
cd _build
TOPDIR=..
%make_install
make install DESTDIR=%{buildroot} INSTALL="%{__install} -p"
mkdir -p %{buildroot}/%{_includedir}
mkdir -p %{buildroot}/%{_bindir}
mkdir -p %{buildroot}/%{_mandir}/man8/
cp -v $TOPDIR/src/bin/*.8 %{buildroot}/%{_mandir}/man8/
cp -v $TOPDIR/_build/out/*.8 %{buildroot}/%{_mandir}/man8/
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 {} \;
find %{buildroot}/%{_includedir} out/libsmbios_c++ 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}
# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_3
%py_byte_compile %{python3} %{buildroot}%{python3_sitearch}/
rename %{pot_file}.mo %{lang_dom}.mo $(find %{buildroot}/%{_datadir} -name %{pot_file}.mo)
%find_lang %{lang_dom}
%ldconfig_scriptlets
# hardlink files to save some space.
/usr/sbin/hardlink -c -v $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files -f _build/%{lang_dom}.lang
# Only need to include license once here
%license COPYING-GPL COPYING-OSL
%defattr(-,root,root,-)
%{_libdir}/libsmbios_c.so.*
%files -n libsmbios-devel -f _build/buildlogs.txt
%license src/bin/getopts_LICENSE.txt src/include/smbios_c/config/boost_LICENSE_1_0_txt
%doc README.md _build/out/libsmbios_c-%{_arch}
%defattr(-,root,root,-)
%doc COPYING-GPL COPYING-OSL README.md src/bin/getopts_LICENSE.txt src/include/smbios_c/config/boost_LICENSE_1_0_txt
%{_includedir}/smbios
%{_includedir}/smbios_c
%{_libdir}/libsmbios_c.so
%{_libdir}/pkgconfig/*.pc
%doc _build/out/libsmbios_c-%{_arch}
%files -n smbios-utils
# opensuse 11.1 enforces non-empty file list :(
%defattr(-,root,root,-)
%doc COPYING-GPL COPYING-OSL README.md
# no other files.
%files -n smbios-utils-bin
%license src/bin/getopts_LICENSE.txt src/include/smbios_c/config/boost_LICENSE_1_0_txt
%defattr(-,root,root,-)
%doc COPYING-GPL COPYING-OSL README.md
%doc src/bin/getopts_LICENSE.txt src/include/smbios_c/config/boost_LICENSE_1_0_txt
%{_sbindir}/smbios-state-byte-ctl
%{_mandir}/man?/smbios-state-byte-ctl.*
%{_sbindir}/smbios-get-ut-data
@ -168,10 +222,14 @@ rename %{pot_file}.mo %{lang_dom}.mo $(find %{buildroot}/%{_datadir} -name %{pot
%{_mandir}/man?/smbios-sys-info-lite.*
%files -n python3-smbios
%defattr(-,root,root,-)
%doc COPYING-GPL COPYING-OSL README.md
%{python3_sitearch}/*
%files -n smbios-utils-python
%license src/bin/getopts_LICENSE.txt src/include/smbios_c/config/boost_LICENSE_1_0_txt
%defattr(-,root,root,-)
%doc COPYING-GPL COPYING-OSL README.md
%doc src/bin/getopts_LICENSE.txt src/include/smbios_c/config/boost_LICENSE_1_0_txt
%dir %{_sysconfdir}/libsmbios
%config(noreplace) %{_sysconfdir}/libsmbios/*
@ -199,53 +257,6 @@ rename %{pot_file}.mo %{lang_dom}.mo $(find %{buildroot}/%{_datadir} -name %{pot
%{_datadir}/smbios-utils
%changelog
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 2.4.3-4
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 2.4.3-3
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sun Jan 17 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2.4.3-1
- Update to 2.4.3
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.2-10
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2.4.2-8
- Rebuilt for Python 3.9
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 2.4.2-6
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2.4.2-5
- Rebuilt for Python 3.8
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jul 10 2018 Pete Walter <pwalter@fedoraproject.org> - 2.4.2-1
- Update to 2.4.2
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 2.4.1-3
- Rebuilt for Python 3.7
* Wed Apr 18 2018 Karsten Hopp <karsten@redhat.com> - 2.4.1-2
- rebuild with latest rpm build flags (rhbz#1540264)

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (libsmbios-2.4.1.tar.gz) = dd71e45f8047480a669b70efebb9bdbbea4870f96437fc45eb4088fd66331d117b29a65c45cee2e5c4628d0536072a5939eb83f1905857a85bd0567b3d1c22fb