%bcond_without python # don't build python bindings
#
# required versions (forced to avoid SEGV with mixed db used by rpm and poldek)
-%define ver_db 4.3.27-1
-%define ver_rpm 4.4.9-1
+%if "%{pld_release}" == "ti"
+%define ver_db 4.5.20
+%define ver_db_rel 8
+%else
+%define ver_db 4.7.25
+%define ver_db_rel 1
+%endif
+%define ver_rpm 4.5-5
#
-%define snap 20070703.00
-%define rel 15
+%define snap 20080820.23
+%define rel 15
Summary: RPM packages management helper tool
Summary(pl.UTF-8): Pomocnicze narzędzie do zarządzania pakietami RPM
Name: poldek
-Version: 0.21
+Version: 0.30
Release: 0.%{snap}.%{rel}
License: GPL v2
Group: Applications/System
-Source0: http://poldek.pld-linux.org/download/snapshots/%{name}-%{version}-cvs%{snap}.tar.bz2
-# Source0-md5: dae23dec560fad954abf157fd250e4c3
+#Source0: http://poldek.pld-linux.org/download/snapshots/%{name}-%{version}-cvs%{snap}.tar.bz2
+Source0: http://carme.pld-linux.org/~megabajt/snaps/poldek/%{name}-%{version}-cvs%{snap}.tar.bz2
+# Source0-md5: 2738eb3996f1cdf1e5d74b913d6e7414
Source1: %{name}.conf
Source2: %{name}-multilib.conf
-Source3: %{name}-aliases.conf
-Source4: %{name}.desktop
-Source5: %{name}.png
-Patch1: %{name}-vserver-packages.patch
-Patch2: %{name}-config.patch
-Patch3: %{name}-multilib.patch
-Patch4: %{name}-ndie_fix.patch
-Patch5: %{name}-uri-escape-fix.patch
-Patch6: %{name}-install-dist.patch
-Patch7: %{name}-nohold-fix.patch
-Patch8: %{name}-dir-dot.patch
-Patch9: %{name}-suggests-one-package.patch
-Patch10: %{name}-reversed-prompt.patch
+Source3: %{name}-ti.conf
+Source4: %{name}-multilib-ti.conf
+Source5: %{name}-aliases.conf
+Source6: %{name}.desktop
+Source7: %{name}.png
+Patch0: %{name}-vserver-packages.patch
+Patch1: %{name}-config.patch
+Patch2: %{name}-abort-on-upgrade.patch
+Patch3: %{name}-inline.patch
+Patch4: %{name}-ls-llu.patch
+Patch5: %{name}-op-ldalldesc.patch
+Patch6: %{name}-nocolor-upgrade.patch
+Patch7: %{name}-upgrade-dist.patch
+Patch8: %{name}-keep-reinstalled-provides.patch
+Patch9: %{name}-dont-ask-for-suggests-on-errors.patch
+Patch10: %{name}-crash-on-invalid-locale.patch
+Patch11: %{name}-noutf8.patch
+Patch12: %{name}-dont-suggests-required-packages.patch
+Patch13: %{name}-tty-for-erasures.patch
+Patch14: %{name}-both_langs.patch
+Patch15: %{name}-317130.patch
+Patch16: %{name}-321546.patch
URL: http://poldek.pld-linux.org/
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bzip2-devel
BuildRequires: check
-BuildRequires: db-devel >= %{ver_db}
+BuildRequires: db-devel >= %{ver_db}-%{ver_db_rel}
BuildRequires: gettext-autopoint
BuildRequires: libtool
BuildRequires: libxml2-devel
BuildRequires: zlib-devel
%if %{with static}
BuildRequires: bzip2-static
-BuildRequires: db-static >= %{ver_db}
+BuildRequires: db-static >= %{ver_db}-%{ver_db_rel}
BuildRequires: glibc-static
BuildRequires: libselinux-static
BuildRequires: libxml2-static
Requires(triggerpostun): awk
Requires(triggerpostun): sed >= 4.0
Requires: %{name}-libs = %{version}-%{release}
-Requires: db >= %{ver_db}
+Requires: db >= %{ver_db}-%{ver_db_rel}
Requires: rpm >= %{ver_rpm}
+Requires: rpm-db-ver = %{ver_db}
Requires: rpm-lib = %(rpm -q --qf '%{V}' rpm-lib)
# vf* scripts use sed
Requires: sed
%prep
%setup -q -n %{name}-%{version}%{?snap:-cvs%{snap}}
+%patch0 -p1
%patch1 -p1
%patch2 -p1
-%ifarch %{x8664}
%patch3 -p1
-%endif
-%patch4 -p0
-%patch5 -p0
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p0
+%patch7 -p0
+%patch8 -p0
+%patch9 -p0
%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
+%patch14 -p1
+%patch15 -p1
+%patch16 -p1
# cleanup backups after patching
find . '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
%build
-%{__autopoint}
+%{__libtoolize}
%{__aclocal} -I m4
%{__autoconf}
%{__automake}
cp -f config.sub trurlib
+CPPFLAGS="-std=gnu99"
%configure \
%{?with_static:--enable-static --disable-shared} \
%{!?with_imode:--disable-imode} \
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_sysconfdir}
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
%ifarch i486 i686 ppc sparc alpha athlon
%define _ftp_arch %{_target_cpu}
-%else
+%endif
%ifarch %{x8664}
%define _ftp_arch x86_64
%define _ftp_alt_arch i686
-%else
+%endif
%ifarch i586
-%define _ftp_arch i486
+%if "%{pld_release}" == "ti"
+%define _ftp_arch i586
%else
+%define _ftp_arch i486
+%endif
+%endif
%ifarch pentium2 pentium3 pentium4
%define _ftp_arch i686
-%else
+%endif
%ifarch sparcv9 sparc64
%define _ftp_arch sparc
%endif
-%endif
-%endif
-%endif
-%endif
%{?with_static:rm -f $RPM_BUILD_ROOT%{_bindir}/rpmvercmp}
+%if "%{pld_release}" == "ti"
sed -e '
s|%%ARCH%%|%{_ftp_arch}|g
-' < %{SOURCE1} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/pld-source.conf
+' < %{SOURCE3} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld.conf
%ifarch %{x8664}
sed '
s|%%ARCH%%|%{_ftp_alt_arch}|g
-' < %{SOURCE2} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/pld-multilib-source.conf
+' < %{SOURCE4} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-multilib.conf
+%endif
+%else
+sed -e '
+ s|%%ARCH%%|%{_ftp_arch}|g
+' < %{SOURCE1} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld.conf
+
+%ifarch %{x8664}
+sed '
+ s|%%ARCH%%|%{_ftp_alt_arch}|g
+' < %{SOURCE2} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-multilib.conf
+%endif
%endif
-install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/aliases.conf
+install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/aliases.conf
%if %{with imode}
# add desktop file and icon
install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
-install %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
-install %{SOURCE5} $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
+install %{SOURCE6} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
+install %{SOURCE7} $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
%endif
-# get rid of non-pld sources
-rm -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{rh,fedora}-source.conf
+# sources we don't package
+rm -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{rh,pld,fedora,centos}-source.conf
# include them in %doc
rm -rf configs
cp -a conf configs
fi
fi
+%triggerpostun -- poldek < 0.30-0.20080225.00.1
+if ! grep -q '^%%includedir repos.d' %{_sysconfdir}/%{name}/poldek.conf; then
+ %{__sed} -i -e '/^%%include source.conf/{
+ a
+ a# /etc/poldek/repos.d/*.conf
+ a%%includedir repos.d
+ }' %{_sysconfdir}/%{name}/poldek.conf
+fi
+
+%{__sed} -i -e '/%%include %%{_distro}-source.conf/d' %{_sysconfdir}/%{name}/poldek.conf
+%{__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
+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
+fi
+%endif
+
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc README* NEWS TODO configs/
+%doc README* NEWS TODO configs
%dir %{_sysconfdir}/%{name}
+%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}/*
%dir %{_libdir}/%{name}
%attr(755,root,root) %{_libdir}/%{name}/*
%{_pixmapsdir}/%{name}.png
%endif
-%if !%{with static}
+%if %{without static}
%files libs
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/lib*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libpoclidek.so.*.*.*
+%attr(755,root,root) %{_libdir}/libpoldek.so.*.*.*
+%attr(755,root,root) %{_libdir}/libtndb.so.*.*.*
+%attr(755,root,root) %{_libdir}/libtrurl.so.*.*.*
+%attr(755,root,root) %{_libdir}/libvfile.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpoclidek.so.0
+%attr(755,root,root) %ghost %{_libdir}/libpoldek.so.2
+%attr(755,root,root) %ghost %{_libdir}/libtndb.so.0
+%attr(755,root,root) %ghost %{_libdir}/libtrurl.so.0
+%attr(755,root,root) %ghost %{_libdir}/libvfile.so.0
%endif
%files devel