%endif
%if %{with rpm4}
+%define db_pkg db4.7
%define ver_db 4.7.25
%define ver_db_rel 1
%define ver_rpm 4.5-49
%define ver_rpm 5.4.10
%endif
-%define rel 2
+%define rel 10
Summary: RPM packages management helper tool
Summary(hu.UTF-8): RPM csomagkezelést segítő eszköz
Summary(pl.UTF-8): Pomocnicze narzędzie do zarządzania pakietami RPM
Patch0: %{name}-size-type.patch
Patch1: %{name}-config.patch
Patch2: %{name}-missing-include.patch
+Patch3: pm-hooks.patch
+Patch4: %{name}-setenv-null.patch
+Patch5: %{name}-assert-sigint.patch
URL: http://poldek.pld-linux.org/
BuildRequires: %{db_pkg}-devel >= %{ver_db}-%{ver_db_rel}
BuildRequires: autoconf
BuildRequires: check-devel
BuildRequires: docbook-dtd412-xml
BuildRequires: gettext-tools
+BuildRequires: libgomp-devel
BuildRequires: libtool
BuildRequires: libxml2-devel
-BuildRequires: neon-devel
BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: pcre-devel
BuildRequires: pkgconfig
BuildRequires: readline-devel >= 5.0
BuildRequires: rpm-devel >= %{ver_rpm}
%{?with_python:BuildRequires: rpm-pythonprov}
-BuildRequires: swig-python
BuildRequires: tar >= 1:1.22
BuildRequires: xmlto
BuildRequires: xz
Requires(triggerpostun): sed >= 4.0
Requires: %{db_pkg} >= %{ver_db}-%{ver_db_rel}
Requires: %{name}-libs = %{version}-%{release}
+Requires: /bin/run-parts
Requires: rpm >= %{ver_rpm}
Requires: rpm-db-ver = %{ver_db}
Requires: rpm-lib >= %{ver_rpm}
-# vf* scripts use sed
Requires: sed
+Conflicts: etckeeper < 1.18-2
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _libexecdir %{_prefix}/lib/%{name}
%patch0 -p1
%patch1 -p1
%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
%{__rm} m4/libtool.m4 m4/lt*.m4
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name}/repos.d,/var/cache/%{name}}
+install -d $RPM_BUILD_ROOT/var/cache/%{name}
%{__make} install -j1 \
DESTDIR=$RPM_BUILD_ROOT
%{?with_static:%{__rm} $RPM_BUILD_ROOT%{_bindir}/rpmvercmp}
%ifarch i486 i686 ppc sparc alpha athlon
- %define _ftp_arch %{_target_cpu}
+ %define ftp_arch %{_target_cpu}
%endif
%ifarch %{x8664}
- %define _ftp_arch x86_64
- %define _ftp_alt_arch i686
- %define _ftp_alt2_arch x32
+ %define ftp_arch x86_64
+ %define ftp_alt_arch i686
+ %define ftp_alt2_arch x32
%endif
%ifarch x32
- %define _ftp_arch x32
- %define _ftp_alt_arch x86_64
- %define _ftp_alt2_arch i686
+ %define ftp_arch x32
+ %define ftp_alt_arch x86_64
+ %define ftp_alt2_arch i686
%endif
%ifarch i586
- %define _ftp_arch i486
+ %define ftp_arch i486
%endif
%ifarch pentium2 pentium3 pentium4
- %define _ftp_arch i686
+ %define ftp_arch i686
%endif
%ifarch sparcv9 sparc64
- %define _ftp_arch sparc
- %define _ftp_arch %{_target_cpu}
+ %define ftp_arch sparc
+ %define ftp_arch %{_target_cpu}
%ifarch sparc64
- %define _ftp_alt_arch sparcv9
+ %define ftp_alt_arch sparcv9
%endif
%endif
%define pld_multilib_conf %{SOURCE10}
%endif
-%{__sed} -e 's|%%ARCH%%|%{_ftp_arch}|g' < %{pld_conf} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld.conf
+%{__sed} -e 's|%%ARCH%%|%{ftp_arch}|g' < %{pld_conf} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld.conf
%if 0%{?pld_multilib_conf:1}
- %{__sed} 's|%%ARCH%%|%{_ftp_alt_arch}|g' < %{pld_multilib_conf} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-%{_ftp_alt_arch}.conf
+ %{__sed} 's|%%ARCH%%|%{ftp_alt_arch}|g' < %{pld_multilib_conf} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-%{ftp_alt_arch}.conf
%endif
%if 0%{?pld_multilib2_conf:1}
- %{__sed} 's|%%ARCH%%|%{_ftp_alt2_arch}|g' < %{pld_multilib_conf} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-%{_ftp_alt2_arch}.conf
+ %{__sed} 's|%%ARCH%%|%{ftp_alt2_arch}|g' < %{pld_multilib_conf} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-%{ftp_alt2_arch}.conf
%endif
%if 0%{?pld_debuginfo_conf:1}
-%{__sed} -e 's|%%ARCH%%|%{_ftp_arch}|g' < %{pld_debuginfo_conf} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-debuginfo.conf
+%{__sed} -e 's|%%ARCH%%|%{ftp_arch}|g' < %{pld_debuginfo_conf} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-debuginfo.conf
%endif
%if 0%{?pld_archive_conf:1}
-%{__sed} -e 's|%%ARCH%%|%{_ftp_arch}|g' < %{pld_archive_conf} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-archive.conf
+%{__sed} -e 's|%%ARCH%%|%{ftp_arch}|g' < %{pld_archive_conf} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-archive.conf
%endif
# Always install snapshot configs
-%{__sed} -e 's|%%ARCH%%|%{_ftp_arch}|g' \
+%{__sed} -e 's|%%ARCH%%|%{ftp_arch}|g' \
-e 's|%%SNAP%%|%{SNAP}|g' < %{SOURCE100} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-%{SNAP}.conf
-%{__sed} -e 's|%%ARCH%%|%{_ftp_arch}|g' \
+%{__sed} -e 's|%%ARCH%%|%{ftp_arch}|g' \
-e 's|%%SNAP%%|%{SNAP}|g' < %{SOURCE102} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-%{SNAP}-debuginfo.conf
%ifarch %{x8664} x32
- %{__sed} -e 's|%%ARCH%%|%{_ftp_alt_arch}|g' \
- -e 's|%%SNAP%%|%{SNAP}|g' < %{SOURCE101} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-%{SNAP}-%{_ftp_alt_arch}.conf
- %{__sed} -e 's|%%ARCH%%|%{_ftp_alt2_arch}|g' \
- -e 's|%%SNAP%%|%{SNAP}|g' < %{SOURCE101} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-%{SNAP}-%{_ftp_alt2_arch}.conf
+ %{__sed} -e 's|%%ARCH%%|%{ftp_alt_arch}|g' \
+ -e 's|%%SNAP%%|%{SNAP}|g' < %{SOURCE101} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-%{SNAP}-%{ftp_alt_arch}.conf
+ %{__sed} -e 's|%%ARCH%%|%{ftp_alt2_arch}|g' \
+ -e 's|%%SNAP%%|%{SNAP}|g' < %{SOURCE101} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-%{SNAP}-%{ftp_alt2_arch}.conf
%endif
%if %{with snap}
%{__sed} -i '/@@SNAP@@.*/d' $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld.conf
%endif
+# create "all" meta repo
+%if 0%{?ftp_alt_arch:1}%{?ftp_alt2_arch:1}
+cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-all.conf
+# group source for referring th+th-multiarch sources together, i.e poldek -n th-all
+[source]
+type = group
+name = th-all
+sources = th %{?ftp_alt_arch:th-%{ftp_alt_arch}} %{?ftp_alt2_arch:th-%{ftp_alt2_arch}}
+EOF
+%endif
+
+# th-2014 snap does not exist for x32 yet
+%if "%{ftp_arch}" == "x32"
+rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-%{SNAP}.conf
+%endif
+%if "%{ftp_alt2_arch}" == "x32"
+rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-%{SNAP}-x32.conf
+%endif
+
cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/cli.conf
%if %{with imode}
%{__sed} -i -e '/%%include %%{_distro}-multilib-source.conf/d' %{_sysconfdir}/%{name}/poldek.conf
if [ -f %{_sysconfdir}/%{name}/pld-source.conf.rpmsave ]; then
- cp -f %{_sysconfdir}/%{name}/repos.d/pld.conf{,.rpmnew}
- cp -f %{_sysconfdir}/%{name}/pld-source.conf.rpmsave %{_sysconfdir}/%{name}/repos.d/pld.conf
+ %{__mv} -f %{_sysconfdir}/%{name}/repos.d/pld.conf{,.rpmnew}
+ %{__mv} -v %{_sysconfdir}/%{name}/pld-source.conf.rpmsave %{_sysconfdir}/%{name}/repos.d/pld.conf
fi
%ifarch %{x8664}
if [ -f %{_sysconfdir}/%{name}/pld-multilib-source.conf.rpmsave ]; then
- cp -f %{_sysconfdir}/%{name}/repos.d/pld-multilib.conf{,.rpmnew}
- cp -f %{_sysconfdir}/%{name}/pld-multilib-source.conf.rpmsave %{_sysconfdir}/%{name}/repos.d/pld-multilib.conf
+ %{__mv} -f %{_sysconfdir}/%{name}/repos.d/pld-multilib.conf{,.rpmnew}
+ %{__mv} -v %{_sysconfdir}/%{name}/pld-multilib-source.conf.rpmsave %{_sysconfdir}/%{name}/repos.d/pld-multilib.conf
fi
%endif
%triggerpostun -- poldek < 0.30.1-3
if [ -f %{_sysconfdir}/%{name}/repos.d/pld-multilib.conf.rpmsave ]; then
- cp -f %{_sysconfdir}/%{name}/repos.d/pld-%{_ftp_alt_arch}.conf{,.rpmnew}
- cp -f %{_sysconfdir}/%{name}/repos.d/pld-multilib.conf.rpmsave %{_sysconfdir}/%{name}/repos.d/pld-%{_ftp_alt_arch}.conf
+ %{__mv} -f %{_sysconfdir}/%{name}/repos.d/pld-%{ftp_alt_arch}.conf{,.rpmnew}
+ %{__mv} -v %{_sysconfdir}/%{name}/repos.d/pld-multilib.conf.rpmsave %{_sysconfdir}/%{name}/repos.d/pld-%{ftp_alt_arch}.conf
fi
if [ -f %{_sysconfdir}/%{name}/repos.d/pld-%{SNAP}-multilib.conf.rpmsave ]; then
- cp -f %{_sysconfdir}/%{name}/repos.d/pld-%{SNAP}-%{_ftp_alt_arch}.conf{,.rpmnew}
- cp -f %{_sysconfdir}/%{name}/repos.d/pld-%{SNAP}-multilib.conf.rpmsave %{_sysconfdir}/%{name}/repos.d/pld-%{SNAP}-%{_ftp_alt_arch}.conf
+ %{__mv} -f %{_sysconfdir}/%{name}/repos.d/pld-%{SNAP}-%{ftp_alt_arch}.conf{,.rpmnew}
+ %{__mv} -v %{_sysconfdir}/%{name}/repos.d/pld-%{SNAP}-multilib.conf.rpmsave %{_sysconfdir}/%{name}/repos.d/pld-%{SNAP}-%{ftp_alt_arch}.conf
+fi
+
+%triggerpostun -- %{name} < 0.30.1-8
+if [ $1 -le 1 ]; then
+ # revert change on --downgrade
+ %{__sed} -i -re 's,^pm command = %{_libexecdir}/pm-command.sh,#&,' %{_sysconfdir}/%{name}/%{name}.conf
+else
+ # setup pm command
+ %{__sed} -i -re 's,#?(pm command =).*,\1 %{_libexecdir}/pm-command.sh,' %{_sysconfdir}/%{name}/%{name}.conf
fi
%files -f %{name}.lang
%defattr(644,root,root,755)
%doc ChangeLog README* NEWS TODO configs
%dir %{_sysconfdir}/%{name}
+%dir %{_sysconfdir}/%{name}/pre-install.d
+%{_sysconfdir}/%{name}/pre-install.d/README
+%dir %{_sysconfdir}/%{name}/post-install.d
+%{_sysconfdir}/%{name}/post-install.d/README
%dir %{_sysconfdir}/%{name}/repos.d
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/repos.d/*.conf
%attr(755,root,root) %{_bindir}/poldek
%attr(755,root,root) %{_bindir}/rpmvercmp
%dir %{_libexecdir}
-%attr(755,root,root) %{_libexecdir}/*
+%attr(755,root,root) %{_libexecdir}/pm-command.sh
+%attr(755,root,root) %{_libexecdir}/poldekuser-setup.sh
+%attr(755,root,root) %{_libexecdir}/vfcompr
+%attr(755,root,root) %{_libexecdir}/vfjuggle
+%attr(755,root,root) %{_libexecdir}/vfsmb
+%attr(755,root,root) %{_libexecdir}/zlib-in-rpm.sh
%{_mandir}/man1/%{name}*.1*
%lang(pl) %{_mandir}/pl/man1/%{name}*
%{_infodir}/poldek.info*