# TODO:
# - learn find-perl-provides to use the __perl macro instead
# of /usr/bin/perl
+# - use system libmagic not internal libfmagic
#
# Conditional build:
# _without_static - build shared /bin/rpm (doesn't work at the moment)
# force_cpp - force using __cpp other than "%{_target_cpu}-pld-linux-gcc -E"
#
%include /usr/lib/rpm/macros.python
-%define snap 20030322
-%define beecrypt_ver 2.2.0
+%define snap 20030515
# versions of required libraries
%define reqdb_ver 4.1.25-1
-%define reqpopt_ver 1.8
+%define reqpopt_ver 1.9
+%define beecrypt_ver 3.0.0
Summary: RPM Package Manager
Summary(de): RPM Packet-Manager
Summary(es): Gestor de paquetes RPM
Summary(ru): íÅÎÅÄÖÅÒ ÐÁËÅÔÏ× ÏÔ RPM
Summary(uk): íÅÎÅÄÖÅÒ ÐÁËÅÔ¦× ×¦Ä RPM
Name: rpm
-%define ver 4.2
+%define ver 4.3
Version: %{ver}
-%define rel 0.%{snap}.4
+%define rel 0.%{snap}.6
Release: %{rel}
-%define beecrypt_rel %{ver}_%{rel}
License: GPL
Group: Base
-Source0: ftp://ftp.rpm.org/pub/rpm/test-4.2/%{name}-%{version}.%{snap}.tar.gz
+#Source0: ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.2.x/%{name}-%{version}.%{snap}.tar.gz
+# Source0-md5: b7a16114143a0465aa65daf7a0234cf4
+Source0: http://recesja.icm.edu.pl/~psk/%{name}-%{version}.%{snap}.tar.gz
Source1: %{name}.groups
Source2: %{name}.platform
Source3: %{name}-install-tree
-Source4: %{name}-find-%{name}-provides
-Source5: %{name}-macros.perl
+Source4: %{name}-find-rpm-provides
Source8: %{name}-find-spec-bcond
Source9: %{name}-find-lang
Source10: %{name}-find-provides
Source32: pldnotify.awk
Source33: perl.prov
Patch0: %{name}-pl.po.patch
-Patch1: %{name}-%{name}rc.patch
+Patch1: %{name}-rpmrc.patch
Patch2: %{name}-arch.patch
-Patch3: %{name}-%{name}popt.patch
+Patch3: %{name}-rpmpopt.patch
Patch4: %{name}-perl-macros.patch
Patch5: %{name}-perl-req-perlfile.patch
-Patch6: %{name}-cache.patch
Patch7: %{name}-glob.patch
-Patch8: %{name}-header_h.patch
-Patch9: %{name}-fast-alAddPackage.patch
-Patch10: %{name}-byKey.patch
Patch11: %{name}-noexpand.patch
Patch12: %{name}-scripts-closefds.patch
Patch13: %{name}-python-macros.patch
-#Patch14: %{name}-perlprov-regonly.patch
Patch16: %{name}-drop-legacy-CLI.patch
-Patch15: %{name}-4.1-branch.patch
Patch18: %{name}-gettext-in-header.patch
Patch19: %{name}-compress-doc.patch
Patch20: %{name}-lt14d.patch
Patch21: %{name}-gettext0.11.patch
Patch22: %{name}-build.patch
-Patch23: %{name}-python-link.patch
Patch24: %{name}-system_libs.patch
Patch25: %{name}-bb-and-short-circuit.patch
-Patch26: %{name}-4.1-branch-po-updates.patch
-Patch27: %{name}-link.patch
-Patch28: %{name}-beecrypt-opt.patch
-Patch29: %{name}-python-pic.patch
-Patch30: %{name}-home_etc.patch
+Patch30: %{name}-etc_dir.patch
Patch31: %{name}-system_libs-more.patch
Patch32: %{name}-php-deps.patch
+Patch33: %{name}-python-fix.patch
+Patch34: %{name}-spec-prep-pre.patch
+Patch35: %{name}-perl_req.patch
+Patch36: %{name}-system_libs_more.patch
+Patch37: %{name}-python_2_3.patch
+Patch38: %{name}-no-bin-env.patch
+Patch39: %{name}-specflags.patch
+Patch40: %{name}-magic-usesystem.patch
+Patch41: %{name}-dontneedutils.patch
URL: http://www.rpm.org/
Icon: rpm.gif
BuildRequires: autoconf >= 2.52
BuildRequires: automake
+BuildRequires: beecrypt-devel >= %{beecrypt_ver}
BuildRequires: bzip2-devel >= 1.0.1
BuildRequires: db-devel >= %{reqdb_ver}
BuildRequires: doxygen
BuildRequires: gettext-devel >= 0.11.4-2
BuildRequires: elfutils-devel
-BuildRequires: libmagic-devel
+#BuildRequires: libmagic-devel
BuildRequires: libtool
BuildRequires: patch >= 2.2
BuildRequires: python-devel >= 2.2
BuildRequires: python-modules >= 2.2
+BuildRequires: rpm-perlprov
BuildRequires: rpm-pythonprov
BuildRequires: zlib-devel
BuildRequires: popt-devel >= %{reqpopt_ver}
-%if %{!?_without_static:1}%{?_without_static:0}
+%if %{!?_without_static:1}0
# Require static library only for static build
+BuildRequires: beecrypt-static >= %{beecrypt_ver}
BuildRequires: bzip2-static >= 1.0.2-5
BuildRequires: db-static >= %{reqdb_ver}
BuildRequires: glibc-static >= 2.2.94
BuildRequires: elfutils-static
-BuildRequires: libmagic-devel
+#BuildRequires: libmagic-static
BuildRequires: zlib-static
BuildRequires: popt-static >= %{reqpopt_ver}
%endif
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+Requires: popt >= %{reqpopt_ver}
Conflicts: glibc < 2.2.92
%define __find_provides %{SOURCE4}
Summary(uk): èÅÄÅÒÉ ÔÁ ¦Â̦ÏÔÅËÉ ÄÌÑ ÐÒÏÇÒÁÍ, ÝÏ ÐÒÁÃÀÀÔØ Ú ÐÁËÅÔÁÍÉ rpm
Group: Development/Libraries
Requires: %{name}-lib = %{version}
+Requires: beecrypt-devel >= %{beecrypt_ver}
Requires: bzip2-devel
Requires: db-devel
Requires: elfutils-devel
Summary(uk): óÔÁÔÉÞÎÁ ¦Â̦ÏÔÅËÁ ÄÌÑ ÐÒÏÇÒÁÍ, ÝÏ ÐÒÁÃÀÀÔØ Ú ÐÁËÅÔÁÍÉ rpm
Group: Development/Libraries
Requires: %{name}-devel = %{version}
+Requires: beecrypt-static >= %{beecrypt_ver}
Requires: bzip2-static
Requires: db-static
Requires: elfutils-static
%description utils -l pl
Dodatkowe narzêdzia do zarz±dzania baz± RPM-a i pakietami.
+%package utils-static
+Summary: Static rpm utilities
+Summary(pl): Statyczne narzêdzia rpm
+Group: Applications/System
+Requires: %{name} = %{version}
+
+%description utils-static
+Static rpm utilities for repairing system in case something with
+shared libraries used by rpm become broken. Currently it contains rpmi
+binary, which can be used to install/upgrade/remove packages without
+using shared libraries (well, in fact with exception of NSS modules).
+
+%description utils-static -l pl
+Statyczne narzêdzia rpm do naprawy systemu w przypadku zepsucia czego¶
+zwi±zanego z bibliotekami wspó³dzielonymi u¿ywanymi przez rpm-a.
+Aktualnie pakiet zawiera binarkê rpmi, któr± mo¿na u¿yæ do instalacji,
+uaktualniania lub usuwania pakietów bez udzia³u bibliotek statycznych
+(z wyj±tkiem modu³ów NSS).
+
%package perlprov
Summary: Additional utilities for checking perl provides/requires in rpm packages
Summary(de): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
Requires: awk
Requires: binutils
Requires: diffutils
-Requires: file >= 3.31
+Requires: file >= 4.01
Requires: fileutils
Requires: findutils
%ifarch athlon
ò¦ÚÎÏÍÁΦÔΦ ÄÏÐÏͦÖΦ ÓËÒÉÐÔÉ ÔÁ ÕÔÉ̦ÔÉ, Ñ˦ ×ÉËÏÒÉÓÔÏ×ÕÀÔØÓÑ ÄÌÑ
ÐÏÂÕÄÏ×É RPM'¦×.
-%package -n beecrypt
-Summary: Crypto library
-Summary(pl): Biblioteka kryptograficzna
-Version: %{beecrypt_ver}
-Release: %{beecrypt_rel}
-Epoch: 1
-Group: Libraries
-
-%description -n beecrypt
-Crypto library (modified for rpm needs).
-
-%description -n beecrypt -l pl
-Biblioteka kryptograficzna (zmodyfikowana na potrzeby rpma).
-
-%package -n beecrypt-devel
-Summary: Crypto library - development files
-Summary(pl): Biblioteka kryptograficzna - pliki developerskie
-Version: %{beecrypt_ver}
-Release: %{beecrypt_rel}
-Epoch: 1
-Group: Development/Libraries
-Requires: beecrypt = %{beecrypt_ver}
-
-%description -n beecrypt-devel
-Crypto library - development files.
-
-%description -n beecrypt-devel -l pl
-Biblioteka kryptograficzna - pliki developerskie.
-
-%package -n beecrypt-static
-Summary: Crypto library - static version
-Summary(pl): Statyczna biblioteka kryptograficzna
-Version: %{beecrypt_ver}
-Release: %{beecrypt_rel}
-Epoch: 1
-Group: Development/Libraries
-Requires: beecrypt-devel = %{beecrypt_ver}
-
-%description -n beecrypt-static
-Static version of crypto library.
-
-%description -n beecrypt-static -l pl
-Statyczna wersja biblioteki kryptograficznej.
-
%prep
%setup -q
-# need update
-#%%patch0 -p1
+%patch0 -p1
%patch1 -p1
%patch2 -p1
# find-spec-bcond need update
%patch3 -p1
%patch4 -p1
%patch5 -p1
-# not needed ? (break compilation)
-#%patch6 -p1
%patch7 -p1
-# needed ?
-#%patch8 -p1
-# rejected (needed ?)
-#%patch9 -p1
-# too many rejects, Pawel please check if needed and rediff
-#%patch10 -p0
%patch11 -p1
%patch12 -p1
%patch13 -p1
-# outdated
-#%%patch14 -p1
%patch16 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
-# need review
-#%%patch23 -p1
%patch24 -p1
%patch25 -p1
-# need review
-#%%patch26 -p1
-# obsoleted ?
-#%%patch27 -p1
-%patch28 -p1
-%patch29 -p1
%patch30 -p1
%patch31 -p1
%patch32 -p1
+%patch33 -p1 -b .wiget
+# patch34 -- look down
+%patch35 -p1
+%patch36 -p1
+%patch37 -p1
+%patch38 -p1
sed -e 's/^/@pld@/' %{SOURCE2} >>platform.in
cp -f platform.in macros.pld.in
install %{SOURCE18} scripts/php.req.in
install %{SOURCE33} scripts/perl.prov
cat %{SOURCE20} >> macros.in
+%patch34 -p1
+%patch39 -p1
+%patch40 -p1
+%patch41 -p1
cd scripts;
mv -f perl.req perl.req.in
chmod +x %{SOURCE4}
rm -rf zlib libelf db db3 popt rpmdb/db.h
-%build
# generate Group translations to *.po
awk -f %{SOURCE14} %{SOURCE1}
-%{__aclocal}
-%{__autoheader}
-%{__autoconf}
-%{__automake}
-cd beecrypt
-rm -f missing
-%{__libtoolize}
-%{__aclocal}
-%{__autoheader}
-%{__autoconf}
-%{__automake}
-cd ..
+%build
cd file
rm -f missing
%{__libtoolize}
%{__automake}
cd ..
-
-
rm -f missing
%{__libtoolize}
%{__gettextize}
install %{SOURCE11} $RPM_BUILD_ROOT%{_libdir}/rpm/find-requires
install %{SOURCE15} $RPM_BUILD_ROOT%{_libdir}/rpm/compress-doc
install %{SOURCE16} $RPM_BUILD_ROOT%{_libdir}/rpm/check-files
-install scripts/find-php* $RPM_BUILD_ROOT%{_libdir}/rpm/
-install scripts/php.{prov,req} $RPM_BUILD_ROOT%{_libdir}/rpm/
+install scripts/find-php* $RPM_BUILD_ROOT%{_libdir}/rpm
+install scripts/php.{prov,req} $RPM_BUILD_ROOT%{_libdir}/rpm
install %{SOURCE30} $RPM_BUILD_ROOT%{_bindir}/builder
install %{SOURCE31} $RPM_BUILD_ROOT%{_bindir}/adapter.awk
# move libs to /lib
for a in librpm-%{ver}.so librpmdb-%{ver}.so librpmio-%{ver}.so ; do
- mv -f $RPM_BUILD_ROOT/%{_libdir}/$a $RPM_BUILD_ROOT/lib/
- ln -s /lib/$a $RPM_BUILD_ROOT/%{_libdir}/$a
+ mv -f $RPM_BUILD_ROOT%{_libdir}/$a $RPM_BUILD_ROOT/lib
+ ln -s /lib/$a $RPM_BUILD_ROOT%{_libdir}/$a
done
%find_lang %{name}
%post lib -p /sbin/ldconfig
%postun lib -p /sbin/ldconfig
-%post -n beecrypt -p /sbin/ldconfig
-%postun -n beecrypt -p /sbin/ldconfig
%pre build
find /usr/lib/rpm -name '*-linux' -type l | xargs rm -f
%doc RPM-PGP-KEY CHANGES manual
%attr(755,root,root) /bin/rpm
+#%attr(755,root,root) %{_bindir}/rpmdb
+#%attr(755,root,root) %{_bindir}/rpmquery
+#%attr(755,root,root) %{_bindir}/rpmsign
+#%attr(755,root,root) %{_bindir}/rpmverify
%dir %{_sysconfdir}/rpm
%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/rpm/macros
%dir /var/lib/rpm
%dir %attr(700,root,root) /var/spool/repackage
%dir %{_libdir}/rpm
+#%attr(755,root,root) %{_libdir}/rpm/rpmd
+#%attr(755,root,root) %{_libdir}/rpm/rpmk
+#%attr(755,root,root) %{_libdir}/rpm/rpm[qv]
%doc %attr(755,root,root) %{_libdir}/rpm/convertrpmrc.sh
%attr(755,root,root) %{_libdir}/rpm/brp-*
%attr(755,root,root) %{_libdir}/rpm/check-files
%attr(755,root,root) %{_libdir}/rpm/check-prereqs
-%attr(755,root,root) %{_libdir}/rpm/cpanflute
-%attr(755,root,root) %{_libdir}/rpm/cpanflute2
-%attr(755,root,root) %{_libdir}/rpm/Specfile.pm
+#%attr(755,root,root) %{_libdir}/rpm/cpanflute
+#%attr(755,root,root) %{_libdir}/rpm/cpanflute2
+#%attr(755,root,root) %{_libdir}/rpm/Specfile.pm
%attr(755,root,root) %{_libdir}/rpm/http.req
-%attr(755,root,root) %{_libdir}/rpm/magic.*
+#%attr(755,root,root) %{_libdir}/rpm/magic*
+%attr(755,root,root) %{_libdir}/rpm/magic.prov
+%attr(755,root,root) %{_libdir}/rpm/magic.req
%attr(755,root,root) %{_libdir}/rpm/u_pkg.sh
%attr(755,root,root) %{_libdir}/rpm/vpkg-provides.sh
%attr(755,root,root) %{_libdir}/rpm/vpkg-provides2.sh
%attr(755,root,root) %{_bindir}/gendiff
%attr(755,root,root) %{_bindir}/rpmbuild
-%{_mandir}/man1/*
+%{_mandir}/man1/gendiff.1*
%{_mandir}/man8/rpmbuild.8*
%files devel
%attr(755,root,root) %{_bindir}/rpmdeps
%attr(755,root,root) %{_bindir}/rpmgraph
%attr(755,root,root) %{_bindir}/rpmfile
-#%attr(755,root,root) %{_bindir}/striptofile
-#%attr(755,root,root) %{_bindir}/unstripfile
%attr(755,root,root) %{_libdir}/rpm/find-debuginfo.sh
%attr(755,root,root) %{_libdir}/rpm/rpm2cpio.sh
-%attr(755,root,root) %{_libdir}/rpm/rpmd
%attr(755,root,root) %{_libdir}/rpm/rpmdiff*
-%attr(755,root,root) %{_libdir}/rpm/rpmi
-%attr(755,root,root) %{_libdir}/rpm/rpmk
-%attr(755,root,root) %{_libdir}/rpm/rpmq
-%attr(755,root,root) %{_libdir}/rpm/rpmv
%attr(755,root,root) %{_libdir}/rpm/tgpg
%attr(755,root,root) %{_libdir}/rpm/rpmdb_loadcvt
-%{_libdir}/rpm/magic
# not here
#%%{_libdir}/rpm/rpm.daily
%{_mandir}/man8/rpmcache.8*
%{_mandir}/man8/rpmgraph.8*
+%files utils-static
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/rpm[ieu]
+%attr(755,root,root) %{_libdir}/rpm/rpm[ieu]
+
%files perlprov
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/rpm/perl*
+%attr(755,root,root) %{_libdir}/rpm/perl.*
+#%attr(755,root,root) %{_libdir}/rpm/perldeps.pl
#%attr(755,root,root) %{_libdir}/rpm/find-perl-*
%attr(755,root,root) %{_libdir}/rpm/find-*.perl
%attr(755,root,root) %{_libdir}/rpm/find-prov.pl
%attr(755,root,root) %{_bindir}/builder
%attr(755,root,root) %{_bindir}/adapter.awk
%attr(755,root,root) %{_bindir}/pldnotify.awk
-
-%files -n beecrypt
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libbeecrypt.so.*.*
-
-%files -n beecrypt-devel
-%defattr(644,root,root,755)
-%{_libdir}/libbeecrypt.so
-%{_libdir}/libbeecrypt.la
-%{_includedir}/beecrypt
-
-%files -n beecrypt-static
-%defattr(644,root,root,755)
-%{_libdir}/libbeecrypt.a