]> TLD Linux GIT Repositories - packages/rpm.git/blobdiff - rpm.spec
- oops, patch for previous commit
[packages/rpm.git] / rpm.spec
index 707c9b9d5bc6118017a64201fae783db38e3a388..0ba234f9368b9f927686c04a9c850c46262c3559 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
@@ -16,7 +16,7 @@
 #
 # Conditional build:
 %bcond_with    static          # build static rpm+rpmi
-%bcond_without apidocs         # don't generate documentation with doxygen
+%bcond_with    apidocs         # don't generate documentation with doxygen
 %bcond_with    internal_db     # internal db (db 4.5.20)
 %bcond_with    autoreqdep      # autogenerate package name deps in addition to sonames/perl(X)
 %bcond_without nptl            # internal db: don't use process-shared POSIX mutexes (NPTL provides full interface)
 %bcond_without system_libmagic # don't use system libmagic
 %bcond_without suggest_tags    # build without Suggest tag (bootstrapping)
 %bcond_with    neon            # build with HTTP/WebDAV support (neon library). NOTE: neon libs are in /usr!
-# force_cc             - force using __cc other than "%{_target_cpu}-tld-linux-gcc"
-# force_cxx            - force using __cxx other than "%{_target_cpu}-tld-linux-g++"
-# force_cpp            - force using __cpp other than "%{_target_cpu}-tld-linux-gcc -E"
-#%%define      force_cc "%{_target_cpu}-tld-linux-gcc"
-#%%define      force_cxx "%{_target_cpu}-tld-linux-g++"
-#%%define      force_cpp '%{_target_cpu}-tld-linux-gcc -E'
 
 # versions of required libraries
-%define        reqdb_ver       4.5.20
+%define        reqdb_pkg       db4.7
+%define        reqdb_ver       4.7.25
 %define        reqpopt_ver     1.10.8
 %define        beecrypt_ver    2:4.1.2-4
 %define        sover           4.5
@@ -47,7 +42,7 @@ Summary(ru.UTF-8):    Менеджер пакетов от RPM
 Summary(uk.UTF-8):     Менеджер пакетів від RPM
 Name:          rpm
 Version:       4.5
-Release:       57
+Release:       80.1
 License:       LGPL
 Group:         Base
 Source0:       %{name}-%{version}.tar.gz
@@ -70,9 +65,9 @@ Source17:     %{name}-java-requires
 # http://svn.pld-linux.org/banner.sh/
 Source18:      banner.sh
 Source19:      %{name}-macros.gstreamer
+Source20:      macros.php
+Source21:      %{name}-php-requires.php
 Patch1000:     %{name}-new-debuginfo.patch
-Patch1067:     %{name}-disable-features.patch
-Patch1070:     %{name}-rpmrc-ac.patch
 #Patch0:       %{name}-pl.po.patch
 Patch1:                %{name}-rpmrc.patch
 Patch2:                %{name}-arch.patch
@@ -108,6 +103,7 @@ Patch35:    %{name}-disable-features-ti.patch
 Patch36:       %{name}-debuginfo.patch
 Patch37:       %{name}-doxygen_hack.patch
 Patch39:       %{name}-popt-coreutils.patch
+Patch40:       %{name}-helperEVR-noassert.patch
 Patch42:       %{name}-old-fileconflicts-behaviour.patch
 Patch43:       %{name}-rpm5-patchset-8637.patch
 Patch44:       %{name}-no-neon.patch
@@ -166,12 +162,20 @@ Patch101: %{name}-builddir-readlink.patch
 Patch102:      pythondeps-speedup.patch
 Patch103:      %{name}-lua-exit-chroot-correctly.patch
 Patch104:      %{name}-glob.patch
+Patch105:      %{name}-am.patch
+Patch106:      %{name}-automake_1.12.patch
+Patch107:      %{name}-debugedit-dwarf4.patch
+Patch108:      %{name}-changelog_order_check_nonfatal.patch
+Patch109:      %{name}-installplatform.patch
+Patch110:      %{name}-xz.patch
+Patch111:      %{name}-shrink.patch
+Patch112:      notrans.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
-%{!?with_internal_db:BuildRequires:    db-devel >= %{reqdb_ver}}
+%{!?with_internal_db:BuildRequires:    %{reqdb_pkg}-devel >= %{reqdb_ver}}
 BuildRequires: elfutils-devel >= 0.108
 BuildRequires: gettext-devel >= 0.11.4-2
 BuildRequires: keyutils-devel
@@ -204,11 +208,12 @@ BuildRequires:    tetex-pdftex
 # Require static library only for static build
 BuildRequires: beecrypt-static >= %{beecrypt_ver}
 BuildRequires: bzip2-static >= 1.0.2-17
-%{!?with_internal_db:BuildRequires:    db-static >= %{reqdb_ver}}
+%{!?with_internal_db:BuildRequires:    %{reqdb_pkg}-static >= %{reqdb_ver}}
 BuildRequires: elfutils-static
 BuildRequires: glibc-static >= 2.2.94
 %{?with_system_libmagic:BuildRequires: libmagic-static}
 %{?with_selinux:BuildRequires: libselinux-static >= 1.18}
+BuildRequires: ossp-uuid-static >= 1.6.2-8
 BuildRequires: popt-static >= %{reqpopt_ver}
 BuildRequires: zlib-static >= 1.2.3.3
 %endif
@@ -243,10 +248,6 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                specflags       -fno-strict-aliasing
 
-%define                _host_alias            %{_target_cpu}-tld-linux%{nil}
-%define                _host_vendor           tld
-%define                _vendor                tld
-
 %description
 RPM is a powerful package manager, which can be used to build,
 install, query, verify, update, and uninstall individual software
@@ -322,7 +323,7 @@ Summary:    RPMs library
 Summary(pl.UTF-8):     Biblioteki RPM-a
 Group:         Libraries
 Requires:      beecrypt >= %{beecrypt_ver}
-%{!?with_internal_db:Requires: db >= %{reqdb_ver}}
+%{!?with_internal_db:Requires: %{reqdb_pkg} >= %{reqdb_ver}}
 %{?with_system_libmagic:Requires:      libmagic >= 1.15-2}
 %{?with_selinux:Requires:      libselinux >= 1.18}
 Requires:      ossp-uuid >= 1.6.2-4
@@ -355,7 +356,7 @@ Group:              Development/Libraries
 Requires:      %{name}-lib = %{version}-%{release}
 Requires:      beecrypt-devel >= %{beecrypt_ver}
 Requires:      bzip2-devel
-%{!?with_internal_db:Requires: db-devel >= %{reqdb_ver}}
+%{!?with_internal_db:Requires: %{reqdb_pkg}-devel >= %{reqdb_ver}}
 Requires:      elfutils-devel
 Requires:      keyutils-devel
 %{?with_system_libmagic:Requires:      libmagic-devel}
@@ -420,7 +421,7 @@ Group:              Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
 Requires:      beecrypt-static >= %{beecrypt_ver}
 Requires:      bzip2-static
-%{!?with_internal_db:Requires: db-static >= %{reqdb_ver}}
+%{!?with_internal_db:Requires: %{reqdb_pkg}-static >= %{reqdb_ver}}
 Requires:      elfutils-static
 Requires:      keyutils-static
 %{?with_system_libmagic:Requires:      libmagic-static}
@@ -512,7 +513,7 @@ Summary(ru.UTF-8):  Скрипты и утилиты, необходимые дл
 Summary(uk.UTF-8):     Скрипти та утиліти, необхідні для побудови пакетів
 Group:         Applications/File
 Requires(pretrans):    findutils
-Requires:      %{name}-build-macros >= 1.514
+Requires:      %{name}-build-macros >= 1.656
 Requires:      %{name}-utils = %{version}-%{release}
 Requires:      /bin/id
 Requires:      awk
@@ -524,8 +525,8 @@ Requires:   elfutils
 Requires:      file >= 4.17
 Requires:      fileutils
 Requires:      findutils
-# rpmrc patch adds flags specific to gcc >= 3.4
-Requires:      gcc >= 5:3.4
+# rpmrc patch adds flags specific to gcc >= 4.7
+Requires:      gcc >= 6:4.7.0
 Requires:      glibc-devel
 Requires:      grep
 Requires:      gzip
@@ -680,10 +681,11 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 
 %prep
 %setup -q
+cp -p %{SOURCE15} .
 %patch1000 -p1
 #%patch0 -p1
-%patch1 -p1
 %patch2 -p1
+%patch1 -p1
 %patch3 -p1
 %patch4 -p1
 %patch6 -p1
@@ -701,8 +703,7 @@ sed -e 's/^/@tld@/' %{SOURCE2} >>platform.in
 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
-echo '%%define __php_provides  /usr/lib/rpm/php.prov' > macros.php
-echo '%%define __php_requires  /usr/lib/rpm/php.req' >> macros.php
+cp -p %{SOURCE20} macros.php
 echo '%%define __mono_provides /usr/lib/rpm/mono-find-provides' > macros.mono
 echo '%%define __mono_requires /usr/lib/rpm/mono-find-requires' >> macros.mono
 install %{SOURCE10} scripts/php.prov
@@ -724,6 +725,7 @@ install %{SOURCE13} scripts/perl.prov
 %patch36 -p1
 %patch37 -p1
 %patch39 -p1
+%patch40 -p1
 %patch42 -p1
 %patch43 -p1
 %patch82 -p1
@@ -782,6 +784,14 @@ install %{SOURCE13} scripts/perl.prov
 %patch102 -p1
 %patch103 -p1
 %patch104 -p1
+%patch105 -p1
+%patch106 -p1
+%patch107 -p1
+%patch108 -p1
+%patch109 -p1
+%patch110 -p1
+%patch111 -p1
+%patch112 -p1
 
 mv -f po/{sr,sr@Latn}.po
 rm -rf sqlite zlib popt
@@ -850,7 +860,7 @@ sed -i \
 
 # pass CC and CXX too in case of building with some older configure macro
 # disable perl-RPM2 build, we have it in separate spec
-CPPFLAGS="%{rpmcppflags} -I/usr/include/ossp-uuid"
+CPPFLAGS="%{rpmcppflags} -I/usr/include/ossp-uuid -I/usr/include/%{reqdb_pkg}"
 %configure \
        CC="%{__newcc}" \
        CXX="%{__newcxx}" \
@@ -867,10 +877,10 @@ CPPFLAGS="%{rpmcppflags} -I/usr/include/ossp-uuid"
        --without-db
 
 %{__make} \
-       CC="%{__newcc}" \
-       CXX="%{__newcxx}" \
-       CPP="%{__newcpp}" \
-       libdb_la=%{_libdir}/libdb.la \
+       CC="%{__cc}" \
+       CXX="%{__cxx}" \
+       CPP="%{__cpp}" \
+       libdb_la=%{_libdir}/libdb-%(echo %{reqdb_pkg} | sed -e 's/^db//').la \
        pylibdir=%{py_libdir} \
        myLDFLAGS="%{rpmldflags}" \
        staticLDFLAGS=%{?with_static:-all-static}
@@ -882,8 +892,7 @@ install -d $RPM_BUILD_ROOT{/%{_lib},/etc/{sysconfig,tmpwatch},%{_sysconfdir}/rpm
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT \
        staticLDFLAGS=%{?with_static:-all-static} \
-       pylibdir=%{py_libdir} \
-       pkgbindir="%{_bindir}"
+       pylibdir=%{py_libdir}
 
 cat <<'EOF' > $RPM_BUILD_ROOT/etc/tmpwatch/rpm.conf
 # Cleanup 90-days old repackage files.
@@ -964,6 +973,9 @@ sparcv9-[^-]*-[Ll]inux(-gnu)?
 %ifarch sparc sparcv9 sparc64
 sparc-[^-]*-[Ll]inux(-gnu)?
 %endif
+%ifarch armv6l
+armv6l-[^-]*-[Ll]inux(-gnu)?
+%endif
 %ifarch armv5tel
 armv5tel-[^-]*-[Ll]inux(-gnu)?
 %endif
@@ -1005,9 +1017,10 @@ install -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/compress-doc
 install -p %{SOURCE14} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
 install -p %{SOURCE17} $RPM_BUILD_ROOT%{_rpmlibdir}/java-find-requires
 install -p scripts/php.{prov,req}      $RPM_BUILD_ROOT%{_rpmlibdir}
+cp -p %{SOURCE21} $RPM_BUILD_ROOT%{_rpmlibdir}/php.req.php
 install -p %{SOURCE5} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache
 install -p %{SOURCE18} $RPM_BUILD_ROOT%{_bindir}/banner.sh
-cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/rpm
+cp -p %{name}.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/rpm
 
 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo
 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Conflictname
@@ -1036,6 +1049,9 @@ cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros <<EOF
 # Boolean (i.e. 1 == "yes", 0 == "no") that controls whether files
 # marked as %doc should be installed.
 #%%_excludedocs   1
+
+# For static /dev not to update perms if upgraded and tmpfs mounted
+#%%_netsharedpath /dev/shm
 EOF
 
 cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang <<EOF
@@ -1159,7 +1175,7 @@ rm -f $RPM_BUILD_ROOT%{py_sitedir}/rpm/*.{la,a,py}
 %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/RPM.pm
 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/RPM/.packlist
-%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/RPM/RPM.bs
+%{__rm} -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/RPM/RPM.bs
 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/RPM/RPM.so
 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/RPM.3pm
 %{__rm} $RPM_BUILD_ROOT%{_mandir}/{,ja,pl}/man8/rpm{cache,graph}.8
@@ -1360,7 +1376,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %{_rpmlibdir}/ia32e*
 %{_rpmlibdir}/x86_64*
 %endif
-%ifarch armv5tel armv4t armv3t armv5teb armv4b
+%ifarch armv6l armv5tel armv4t armv3t armv5teb armv4b
 %{_rpmlibdir}/arm*
 %endif
 # must be here for "Requires: rpm-*prov" to work