X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=rpm.spec;h=811223795cb4a0cb8a62b67970e11403b5221d0d;hb=48c1bf9f37f0dedff18c4dad77b2e437fe6ee10b;hp=2318731e39b568ac0ef3f87d70823c6e8a32427b;hpb=cf1989011b453d09a76b3edfa26428ab15bbd829;p=packages%2Frpm.git diff --git a/rpm.spec b/rpm.spec index 2318731..8112237 100644 --- a/rpm.spec +++ b/rpm.spec @@ -1,5 +1,11 @@ # # TODO: +# - manuals are not compressed +# - %{_arch} = i686 not as used to be i386: +# 5.0.2: rpm -E '%_target_base_arch %_arch' +# i386 i686 +# 4.4.9: rpm -E '%_target_base_arch %_arch' +# i386 i386 # - python(abi) cap is not provided automatically because /usr/lib*/libpython2*.so.* # matches ELF first # - repackaging when lzma is not installed (todo: fix digest signature of header) @@ -7,6 +13,25 @@ # 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 +# - uppackaged list: +# /usr/lib/rpm/http.req +# /usr/lib/rpm/install-sh +# /usr/lib/rpm/mono-find-provides +# /usr/lib/rpm/mono-find-requires +# /usr/lib/rpm/osgideps.pl +# /usr/lib/rpm/perldeps.pl +# /usr/lib/rpm/rpm2cpio +# /usr/lib/rpm/symclash.py +# /usr/lib/rpm/symclash.sh +# /usr/lib/rpm/vcheck +# /usr/share/man/ja/man8/rpmcache.8 +# /usr/share/man/ja/man8/rpmgraph.8 +# /usr/share/man/man8/rpmcache.8 +# /usr/share/man/man8/rpmconstant.8 +# /usr/share/man/man8/rpmgraph.8 +# /usr/share/man/pl/man8/rpmcache.8 +# /usr/share/man/pl/man8/rpmgraph.8 # # Conditional build: %bcond_with static # build static rpm+rpmi @@ -27,7 +52,7 @@ %endif %if %{without db} && %{without sqlite} -%{error: Need db or sqlite} +%{error:Need db or sqlite} ERROR %endif @@ -36,6 +61,7 @@ ERROR %define reqdb_ver 4.6.18 %define reqpopt_ver 1.10.8 %define beecrypt_ver 2:4.1.2-4 +%define find_lang_rev 1.27 %define sover 5.0 Summary: RPM Package Manager Summary(de.UTF-8): RPM Packet-Manager @@ -45,12 +71,12 @@ Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM Summary(ru.UTF-8): Менеджер пакетов от RPM Summary(uk.UTF-8): Менеджер пакетів від RPM Name: rpm -Version: 5.0 +Version: 5.0.2 Release: 0.1 -License: GPL +License: LGPL Group: Base -Source0: rpm-20070927.tar.gz -# Source0-md5: cf0bda3a41b74d68b36ef078edfafc6d +Source0: http://rpm5.org/files/rpm/rpm-5.0/%{name}-%{version}.tar.gz +# Source0-md5: 596aaf5cd9dea7195f625530bc89e684 Source1: %{name}.groups Source2: %{name}.platform Source3: %{name}-install-tree @@ -70,8 +96,22 @@ Source16: %{name}-java-requires # http://svn.pld-linux.org/banner.sh/ Source17: banner.sh Source18: %{name}-pld.macros -Patch0: %{name}-pl.po.patch +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}-man_pl.patch Patch3: %{name}-rpmpopt.patch Patch4: %{name}-perl-macros.patch Patch5: %{name}-perl-req-perlfile.patch @@ -88,18 +128,14 @@ Patch18: %{name}-perl_req.patch Patch23: %{name}-pkgconfigdeps.patch -Patch25: %{name}-rpm2cpio-payload.patch Patch26: %{name}-notsc.patch Patch27: %{name}-hack-norpmlibdep.patch -Patch31: %{name}-missing-prototypes.patch Patch32: %{name}-pld-autodep.patch -Patch34: %{name}-epoch0.patch Patch35: %{name}-perl_req-INC_dirs.patch Patch36: %{name}-debuginfo.patch Patch37: %{name}-doxygen_hack.patch -Patch41: %{name}-reduce-stack-usage.patch Patch42: %{name}-old-fileconflicts-behaviour.patch Patch46: %{name}-mono.patch @@ -437,7 +473,7 @@ Summary(ru.UTF-8): Скрипты и утилиты, необходимые дл Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів Group: Applications/File Requires(pre): findutils -Requires: %{name}-build-macros >= 1.314 +Requires: %{name}-build-macros >= 1.417 Requires: %{name}-utils = %{version}-%{release} Requires: /bin/id Requires: awk @@ -462,6 +498,7 @@ Requires: sed Requires: sh-utils Requires: tar Requires: textutils +Provides: rpmbuild(find_lang) = %{find_lang_rev} Provides: rpmbuild(monoautodeps) Provides: rpmbuild(noauto) = 3 %ifarch %{x8664} @@ -592,16 +629,11 @@ Esse pacote deve ser instalado se você quiser desenvolver programas em 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 +%setup -q -sed -i -e 's#${prefix}/lib/python@WITH_PYTHON_VERSION@#@WITH_PYTHON_LIBDIR@#g' python/rpm/Makefile.am - -# APPLIED ALREADY? -#%patch0 -p1 +# APPLIED ALREADY? translationproject.org is used now +#%%patch0 -p1 +%patch1 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 @@ -610,8 +642,8 @@ sed -i -e 's#${prefix}/lib/python@WITH_PYTHON_VERSION@#@WITH_PYTHON_LIBDIR@#g' p %patch8 -p1 %patch9 -p1 %patch10 -p1 -# CHECK ME -#%patch14 -p1 +# CHECK ME - macrofiles: ~/etc could be used +#%%patch14 -p1 %patch16 -p1 %patch18 -p1 echo '%%define __perl_provides %%{__perl} /usr/lib/rpm/perl.prov' > macros.perl @@ -626,27 +658,21 @@ install %{SOURCE9} scripts/php.prov.in install %{SOURCE10} scripts/php.req.in install %{SOURCE12} scripts/perl.prov %patch23 -p1 -%patch25 -p1 -%ifarch i386 + +%ifarch i386 i486 # disable TSC %patch26 -p1 %endif %patch27 -p1 -# CHECK ME -#%patch31 -p1 %patch32 -p1 -%patch34 -p1 %patch35 -p0 %patch36 -p1 %patch37 -p1 -# CHECK ME -#%patch41 -p1 %patch42 -p1 -# CHECK ME, PROBABLY WILL NEED TO HANLE IN OTHER WAY since rpmfcSCRIPT already handles mono -#%patch46 -p1 +%patch46 -p1 %patch47 -p1 # OLD COMMENTED OUT -#%patch52 -p1 +#%%patch52 -p1 %patch55 -p1 %patch58 -p1 %patch59 -p1 @@ -669,6 +695,12 @@ awk -f %{SOURCE6} %{SOURCE1} #done %build +rev=$(awk '/^#.*Id:.*/{print $4}' scripts/find-lang.sh) +if [ "$rev" != "%find_lang_rev" ]; then + : Update find_lang_rev define to $rev, and retry + exit 1 +fi + %{__libtoolize} %{__autopoint} %{__aclocal} @@ -690,7 +722,7 @@ awk -f %{SOURCE6} %{SOURCE1} %{?with_autoreqdep:--enable-adding-packages-names-in-autogenerated-dependancies} \ --enable-shared \ --enable-static \ - %{?with_python:--with-python=2.5 --with-python-lib-dir=%{py_libdir}} \ + %{?with_python:--with-python=%{py_ver} --with-python-lib-dir=%{py_sitedir}} \ %{!?with_python:--without-python} \ --with%{!?with_selinux:out}-selinux \ --with-libelf \ @@ -703,11 +735,11 @@ awk -f %{SOURCE6} %{SOURCE1} --with-db=%{?with_db:external}%{!?with_db:no} \ --with-sqlite=%{?with_sqlite:external}%{!?with_sqlite:no} \ --with-dbapi=%{!?sqlite_dbapi:db}%{?sqlite_dbapi:sqlite} \ - --with-lua=none \ - --with-pcre=external \ + --with-lua=internal \ + --with-pcre=no \ --with-keyutils=none \ --without-path-versioned \ - --with-path-macros='%{_rpmlibdir}/macros:%{_rpmlibdir}/macros.build:%{_rpmlibdir}/%%{_target}/macros:%{_sysconfdir}/macros.*:%{_sysconfdir}/macros:%{_sysconfdir}/%%{_target}/macros:~/etc/rpmmacros:~/etc/.rpmmacros:~/.rpmmacros' \ + --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} \ @@ -723,6 +755,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 @@ -731,12 +790,10 @@ echo "%{_target_cpu}-%{_target_vendor}-linux" > $RPM_BUILD_ROOT%{_sysconfdir}/rp echo "amd64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform echo "x86_64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform %endif - %ifarch amd64 echo "amd64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform echo "x86_64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform %endif - %ifarch ia32e echo "ia32e-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform echo "x86_64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform @@ -765,10 +822,41 @@ echo "i486-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform echo "i386-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform %endif -# ppc +%ifarch alpha +echo "alpha-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif + +%ifarch ia64 +echo "ia64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif + +%ifarch ppc64 +echo "powerpc64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +echo "ppc64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif %ifarch ppc -echo "ppc-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform echo "powerpc-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +echo "ppc-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif + +%ifarch s390x +echo "s390x-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif +%ifarch s390 s390x +echo "s390-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif + +%ifarch sparc64 +echo "sparc64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +echo "sparcv8-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +echo "sparcv9-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif +%ifarch sparcv9 +echo "sparcv8-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +echo "sparcv9-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif +%ifarch sparc sparcv9 sparc64 +echo "sparc-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform %endif # noarch @@ -937,10 +1025,20 @@ rm -f manual/Makefile* %clean rm -rf $RPM_BUILD_ROOT +%triggerpostun lib -- %{name}-lib < %{version} +rm -f /var/lib/rpm/__db* + +%pretrans +# this needs to be a dir +if [ -f %{_sysconfdir}/rpm/sysinfo ]; then + mv -f %{_sysconfdir}/rpm/sysinfo{,.rpmsave} + mkdir %{_sysconfdir}/rpm/sysinfo +fi + %post lib -p /sbin/ldconfig %postun lib -p /sbin/ldconfig -%pre build +%pretrans build find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %files -f %{name}.lang @@ -1002,8 +1100,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 @@ -1070,8 +1172,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* @@ -1098,7 +1198,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