X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=poldek.spec;h=d9102dd2f5d3bea99ba26934936baa1d1f6e9aeb;hb=1b531697f0475b3f41fd330432bbdfabcb4fb7ee;hp=38c42994aaab767089dddf317845ea9c84063335;hpb=b1928c7a46fa63fdbdf2801f760addb17c154aa3;p=packages%2Fpoldek.git diff --git a/poldek.spec b/poldek.spec index 38c4299..d9102dd 100644 --- a/poldek.spec +++ b/poldek.spec @@ -2,47 +2,50 @@ # Conditional build: %bcond_with static # don't use shared libraries %bcond_without imode # don't build interactive mode -%bcond_with curl # link with curl -%bcond_with distver # enable distversion patch # # 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.3-0.20040107.34 +%define ver_rpm 4.4.2 Summary: RPM packages management helper tool Summary(pl): Pomocnicze narzêdzie do zarz±dzania pakietami RPM Name: poldek -Version: 0.18.8 -Release: 4%{?with_distver:+distver} +Version: 0.20 +Release: 1.5 License: GPL v2 Group: Applications/System Source0: http://team.pld.org.pl/~mis/poldek/download/%{name}-%{version}.tar.bz2 -# Source0-md5: f7e2978c7f8b35b0b07d0278dd299881 +# Source0-md5: 61c0c03ee4a9de36339fc943b6901266 Source1: %{name}.conf -Patch0: %{name}-etc_dir.patch -Patch1: %{name}-retr_term.patch -Patch2: %{name}-simplestatic.patch -Patch3: %{name}-gcc4.patch -Patch12: %{name}-distver.patch +Source2: %{name}-multilib.conf +Source3: %{name}-aliases.conf +# drop? +#PatchX: %{name}-etc_dir.patch +# drop? +#PatchX: %{name}-retr_term.patch +# is still needed? +#Patch2: %{name}-simplestatic.patch URL: http://team.pld.org.pl/~mis/poldek/ -BuildRequires: automake BuildRequires: autoconf +BuildRequires: automake BuildRequires: bzip2-devel -%{?with_curl:BuildRequires: curl-devel >= 7.8} +BuildRequires: check BuildRequires: db-devel >= %{ver_db} BuildRequires: gettext-autopoint +BuildRequires: libtool +BuildRequires: libxml2-devel BuildRequires: openssl-devel >= 0.9.7d BuildRequires: pcre-devel +BuildRequires: perl-tools-pod BuildRequires: popt-devel -BuildRequires: readline-devel +BuildRequires: readline-devel >= 5.0 BuildRequires: rpm-devel >= %{ver_rpm} BuildRequires: zlib-devel -BuildRequires: perl-tools-pod %if %{with static} BuildRequires: bzip2-static -%{?with_curl:BuildRequires: curl-static} BuildRequires: db-static >= %{ver_db} BuildRequires: glibc-static BuildRequires: libselinux-static +BuildRequires: libxml2-static BuildRequires: ncurses-static BuildRequires: openssl-static BuildRequires: pcre-static @@ -51,12 +54,12 @@ BuildRequires: readline-static BuildRequires: rpm-static BuildRequires: zlib-static %endif +Requires(triggerpostun): sed >= 4.0 +Requires(triggerpostun): awk +Requires: %{name}-libs = %{version}-%{release} Requires: db >= %{ver_db} -Requires: ed Requires: rpm >= %{ver_rpm} -%{?with_distver:Requires: rpm-lib(distver)} Requires: sed -Requires: openssl >= 0.9.7c BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -73,6 +76,8 @@ shell mode of Perl's CPAN. %{!?with_imode:This version hasn't got interactive mode.} +#' + %description -l pl poldek jest narzêdziem linii poleceñ s³u¿±cym do weryfikacji, instalacji (w³±czaj±c instalacjê systemu od zera), aktualizacji i @@ -87,25 +92,55 @@ modu %{!?with_imode:Ta wersja nie posiada trybu interaktywnego.} +%package libs +Summary: poldek libraries +Summary(pl): Biblioteki poldka +Group: Libraries + +%description libs +poldek libraries. + +%description libs -l pl +Biblioteki poldka. + +%package devel +Summary: Header files for poldek libraries +Summary(pl): Pliki nag³ówkowe bibliotek poldka +Group: Development/Libraries +Requires: %{name}-libs = %{version}-%{release} + +%description devel +Header files for poldek libraries. + +%description devel -l pl +Pliki nag³ówkowe bibliotek poldka. + +%package static +Summary: poldek static libraries +Summary(pl): Biblioteki statyczne poldka +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} + +%description static +poldek static libraries. + +%description static -l pl +Biblioteki statyczne poldka. + %prep %setup -q -%patch0 -p1 -%patch1 -p1 -%patch2 -p0 -%patch3 -p1 -%{?with_distver:%patch12 -p1} %build %{__autopoint} %{__aclocal} -I m4 %{__autoconf} -%{__autoheader} %{__automake} cp -f config.sub trurlib + %configure \ - %{?with_static:--enable-static} \ + %{?with_static:--enable-static --disable-shared} \ %{!?with_imode:--disable-imode} \ - %{?with_curl:--with-curl} + --enable-nls %{__make} %install @@ -120,8 +155,12 @@ install -d $RPM_BUILD_ROOT%{_sysconfdir} # # CHANGE IT WHEN SWITCHING poldek.conf FROM AC TO TH !!! # -%ifarch i386 i586 i686 ppc sparc alpha amd64 athlon +%ifarch i386 i586 i686 ppc sparc alpha athlon +%define _ftp_arch %{_target_cpu} +%else +%ifarch amd64 %define _ftp_arch %{_target_cpu} +%define _ftp_alt_arch i686 %else %ifarch i486 %define _ftp_arch i386 @@ -135,30 +174,121 @@ install -d $RPM_BUILD_ROOT%{_sysconfdir} %endif %endif %endif +%endif + +%{?with_static:rm -f $RPM_BUILD_ROOT%{_bindir}/rpmvercmp} -sed "s|%%ARCH%%|%{_ftp_arch}|g" < %{SOURCE1} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.conf +sed -e "s|%%ARCH%%|%{_ftp_arch}|g" \ +%ifarch amd64 + -e "s|%%ALT_ARCH%%|%{_ftp_alt_arch}|g" \ +%else + -e '/%%ALT_ARCH%%/d' \ +%endif + < %{SOURCE1} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/pld-source.conf + +%ifarch amd64 +sed "s|%%ARCH%%|%{_ftp_alt_arch}|g" < %{SOURCE2} >> $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/pld-source.conf +%endif + +install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/aliases.conf + +# get rid of non-pld sources +rm -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{rh,fedora}-source.conf +# include them in %doc +rm -rf configs +cp -a conf configs +rm -f configs/Makefile* %find_lang %{name} %clean rm -rf $RPM_BUILD_ROOT +%post +[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 + +%postun +[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 + +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig + %triggerpostun -- poldek <= 0.18.3-5 -if grep -q '^promoteepoch.*yes' %{_sysconfdir}/poldek.conf ; then - echo -e ',s:^promoteepoch:# promoteepoch:g\n,w' | ed -s %{_sysconfdir}/poldek.conf +if [ -f /etc/poldek.conf ]; then + sed -i -e '/^promoteepoch:.*yes/s/^/#/' /etc/poldek.conf fi # otherwise don't touch %ifarch i386 i586 i686 ppc sparc alpha amd64 athlon %triggerpostun -- poldek <= 0.18.7-1 -echo -e ',s://ftp.pld-linux.org://ftp.%{_target_cpu}.ac.pld-linux.org:g\n,w' |\ - ed -s /etc/poldek.conf ||: +if [ -f /etc/poldek.conf ]; then + sed -i -e 's://ftp.pld-linux.org://ftp.ac.pld-linux.org:g' /etc/poldek.conf +fi %endif +%triggerpostun -- poldek < 0.19.0-1.20050613.22.0 +if [ -f /etc/poldek.conf.rpmsave ]; then + awk '/^source/ { + name = $3; + path = $4; + auto = "yes"; + autoup = "yes"; + type = "pdir"; + + if (sub(",noauto", "", name)) { + auto = "no"; + } + + # skip ac sources. already in new config. + if (name !~ /^ac(-(ready|test|supported|updates-(general|security)))?$/) { + print ""; + print "[source]"; + print "name = " name; + print "type = " type; + print "path = " path; + print "auto = " auto; + print "autoup = " autoup; + } + + }' < /etc/poldek.conf.rpmsave >> /etc/poldek/source.conf + echo "Converted old custom sources (non-ac dist ones) from /etc/poldek.conf.rpmsave to new poldek format in /etc/poldek/source.conf" + + # propagate use_sudo to new config. only works for untouched poldek.conf and that's intentional. + if grep -q '^use_sudo.*=.*yes' /etc/poldek.conf.rpmsave; then + sed -i -e '/^#use sudo = no/s/^.*/use sudo = yes/' /etc/poldek/poldek.conf + fi + + # copy hold= + hold=$(grep ^hold /etc/poldek.conf.rpmsave) + if [ "$hold" ]; then + sed -i -e "/^#hold =/s/^.*/$hold/" /etc/poldek/poldek.conf + fi +fi + %files -f %{name}.lang %defattr(644,root,root,755) -%doc README* NEWS TODO *sample* conf/poldekrc* -%attr(644,root,root) %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/%{name}.conf +%doc README* NEWS TODO configs/ +%dir %{_sysconfdir}/%{name} +%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/%{name}/*.conf %attr(755,root,root) %{_bindir}/* +%dir %{_libdir}/%{name} +%attr(755,root,root) %{_libdir}/%{name}/* %{_mandir}/man1/%{name}* %lang(pl) %{_mandir}/pl/man1/%{name}* +%{_infodir}/poldek.info* + +%if %{without static} +%files libs +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/lib*.so.*.*.* +%endif + +%files devel +%defattr(644,root,root,755) +%{!?with_static:%attr(755,root,root) %{_libdir}/lib*.so} +%{_libdir}/lib*.la +%{_includedir}/* + +%files static +%defattr(644,root,root,755) +%{_libdir}/lib*.a