X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=rpm.spec;h=601261386a57985687169b0d5177b36fecf04622;hb=b6d0444b8a731db49d35fb1dd3351bbddaffe06c;hp=af21941b0f6c14a694f51516c4de930857f3db5d;hpb=39320c2b0e6ecc8e63158e0a3117d0bde94df95e;p=packages%2Frpm.git diff --git a/rpm.spec b/rpm.spec index af21941..6012613 100644 --- a/rpm.spec +++ b/rpm.spec @@ -12,6 +12,8 @@ # preserving payload format and compressor from original rpm, _not_ current settings # /usr/bin/install: cannot stat `./it.gmo': No such file or directory # /usr/bin/install: cannot stat `./sr@Latn.gmo': No such file or directory +# - maybe? http://rpm.org/gitweb?p=rpm.git;a=commitdiff;h=cfcd1f9bd98d5d0fc46a84931984efec3b9d47e2 +# - fix linking, rpm is beeing linked against installed rpmio # # Conditional build: %bcond_with static # build static rpm+rpmi @@ -33,6 +35,10 @@ # 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" +%ifarch sparc sparcv9 sparc64 +%undefine with_apidocs +%endif + # versions of required libraries %if "%{pld_release}" == "th" %define reqdb_ver 4.7.25 @@ -51,7 +57,7 @@ Summary(ru.UTF-8): Менеджер пакетов от RPM Summary(uk.UTF-8): Менеджер пакетів від RPM Name: rpm Version: 4.5 -Release: 3 +Release: 53 License: LGPL Group: Base Source0: %{name}-%{version}.tar.gz @@ -77,6 +83,8 @@ Source16: %{name}-macros.java Source17: %{name}-java-requires # http://svn.pld-linux.org/banner.sh/ Source18: banner.sh +Source19: %{name}-macros.gstreamer +Patch1000: %{name}-new-debuginfo.patch Patch1067: %{name}-disable-features.patch Patch1070: %{name}-rpmrc-ac.patch #Patch0: %{name}-pl.po.patch @@ -86,12 +94,15 @@ Patch3: %{name}-rpmpopt.patch Patch4: %{name}-perl-macros.patch Patch6: %{name}-noexpand.patch Patch7: %{name}-scripts-closefds.patch +Patch8: %{name}-db.patch Patch9: %{name}-gettext-in-header.patch Patch10: %{name}-compress-doc.patch Patch11: %{name}-rpm5-patchset-8074.patch Patch12: %{name}-system_libs.patch +Patch13: %{name}-unglobal.patch Patch14: %{name}-etc_dir.patch Patch15: %{name}-system_libs-more.patch +Patch16: %{name}-libmagic-locale.patch Patch17: %{name}-ldconfig-always.patch Patch18: %{name}-macros-ac.patch Patch19: %{name}-macros-th.patch @@ -138,6 +149,7 @@ Patch69: %{name}-popt-aliases.patch # reverse arrows patch Patch70: %{name}-rpm5-patchset-10061.patch Patch71: %{name}-installbeforeerase.patch +Patch72: %{name}-postun-nofail.patch Patch73: %{name}-namespace-probe.patch Patch74: %{name}-noversiondir.patch Patch75: %{name}-rpmte-segv.patch @@ -153,6 +165,23 @@ Patch84: %{name}-hirmib-ts.patch Patch85: %{name}-perl_req-heredocs_pod.patch Patch86: %{name}-rpmv3-support.patch Patch87: %{name}-mono.patch +Patch88: %{name}-poptexecpath.patch +Patch89: %{name}-lzma-compress-level.patch +Patch90: %{name}-gstreamer.patch +Patch91: %{name}-gendiff.patch +Patch92: %{name}-set-failed-on-reopen.patch +Patch93: %{name}-debugedit-workaround.patch +Patch94: %{name}-shescape-memfault.patch +Patch95: %{name}-gid-uucp.patch +Patch96: %{name}-disable-hkp.patch +Patch97: %{name}-sigpad.patch +Patch98: %{name}-debugdir.patch +Patch99: %{name}-pkgconfig.patch +Patch100: %{name}-rpm5-debugedit.patch +Patch101: %{name}-builddir-readlink.patch +Patch102: pythondeps-speedup.patch +Patch103: %{name}-lua-exit-chroot-correctly.patch +Patch104: %{name}-glob.patch URL: http://rpm5.org/ BuildRequires: autoconf >= 2.57 BuildRequires: automake >= 1.4 @@ -161,6 +190,7 @@ BuildRequires: bzip2-devel >= 1.0.2-17 %{!?with_internal_db:BuildRequires: db-devel >= %{reqdb_ver}} BuildRequires: elfutils-devel >= 0.108 BuildRequires: gettext-devel >= 0.11.4-2 +BuildRequires: keyutils-devel %{?with_system_libmagic:BuildRequires: libmagic-devel} %{?with_selinux:BuildRequires: libselinux-devel >= 1.18} # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros @@ -170,7 +200,7 @@ BuildRequires: libtool >= 1:1.4.2-9 BuildRequires: libxml2-devel BuildRequires: neon-devel >= 0.25.5 %endif -BuildRequires: ossp-uuid-devel >= 1.6.2-4 +BuildRequires: ossp-uuid-devel >= 1.6.2-6 BuildRequires: patch >= 2.2 BuildRequires: popt-devel >= %{reqpopt_ver} %{?with_python:BuildRequires: python-devel >= 1:2.3} @@ -179,7 +209,7 @@ BuildRequires: rpm-perlprov %{?with_python:BuildRequires: rpm-pythonprov} BuildRequires: rpmbuild(macros) >= 1.351 BuildRequires: tar >= 1:1.15.1 -BuildRequires: zlib-devel +BuildRequires: zlib-devel >= 1.2.3.3 %if %{with apidocs} BuildRequires: doxygen BuildRequires: ghostscript @@ -196,7 +226,7 @@ BuildRequires: glibc-static >= 2.2.94 %{?with_system_libmagic:BuildRequires: libmagic-static} %{?with_selinux:BuildRequires: libselinux-static >= 1.18} BuildRequires: popt-static >= %{reqpopt_ver} -BuildRequires: zlib-static +BuildRequires: zlib-static >= 1.2.3.3 %endif Requires: %{name}-base = %{version}-%{release} Requires: %{name}-lib = %{version}-%{release} @@ -205,6 +235,7 @@ Requires: popt >= %{reqpopt_ver} Provides: rpm-db-ver = %{reqdb_ver} Obsoletes: rpm-getdeps %{!?with_static:Obsoletes: rpm-utils-static} +Obsoletes: tmpwatch-rpmrepackage Conflicts: glibc < 2.2.92 Conflicts: poldek < 0.21-0.20070703.00.11 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -309,10 +340,11 @@ Requires: beecrypt >= %{beecrypt_ver} Requires: ossp-uuid >= 1.6.2-4 Requires: popt >= %{reqpopt_ver} %{?with_internal_db:%{?with_nptl:Requires: uname(release) >= 2.6.0}} -Requires: zlib >= 1.2.3 -%{?with_suggest_tags:Suggests: lzma >= 1:4.999.5-0.alpha.2} +Requires: zlib >= 1.2.3.3 +%{?with_suggest_tags:Suggests: xz} Obsoletes: rpm-libs # avoid installing with incompatible (non-tukaani) lzma +# avoid incompatible (-M0 not supported) lzma Conflicts: lzma < 1:4.999.5-0.alpha.2 # avoid SEGV caused by mixed db versions Conflicts: poldek < 0.18.1-16 @@ -337,10 +369,12 @@ Requires: beecrypt-devel >= %{beecrypt_ver} Requires: bzip2-devel %{!?with_internal_db:Requires: db-devel >= %{reqdb_ver}} Requires: elfutils-devel +Requires: keyutils-devel %{?with_system_libmagic:Requires: libmagic-devel} %{?with_selinux:Requires: libselinux-devel} +Requires: ossp-uuid-devel >= 1.6.2-6 Requires: popt-devel >= %{reqpopt_ver} -Requires: zlib-devel +Requires: zlib-devel >= 1.2.3.3 %description devel The RPM packaging system includes C libraries that make it easy to @@ -400,9 +434,10 @@ Requires: beecrypt-static >= %{beecrypt_ver} Requires: bzip2-static %{!?with_internal_db:Requires: db-static >= %{reqdb_ver}} Requires: elfutils-static +Requires: keyutils-static %{?with_system_libmagic:Requires: libmagic-static} Requires: popt-static >= %{reqpopt_ver} -Requires: zlib-static +Requires: zlib-static >= 1.2.3.3 %description static RPM static libraries. @@ -493,7 +528,7 @@ Summary(ru.UTF-8): Скрипты и утилиты, необходимые дл Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів Group: Applications/File Requires(pretrans): findutils -Requires: %{name}-build-macros >= 1.486 +Requires: %{name}-build-macros >= 1.514 Requires: %{name}-utils = %{version}-%{release} Requires: /bin/id Requires: awk @@ -518,13 +553,13 @@ Requires: gcc >= 5:3.4 Requires: glibc-devel Requires: grep Requires: gzip -Requires: lzma Requires: make Requires: patch Requires: sed Requires: sh-utils Requires: tar Requires: textutils +Requires: xz Provides: rpmbuild(monoautodeps) Provides: rpmbuild(noauto) = 3 %ifarch %{x8664} @@ -669,6 +704,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %prep %setup -q +%patch1000 -p1 #%patch0 -p1 %patch1 -p1 %patch2 -p1 @@ -676,11 +712,14 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch4 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 -R %patch12 -p1 +%patch13 -p1 %patch14 -p1 +%patch16 -p1 %patch17 -p1 sed -e 's/^/@pld@/' %{SOURCE2} >>platform.in echo '%%define __perl_provides %%{__perl} /usr/lib/rpm/perl.prov' > macros.perl @@ -728,7 +767,6 @@ install %{SOURCE13} scripts/perl.prov %endif %patch51 -p1 #%patch52 -p1 -%patch53 -p1 %patch55 -p1 %patch56 -p1 %patch57 -p1 @@ -743,12 +781,12 @@ install %{SOURCE13} scripts/perl.prov %patch67 -p1 %patch69 -p1 %patch71 -p1 +%patch72 -p1 %patch73 -p1 %patch74 -p1 %patch75 -p0 -%if "%{pld_release}" == "ac" -%patch76 -p1 -%endif +# having .py sources in -debuginfo needs more testing +#%patch76 -p1 %patch77 -p0 %patch79 -p1 %patch80 -p1 @@ -758,6 +796,24 @@ install %{SOURCE13} scripts/perl.prov %patch86 -p1 %patch70 -p0 %patch87 -p1 +%patch88 -p1 +%patch89 -p1 +%patch90 -p1 +%patch91 -p1 +%patch92 -p1 +%patch93 -p1 +%patch94 -p1 +%patch95 -p1 +%patch96 -p1 +%patch97 -p1 +%patch98 -p1 +%patch99 -p1 +%patch53 -p1 +%patch100 -p1 +%patch101 -p1 +%patch102 -p1 +%patch103 -p1 +%patch104 -p1 mv -f po/{sr,sr@Latn}.po rm -rf sqlite zlib popt @@ -822,12 +878,16 @@ fi cd .. %endif -# config.guess doesn't handle athlon, so we have to change it by hand. # rpm checks for CPU type at runtime, but it looks better -sed -i -e 's|@host@|%{_target_cpu}-%{_target_vendor}-linux-gnu|' -e 's|@host_cpu@|%{_target_cpu}|' macros.in +sed -i \ + -e 's|@host@|%{_target_cpu}-%{_target_vendor}-%{_target_os}|' \ + -e 's|@host_cpu@|%{_target_cpu}|' \ + -e 's|@host_os@|%{_target_os}|' \ + macros.in # 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" %configure \ CC="%{__newcc}" \ CXX="%{__newcxx}" \ @@ -854,7 +914,7 @@ sed -i -e 's|@host@|%{_target_cpu}-%{_target_vendor}-linux-gnu|' -e 's|@host_cpu %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm,/var/lib/banner,/var/cache/hrmib} +install -d $RPM_BUILD_ROOT{/%{_lib},/etc/{sysconfig,tmpwatch},%{_sysconfdir}/rpm,/var/lib/banner,/var/cache/hrmib} %if "%{pld_release}" != "ti" install -d $RPM_BUILD_ROOT/etc/pki/rpm-gpg @@ -868,6 +928,11 @@ install %{SOURCE9} $RPM_BUILD_ROOT/etc/pki/rpm-gpg pylibdir=%{py_libdir} \ pkgbindir="%{_bindir}" +cat <<'EOF' > $RPM_BUILD_ROOT/etc/tmpwatch/rpm.conf +# Cleanup 90-days old repackage files. +/var/spool/repackage 2160 +EOF + cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform # first platform file entry can't contain regexps %{_target_cpu}-%{_target_vendor}-linux @@ -935,16 +1000,28 @@ s390-[^-]*-[Ll]inux(-gnu)? %ifarch sparc64 sparc64-[^-]*-[Ll]inux(-gnu)? -sparcv8-[^-]*-[Ll]inux(-gnu)? -sparcv9-[^-]*-[Ll]inux(-gnu)? %endif -%ifarch sparcv9 -sparcv8-[^-]*-[Ll]inux(-gnu)? +%ifarch sparcv9 sparc64 sparcv9-[^-]*-[Ll]inux(-gnu)? %endif %ifarch sparc sparcv9 sparc64 sparc-[^-]*-[Ll]inux(-gnu)? %endif +%ifarch armv5tel +armv5tel-[^-]*-[Ll]inux(-gnu)? +%endif +%ifarch armv4t armv5tel +armv4t-[^-]*-[Ll]inux(-gnu)? +%endif +%ifarch armv3t armv4t armv5tel +armv3t-[^-]*-[Ll]inux(-gnu)? +%endif +%ifarch armv5teb +armv5teb-[^-]*-[Ll]inux(-gnu)? +%endif +%ifarch armv4b armv5teb +armv4b-[^-]*-[Ll]inux(-gnu)? +%endif # noarch noarch-[^-]*-.* @@ -956,30 +1033,29 @@ rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-{provides,requires}.perl rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh # not installed since 4.4.8 (-tools-perl subpackage) -install scripts/rpmdiff scripts/rpmdiff.cgi $RPM_BUILD_ROOT%{_rpmlibdir} - -install macros.perl $RPM_BUILD_ROOT%{_rpmlibdir}/macros.perl -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 %{SOURCE16} $RPM_BUILD_ROOT%{_rpmlibdir}/macros.java - -install %{SOURCE1} doc/manual/groups -install %{SOURCE3} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree -install %{SOURCE4} $RPM_BUILD_ROOT%{_rpmlibdir}/find-spec-bcond -install %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/compress-doc -install %{SOURCE14} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh -install %{SOURCE17} $RPM_BUILD_ROOT%{_rpmlibdir}/java-find-requires -install scripts/php.{prov,req} $RPM_BUILD_ROOT%{_rpmlibdir} -install %{SOURCE5} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache -install %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/rpm - -install %{SOURCE18} $RPM_BUILD_ROOT%{_bindir}/banner.sh +install -p scripts/rpmdiff scripts/rpmdiff.cgi $RPM_BUILD_ROOT%{_rpmlibdir} + +cp -a macros.perl $RPM_BUILD_ROOT%{_rpmlibdir}/macros.perl +cp -a macros.python $RPM_BUILD_ROOT%{_rpmlibdir}/macros.python +cp -a macros.php $RPM_BUILD_ROOT%{_rpmlibdir}/macros.php +cp -a macros.mono $RPM_BUILD_ROOT%{_rpmlibdir}/macros.mono +cp -a %{SOURCE16} $RPM_BUILD_ROOT%{_rpmlibdir}/macros.java +cp -a %{SOURCE19} $RPM_BUILD_ROOT%{_rpmlibdir}/macros.gstreamer + +install -p %{SOURCE3} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree +install -p %{SOURCE4} $RPM_BUILD_ROOT%{_rpmlibdir}/find-spec-bcond +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} +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 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Conflictname touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Dirnames -install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Filelinktos +cp -a %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Filelinktos touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Obsoletename touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Providename touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Requirename @@ -999,10 +1075,10 @@ cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros <&2 "You should rebuild your rpmdb: rpm --rebuilddb to avoid random rpmdb errors" -# TODO: poldek should abort if it can't reopen rpmdb after rpm exec: -#Installing set #3 -#rpmdb: Program version 4.2 doesn't match environment version -#error: db4 error(22) from dbenv->open: Invalid argument -#error: cannot open Packages index using db3 - Invalid argument (22) -#error: //var/lib/rpm: open rpm database failed -#Processing dependencies... -#There are more than one package which provide "/bin/sh": -# if poldek is running, kill it so it will not attempt to fill whole rpmdb -p=$(/sbin/pidof poldek) -if [ "$p" ]; then - echo >&2 "Killing poldek ($p), don't panic :)" - kill $p -fi %triggerpostun lib -- db4.5 < %{reqdb_ver} echo >&2 "db4.5 upgrade: Removing /var/lib/rpm/__db* from older rpmdb version" @@ -1175,10 +1238,9 @@ if [ -d /vservers ]; then rm -f /etc/vservers/*/apps/pkgmgmt/base/rpm/state/__* fi echo >&2 "You should rebuild your rpmdb: rpm --rebuilddb to avoid random rpmdb errors" -if [ "$p" ]; then - echo >&2 "Killing poldek ($p), don't panic :)" - kill $p -fi +%if "%{pld_release}" == "th" +echo >&2 "You probably want to remove db4.5 package now" +%endif %triggerpostun -- %{name} < 4.4.9-44 %{_rpmlibdir}/hrmib-cache @@ -1200,6 +1262,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %attr(755,root,root) /bin/rpm +%config(noreplace) %verify(not md5 mtime size) /etc/tmpwatch/rpm.conf %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang %dir %{_sysconfdir}/rpm/sysinfo @@ -1265,6 +1328,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %{_libdir}/librpmdb.la %{_libdir}/librpmio.la %{_includedir}/rpm +%{_pkgconfigdir}/rpm.pc %files static %defattr(644,root,root,755) @@ -1343,7 +1407,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %ifarch %{ppc} %{_rpmlibdir}/ppc* %endif -%ifarch sparc sparc64 +%ifarch sparc sparcv9 sparc64 %{_rpmlibdir}/sparc* %endif %ifarch %{x8664} @@ -1351,7 +1415,11 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %{_rpmlibdir}/ia32e* %{_rpmlibdir}/x86_64* %endif +%ifarch armv5tel armv4t armv3t armv5teb armv4b +%{_rpmlibdir}/arm* +%endif # must be here for "Requires: rpm-*prov" to work +%{_rpmlibdir}/macros.gstreamer %{_rpmlibdir}/macros.java %{_rpmlibdir}/macros.mono %{_rpmlibdir}/macros.perl