X-Git-Url: http://git.pld-linux.org/?p=packages%2Frpm.git;a=blobdiff_plain;f=rpm.spec;h=17beba5d55c12a5d659b8194bdd92775093616d6;hp=fdd365f1cc418c32b3ba6470a19002b50a5b8a96;hb=238417f;hpb=d4c1fd0f22d839c58742c7fdf9de37b152c4f262 diff --git a/rpm.spec b/rpm.spec index fdd365f..17beba5 100644 --- a/rpm.spec +++ b/rpm.spec @@ -13,17 +13,18 @@ # /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 %bcond_without apidocs # don't generate documentation with doxygen -%bcond_with internal_db # internal db (db 4.5.20) +%bcond_with internal_db # internal db (db 4.5.20) %if "%{pld_release}" == "ac" %bcond_without autoreqdep # autogenerate package name deps in addition to sonames/perl(X) -%bcond_with nptl # internal db: don't use process-shared POSIX mutexes (NPTL provides full interface) +%bcond_with nptl # internal db: don't use process-shared POSIX mutexes (NPTL provides full interface) %else -%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_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) %endif %bcond_without python # don't build python bindings %bcond_without selinux # build without selinux support @@ -40,13 +41,16 @@ # versions of required libraries %if "%{pld_release}" == "th" +%define reqdb_pkg db4.7 %define reqdb_ver 4.7.25 %else +%define reqdb_pkg db4.5 %define reqdb_ver 4.5.20 %endif %define reqpopt_ver 1.10.8 %define beecrypt_ver 2:4.1.2-4 %define sover 4.5 + Summary: RPM Package Manager Summary(de.UTF-8): RPM Packet-Manager Summary(es.UTF-8): Gestor de paquetes RPM @@ -56,7 +60,7 @@ Summary(ru.UTF-8): Менеджер пакетов от RPM Summary(uk.UTF-8): Менеджер пакетів від RPM Name: rpm Version: 4.5 -Release: 41 +Release: 70 License: LGPL Group: Base Source0: %{name}-%{version}.tar.gz @@ -83,6 +87,8 @@ 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 @@ -101,6 +107,7 @@ 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 @@ -122,6 +129,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 @@ -179,12 +187,17 @@ 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 +Patch105: %{name}-am.patch +Patch106: %{name}-automake_1.12.patch +Patch107: %{name}-debugedit-dwarf4.patch +Patch108: %{name}-changelog_order_check_nonfatal.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 @@ -197,7 +210,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-6 +BuildRequires: ossp-uuid-devel >= 1.6.2-8 BuildRequires: patch >= 2.2 BuildRequires: popt-devel >= %{reqpopt_ver} %{?with_python:BuildRequires: python-devel >= 1:2.3} @@ -217,7 +230,7 @@ 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} @@ -331,7 +344,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 @@ -364,11 +377,12 @@ 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} %{?with_selinux:Requires: libselinux-devel} +Requires: ossp-uuid-devel >= 1.6.2-6 Requires: popt-devel >= %{reqpopt_ver} Requires: zlib-devel >= 1.2.3.3 @@ -428,7 +442,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} @@ -524,7 +538,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.636 Requires: %{name}-utils = %{version}-%{release} Requires: /bin/id Requires: awk @@ -543,19 +557,19 @@ Requires: gcc >= 3.0.3 Requires: gcc %endif %else -# 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 %endif Requires: glibc-devel Requires: grep Requires: gzip -Requires: xz Requires: make Requires: patch Requires: sed Requires: sh-utils Requires: tar Requires: textutils +Requires: xz Provides: rpmbuild(monoautodeps) Provides: rpmbuild(noauto) = 3 %ifarch %{x8664} @@ -700,10 +714,15 @@ 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 +%if "%{pld_release}" == "ac" +%patch1070 -p1 +%else +%patch1 -p1 +%endif %patch3 -p1 %patch4 -p1 %patch6 -p1 @@ -715,13 +734,13 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %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 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 @@ -743,6 +762,7 @@ install %{SOURCE13} scripts/perl.prov %patch36 -p1 %patch37 -p1 %patch39 -p1 +%patch40 -p1 %patch42 -p1 %patch43 -p1 %patch82 -p1 @@ -808,6 +828,11 @@ install %{SOURCE13} scripts/perl.prov %patch101 -p1 %patch102 -p1 %patch103 -p1 +%patch104 -p1 +%patch105 -p1 +%patch106 -p1 +%patch107 -p1 +%patch108 -p1 mv -f po/{sr,sr@Latn}.po rm -rf sqlite zlib popt @@ -825,7 +850,6 @@ rm -rf db3 db rpmdb/db.h %if "%{pld_release}" == "ac" %patch1067 -p1 -%patch1070 -p1 %endif # generate Group translations to *.po @@ -837,6 +861,9 @@ for f in doc{,/ja,/pl}/rpm.8 doc{,/ja,/pl}/rpmbuild.8 ; do mv -f ${f}.tmp $f done +# simplify python devel +ln -s ../.libs/_rpmmodule.so python/rpm + %build %if %{with system_libmagic} rm -rf file @@ -881,7 +908,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=-I/usr/include/oosp-uuid +CPPFLAGS="%{rpmcppflags} -I/usr/include/ossp-uuid -I/usr/include/%{reqdb_pkg}" %configure \ CC="%{__newcc}" \ CXX="%{__newcxx}" \ @@ -901,7 +928,7 @@ CPPFLAGS=-I/usr/include/oosp-uuid CC="%{__cc}" \ CXX="%{__cxx}" \ CPP="%{__cpp}" \ - libdb_la=%{_libdir}/libdb.la \ + libdb_la=%{_libdir}/libdb-%(echo %{reqdb_pkg} | sed -e 's/^db//').la \ pylibdir=%{py_libdir} \ myLDFLAGS="%{rpmldflags}" \ staticLDFLAGS=%{?with_static:-all-static} @@ -919,8 +946,7 @@ install %{SOURCE9} $RPM_BUILD_ROOT/etc/pki/rpm-gpg %{__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. @@ -994,16 +1020,31 @@ 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 armv6l +armv6l-[^-]*-[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-[^-]*-.* @@ -1030,9 +1071,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 @@ -1065,6 +1107,9 @@ cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros < $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang <&2 "You should rebuild your rpmdb: rpm --rebuilddb to avoid random rpmdb errors" +%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 @@ -1394,6 +1442,9 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %{_rpmlibdir}/ia32e* %{_rpmlibdir}/x86_64* %endif +%ifarch armv6l armv5tel armv4t armv3t armv5teb armv4b +%{_rpmlibdir}/arm* +%endif # must be here for "Requires: rpm-*prov" to work %{_rpmlibdir}/macros.gstreamer %{_rpmlibdir}/macros.java