#
# TODO:
+# pluto_> btw. /usr/lib/rpm/find-debuginfo.sh needs fix. it extract debuginfo also from kernel modules.
+# pluto_> there's a filelist=$(find $RPM_BUILD_ROOT ! -path "$RPM_BUILD_ROOT/usr/lib/debug/*.debug" -type f
+# pluto_> and we need to add ! -path /lib/modules/...
# - 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)
# 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
+# /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
#
# 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)
+%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)
+%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)
+%endif
%bcond_without python # don't build python bindings
%bcond_without selinux # build without selinux support
%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)
+%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}-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"
# versions of required libraries
-%define reqdb_ver 4.5.20-6
+%if "%{pld_release}" == "th"
+%define reqdb_ver 4.7.25
+%else
+%define reqdb_ver 4.5.20
+%endif
%define reqpopt_ver 1.10.8
%define beecrypt_ver 2:4.1.2-4
-%define sover 4.4
+%define sover 4.5
Summary: RPM Package Manager
Summary(de.UTF-8): RPM Packet-Manager
Summary(es.UTF-8): Gestor de paquetes RPM
Summary(ru.UTF-8): Менеджер пакетов от RPM
Summary(uk.UTF-8): Менеджер пакетів від RPM
Name: rpm
-Version: 4.4.9
-Release: 70
+Version: 4.5
+Release: 15
License: LGPL
Group: Base
-Source0: http://rpm5.org/files/rpm/rpm-4.4/%{name}-%{version}.tar.gz
-# Source0-md5: 210b768006e7d88dd8a3bcd498ea27f6
+Source0: %{name}-%{version}.tar.gz
+# Source0-md5: 6b4cda21de59dc250d2e33e4187fd166
Source1: %{name}.groups
Source2: %{name}.platform
Source3: %{name}-install-tree
Source5: %{name}-hrmib-cache
Source6: %{name}-groups-po.awk
Source7: %{name}-compress-doc
-Source8: RPM-GPG-KEY
-Source9: %{name}-php-provides
-Source10: %{name}-php-requires
-Source11: %{name}.sysinfo
-Source12: perl.prov
-Source13: %{name}-user_group.sh
-Source14: %{name}.sysconfig
-Source15: %{name}-macros.java
-Source16: %{name}-java-requires
+Source8: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
+# Source8-md5: 08b29584dd349aac9caa7610131a0a88
+Source9: ftp://ftp.pld-linux.org/dists/ac/PLD-2.0-Ac-GPG-key.asc
+# Source9-md5: 8e7574d1de2fa95c2c54cd2ee03364c1
+Source10: %{name}-php-provides
+Source11: %{name}-php-requires
+Source12: %{name}.sysinfo
+Source13: perl.prov
+Source14: %{name}-user_group.sh
+Source15: %{name}.sysconfig
+Source16: %{name}-macros.java
+Source17: %{name}-java-requires
# http://svn.pld-linux.org/banner.sh/
-Source17: banner.sh
+Source18: banner.sh
+Source19: %{name}-macros.gstreamer
+Patch1000: %{name}-new-debuginfo.patch
Patch1067: %{name}-disable-features.patch
-Patch1069: %{name}-parentdirs.patch
Patch1070: %{name}-rpmrc-ac.patch
-
-Patch0: %{name}-pl.po.patch
+#Patch0: %{name}-pl.po.patch
Patch1: %{name}-rpmrc.patch
Patch2: %{name}-arch.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
Patch9: %{name}-gettext-in-header.patch
Patch10: %{name}-compress-doc.patch
-Patch11: %{name}-Nmalloc.patch
+Patch11: %{name}-rpm5-patchset-8074.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}-macros-ac.patch
-Patch19: %{name}-link.patch
-Patch20: %{name}-magic-usesystem.patch
-Patch21: %{name}-dontneedutils.patch
+Patch19: %{name}-macros-th.patch
+Patch20: %{name}-macros-ti.patch
+Patch21: %{name}-perl_req-skip_multiline.patch
Patch22: %{name}-provides-dont-obsolete.patch
Patch23: %{name}-pkgconfigdeps.patch
Patch24: %{name}-po.patch
-Patch25: %{name}-rpm2cpio-payload.patch
+Patch25: %{name}-link.patch
Patch26: %{name}-notsc.patch
Patch27: %{name}-hack-norpmlibdep.patch
Patch28: %{name}-makefile-no_myLDADD_deps.patch
-Patch29: %{name}-macros-dbhash.patch
-Patch30: %{name}-rpm5-patchset-8784.patch
+Patch29: %{name}-perl_req-use_base.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
+Patch35: %{name}-disable-features-ti.patch
Patch36: %{name}-debuginfo.patch
Patch37: %{name}-doxygen_hack.patch
-Patch38: %{name}-rpm5-patchset-8021.patch
Patch39: %{name}-popt-coreutils.patch
-Patch41: %{name}-reduce-stack-usage.patch
Patch42: %{name}-old-fileconflicts-behaviour.patch
Patch43: %{name}-rpm5-patchset-8637.patch
Patch44: %{name}-no-neon.patch
Patch45: %{name}-no-sqlite.patch
-Patch46: %{name}-mono.patch
-Patch47: %{name}-javadeps.patch
Patch48: %{name}-nopie.patch
-Patch49: %{name}-p4.patch
Patch50: %{name}-macros.patch
Patch51: %{name}-cleanlibdirs.patch
Patch52: %{name}-morearchs.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}-rpmdb.patch
+Patch61: %{name}-lzma-mem.patch
Patch62: %{name}-lzma-size_t.patch
Patch63: %{name}-tar_as_secondary_source.patch
Patch64: %{name}-man_pl.patch
Patch65: %{name}-lzma-tukaani.patch
Patch66: %{name}-v3-support.patch
Patch67: %{name}-cleanbody.patch
-Patch68: %{name}-rpm5-patchset-9486.patch
Patch69: %{name}-popt-aliases.patch
-Patch70: %{name}-lualeak.patch
-#Patch71: %{name}-rpm5-patchset-10061.patch
-Patch72: %{name}-rpm5-patchset-7657.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}-mktemperror.patch
+Patch74: %{name}-noversiondir.patch
+Patch75: %{name}-rpmte-segv.patch
+Patch76: %{name}-pydebuginfo.patch
+Patch77: %{name}-dirdeps-macro.patch
+Patch78: %{name}-db3-configure.patch
+Patch79: %{name}-macros-cpp.patch
+Patch80: %{name}-link-selinux.patch
+Patch81: %{name}-db-configure.patch
+Patch82: %{name}-perl-makefile.patch
+Patch83: %{name}-nosmpflags.patch
+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
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_internal_db:BuildRequires: db-devel >= %{reqdb_ver}}
BuildRequires: elfutils-devel >= 0.108
BuildRequires: gettext-devel >= 0.11.4-2
%{?with_system_libmagic:BuildRequires: libmagic-devel}
BuildRequires: libxml2-devel
BuildRequires: neon-devel >= 0.25.5
%endif
+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}
BuildRequires: python-modules >= 1:2.3
BuildRequires: rpm-perlprov
%{?with_python:BuildRequires: rpm-pythonprov}
+BuildRequires: rpmbuild(macros) >= 1.351
+BuildRequires: tar >= 1:1.15.1
BuildRequires: zlib-devel
%if %{with apidocs}
BuildRequires: doxygen
# 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_internal_db:BuildRequires: db-static >= %{reqdb_ver}}
BuildRequires: elfutils-static
BuildRequires: glibc-static >= 2.2.94
%{?with_system_libmagic:BuildRequires: libmagic-static}
Requires: %{name}-lib = %{version}-%{release}
Requires: beecrypt >= %{beecrypt_ver}
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)
%define _noPayloadPrefix 1
# don't require very fresh rpm.macros to build
-%define __gettextize gettextize --copy --force --intl ; cp -f po/Makevars{.template,}
+%define __gettextize gettextize --copy --force --no-changelog; [ -f po/Makevars ] || cp -f po/Makevars{.template,}
%define find_lang sh ./scripts/find-lang.sh $RPM_BUILD_ROOT
%define ix86 i386 i486 i586 i686 athlon pentium3 pentium4
%define ppc ppc ppc7400 ppc7450
%define __newcpp %{?force_cpp}%{!?force_cpp:%{_target_cpu}-pld-linux-gcc -E}
%define _rpmlibdir /usr/lib/rpm
-%define _noautocompressdoc RPM-GPG-KEY
%define specflags -fno-strict-aliasing
Summary(pl.UTF-8): Biblioteki RPM-a
Group: Libraries
Requires: beecrypt >= %{beecrypt_ver}
-Requires: db >= %{reqdb_ver}
-Requires: zlib >= 1.2.3
-%{?with_selinux:Requires: libselinux >= 1.18}
+%{!?with_internal_db:Requires: db >= %{reqdb_ver}}
%{?with_system_libmagic:Requires: libmagic >= 1.15-2}
+%{?with_selinux:Requires: libselinux >= 1.18}
+Requires: ossp-uuid >= 1.6.2-4
Requires: popt >= %{reqpopt_ver}
-%{?with_suggest_tags:Suggests: lzma >= 1:4.42.0}
+%{?with_internal_db:%{?with_nptl:Requires: uname(release) >= 2.6.0}}
+Requires: zlib >= 1.2.3
+%{?with_suggest_tags:Suggests: lzma}
Obsoletes: rpm-libs
# avoid installing with incompatible (non-tukaani) lzma
-Conflicts: lzma < 1:4.42.0
+# 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
Requires: %{name}-lib = %{version}-%{release}
Requires: beecrypt-devel >= %{beecrypt_ver}
Requires: bzip2-devel
-Requires: db-devel >= %{reqdb_ver}
+%{!?with_internal_db:Requires: db-devel >= %{reqdb_ver}}
Requires: elfutils-devel
%{?with_system_libmagic:Requires: libmagic-devel}
%{?with_selinux:Requires: libselinux-devel}
Requires: %{name}-devel = %{version}-%{release}
Requires: beecrypt-static >= %{beecrypt_ver}
Requires: bzip2-static
-Requires: db-static >= %{reqdb_ver}
+%{!?with_internal_db:Requires: db-static >= %{reqdb_ver}}
Requires: elfutils-static
%{?with_system_libmagic:Requires: libmagic-static}
Requires: popt-static >= %{reqpopt_ver}
Group: Applications/File
Requires: %{name} = %{version}-%{release}
Requires: popt >= %{reqpopt_ver}
+%if "%{pld_release}" == "ac"
Conflicts: filesystem-debuginfo < 2.0-7
+%else
+Conflicts: filesystem-debuginfo < 3.0-16
+%endif
%description utils
Additional utilities for managing RPM packages and database.
Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів
Group: Applications/File
Requires(pretrans): findutils
-Requires: %{name}-build-macros >= 1.433-2
+Requires: %{name}-build-macros >= 1.514
Requires: %{name}-utils = %{version}-%{release}
Requires: /bin/id
Requires: awk
Requires: file >= 4.17
Requires: fileutils
Requires: findutils
+%if "%{pld_release}" == "ac"
%ifarch athlon
Requires: gcc >= 3.0.3
%else
Requires: gcc
%endif
+%else
+# rpmrc patch adds flags specific to gcc >= 3.4
+Requires: gcc >= 5:3.4
+%endif
Requires: glibc-devel
Requires: grep
Requires: gzip
%prep
%setup -q
-%patch0 -p1
+%patch1000 -p1
+#%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
%patch6 -p1
%patch7 -p1
-%patch8 -p1
%patch9 -p1
%patch10 -p1
-%patch11 -p1
+%patch11 -p1 -R
%patch12 -p1
-%patch13 -p1
%patch14 -p1
-%patch15 -p1
-%patch16 -p1
%patch17 -p1
sed -e 's/^/@pld@/' %{SOURCE2} >>platform.in
-#cp -f platform.in macros.pld.in # what for?
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_requires /usr/lib/rpm/php.req' >> 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 %{SOURCE9} scripts/php.prov.in
-install %{SOURCE10} scripts/php.req.in
-install %{SOURCE12} scripts/perl.prov
-%patch19 -p1
-%patch20 -p1
+install %{SOURCE10} scripts/php.prov
+install %{SOURCE11} scripts/php.req
+install %{SOURCE13} scripts/perl.prov
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
-%patch30 -p1
%patch31 -p1
%patch32 -p1
%patch33 -p1
%patch34 -p1
-%patch35 -p0
%patch36 -p1
%patch37 -p1
-%patch38 -p1
%patch39 -p1
-%patch41 -p1
%patch42 -p1
%patch43 -p1
+%patch82 -p1
%{!?with_neon:%patch44 -p1}
%patch45 -p1
-%patch46 -p1
-%patch47 -p1
%patch48 -p1
-%patch49 -p1
%patch50 -p1
+%if "%{pld_release}" == "ac"
+%patch18 -p1
+%endif
+%if "%{pld_release}" == "th"
+%patch19 -p1
+%endif
+%if "%{pld_release}" == "ti"
+%patch20 -p1
+%patch35 -p1
+%endif
%patch51 -p1
#%patch52 -p1
%patch53 -p1
%patch57 -p1
%patch58 -p1
%patch59 -p1
-%patch60 -p1
-%patch18 -p1
%patch61 -p1
%patch62 -p1
%patch63 -p1
%patch65 -p1
%patch66 -p1
%patch67 -p1
-%patch68 -p1
%patch69 -p1
-%patch70 -p1
-#%patch71 -p0
-%patch72 -p0
+%patch71 -p1
+%patch72 -p1
%patch73 -p1
%patch74 -p1
+%patch75 -p0
+%if "%{pld_release}" == "ac"
+%patch76 -p1
+%endif
+%patch77 -p0
+%patch79 -p1
+%patch80 -p1
+%patch83 -p1
+%patch84 -p1
+%patch85 -p1
+%patch86 -p1
+%patch70 -p0
+%patch87 -p1
+%patch88 -p1
+%patch89 -p1
+%patch90 -p1
+%patch91 -p1
+%patch92 -p1
-mv -f scripts/{perl.req,perl.req.in}
-mv -f scripts/{perl.prov,perl.prov.in}
-mv -f po/{no,nb}.po
mv -f po/{sr,sr@Latn}.po
-rm -rf sqlite zlib db db3 popt rpmdb/db.h
-cp %{SOURCE8} RPM-GPG-KEY
+rm -rf sqlite zlib popt
+%if %{with internal_db}
+%if %{without nptl}
+sed -i -e 's,AM_PTHREADS_SHARED("POSIX/.*,:,' db/dist/aclocal/mutex.ac
+%endif
+%patch78 -p1
+%patch81 -p1
+%else
+%patch15 -p1
+rm -rf db3 db rpmdb/db.h
+%endif
+
+%if "%{pld_release}" == "ac"
%patch1067 -p1
-%patch1069 -p1
%patch1070 -p1
+%endif
# generate Group translations to *.po
awk -f %{SOURCE6} %{SOURCE1}
%{__autoheader}
%{__autoconf}
%{__automake}
+%if %{with internal_db}
+cd db3
+echo -e 'AC_CONFIG_AUX_DIR(.)\nAC_PROG_LIBTOOL'> configure.ac
+%{__libtoolize}
+rm -f configure.ac
+cd ../db
+cp -f /usr/share/aclocal/libtool.m4 dist/aclocal/libtool.ac
+cp -f /usr/share/automake/config.sub dist
+if [ -f /usr/share/libtool/config/ltmain.sh ]; then
+ cp -f /usr/share/libtool/config/ltmain.sh dist
+else
+ cp -f /usr/share/libtool/ltmain.sh dist
+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
# 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
%configure \
CC="%{__newcc}" \
CXX="%{__newcxx}" \
%{?with_python:--with-python=%{py_ver}} \
%{!?with_python:--without-python} \
%{!?with_selinux:--without-selinux} \
+ %{?with_internal_db:--%{?with_nptl:en}%{!?with_nptl:dis}able-posixmutexes} \
--without-db
-# file_LDFLAGS, debugedit_LDADD - no need to link "file" and "debugedit" statically
%{__make} \
CC="%{__cc}" \
CXX="%{__cxx}" \
CPP="%{__cpp}" \
+ libdb_la=%{_libdir}/libdb.la \
pylibdir=%{py_libdir} \
myLDFLAGS="%{rpmldflags}" \
- file_LDFLAGS= \
- debugedit_LDADD="\$(WITH_LIBELF_LIB) -lpopt" \
staticLDFLAGS=%{?with_static:-all-static}
%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
+install %{SOURCE8} $RPM_BUILD_ROOT/etc/pki/rpm-gpg
+install %{SOURCE9} $RPM_BUILD_ROOT/etc/pki/rpm-gpg
+%endif
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
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
%ifarch x86_64
# x86_64 things
-amd64-[^-]*-linux(-gnu)?
-x86_64-[^-]*-linux(-gnu)?
+amd64-[^-]*-[Ll]inux(-gnu)?
+x86_64-[^-]*-[Ll]inux(-gnu)?
%endif
%ifarch amd64
-amd64-[^-]*-linux(-gnu)?
-x86_64-[^-]*-linux(-gnu)?
+amd64-[^-]*-[Ll]inux(-gnu)?
+x86_64-[^-]*-[Ll]inux(-gnu)?
%endif
%ifarch ia32e
-ia32e-[^-]*-linux(-gnu)?
-x86_64-[^-]*-linux(-gnu)?
+ia32e-[^-]*-[Ll]inux(-gnu)?
+x86_64-[^-]*-[Ll]inux(-gnu)?
%endif
%ifarch athlon %{x8664}
# x86 things
-athlon-[^-]*-linux(-gnu)?
+athlon-[^-]*-[Ll]inux(-gnu)?
%endif
%ifarch pentium4 athlon %{x8664}
-pentium4-[^-]*-linux(-gnu)?
+pentium4-[^-]*-[Ll]inux(-gnu)?
%endif
%ifarch pentium3 pentium4 athlon %{x8664}
-pentium3-[^-]*-linux(-gnu)?
+pentium3-[^-]*-[Ll]inux(-gnu)?
%endif
%ifarch i686 pentium3 pentium4 athlon %{x8664}
-i686-[^-]*-linux(-gnu)?
+i686-[^-]*-[Ll]inux(-gnu)?
%endif
%ifarch i586 i686 pentium3 pentium4 athlon %{x8664}
-i586-[^-]*-linux(-gnu)?
+i586-[^-]*-[Ll]inux(-gnu)?
%endif
%ifarch i486 i586 i686 pentium3 pentium4 athlon %{x8664}
-i486-[^-]*-linux(-gnu)?
+i486-[^-]*-[Ll]inux(-gnu)?
%endif
%ifarch %{ix86} %{x8664}
-i386-[^-]*-linux(-gnu)?
+i386-[^-]*-[Ll]inux(-gnu)?
%endif
%ifarch alpha
-alpha-[^-]*-linux(-gnu)?
+alpha-[^-]*-[Ll]inux(-gnu)?
%endif
%ifarch ia64
-ia64-[^-]*-linux(-gnu)?
+ia64-[^-]*-[Ll]inux(-gnu)?
%endif
%ifarch ppc64
-powerpc64-[^-]*-linux(-gnu)?
-ppc64-[^-]*-linux(-gnu)?
+powerpc64-[^-]*-[Ll]inux(-gnu)?
+ppc64-[^-]*-[Ll]inux(-gnu)?
%endif
%ifarch ppc ppc64
-powerpc-[^-]*-linux(-gnu)?
-ppc-[^-]*-linux(-gnu)?
+powerpc-[^-]*-[Ll]inux(-gnu)?
+ppc-[^-]*-[Ll]inux(-gnu)?
%endif
%ifarch s390x
-s390x-[^-]*-linux(-gnu)?
+s390x-[^-]*-[Ll]inux(-gnu)?
%endif
%ifarch s390 s390x
-s390-[^-]*-linux(-gnu)?
+s390-[^-]*-[Ll]inux(-gnu)?
%endif
%ifarch sparc64
-sparc64-[^-]*-linux(-gnu)?
-sparcv8-[^-]*-linux(-gnu)?
-sparcv9-[^-]*-linux(-gnu)?
+sparc64-[^-]*-[Ll]inux(-gnu)?
+sparcv8-[^-]*-[Ll]inux(-gnu)?
+sparcv9-[^-]*-[Ll]inux(-gnu)?
%endif
%ifarch sparcv9
-sparcv8-[^-]*-linux(-gnu)?
-sparcv9-[^-]*-linux(-gnu)?
+sparcv8-[^-]*-[Ll]inux(-gnu)?
+sparcv9-[^-]*-[Ll]inux(-gnu)?
%endif
%ifarch sparc sparcv9 sparc64
-sparc-[^-]*-linux(-gnu)?
+sparc-[^-]*-[Ll]inux(-gnu)?
%endif
# noarch
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 %{SOURCE16} $RPM_BUILD_ROOT%{_rpmlibdir}/macros.java
+install %{SOURCE19} $RPM_BUILD_ROOT%{_rpmlibdir}/macros.gstreamer
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 %{SOURCE13} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
-install %{SOURCE16} $RPM_BUILD_ROOT%{_rpmlibdir}/java-find-requires
+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 %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/rpm
+install %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/rpm
-install %{SOURCE17} $RPM_BUILD_ROOT%{_bindir}/banner.sh
+install %{SOURCE18} $RPM_BUILD_ROOT%{_bindir}/banner.sh
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 %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Filelinktos
+install %{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
-# obsolete but still installed
-rm $RPM_BUILD_ROOT%{_rpmlibdir}/rpmrc
-
cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros <<EOF
# customized rpm macros - global for host
#
-#%%_install_langs pl_PL:en_US
+%if "%{pld_release}" == "ti"
+%%distribution PLD Titanium
+%else
%%distribution PLD
+%endif
#
# remove or replace with file_contexts path if you want to use custom
# SELinux file contexts policy instead of one stored in packages payload
%%_verify_file_context_path %%{nil}
# If non-zero, all erasures will be automagically repackaged.
-#%%_repackage_all_erasures 1
+#%%_repackage_all_erasures 1
+
+# If non-zero, create debuginfo packages
+#%%_enable_debug_packages 1
# Boolean (i.e. 1 == "yes", 0 == "no") that controls whether files
# marked as %doc should be installed.
#%%_excludedocs 1
EOF
+cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang <<EOF
+# Customized rpm macros - global for host
+# A colon separated list of desired locales to be installed;
+# "all" means install all locale specific files.
+#
+#%%_install_langs pl_PL:en_US
+EOF
+
cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles <<EOF
# global list of files (regexps) which don't generate Provides
EOF
install -d $RPM_BUILD_ROOT/var/{spool/repackage,lock/rpm}
touch $RPM_BUILD_ROOT/var/lock/rpm/transaction
-# move libs to /lib
+# move rpm to /bin
+install -d $RPM_BUILD_ROOT/bin
+mv $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
+# move essential libs to /lib (libs that /bin/rpm links to)
for a in librpm-%{sover}.so librpmdb-%{sover}.so librpmio-%{sover}.so ; do
mv -f $RPM_BUILD_ROOT%{_libdir}/$a $RPM_BUILD_ROOT/%{_lib}
ln -s /%{_lib}/$a $RPM_BUILD_ROOT%{_libdir}/$a
rm -f $RPM_BUILD_ROOT%{py_sitedir}/rpm/*.{la,a,py}
# (currently) not used or supported in PLD
-rm -f $RPM_BUILD_ROOT%{_rpmlibdir}/{Specfile.pm,cpanflute,cpanflute2,find-provides,find-requires,freshen.sh,http.req,magic.prov,magic.req,perldeps.pl,sql.prov,sql.req,tcl.req}
+%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/{http.req,perldeps.pl}
# wrong location, not used anyway
-rm -f $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log,xinetd}
-# manuals for utils dropped in 4.4.8 (?)
-#rm -f $RPM_BUILD_ROOT%{_mandir}/{,*/}/man8/{rpmcache,rpmgraph}.8
+%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log,xinetd}
# unpackaged in 4.4.9, reasons unknown
-rm $RPM_BUILD_ROOT%{_bindir}/rpm{db,e,i,query,sign,u,verify}
-rm $RPM_BUILD_ROOT%{_rpmlibdir}/rpm{d,e,i,k,q,u,v}
-rm $RPM_BUILD_ROOT%{_rpmlibdir}/symclash.{sh,py}
-rm $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
-rm $RPM_BUILD_ROOT%{perl_sitearch}/RPM.pm
-rm $RPM_BUILD_ROOT%{perl_sitearch}/auto/RPM/.packlist
-rm $RPM_BUILD_ROOT%{perl_sitearch}/auto/RPM/RPM.bs
-rm $RPM_BUILD_ROOT%{perl_sitearch}/auto/RPM/RPM.so
-rm $RPM_BUILD_ROOT%{_prefix}/local/man/man3/RPM.3pm
-rm $RPM_BUILD_ROOT%{_mandir}/{,ja,pl}/man8/rpm{cache,graph}.8
+%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/symclash.{sh,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} $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
%find_lang %{name}
rm -f /etc/vservers/*/apps/pkgmgmt/base/rpm/state/__*
fi
echo >&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"
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
%triggerpostun -- %{name} < 4.4.9-44
%{_rpmlibdir}/hrmib-cache
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc CHANGES CREDITS README wdj/JBJ-GPG-KEY manual/*
-%doc RPM-GPG-KEY
+%doc CHANGES CREDITS README manual/*
+
+%if "%{pld_release}" != "ti"
+%dir /etc/pki/rpm-gpg
+/etc/pki/rpm-gpg/*.asc
+%endif
%attr(755,root,root) /bin/rpm
-#%attr(755,root,root) %{_bindir}/rpmdb
-#%attr(755,root,root) %{_bindir}/rpmquery
-#%attr(755,root,root) %{_bindir}/rpmsign
-#%attr(755,root,root) %{_bindir}/rpmverify
-%dir %{_sysconfdir}/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
# these are ok to be replaced
%config %verify(not md5 mtime size) %{_sysconfdir}/rpm/sysinfo/*
%files base
%defattr(644,root,root,755)
+%dir %{_sysconfdir}/rpm
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
%dir %{_rpmlibdir}
%attr(755,root,root) %{_bindir}/banner.sh
%files utils
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/debugedit
%attr(755,root,root) %{_bindir}/rpm2cpio
-%attr(755,root,root) %{_bindir}/rpmdeps
+%attr(755,root,root) %{_bindir}/rpmdigest
+%attr(755,root,root) %{_bindir}/rpmmtree
+%attr(755,root,root) %{_bindir}/rpmrepo
%{!?with_system_libmagic:%attr(755,root,root) %{_bindir}/rpmfile}
+%attr(755,root,root) %{_rpmlibdir}/debugedit
%attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
-%attr(755,root,root) %{_rpmlibdir}/tgpg
%attr(755,root,root) %{_rpmlibdir}/rpmdb_loadcvt
+%attr(755,root,root) %{_rpmlibdir}/rpmdeps
+%attr(755,root,root) %{_rpmlibdir}/tgpg
%{_mandir}/man8/rpm2cpio.8*
%{_mandir}/man8/rpmdeps.8*
-#%{_mandir}/man8/rpmcache.8*
-#%{_mandir}/man8/rpmgraph.8*
%lang(ja) %{_mandir}/ja/man8/rpm2cpio.8*
-#%lang(ja) %{_mandir}/ja/man8/rpmcache.8*
-#%lang(ja) %{_mandir}/ja/man8/rpmgraph.8*
%lang(ko) %{_mandir}/ko/man8/rpm2cpio.8*
%lang(pl) %{_mandir}/pl/man8/rpm2cpio.8*
%lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
-#%lang(pl) %{_mandir}/pl/man8/rpmcache.8*
-#%lang(pl) %{_mandir}/pl/man8/rpmgraph.8*
%lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
%files utils-perl
%attr(755,root,root) %{_rpmlibdir}/check-files
# %attr(755,root,root) %{_rpmlibdir}/check-prereqs
%attr(755,root,root) %{_rpmlibdir}/compress-doc
-%attr(755,root,root) %{_rpmlibdir}/config.*
%attr(755,root,root) %{_rpmlibdir}/cross-build
%attr(755,root,root) %{_rpmlibdir}/find-spec-bcond
%attr(755,root,root) %{_rpmlibdir}/getpo.sh
%attr(755,root,root) %{_rpmlibdir}/install-build-tree
-%attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
+#%attr(755,root,root) %{_rpmlibdir}/config.*
+#%attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
%attr(755,root,root) %{_rpmlibdir}/u_pkg.sh
%attr(755,root,root) %{_rpmlibdir}/executabledeps.sh
%attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh
+%attr(755,root,root) %{_rpmlibdir}/mimetypedeps.sh
# needs hacked pkg-config to return anything
%attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
-%attr(755,root,root) %{_rpmlibdir}/rpmb
-%attr(755,root,root) %{_rpmlibdir}/rpmt
+#%attr(755,root,root) %{_rpmlibdir}/rpmb
+#%attr(755,root,root) %{_rpmlibdir}/rpmt
%{_rpmlibdir}/noarch-*
%ifarch %{ix86}
%{_rpmlibdir}/i?86*
%{_rpmlibdir}/x86_64*
%endif
# must be here for "Requires: rpm-*prov" to work
+%{_rpmlibdir}/macros.gstreamer
%{_rpmlibdir}/macros.java
%{_rpmlibdir}/macros.mono
%{_rpmlibdir}/macros.perl