]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.spec
- fixed unproper use of %{name} macro,
[packages/rpm.git] / rpm.spec
index e97817a3820d28d90bd7ca2c42020faf2b542fce..f3361c05871a686bc2f83f6161d5f3eef6920d95 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
+#
+# 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_cc             - force using __cc other than "%{_target_cpu}-pld-linux-gcc"
+# force_cxx            - force using __cxx other than "%{_target_cpu}-pld-linux-g++"
+# force_cpp            - force using __cpp other than "%{_target_cpu}-pld-linux-gcc -E"
+#
 %include        /usr/lib/rpm/macros.python
-%define        beecrypt_ver    2.2.0
-%define        beecrypt_rel    2
+%define snap   20030515
+# versions of required libraries
+%define        reqdb_ver       4.1.25-1
+%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(pl):   Aplikacja do zarz±dzania pakietami RPM
 Summary(pt_BR):        Gerenciador de pacotes RPM
-Summary(ru):   íÅÎÅÄÖÅÒ ÐÁËÅÔÏ× ÏÔ Red Hat
-Summary(uk):   íÅÎÅÄÖÅÒ ÐÁËÅԦנצĠRed Hat
+Summary(ru):   íÅÎÅÄÖÅÒ ÐÁËÅÔÏ× ÏÔ RPM
+Summary(uk):   íÅÎÅÄÖÅÒ ÐÁËÅԦנצĠRPM
 Name:          rpm
-Version:       4.1
-Release:       12
+%define        ver     4.3
+Version:       %{ver}
+%define        rel     0.%{snap}.6
+Release:       %{rel}
 License:       GPL
 Group:         Base
-Source0:       ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.1.x/%{name}-%{version}.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}.macros
+Source2:       %{name}.platform
 Source3:       %{name}-install-tree
-Source4:       %{name}-find-%{name}-provides
+Source4:       %{name}-find-rpm-provides
 Source5:       %{name}-macros.perl
-Source6:       %{name}-find-perl-provides
-Source7:       %{name}-find-perl-requires
 Source8:       %{name}-find-spec-bcond
 Source9:       %{name}-find-lang
 Source10:      %{name}-find-provides
 Source11:      %{name}-find-requires
-Source12:      %{name}-macros.php
-Source13:      %{name}-macros.python
 Source14:      %{name}-groups-po.awk
 Source15:      %{name}-compress-doc
 Source16:      %{name}-check-files
 Source17:      %{name}-php-provides
 Source18:      %{name}-php-requires
-Source19:      %{name}-find-php-provides
-Source20:      %{name}-find-php-requires
+Source20:      %{name}.macros
 Source30:      builder
 Source31:      adapter.awk
 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
-Patch15:       %{name}-4.1-branch.patch
 Patch16:       %{name}-drop-legacy-CLI.patch
-Patch17:       %{name}-perlprov-perl5.6.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}-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
 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 >= 4.1.25-1
+BuildRequires: db-devel >= %{reqdb_ver}
 BuildRequires: doxygen
 BuildRequires: gettext-devel >= 0.11.4-2
-BuildRequires: libelf-devel
+BuildRequires: elfutils-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 >= 1.7
-%if %{!?_without_static:1}%{?_without_static:0}
+BuildRequires: popt-devel >= %{reqpopt_ver}
+%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 >= 4.1.25
+BuildRequires: db-static >= %{reqdb_ver}
 BuildRequires: glibc-static >= 2.2.94
-BuildRequires: libelf-static
+BuildRequires: elfutils-static
+#BuildRequires:        libmagic-static
 BuildRequires: zlib-static
-BuildRequires: popt-static >= 1.7
+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}
 %define                _binary_payload w9.gzdio
+%define                _noPayloadPrefix 1
 
 # don't require very fresh rpm.macros to build
 %define                __gettextize gettextize --copy --force --intl ; cp -f po/Makevars{.template,}
 
+# stabilize new build environment
+%define                __cc %{?force_cc}%{!?force_cc:%{_target_cpu}-pld-linux-gcc}
+%define                __cxx %{?force_cxx}%{!?force_cxx:%{_target_cpu}-pld-linux-g++}
+%define                __cpp %{?force_cpp}%{!?force_cpp:%{_target_cpu}-pld-linux-gcc -E}
+
 %description
 RPM is a powerful package manager, which can be used to build,
 install, query, verify, update, and uninstall individual software
@@ -159,12 +184,12 @@ Summary(pt_BR):   Arquivos de inclus
 Summary(ru):   èÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ÐÒÏÇÒÁÍÍ, ÒÁÂÏÔÁÀÝÉÈ Ó rpm-ÐÁËÅÔÁÍÉ
 Summary(uk):   èÅÄÅÒÉ ÔÁ Â¦Â̦ÏÔÅËÉ ÄÌÑ ÐÒÏÇÒÁÍ, ÝÏ ÐÒÁÃÀÀÔØ Ú ÐÁËÅÔÁÍÉ rpm
 Group:         Development/Libraries
-Requires:      %{name} = %{version}
-Requires:      beecrypt-devel
+Requires:      %{name}-lib = %{version}
+Requires:      beecrypt-devel >= %{beecrypt_ver}
 Requires:      bzip2-devel
 Requires:      db-devel
-Requires:      libelf-devel
-Requires:      popt-devel >= 1.7
+Requires:      elfutils-devel
+Requires:      popt-devel >= %{reqpopt_ver}
 Requires:      zlib-devel
 
 %description devel
@@ -219,6 +244,12 @@ Summary(ru):       
 Summary(uk):   óÔÁÔÉÞÎÁ Â¦Â̦ÏÔÅËÁ ÄÌÑ ÐÒÏÇÒÁÍ, ÝÏ ÐÒÁÃÀÀÔØ Ú ÐÁËÅÔÁÍÉ rpm
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}
+Requires:      beecrypt-static >= %{beecrypt_ver}
+Requires:      bzip2-static
+Requires:      db-static
+Requires:      elfutils-static
+Requires:      popt-static >= %{reqpopt_ver}
+Requires:      zlib-static
 
 %description static
 RPM static libraries.
@@ -248,7 +279,7 @@ Summary(de):        Zusatzwerkzeuge f
 Summary(pl):   Dodatkowe narzêdzia do zarz±dzania baz± RPM-a i pakietami
 Group:         Applications/File
 Requires:      %{name} = %{version}
-Requires:      popt >= 1.7
+Requires:      popt >= %{reqpopt_ver}
 
 %description utils
 Additional utilities for managing rpm packages and database.
@@ -344,7 +375,8 @@ Python para manipular pacotes e bancos de dados RPM.
 Summary:       RPMs library
 Summary(pl):   Biblioteki RPM-a
 Group:         Libraries
-Requires:      popt >= 1.7
+Requires:      db >= %{reqdb_ver}
+Requires:      popt >= %{reqpopt_ver}
 
 %description lib
 RPMs library.
@@ -362,6 +394,7 @@ Summary(uk):        
 Group:         Applications/File
 Requires(pre): findutils
 Requires:      %{name} = %{version}
+Requires:      %{name}-utils = %{version}
 Requires:      /bin/id
 Requires:      awk
 Requires:      binutils
@@ -440,99 +473,51 @@ construir pacotes usando o RPM.
 ò¦ÚÎÏÍÁΦÔΦ ÄÏÐÏͦÖΦ ÓËÒÉÐÔÉ ÔÁ ÕÔÉ̦ÔÉ, Ñ˦ ×ÉËÏÒÉÓÔÏ×ÕÀÔØÓÑ ÄÌÑ
 ÐÏÂÕÄÏ×É 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
-%patch0 -p1
+# need update
+#%%patch0 -p1
 %patch1 -p1
 %patch2 -p1
+# find-spec-bcond need update
+# po/pl.po 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
-%patch14 -p1
-%patch15 -p1
 %patch16 -p1
-%patch17 -p1
 %patch18 -p1
 %patch19 -p1
 %patch20 -p1
 %patch21 -p1
 %patch22 -p1
-%patch23 -p1
 %patch24 -p1
 %patch25 -p1
-%patch26 -p1
-%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 %{SOURCE5} macros.perl.in
-install %{SOURCE13} macros.python.in
-install %{SOURCE12} macros.php.in
-install %{SOURCE6} scripts/find-perl-provides
-install %{SOURCE7} scripts/find-perl-requires
+echo '# obsoleted file' > macros.perl
+echo '# obsoleted file' > macros.python
+echo '# obsoleted file' > macros.php
 install %{SOURCE9} scripts/find-lang.sh
 install %{SOURCE17} scripts/php.prov.in
 install %{SOURCE18} scripts/php.req.in
-install %{SOURCE19} scripts/find-php-provides
-install %{SOURCE20} scripts/find-php-requires
+install %{SOURCE33} scripts/perl.prov
+cat %{SOURCE20} >> macros.in
+%patch34 -p1
+%patch39 -p1
 
 cd scripts;
 mv -f perl.req perl.req.in
@@ -542,15 +527,11 @@ cd ..
 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
+%build
+cd file
 rm -f missing
 %{__libtoolize}
 %{__aclocal}
@@ -573,7 +554,9 @@ sed -e 's|@host@|%{_target_cpu}-%{_target_vendor}-linux-gnu|'  \
        -e 's|@host_cpu@|%{_target_cpu}|'  macros.in  > macros.tmp
 mv -f macros.tmp macros.in
 
+# pass CC and CXX too in case of building with some older configure macro
 %configure \
+       CC="%{__cc}" CXX="%{__cxx}" CPP="%{__cpp}" \
        --enable-shared \
        --enable-static \
        --with-apidocs \
@@ -586,6 +569,7 @@ mv -f macros.tmp macros.in
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT/lib
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT \
@@ -623,24 +607,30 @@ EOF
 # for rpm -e|-U --repackage
 install -d $RPM_BUILD_ROOT/var/spool/repackage
 
+# 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
+done
+
 %find_lang %{name}
 
-rm -f doc/manual/Makefile*
+rm -rf manual
+cp -a doc/manual manual
+rm -f manual/Makefile*
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %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
 
 %files -f %{name}.lang
 %defattr(644,root,root,755)
-%doc RPM-PGP-KEY CHANGES doc/manual/*
+%doc RPM-PGP-KEY CHANGES manual
 
 %attr(755,root,root) /bin/rpm
 
@@ -667,6 +657,7 @@ find /usr/lib/rpm -name '*-linux' -type l | xargs rm -f
 
 %files lib
 %defattr(644,root,root,755)
+%attr(755,root,root) /lib/librpm*-*.so
 %attr(755,root,root) %{_libdir}/librpm*-*.so
 
 %files build
@@ -685,9 +676,9 @@ find /usr/lib/rpm -name '*-linux' -type l | xargs rm -f
 %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/u_pkg.sh
@@ -725,13 +716,10 @@ find /usr/lib/rpm -name '*-linux' -type l | xargs rm -f
 %files devel
 %defattr(644,root,root,755)
 %{_includedir}/rpm
-%{_libdir}/librpm.la
+%{_libdir}/librpm*.la
 %attr(755,root,root) %{_libdir}/librpm.so
-%{_libdir}/librpmio.la
 %attr(755,root,root) %{_libdir}/librpmio.so
-%{_libdir}/librpmdb.la
 %attr(755,root,root) %{_libdir}/librpmdb.so
-%{_libdir}/librpmbuild.la
 %attr(755,root,root) %{_libdir}/librpmbuild.so
 
 %files static
@@ -740,32 +728,45 @@ find /usr/lib/rpm -name '*-linux' -type l | xargs rm -f
 
 %files utils
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/debugedit
 %attr(755,root,root) %{_bindir}/rpm2cpio
+%attr(755,root,root) %{_bindir}/rpmcache
+%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/find-debuginfo.sh
-%attr(755,root,root) %{_bindir}/rpmgraph
-%attr(755,root,root) %{_bindir}/rpmcache
-%attr(755,root,root) %{_bindir}/striptofile
-%attr(755,root,root) %{_bindir}/unstripfile
+%attr(755,root,root) %{_libdir}/rpm/rpmdb_loadcvt
+%{_libdir}/rpm/magic
+
 # not here
-#%{_libdir}/rpm/rpm.daily
-#%{_libdir}/rpm/rpm.log
-#%{_libdir}/rpm/rpm.xinetd
-%{_libdir}/rpm/rpm2cpio.sh
+#%%{_libdir}/rpm/rpm.daily
+#%%{_libdir}/rpm/rpm.log
+#%%{_libdir}/rpm/rpm.xinetd
 
 %{_mandir}/man8/rpm2cpio.8*
 %lang(ja) %{_mandir}/ja/man8/rpm2cpio.8*
 %lang(ko) %{_mandir}/ko/man8/rpm2cpio.8*
 %lang(pl) %{_mandir}/pl/man8/rpm2cpio.8*
 %lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
+%{_mandir}/man8/rpmdeps.8*
 %{_mandir}/man8/rpmcache.8*
 %{_mandir}/man8/rpmgraph.8*
 
 %files perlprov
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/rpm/perl*
-%attr(755,root,root) %{_libdir}/rpm/find-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) %{_libdir}/rpm/find-req.pl
@@ -794,17 +795,3 @@ find /usr/lib/rpm -name '*-linux' -type l | xargs rm -f
 %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
This page took 0.25338 seconds and 4 git commands to generate.