]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.spec
- fix building python bindings (force librarries from build tree)
[packages/rpm.git] / rpm.spec
index ec53b76289c16a61ab30dd2088d6d37e4064fb48..c7cdbef7b669ebe862b7a5c464fb0c804ad1d196 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
@@ -1,5 +1,6 @@
 #
 # TODO:
+# - rebuild database after upgrading from rpm5
 # - when adopting, use 4.5 ticket for checklist: https://bugs.launchpad.net/pld-linux/+bug/262985
 #
 # Conditional build:
@@ -34,6 +35,7 @@ Summary(uk.UTF-8):    Менеджер пакетів від RPM
 Name:          rpm
 Version:       4.15.1
 Release:       0.1
+Epoch:         1
 License:       GPL v2 / LGPL v2.1
 Group:         Base
 Source0:       http://ftp.rpm.org/releases/rpm-4.15.x/%{name}-%{version}.tar.bz2
@@ -90,6 +92,8 @@ Patch16:      %{name}-ignore-missing-macro-files.patch
 Patch17:       x32.patch
 Patch18:       %{name}-fix-compress-doc.patch
 Patch19:       vendor-pld.patch
+Patch20:       rpm5-db-compat.patch
+Patch21:       python-internal-build.patch
 URL:           https://rpm.org/
 BuildRequires: %{reqdb_pkg}-devel >= %{reqdb_pkgver}
 BuildRequires: %{reqdb_pkg}-sql-devel >= %{reqdb_pkgver}
@@ -130,8 +134,8 @@ BuildRequires:      graphviz
 BuildRequires: tetex-pdftex
 %endif
 Requires(posttrans):   coreutils
-Requires:      %{name}-base = %{version}-%{release}
-Requires:      %{name}-lib = %{version}-%{release}
+Requires:      %{name}-base = %{epoch}:%{version}-%{release}
+Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
 Requires:      FHS >= 3.0-2
 Requires:      openssl >= %{openssl_ver}
 Requires:      popt >= %{reqpopt_ver}
@@ -262,7 +266,7 @@ Summary(pt_BR.UTF-8):       Arquivos de inclusão e bibliotecas para programas de mani
 Summary(ru.UTF-8):     Хедеры и библиотеки для программ, работающих с rpm-пакетами
 Summary(uk.UTF-8):     Хедери та бібліотеки для програм, що працюють з пакетами rpm
 Group:         Development/Libraries
-Requires:      %{name}-lib = %{version}-%{release}
+Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
 Requires:      %{reqdb_pkg}-devel >= %{reqdb_pkgver}
 Requires:      bzip2-devel
 Requires:      elfutils-devel
@@ -326,7 +330,7 @@ Summary:    Additional utilities for managing RPM packages and database
 Summary(de.UTF-8):     Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
 Summary(pl.UTF-8):     Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
 Group:         Applications/File
-Requires:      %{name} = %{version}-%{release}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      popt >= %{reqpopt_ver}
 %if %{with recommends_tags}
 Recommends:    bzip2
@@ -354,7 +358,7 @@ Group:              Applications/File
 Requires(pretrans):    coreutils
 Requires(pretrans):    findutils
 Requires:      %{name}-build-macros >= 1.712
-Requires:      %{name}-utils = %{version}-%{release}
+Requires:      %{name}-utils = %{epoch}:%{version}-%{release}
 Requires:      /bin/id
 Requires:      awk
 Requires:      bzip2
@@ -413,7 +417,7 @@ construir pacotes usando o RPM.
 Summary:       Additional utilities for checking Java provides/requires in RPM packages
 Summary(pl.UTF-8):     Dodatkowe narzędzia do sprawdzania zależności kodu w Javie w pakietach RPM
 Group:         Applications/File
-Requires:      %{name} = %{version}-%{release}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      file
 Requires:      findutils >= 1:4.2.26
 Requires:      mktemp
@@ -432,7 +436,7 @@ Summary:    Additional utilities for checking Perl provides/requires in RPM package
 Summary(de.UTF-8):     Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
 Summary(pl.UTF-8):     Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM
 Group:         Applications/File
-Requires:      %{name} = %{version}-%{release}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      perl-Encode
 Requires:      perl-devel
 Requires:      perl-modules
@@ -452,7 +456,7 @@ pakietach RPM.
 Summary:       Python macros, which simplifies creation of RPM packages with Python software
 Summary(pl.UTF-8):     Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie
 Group:         Applications/File
-Requires:      %{name} = %{version}-%{release}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      python
 Requires:      python-modules
 Requires:      python-setuptools
@@ -469,7 +473,7 @@ Pythonie.
 Summary:       Additional utilities for checking PHP PEAR provides/requires in RPM packages
 Summary(pl.UTF-8):     Dodatkowe narzędzia do sprawdzania zależności skryptów php w RPM
 Group:         Applications/File
-Requires:      %{name} = %{version}-%{release}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      sed >= 4.0
 Suggests:      php-pear-PHP_CompatInfo
 
@@ -485,7 +489,7 @@ pakietach RPM.
 Summary:       Ruby tools, which simplify creation of RPM packages with Ruby software
 Summary(pl.UTF-8):     Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Ruby
 Group:         Applications/File
-Requires:      %{name} = %{version}-%{release}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      ruby
 Requires:      ruby-modules
 Requires:      ruby-rubygems
@@ -503,7 +507,7 @@ Summary:    Python interface to RPM library
 Summary(pl.UTF-8):     Pythonowy interfejs do biblioteki RPM-a
 Summary(pt_BR.UTF-8):  Módulo Python para aplicativos que manipulam pacotes RPM
 Group:         Development/Languages/Python
-Requires:      %{name} = %{version}-%{release}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      python
 Obsoletes:     rpm-python
 
@@ -535,7 +539,7 @@ Summary:    Python 3 interface to RPM library
 Summary(pl.UTF-8):     Interfejs Pythona 3 do biblioteki RPM-a
 Summary(pt_BR.UTF-8):  Módulo Python 3 para aplicativos que manipulam pacotes RPM
 Group:         Development/Languages/Python
-Requires:      %{name} = %{version}-%{release}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      python3
 
 %description -n python3-rpm
@@ -564,7 +568,7 @@ Python 3 para manipular pacotes e bancos de dados RPM.
 %package plugin-audit
 Summary:       Plugin for logging audit events on package operations
 Group:         System/Base
-Requires:      %{name}-lib = %{version}-%{release}
+Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
 
 %description plugin-audit
 Plugin for libaudit support
@@ -572,7 +576,7 @@ Plugin for libaudit support
 %package plugin-syslog
 Summary:       Plugin for syslog functionality
 Group:         System/Base
-Requires:      %{name}-lib = %{version}-%{release}
+Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
 
 %description plugin-syslog
 This plugin exports RPM actions to the system log.
@@ -580,7 +584,7 @@ This plugin exports RPM actions to the system log.
 %package plugin-systemd-inhibit
 Summary:       Plugin for systemd inhibit functionality
 Group:         System/Base
-Requires:      %{name}-lib = %{version}-%{release}
+Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
 
 %description plugin-systemd-inhibit
 This plugin blocks systemd from entering idle, sleep or shutdown while
@@ -589,7 +593,7 @@ an rpm transaction is running using the systemd-inhibit mechanism.
 %package plugin-ima
 Summary:       Plugin for IMA file signatures
 Group:         Base
-Requires:      %{name}-lib = %{version}-%{release}
+Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
 
 %description plugin-ima
 This plugin adds support for enforcing and verifying IMA file
@@ -598,7 +602,7 @@ signatures in an rpm.
 %package plugin-prioreset
 Summary:       Plugin for resetting scriptlet priorities for SysV init
 Group:         Base
-Requires:      %{name}-lib = %{version}-%{release}
+Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
 
 %description plugin-prioreset
 This plugin is useful on legacy SysV init systems if you run rpm
@@ -607,12 +611,21 @@ systemd systems.
 
 %package plugin-selinux
 Summary:       Plugin for SELinux functionality
-Requires:      %{name}-lib = %{version}-%{release}
+Group:         Base
+Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
 Requires:      libselinux >= 2.1.0
 
 %description plugin-selinux
 Plugin for SELinux functionality.
 
+%package sign
+Summary:       Package signing support
+Group:         Base
+Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
+
+%description sign
+This package contains support for digitally signing RPM packages.
+
 %package apidocs
 Summary:       RPM API documentation and guides
 Summary(pl.UTF-8):     Documentacja API RPM-a i przewodniki
@@ -649,6 +662,8 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch17 -p1
 #%patch18 -p1
 #%patch19 -p1
+%patch20 -p1
+%patch21 -p1
 
 install %{SOURCE2} pld.in
 install %{SOURCE8} scripts/php.prov.in
@@ -739,7 +754,7 @@ cd python
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \
-       $RPM_BUILD_ROOT{/var/lib/banner,/var/cache/hrmib}
+       $RPM_BUILD_ROOT{/var/lib/{banner,rpm},/var/cache/hrmib}
 
 cp -p %{SOURCE16} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
 
@@ -823,13 +838,18 @@ cp -p tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/
 cp -p %{SOURCE29} $RPM_BUILD_ROOT%{_rpmlibdir}/dbupgrade.sh
 
 # move rpm to /bin
-mv $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
+%{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
+ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmquery
+ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmverify
+
 # move essential libs to /lib (libs that /bin/rpm links to)
 for a in librpm.so librpmbuild.so librpmio.so librpmsign.so; do
        mv -f $RPM_BUILD_ROOT%{_libdir}/${a}.* $RPM_BUILD_ROOT/%{_lib}
        ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a}
 done
 
+#./rpmdb --macros=macros --rcfile=rpmrc --dbpath=/home/users/baggins/devel/PLD/rpm/BUILD/rpm-4.15.1/x/ --initdb
+
 %if %{with python2}
 # Remove anything that rpm make install might put there
 %{__rm} -rf $RPM_BUILD_ROOT%{py_sitedir}
@@ -898,6 +918,10 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 /etc/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
 
 %attr(755,root,root) /bin/rpm
+%attr(755,root,root) %{_bindir}/rpmdb
+%attr(755,root,root) %{_bindir}/rpmkeys
+%attr(755,root,root) %{_bindir}/rpmquery
+%attr(755,root,root) %{_bindir}/rpmverify
 
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
@@ -906,6 +930,9 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %config %verify(not md5 mtime size) %{_sysconfdir}/rpm/sysinfo/*
 
 %{_mandir}/man8/rpm.8*
+%{_mandir}/man8/rpmdb.8*
+%{_mandir}/man8/rpmkeys.8*
+%{_mandir}/man8/rpm-misc.8*
 %lang(fr) %{_mandir}/fr/man8/rpm.8*
 %lang(ja) %{_mandir}/ja/man8/rpm.8*
 %lang(ko) %{_mandir}/ko/man8/rpm.8*
@@ -913,19 +940,18 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %lang(ru) %{_mandir}/ru/man8/rpm.8*
 %lang(sk) %{_mandir}/sk/man8/rpm.8*
 
-#%dir /var/lib/rpm
-#%dir /var/lib/rpm/log
-#%dir /var/lib/rpm/tmp
-#%config(noreplace) %verify(not md5 mtime size) /var/lib/rpm/DB_CONFIG
+%dir /var/lib/rpm
 
 # exported package NVRA (stamped with install tid)
 # net-snmp hrSWInstalledName queries, bash-completions
 %dir /var/cache/hrmib
 
 %{_rpmlibdir}/rpmpopt*
+%{_rpmlibdir}/rpmrc
 %{_rpmlibdir}/macros
 %dir %{_rpmlibdir}/macros.d
 #%{_rpmlibdir}/macros.d/pld
+%dir %{_rpmlibdir}/platform
 %{_rpmlibdir}/platform/noarch-*
 %ifarch %{ix86} %{x8664} x32
 %{_rpmlibdir}/platform/athlon*
@@ -961,6 +987,9 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %attr(755,root,root) %{_rpmlibdir}/rpmdb_checkversion
 %attr(755,root,root) %{_rpmlibdir}/rpmdb_reset
 
+# valgrind suppression file for rpm
+%{_rpmlibdir}/rpm.supp
+
 %files base
 %defattr(644,root,root,755)
 %dir %{_sysconfdir}/rpm
@@ -1048,11 +1077,29 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 #%{_rpmlibdir}/macros.d/tcl
 #%{_rpmlibdir}/macros.rpmbuild
 
+%attr(755,root,root) %{_rpmlibdir}/check-buildroot
+%attr(755,root,root) %{_rpmlibdir}/check-prereqs
+%attr(755,root,root) %{_rpmlibdir}/check-rpaths
+%attr(755,root,root) %{_rpmlibdir}/check-rpaths-worker
+%attr(755,root,root) %{_rpmlibdir}/debuginfo.prov
+%attr(755,root,root) %{_rpmlibdir}/desktop-file.prov
+%attr(755,root,root) %{_rpmlibdir}/find-provides
+%attr(755,root,root) %{_rpmlibdir}/find-requires
+%attr(755,root,root) %{_rpmlibdir}/metainfo.prov
+%attr(755,root,root) %{_rpmlibdir}/ocaml-find-provides.sh
+%attr(755,root,root) %{_rpmlibdir}/ocaml-find-requires.sh
+%attr(755,root,root) %{_rpmlibdir}/script.req
+%attr(755,root,root) %{_rpmlibdir}/sepdebugcrcfix
+# Fedora has this in -build, but shouldn't this be in -devel?
+%attr(755,root,root) %{_rpmlibdir}/config.guess
+%attr(755,root,root) %{_rpmlibdir}/config.sub
+
 %dir %{_rpmlibdir}/fileattrs
 %{_rpmlibdir}/fileattrs/debuginfo.attr
 %{_rpmlibdir}/fileattrs/desktop.attr
 %{_rpmlibdir}/fileattrs/elf.attr
 %{_rpmlibdir}/fileattrs/font.attr
+%{_rpmlibdir}/fileattrs/java.attr
 %{_rpmlibdir}/fileattrs/libtool.attr
 %{_rpmlibdir}/fileattrs/metainfo.attr
 %{_rpmlibdir}/fileattrs/ocaml.attr
@@ -1147,38 +1194,13 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %attr(755,root,root) %{_libdir}/rpm-plugins/selinux.so
 %endif
 
+%files sign
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/rpmsign
+%{_mandir}/man8/rpmsign.8*
+
 %if %{with apidocs}
 %files apidocs
 %defattr(644,root,root,755)
 %doc doc/librpm/html/*
 %endif
-
-%if 0
-%attr(755,root,root) %{_bindir}/rpmdb
-%attr(755,root,root) %{_bindir}/rpmkeys
-%attr(755,root,root) %{_bindir}/rpmquery
-%attr(755,root,root) %{_bindir}/rpmsign
-%attr(755,root,root) %{_bindir}/rpmverify
-%attr(755,root,root) %{_rpmlibdir}/check-buildroot
-%attr(755,root,root) %{_rpmlibdir}/check-prereqs
-%attr(755,root,root) %{_rpmlibdir}/check-rpaths
-%attr(755,root,root) %{_rpmlibdir}/check-rpaths-worker
-%attr(755,root,root) %{_rpmlibdir}/config.guess
-%attr(755,root,root) %{_rpmlibdir}/config.sub
-%attr(755,root,root) %{_rpmlibdir}/debuginfo.prov
-%attr(755,root,root) %{_rpmlibdir}/desktop-file.prov
-%attr(755,root,root) %{_rpmlibdir}/find-provides
-%attr(755,root,root) %{_rpmlibdir}/find-requires
-%attr(755,root,root) %{_rpmlibdir}/metainfo.prov
-%attr(755,root,root) %{_rpmlibdir}/ocaml-find-provides.sh
-%attr(755,root,root) %{_rpmlibdir}/ocaml-find-requires.sh
-# valgrind suppression file for rpm
-%{_rpmlibdir}/rpm.supp
-%{_rpmlibdir}/rpmrc
-%attr(755,root,root) %{_rpmlibdir}/script.req
-%attr(755,root,root) %{_rpmlibdir}/sepdebugcrcfix
-%{_mandir}/man8/rpm-misc.8*
-%{_mandir}/man8/rpmdb.8*
-%{_mandir}/man8/rpmkeys.8*
-%{_mandir}/man8/rpmsign.8*
-%endif
This page took 0.040636 seconds and 4 git commands to generate.