%{!?python2_sitelib: %define python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")} %{!?python3_sitelib: %define python3_sitelib %(python3 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")} Summary: Package manager Name: rpm Version: 4.11.2 Release: 20%{?dist} License: GPLv2+ URL: http://rpm.org Group: Applications/System Vendor: VMware, Inc. Distribution: Photon Source0: http://rpm.org/releases/rpm-4.11.x/%{name}-%{version}.tar.bz2 %define sha1 rpm-4.11.2=ceef44bd180d48d4004c437bc31a3ea038f54e3e Source1: http://download.oracle.com/berkeley-db/db-5.3.28.tar.gz %define sha1 db=fa3f8a41ad5101f43d08bc0efb6241c9b6fc1ae9 Source2: macros Source3: brp-strip-debug-symbols Source4: brp-strip-unneeded Patch0: find-debuginfo-do-not-generate-non-existing-build-id.patch Patch1: rpm-4.11.2-cve-2014-8118.patch Requires: bash Requires: rpm-libs = %{version}-%{release} BuildRequires: python2 BuildRequires: python2-libs BuildRequires: python2-devel BuildRequires: popt-devel BuildRequires: nss-devel BuildRequires: elfutils-devel BuildRequires: libcap-devel BuildRequires: xz-devel %description RPM package manager %package devel Requires: python2 Summary: Libraries and header files for rpm Provides: pkgconfig(rpm) Requires: %{name} = %{version}-%{release} %description devel Static libraries and header files for the support library for rpm %package libs Summary: Libraries for rpm Requires: nss Requires: popt Requires: libgcc Requires: libcap Requires: zlib Requires: bzip2 Requires: elfutils-libelf Requires: xz %description libs Shared libraries librpm and librpmio %package build Requires: perl Requires: %{name}-devel = %{version}-%{release} Requires: elfutils-libelf Summary: Binaries, scripts and libraries needed to build rpms. %description build Binaries, libraries and scripts to build rpms. %package lang Summary: Additional language files for rpm Group: Applications/System Requires: %{name} = %{version}-%{release} %description lang These are the additional language files of rpm. %package -n python-rpm Summary: Python 2 bindings for rpm. Group: Development/Libraries BuildRequires: python2-devel Requires: python2 %description -n python-rpm %package -n python3-rpm Summary: Python 3 bindings for rpm. Group: Development/Libraries BuildRequires: python3-devel Requires: python3 %description -n python3-rpm Python3 rpm. %prep %setup -q %patch0 -p1 %patch1 -p1 %setup -q -T -D -a 1 mv db-5.3.28 db %build ./autogen.sh --noconfigure ./configure \ CPPFLAGS='-I/usr/include/nspr -I/usr/include/nss -DLUA_COMPAT_APIINTCASTS' \ --program-prefix= \ --prefix=%{_prefix} \ --exec-prefix=%{_prefix} \ --bindir=%{_bindir} \ --sbindir=%{_sbindir} \ --sysconfdir=%{_sysconfdir} \ --datadir=%{_datadir} \ --includedir=%{_includedir} \ --libdir=%{_libdir} \ --libexecdir=%{_libexecdir} \ --localstatedir=%{_var} \ --sharedstatedir=%{_sharedstatedir} \ --mandir=%{_mandir} \ --infodir=%{_infodir} \ --disable-dependency-tracking \ --disable-static \ --enable-python \ --with-cap \ --without-lua \ --disable-silent-rules make %{?_smp_mflags} pushd python python2 setup.py build python3 setup.py build popd %install make DESTDIR=%{buildroot} install find %{buildroot} -name '*.la' -delete %find_lang %{name} # System macros and prefix install -dm 755 %{buildroot}%{_sysconfdir}/rpm install -vm644 %{SOURCE2} %{buildroot}%{_sysconfdir}/rpm/ install -vm755 %{SOURCE3} %{buildroot}%{_libdir}/rpm/ install -vm755 %{SOURCE4} %{buildroot}%{_libdir}/rpm/ pushd python python2 setup.py install --skip-build --prefix=%{_prefix} --root=%{buildroot} python3 setup.py install --skip-build --prefix=%{_prefix} --root=%{buildroot} popd %check make %{?_smp_mflags} check pushd python python2 setup.py test python3 setup.py test popd %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %clean rm -rf %{buildroot} %files %defattr(-,root,root) /bin/rpm %{_bindir}/gendiff %{_bindir}/rpm2cpio %{_bindir}/rpmdb %{_bindir}/rpmgraph %{_bindir}/rpmkeys %{_bindir}/rpmquery %{_bindir}/rpmverify %{_libdir}/rpm/rpmpopt-* %{_libdir}/rpm/rpmdb_* %{_libdir}/rpm/rpm.daily %{_libdir}/rpm/rpm.log %{_libdir}/rpm/rpm.supp %{_libdir}/rpm/rpm2cpio.sh %{_libdir}/rpm/tgpg %{_libdir}/rpm/platform %{_libdir}/rpm-plugins/* %{_mandir}/man8/rpm.8.gz %{_mandir}/man8/rpm2cpio.8.gz %{_mandir}/man8/rpmdb.8.gz %{_mandir}/man8/rpmgraph.8.gz %{_mandir}/man8/rpmkeys.8.gz %exclude %{_mandir}/fr/man8/*.gz %exclude %{_mandir}/ja/man8/*.gz %exclude %{_mandir}/ko/man8/*.gz %exclude %{_mandir}/pl/man1/*.gz %exclude %{_mandir}/pl/man8/*.gz %exclude %{_mandir}/ru/man8/*.gz %exclude %{_mandir}/sk/man8/*.gz %files libs %defattr(-,root,root) %{_sysconfdir}/rpm/macros %{_libdir}/librpmio.so.* %{_libdir}/librpm.so.* %{_libdir}/rpm/macros %{_libdir}/rpm/rpmrc %{_libdir}/rpm/platform/* %files build %{_bindir}/rpmbuild %{_bindir}/rpmsign %{_bindir}/rpmspec %{_libdir}/librpmbuild.so %{_libdir}/librpmbuild.so.* %{_libdir}/rpm/osgideps.pl %{_libdir}/rpm/perldeps.pl %{_libdir}/rpm/macros.perl %{_libdir}/rpm/perl.prov %{_libdir}/rpm/perl.req %{_libdir}/rpm/perldeps.pl %{_libdir}/rpm/find-debuginfo.sh %{_libdir}/rpm/find-lang.sh %{_libdir}/rpm/find-provides %{_libdir}/rpm/find-requires %{_libdir}/rpm/brp-* %{_libdir}/rpm/mono-find-provides %{_libdir}/rpm/mono-find-requires %{_libdir}/rpm/ocaml-find-provides.sh %{_libdir}/rpm/ocaml-find-requires.sh %{_libdir}/rpm/macros.perl %{_libdir}/rpm/macros.php %{_libdir}/rpm/macros.python %{_libdir}/rpm/fileattrs/* %{_libdir}/rpm/script.req %{_libdir}/rpm/tcl.req %{_libdir}/rpm/check-buildroot %{_libdir}/rpm/check-files %{_libdir}/rpm/check-prereqs %{_libdir}/rpm/check-rpaths %{_libdir}/rpm/check-rpaths-worker %{_libdir}/rpm/config.guess %{_libdir}/rpm/config.sub %{_libdir}/rpm/debugedit %{_libdir}/rpm/desktop-file.prov %{_libdir}/rpm/elfdeps %{_libdir}/rpm/fontconfig.prov %{_libdir}/rpm/libtooldeps.sh %{_libdir}/rpm/mkinstalldirs %{_libdir}/rpm/pkgconfigdeps.sh %{_libdir}/rpm/pythondeps.sh %{_libdir}/rpm/rpmdeps %{_mandir}/man1/gendiff.1* %{_mandir}/man8/rpmbuild.8* %{_mandir}/man8/rpmdeps.8* %{_mandir}/man8/rpmspec.8* %{_mandir}/man8/rpmsign.8.gz %files devel %defattr(-,root,root) %{_includedir}/* %{_libdir}/pkgconfig/rpm.pc %{_libdir}/librpmio.so %{_libdir}/librpm.so %{_libdir}/librpmsign.so %{_libdir}/librpmsign.so.* %files lang -f %{name}.lang %defattr(-,root,root) %files -n python-rpm %defattr(-,root,root) %{python2_sitelib}/* %files -n python3-rpm %defattr(-,root,root) %{python3_sitelib}/* %changelog * Tue Mar 21 2017 Xiaolin Li 4.11.2-20 - Added python3 packages and moved python2 site packages from devel to python-rpm. * Mon Jan 10 2017 Priyesh Padmavilasom 4.11.2-19 - added buildrequires for xz-devel for PayloadIsLzma cap * Thu Dec 15 2016 Xiaolin Li 4.11.2-18 - Moved some files from rpm to rpm-build. * Tue Dec 06 2016 Xiaolin Li 4.11.2-17 - Added -lang subpackage. * Wed Nov 23 2016 Alexey Makhalov 4.11.2-16 - Move rpmrc and macros into -libs subpackage - Move zlib and elfutils-libelf dependency from rpm to rpm-libs - Add bzip2 dependency to rpm-libs * Thu Nov 17 2016 Alexey Makhalov 4.11.2-15 - Added -libs subpackage * Tue Nov 15 2016 Alexey Makhalov 4.11.2-14 - Disable lua support * Tue Oct 18 2016 Priyesh Padmavilasom 4.11.2-13 - Apply patch for CVE-2014-8118 * Wed Oct 05 2016 ChangLee 4.11.2-12 - Modified %check * Fri Aug 26 2016 Alexey Makhalov 4.11.2-11 - find-debuginfo...patch: exclude non existing .build-id from packaging - Move all files from rpm-system-configuring-scripts tarball to here * Wed May 25 2016 Priyesh Padmavilasom 4.11.2-10 - Exclude .build-id/.1 and .build-id/.1.debug from debuginfo pkg * Tue May 24 2016 Priyesh Padmavilasom 4.11.2-9 - GA - Bump release of all rpms * Thu May 05 2016 Priyesh Padmavilasom 4.11.2-8 - Update rpm version in lock-step with lua update to 5.3.2 * Fri Apr 08 2016 Mahmoud Bassiouny 4.11.2-7 - Build rpm with capabilities. * Thu Aug 05 2015 Sharath George 4.11.2-6 - Moving build utils to a different package. * Sat Jun 27 2015 Alexey Makhalov 4.11.2-5 - Update rpm-system-configuring-scripts. Use tar --no-same-owner for rpmbuild. * Thu Jun 18 2015 Anish Swaminathan 4.11.2-4 - Add pkgconfig Provides directive * Thu Jun 18 2015 Alexey Makhalov 4.11.2-3 - Do no strip debug info from .debug files * Wed Jun 3 2015 Divya Thaluru 4.11.2-2 - Removing perl-module-scandeps package from run time required packages * Tue Jan 13 2015 Divya Thaluru 4.11.2-1 - Initial build. First version