]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.spec
- versioned Provides rpmbuild(find_lang)
[packages/rpm.git] / rpm.spec
index 7d6da2596c4f1818748d68634cd83b013286a62b..d7701e649e2aedcb874cfac64bcbb4ae15ddabc2 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
@@ -7,6 +7,7 @@
 #   tags (incl. digest) and writes whole package to destination file;
 #   repackaging uses unchanged "immutable header" image from original rpm, also
 #   preserving payload format and compressor from original rpm, _not_ current settings
+# - TODO: add macros for some ppc, mipsel, alpha and sparc
 #
 # Conditional build:
 %bcond_with    static          # build static rpm+rpmi
 %bcond_without selinux         # build without selinux support
 %bcond_without suggest_tags    # build without Suggest tag (bootstrapping)
 %bcond_with    neon            # build with HTTP/WebDAV support (neon library)
+%bcond_without db              # BerkeleyDB
 %bcond_with    sqlite          # build with SQLite support
+%bcond_with    sqlite_dbapi    # default database backend is sqlite
 # 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"
+#
+%if %{with sqlite_dbapi}
+%define        with_sqlite     1
+%endif
+
+%if %{without db} && %{without sqlite}
+%{error:Need db or sqlite}
+ERROR
+%endif
 
+#
 # versions of required libraries
 %define        reqdb_ver       4.6.18
 %define        reqpopt_ver     1.10.8
@@ -34,11 +47,11 @@ Summary(ru.UTF-8):  Менеджер пакетов от RPM
 Summary(uk.UTF-8):     Менеджер пакетів від RPM
 Name:          rpm
 Version:       5.0
-Release:       0.1
+Release:       0.3
 License:       GPL
 Group:         Base
-Source0:       rpm-20070927.tar.gz
-# Source0-md5: cf0bda3a41b74d68b36ef078edfafc6d
+Source0:       %{name}-20071029.tar.bz2
+# Source0-md5: 572527ed1757842b2d8cb264473d2dea
 Source1:       %{name}.groups
 Source2:       %{name}.platform
 Source3:       %{name}-install-tree
@@ -57,71 +70,69 @@ Source15:   %{name}-macros.java
 Source16:      %{name}-java-requires
 # http://svn.pld-linux.org/banner.sh/
 Source17:      banner.sh
+Source18:      %{name}-pld.macros
+
+Source100:     %{name}-macros-athlon
+Source101:     %{name}-macros-i386
+Source102:     %{name}-macros-i486
+Source103:     %{name}-macros-i586
+Source104:     %{name}-macros-i686
+Source105:     %{name}-macros-noarch
+Source106:     %{name}-macros-pentium3
+Source107:     %{name}-macros-pentium4
+Source108:     %{name}-macros-ppc
+Source109:     %{name}-macros-x86_64
+Source110:     %{name}-macros-ia32e
+Source111:     %{name}-macros-amd64
+
 Patch0:                %{name}-pl.po.patch
-Patch1:                %{name}-rpmrc.patch
-Patch2:                %{name}-arch.patch
+Patch1:                %{name}-man_pl.patch
 Patch3:                %{name}-rpmpopt.patch
 Patch4:                %{name}-perl-macros.patch
 Patch5:                %{name}-perl-req-perlfile.patch
 Patch6:                %{name}-noexpand.patch
 Patch7:                %{name}-scripts-closefds.patch
-Patch8:                %{name}-python-macros.patch
+Patch8:                %{name}-php-macros.patch
 Patch9:                %{name}-gettext-in-header.patch
 Patch10:       %{name}-compress-doc.patch
-Patch11:       %{name}-Nmalloc.patch
-Patch12:       %{name}-system_libs.patch
-Patch13:       %{name}-bb-and-short-circuit.patch
+
 Patch14:       %{name}-etc_dir.patch
-Patch15:       %{name}-system_libs-more.patch
 Patch16:       %{name}-php-deps.patch
-Patch17:       %{name}-ldconfig-always.patch
+
 Patch18:       %{name}-perl_req.patch
-Patch19:       %{name}-link.patch
-Patch20:       %{name}-magic-usesystem.patch
-Patch21:       %{name}-dontneedutils.patch
-Patch22:       %{name}-provides-dont-obsolete.patch
+
 Patch23:       %{name}-pkgconfigdeps.patch
-Patch24:       %{name}-po.patch
-Patch25:       %{name}-rpm2cpio-payload.patch
+
 Patch26:       %{name}-notsc.patch
 Patch27:       %{name}-hack-norpmlibdep.patch
-Patch28:       %{name}-makefile-no_myLDADD_deps.patch
-Patch29:       %{name}-macros-dbhash.patch
+
 Patch31:       %{name}-missing-prototypes.patch
 Patch32:       %{name}-pld-autodep.patch
-Patch33:       %{name}-arch-x86_64.patch
 Patch34:       %{name}-epoch0.patch
 Patch35:       %{name}-perl_req-INC_dirs.patch
 Patch36:       %{name}-debuginfo.patch
 Patch37:       %{name}-doxygen_hack.patch
-Patch38:       %{name}-rpm5-patchset-8021.patch
+
 Patch41:       %{name}-reduce-stack-usage.patch
 Patch42:       %{name}-old-fileconflicts-behaviour.patch
 
-Patch44:       %{name}-no-neon.patch
-Patch45:       %{name}-no-sqlite.patch
 Patch46:       %{name}-mono.patch
 Patch47:       %{name}-javadeps.patch
 
-Patch49:       %{name}-p4.patch
-Patch50:       %{name}-macros.patch
-Patch51:       %{name}-cleanlibdirs.patch
 Patch52:       %{name}-morearchs.patch
 
 Patch55:       %{name}-truncate-cvslog.patch
 
-Patch57:       %{name}-as_needed-fix.patch
 Patch58:       %{name}-repackage-wo-lzma.patch
 Patch59:       %{name}-libtool-deps.patch
-Patch60:       %{name}-obsolete-rpmrc.patch
+
 Patch61:       %{name}-sparc64.patch
-Patch62:       %{name}-rpmdb.patch
 URL:           http://rpm5.org/
 BuildRequires: autoconf >= 2.57
 BuildRequires: automake >= 1.4
 BuildRequires: beecrypt-devel >= %{beecrypt_ver}
 BuildRequires: bzip2-devel >= 1.0.2-17
-BuildRequires: db-devel >= %{reqdb_ver}
+%{?with_db:BuildRequires:      db-devel >= %{reqdb_ver}}
 BuildRequires: elfutils-devel >= 0.108
 %ifnarch sparc64
 # -fPIE/-pie
@@ -149,7 +160,7 @@ BuildRequires:      zlib-devel
 # Require static library only for static build
 BuildRequires: beecrypt-static >= %{beecrypt_ver}
 BuildRequires: bzip2-static >= 1.0.2-17
-BuildRequires: db-static >= %{reqdb_ver}
+%{?with_db:BuildRequires:      db-static >= %{reqdb_ver}}
 BuildRequires: elfutils-static
 BuildRequires: glibc-static >= 2.2.94
 BuildRequires: libmagic-static
@@ -259,7 +270,7 @@ Summary:    RPMs library
 Summary(pl.UTF-8):     Biblioteki RPM-a
 Group:         Libraries
 Requires:      beecrypt >= %{beecrypt_ver}
-Requires:      db >= %{reqdb_ver}
+%{?with_db:Requires:   db >= %{reqdb_ver}}
 %{?with_selinux:Requires:      libselinux >= 1.18}
 Requires:      libmagic >= 1.15-2
 Requires:      popt >= %{reqpopt_ver}
@@ -287,7 +298,7 @@ Group:              Development/Libraries
 Requires:      %{name}-lib = %{version}-%{release}
 Requires:      beecrypt-devel >= %{beecrypt_ver}
 Requires:      bzip2-devel
-Requires:      db-devel >= %{reqdb_ver}
+%{?with_db:Requires:   db-devel >= %{reqdb_ver}}
 Requires:      elfutils-devel
 Requires:      libmagic-devel
 %{?with_selinux:Requires:      libselinux-devel}
@@ -350,7 +361,7 @@ Group:              Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
 Requires:      beecrypt-static >= %{beecrypt_ver}
 Requires:      bzip2-static
-Requires:      db-static >= %{reqdb_ver}
+%{?with_db:Requires:   db-static >= %{reqdb_ver}}
 Requires:      elfutils-static
 Requires:      libmagic-static
 Requires:      popt-static >= %{reqpopt_ver}
@@ -465,6 +476,7 @@ Requires:   sed
 Requires:      sh-utils
 Requires:      tar
 Requires:      textutils
+Provides:      rpmbuild(find_lang) = 1.23
 Provides:      rpmbuild(monoautodeps)
 Provides:      rpmbuild(noauto) = 3
 %ifarch %{x8664}
@@ -596,49 +608,22 @@ Python para manipular pacotes e bancos de dados RPM.
 
 %prep
 %setup -q -n %{name}
-sed -i -e 's# no # nb #g' configure.ac
-mv po/no.po po/nb.po
-sed -i -e 's# sr # sr@Latn #g' configure.ac
-mv -f po/{sr,sr@Latn}.po
-
-sed -i -e 's#${prefix}/lib/python@WITH_PYTHON_VERSION@#@WITH_PYTHON_LIBDIR@#g' python/rpm/Makefile.am
 
 # APPLIED ALREADY?
 #%patch0 -p1
-# no rpmrc?
-#%patch1 -p1
-# no rpmrc?
-#%patch2 -p1
-# CHECK ME
-#%patch3 -p1
-# CHECK ME
-#%patch4 -p1
-# CHECK ME
-#%patch5 -p1
+%patch1 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
 %patch6 -p1
 %patch7 -p1
-# CHECK ME
-#%patch8 -p1
+%patch8 -p1
 %patch9 -p1
-# CHECK ME
-#%patch10 -p1
-# APPLIED ALREADY?
-#%patch11 -p1
-# CHECK ME
-#%patch12 -p1
-# APPLIED ALREADY?
-#%patch13 -p1
+%patch10 -p1
 # CHECK ME
 #%patch14 -p1
-# CHECK ME
-#%patch15 -p1
 %patch16 -p1
-# CHECK ME
-#%patch17 -p1
-# CHECK ME 
-#%patch18 -p1
-sed -e 's/^/@pld@/' %{SOURCE2} >>platform.in
-#cp -f platform.in macros.pld.in # what for?
+%patch18 -p1
 echo '%%define __perl_provides %%{__perl} /usr/lib/rpm/perl.prov' > macros.perl
 echo '%%define __perl_requires %%{__perl} /usr/lib/rpm/perl.req' >> macros.perl
 echo '# obsoleted file' > macros.python
@@ -650,76 +635,39 @@ install %{SOURCE5} scripts/find-lang.sh
 install %{SOURCE9} scripts/php.prov.in
 install %{SOURCE10} scripts/php.req.in
 install %{SOURCE12} scripts/perl.prov
-# CHECK ME
-#%patch19 -p1
-# NO INTERNAL FILE
-#%patch20 -p1
-# CHECK ME
-#%patch21 -p1
-# CHECK ME
-#%patch22 -p1
 %patch23 -p1
-# CHECK ME
-#%patch24 -p1
-%patch25 -p1
-# CHECK ME, possibly drop since we don't support i386 anymore
-# %patch26 -p1
+
+%ifarch i386 i486
+# disable TSC
+%patch26 -p1
+%endif
 %patch27 -p1
 # CHECK ME
-#%patch28 -p1
-# SHOULD BE OBSOLETE
-#%patch29 -p1
-# CHECK ME
 #%patch31 -p1
-# CHECK ME
-#%patch32 -p1
-# CHECK ME
-#%patch33 -p1
+%patch32 -p1
 %patch34 -p1
-# CHECK ME
-#%patch35 -p0
-# CHECK ME
-#%patch36 -p1
+%patch35 -p0
+%patch36 -p1
 %patch37 -p1
-# OBSOLETE
-#%patch38 -p1
 # CHECK ME
 #%patch41 -p1
-# CHECK ME
-#%patch42 -p1
-# CHECK ME
-#%{!?with_neon:%patch44 -p1}
-# CHECK ME
-#%patch45 -p1
-# CHECK ME
+%patch42 -p1
+# CHECK ME, PROBABLY WILL NEED TO HANLE IN OTHER WAY since rpmfcSCRIPT already handles mono
 #%patch46 -p1
-# CHECK ME
-#%patch47 -p1
-# CHECK ME
-#%patch49 -p1
-# CHECK ME
-#%patch50 -p1
-# CHECK ME
-#%patch51 -p1
+%patch47 -p1
 # OLD COMMENTED OUT
 #%patch52 -p1
 %patch55 -p1
-# CHECK ME
-#%patch57 -p1
 %patch58 -p1
 %patch59 -p1
-# OBSOLETE
-#%patch60 -p1
 %ifarch sparc64
 %patch61 -p1
 %endif
-# OBSOLETE
-#%patch62 -p1
 
-#cd scripts
-#mv -f perl.req perl.req.in
-#mv -f perl.prov perl.prov.in
-#cd ..
+cd scripts
+mv -f perl.req perl.req.in
+mv -f perl.prov perl.prov.in
+cd ..
 
 # generate Group translations to *.po
 awk -f %{SOURCE6} %{SOURCE1}
@@ -762,13 +710,14 @@ awk -f %{SOURCE6} %{SOURCE1}
        --with-neon=%{?with_neon:external}%{!?with_neon:no} \
        --with-file=external \
        --with-popt=external \
-       --with-db=external \
+       --with-db=%{?with_db:external}%{!?with_db:no} \
        --with-sqlite=%{?with_sqlite:external}%{!?with_sqlite:no} \
-       --with-dbapi=db \
-       --with-lua=none \
-       --with-pcre=external \
+       --with-dbapi=%{!?sqlite_dbapi:db}%{?sqlite_dbapi:sqlite} \
+       --with-lua=internal \
+       --with-pcre=no \
        --with-keyutils=none \
        --without-path-versioned \
+       --with-path-macros='%{_rpmlibdir}/macros:%{_rpmlibdir}/macros.pld:%{_rpmlibdir}/macros.build:%{_rpmlibdir}/%%{_target}/macros:%{_sysconfdir}/macros.*:%{_sysconfdir}/macros:%{_sysconfdir}/%%{_target}/macros:~/etc/rpmmacros:~/etc/.rpmmacros:~/.rpmmacros' \
        --with-bugreport="http://bugs.pld-linux.org/"
 
 %{__make} \
@@ -784,6 +733,33 @@ install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm,/var/
        pkgconfigdir=%{_pkgconfigdir} \
        DESTDIR=$RPM_BUILD_ROOT
 
+# install ARCH macros
+install -d $RPM_BUILD_ROOT%{_rpmlibdir}/noarch-linux
+install %{SOURCE105} $RPM_BUILD_ROOT%{_rpmlibdir}/noarch-linux/macros
+
+%ifarch %{ix86}
+install -d $RPM_BUILD_ROOT%{_rpmlibdir}/{i386,i486,i586,i686,athlon,pentium3,pentium4}-linux
+install %{SOURCE100} $RPM_BUILD_ROOT%{_rpmlibdir}/athlon-linux/macros
+install %{SOURCE101} $RPM_BUILD_ROOT%{_rpmlibdir}/i386-linux/macros
+install %{SOURCE102} $RPM_BUILD_ROOT%{_rpmlibdir}/i486-linux/macros
+install %{SOURCE103} $RPM_BUILD_ROOT%{_rpmlibdir}/i586-linux/macros
+install %{SOURCE104} $RPM_BUILD_ROOT%{_rpmlibdir}/i686-linux/macros
+install %{SOURCE106} $RPM_BUILD_ROOT%{_rpmlibdir}/pentium3-linux/macros
+install %{SOURCE107} $RPM_BUILD_ROOT%{_rpmlibdir}/pentium4-linux/macros
+%endif
+
+%ifarch %{x8664}
+install -d $RPM_BUILD_ROOT%{_rpmlibdir}/{x86_64,ia32e,amd64}-linux
+install %{SOURCE109} $RPM_BUILD_ROOT%{_rpmlibdir}/x86_64-linux/macros
+install %{SOURCE110} $RPM_BUILD_ROOT%{_rpmlibdir}/ia32e-linux/macros
+install %{SOURCE111} $RPM_BUILD_ROOT%{_rpmlibdir}/amd64-linux/macros
+%endif
+
+%ifarch %{ppc}
+install -d $RPM_BUILD_ROOT%{_rpmlibdir}/ppc-linux
+install %{SOURCE108} $RPM_BUILD_ROOT%{_rpmlibdir}/ppc-linux/macros
+%endif
+
 # first platform file entry can't contain regexps
 echo "%{_target_cpu}-%{_target_vendor}-linux" > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
 
@@ -852,6 +828,7 @@ install macros.python       $RPM_BUILD_ROOT%{_rpmlibdir}/macros.python
 install macros.php     $RPM_BUILD_ROOT%{_rpmlibdir}/macros.php
 install macros.mono    $RPM_BUILD_ROOT%{_rpmlibdir}/macros.mono
 install %{SOURCE15}    $RPM_BUILD_ROOT%{_rpmlibdir}/macros.java
+install %{SOURCE18}    $RPM_BUILD_ROOT%{_rpmlibdir}/macros.pld
 
 install %{SOURCE1} doc/manual/groups
 install %{SOURCE3} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
@@ -1040,6 +1017,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 
 %{_rpmlibdir}/rpmpopt*
 %{_rpmlibdir}/macros
+%{_rpmlibdir}/macros.pld
 
 %files base
 %defattr(644,root,root,755)
@@ -1061,8 +1039,12 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %{_pkgconfigdir}/*.pc
 %attr(755,root,root) %{_libdir}/librpm.so
 %attr(755,root,root) %{_libdir}/librpm-%{sover}.so
+%attr(755,root,root) %{_libdir}/librpmconstant.so
+%attr(755,root,root) %{_libdir}/librpmconstant-%{sover}.so
 %attr(755,root,root) %{_libdir}/librpmio.so
 %attr(755,root,root) %{_libdir}/librpmio-%{sover}.so
+%attr(755,root,root) %{_libdir}/librpmmisc.so
+%attr(755,root,root) %{_libdir}/librpmmisc-%{sover}.so
 %attr(755,root,root) %{_libdir}/librpmdb.so
 %attr(755,root,root) %{_libdir}/librpmdb-%{sover}.so
 %attr(755,root,root) %{_libdir}/librpmbuild.so
@@ -1129,8 +1111,6 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
 #%attr(755,root,root) %{_rpmlibdir}/rpmb
 #%attr(755,root,root) %{_rpmlibdir}/rpmt
-# XXX FIXME FIXME FIXME XXX
-%if 0
 %{_rpmlibdir}/noarch-*
 %ifarch %{ix86}
 %{_rpmlibdir}/i?86*
@@ -1157,7 +1137,6 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %{_rpmlibdir}/ia32e*
 %{_rpmlibdir}/x86_64*
 %endif
-%endif
 # must be here for "Requires: rpm-*prov" to work
 %{_rpmlibdir}/macros.java
 %{_rpmlibdir}/macros.mono
This page took 0.039227 seconds and 4 git commands to generate.