#Mandriva version adapted from Caixa Magica's apt package #Workaround for awkward jsoncpp packaging: the jsoncpp-devel package #doesnt provide any copy of libjsoncpp.so %define _requires_exceptions devel(libjsoncpp %define name apt %define version 0.5.15lorg3.94 %define versionadd pt %define release %mkrel 1 %define _lib_name %{name}-pkg %define lib_name_orig lib%{_lib_name} %define major 4 %define libname %mklibname %_lib_name %major %define libnamedevel %mklibname %_lib_name %major -d Name: %{name} Version: %{version} Release: %{release} Summary: Debian's Advanced Packaging Tool with RPM support Group: System/Configuration/Packaging Url: http://www.apt-rpm.org/ License: GPLv2+ Source0: %{name}-%{version}%{versionadd}.tar.bz2 Source1: %{name}-apt.conf.bz2 Source2: %{name}-sources.list Source3: %{name}-vendors.list Source4: %{name}-rpmpriorities.bz2 Source5: %{name}-mandriva.conf # not used Source8: apt-pbo ## from Caixa Magica's apt: # URPM Lists support # DUDF MANCOOSI project support # Rollback, URPM, DUDF and pbo features Patch1: %{name}-git-cm15-05.patch.bz2 # enhance the sorting by taking Obsoletes into account Patch3: apt-0.3.19cnc53-stelian-apt-pkg-algorithms-scores.patch # TODO document this patch Patch8: %{name}-0.5.4cnc9-alt-packagemanager-CheckRConflicts.patch # alternative scoring method ( PreDepends implies -1 instead of +50 ) Patch9: %{name}-0.5.4cnc9-alt-pkgorderlist_score.patch # add # to the list of the forbidden char in the name of cdrom Patch11: apt-0.5.15lorg3.2-alt-specialchars.patch # s/de_DE/de/ and /it_IT/it/ in po files Patch14: %{name}-invalid-lc-messages-dir.patch # use the moo Patch15: apt-moo.patch # a quick bugfixe to make build-dep work Patch18: %{name}-build-dep.patch Requires: gnupg Requires: gzip Requires: %{name}-common BuildRequires: gettext-devel BuildRequires: ncurses-devel BuildRequires: readline-devel BuildRequires: rpm-devel >= 4.6 # BuildRequires: python-devel BuildRequires: libpopt-devel BuildRequires: libxml2-devel BuildRequires: sqlite3-devel BuildRequires: lua-devel >= 5.1 BuildRequires: perl BuildRequires: automake, autoconf BuildRequires: jsoncpp-devel >= 0.5.0 BuildRoot: %{_tmppath}/%{name}-%{version}-root Epoch: 1 %description A port of Debian's apt tools for RPM based distributions. Original RPM port done by and for Conectiva. It provides the apt-get utility that provides a simple way to install and upgrade packages. APT features complete installation ordering, multiple source capability and several other unique features. %package -n %{libname} Summary: Libraries for %{name} Group: System/Libraries Provides: %{lib_name_orig} = %{epoch}:%{version}-%{release} Requires: %name-common #For uuidgen Requires: e2fsprogs Obsoletes: libapt0.5 Provides: libapt0.5 %description -n %{libname} This package contains APT's libapt-pkg package manipulation library modified for RPM. %package -n %{libnamedevel} Summary: Development files for %{name} Group: Development/C Requires: %{libname} = %{epoch}:%{version}-%{release} Provides: %{lib_name_orig}-devel Obsoletes: libapt0.5-devel Provides: libapt0.5-devel # only header files in this package... Requires: jsoncpp-devel %description -n %{libnamedevel} This package contains the header files and static libraries for developing with APT's libapt-pkg package manipulation library, modified for RPM. %package pbo Summary: Alternate dependency solver for apt. Group: System/Configuration/Packaging BuildArch: noarch Requires: %{name}-common Requires: perl Requires: minisat+ Requires: perl-libapt-pkg %description pbo Alternate dependency solver for the apt package manager. Currently in testing. %package common Summary: Common file for %{name} frontend Group: System/Configuration/Packaging %description common This package contains the needed files for various apt-frontend, such as synaptic, aptitude. %prep %setup -q -n %{name}-%{version}%{versionadd} %patch1 -p1 %patch3 -p1 -b .scores %patch8 -p1 -b .checkrconflicts %patch9 -p1 -b .predepends-scores %patch11 -p1 -b .specialchars %patch14 -p1 %patch15 -p1 -b .moo %patch18 -p1 -b .build-dep-fix bzcat %{SOURCE1} > apt.conf sed 's/%%ARCH%%/%{_target_cpu}/' %{SOURCE2} > sources.list cat %{SOURCE3} > vendors.list bzcat %{SOURCE4} > rpmpriorities cat %{SOURCE5} > mandriva.conf %build rm -f configure libtoolize --copy --force --install aclocal -I m4 automake -a -c autoconf %configure2_5x # This next line is necessary because of the invalid-lc-messages-dir patch (cd po; cp -f de_DE.po de.po; cp -f it_IT.po it.po) # Parallel make is taken account in the configure script %make NOISY=1 #( cd python; %make ) %install cat <<EOF >README.Mandriva This version uses the synthesis form of the hdlist which is specified as a urpm source. The "rpm" source represents a debian-style pkglist, so full hdlists cannot be used anymore. EOF rm -rf $RPM_BUILD_ROOT %makeinstall rm -rf $RPM_BUILD_ROOT%{_bindir}/apt-pbo install -d -m 755 $RPM_BUILD_ROOT/var/cache/%{name}/archives/partial install -d -m 755 $RPM_BUILD_ROOT/var/lib/%{name}/lists/partial install -d -m 755 $RPM_BUILD_ROOT%{_includedir}/apt-pkg mv $RPM_BUILD_ROOT%{_includedir}/*.h $RPM_BUILD_ROOT%{_includedir}/apt-pkg install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/apt echo "APT::Install-Suggests \"true\";" > $RPM_BUILD_ROOT%{_sysconfdir}/apt/apt.conf.d/01-suggests.conf install -m 644 apt.conf $RPM_BUILD_ROOT%{_sysconfdir}/apt install -m 644 *.list $RPM_BUILD_ROOT%{_sysconfdir}/apt install -m 644 rpmpriorities $RPM_BUILD_ROOT%{_sysconfdir}/apt install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/apt/apt.conf.d install -m 644 mandriva.conf $RPM_BUILD_ROOT%{_sysconfdir}/apt/apt.conf.d install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/apt/translate.list.d install -d -m 755 $RPM_BUILD_ROOT%{_var}/lib/apt/dudf #install -d -m 755 $RPM_BUILD_ROOT%{_sbindir} #install -m 755 %SOURCE8 $RPM_BUILD_ROOT%{_sbindir} install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/cron.d #AG: Script directory, this should really be created by "make install" itself install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/apt/scripts %find_lang %{name} %find_lang %{lib_name_orig}-pkg3.3 cat %{lib_name_orig}-pkg3.3.lang >> %{name}.lang rm -f %{lib_name_orig}-pkg3.3.lang %triggerun -- apt < 0.5.4 # Convert options from 0.3.X to 0.5.X CONF=/etc/apt/apt.conf if [ -f $CONF ]; then mv -f $CONF $CONF.rpmold sed -e 's/HoldPkgs/Hold/' \ -e 's/AllowedDupPkgs/Allow-Duplicated/' \ -e 's/IgnorePkgs/Ignore/' \ -e 's/PostInstall/Post-Install/' \ -e 's/.*Methods .*//' \ $CONF.rpmold > $CONF if [ $? -ne 0 ]; then mv -f $CONF.rpmold $CONF echo "warning: couldn't convert old apt options" else echo "warning: original apt.conf saved as apt.conf.rpmold" 2>&1 fi fi %triggerun -- apt > 0.5.4, apt < 0.5.4cnc4-1cl # Fix bug in the trigger of first snapshot versions CONF=/etc/apt/apt.conf if [ -f $CONF ]; then mv $CONF $CONF.rpmtmp.$$ sed -e 's/Holds/Hold/' \ $CONF.rpmtmp.$$ > $CONF if [ $? -ne 0 ]; then mv -f $CONF.rpmtmp.$$ $CONF else rm -f $CONF.rpmtmp.$$ fi fi %post -n %{libname} -p /sbin/ldconfig %post -n %{name}-common %postun -n %{libname} -p /sbin/ldconfig %clean rm -rf %{buildroot} %files -f %{name}.lang %defattr(-,root,root) %doc COPYING* doc/*.txt doc/examples AUTHORS* README.Mandriva %{_bindir}/* %{_mandir}/man5/* %{_mandir}/man8/* #files pbo #{_sbindir}/apt-pbo %files common %{_libdir}/%{name} /var/cache/%{name} /var/lib/%{name} %{_datadir}/%{name} %dir %{_sysconfdir}/%{name} %config(noreplace) %{_sysconfdir}/apt/apt.conf %config(noreplace) %{_sysconfdir}/apt/sources.list %config(noreplace) %{_sysconfdir}/apt/vendors.list %config(noreplace) %{_sysconfdir}/apt/rpmpriorities %dir %{_sysconfdir}/apt/apt.conf.d %config(noreplace) %{_sysconfdir}/apt/apt.conf.d/mandriva.conf %config(noreplace) %{_sysconfdir}/apt/apt.conf.d/multilib.conf %config(noreplace) %{_sysconfdir}/apt/apt.conf.d/01-suggests.conf %dir %{_sysconfdir}/apt/translate.list.d %files -n %{libname} %defattr(-,root,root) %{_libdir}/*.so.* %files -n %{libnamedevel} %defattr(-,root,root) %{_includedir}/apt-pkg %{_libdir}/*.so %{_libdir}/*.a %{_libdir}/*.la %{_libdir}/pkgconfig/*.pc %changelog * Wed Dec 08 2010 Christiaan Welvaart <spturtle@mandriva.org> 1:0.5.15lorg3.94-1mdv2011.0 + Revision: 616261 - rebase on caixa magica's apt to get a working version + Thierry Vignaud <tv@mandriva.org> - BR libxml2 - rebuild - rebuild + Guillaume Rousse <guillomovitch@mandriva.org> - rediff fuzzy patches * Sun Jul 06 2008 Christiaan Welvaart <spturtle@mandriva.org> 1:0.5.15lorg3.2-7mdv2009.0 + Revision: 232023 - patch20: fix error about too many package names - patch21: fix build with gcc 4.3 + Thierry Vignaud <tv@mandriva.org> - rebuild + Pixel <pixel@mandriva.com> - do not call ldconfig in %%post/%%postun, it is now handled by filetriggers - adapt to %%_localstatedir now being /var instead of /var/lib (#22312) * Tue Jan 15 2008 Christiaan Welvaart <spturtle@mandriva.org> 1:0.5.15lorg3.2-6mdv2008.1 + Revision: 153293 - rebuild for rpm 4.4.2.2 + Olivier Blin <oblin@mandriva.com> - restore BuildRoot + Thierry Vignaud <tv@mandriva.org> - kill re-definition of %%buildroot on Pixel's request * Wed Jun 20 2007 Christiaan Welvaart <spturtle@mandriva.org> 1:0.5.15lorg3.2-5mdv2008.0 + Revision: 41821 - patch23: fixes for rpm 4.4.8 * Tue Jun 12 2007 Christiaan Welvaart <spturtle@mandriva.org> 1:0.5.15lorg3.2-4mdv2008.0 + Revision: 38109 - rebuild for rpm 4.4.8 * Tue May 29 2007 Christiaan Welvaart <spturtle@mandriva.org> 1:0.5.15lorg3.2-3mdv2008.0 + Revision: 32703 - improve patch18 (build-dep fix): do not check the package version when a provides was selected to resolve a versioned dependency * Wed Apr 25 2007 Adam Williamson <awilliamson@mandriva.org> 1:0.5.15lorg3.2-2mdv2008.0 + Revision: 18301 - rebuild against rebuilt rpm against updated beecrypt * Sat Apr 21 2007 Christiaan Welvaart <spturtle@mandriva.org> 1:0.5.15lorg3.2-1mdv2008.0 + Revision: 16573 - apt-rpm 0.5.15log3.2 - Import apt * Sun Aug 27 2006 Christiaan Welvaart <cjw@daneel.dyndns.org> 0.5.15cnc6-15 - patch23: fix reporting of unresolved dep on rpmlib(BuiltinLuaScripts) * Thu Jun 14 2006 Christiaan Welvaart <cjw@daneel.dyndns.org> 0.5.15cnc6-14 - patch22: rebuild for rpm 4.4.6 * Thu Jan 12 2006 Christiaan Welvaart <cjw@daneel.dyndns.org> 0.5.15cnc6-13mdk - patch21: add basic support for rpm's new suggests tag (dep flag MISSINGOK) * Tue Jan 10 2006 Christiaan Welvaart <cjw@daneel.dyndns.org> 0.5.15cnc6-12mdk - rebuild for rpm 4.4.4 - patch20: rpm 4.4.4 build fix - enable rpm transaction ordering by default, mandrake.conf -> mandriva.conf * Fri Dec 02 2005 Christiaan Welvaart <cjw@daneel.dyndns.org> 0.5.15cnc6-11mdk - adapt patch18 to support provides satisfying versioned build deps * Sat Sep 03 2005 Michael Scherer <misc@mandriva.org> 0.5.15cnc6-10mdk - add a conflict to ease upgrade * Sat Sep 03 2005 Christiaan Welvaart <cjw@daneel.dyndns.org> 0.5.15cnc6-9mdk - patch19: fix x86-64 build, move the apt-python changes into 1 patch - more mandriva * Fri Sep 02 2005 Michael Scherer <misc@mandriva.org> 0.5.15cnc6-8mdk - fix #18182 and #17868, by rebuilding and splitting package - use new python macro - remove last mention of mandrake * Wed May 11 2005 Olivier Thauvin <nanardon@mandriva.org> 0.5.15cnc6-7mdk - s/mandrake/mandriva/ * Wed May 11 2005 Olivier Thauvin <nanardon@mandriva.org> 0.5.15cnc6-6mdk - rebuild for rpm 4.4 * Thu Feb 03 2005 Michael Scherer <misc@mandrake.org> 0.5.15cnc6-5mdk - Rebuild for new readline * Sat Dec 04 2004 Michael Scherer <misc@mandrake.org> 0.5.15cnc6-4mdk - Rebuild for new python * Fri Oct 01 2004 Michael Scherer <misc@mandrake.org> 0.5.15cnc6-3mdk - update example url in source.list * Sun Jun 06 2004 Michael Scherer <misc@mandrake.org> 0.5.15cnc6-2mdk - rebuild for new gcc * Mon Mar 22 2004 Michael Scherer <misc@mandrake.org> 0.5.15cnc6-1mdk - 0.5.15cnc6 - rediff patch6, patch300 - remove patch16 * Sun Jan 18 2004 Christiaan Welvaart <cjw@daneel.dyndns.org> 0.5.15cnc5-4mdk - added epoch to versioned requires and provides * Thu Jan 01 2004 Michael Scherer <misc@mandrake.org> 0.5.15cnc5-3mdk - /me sucks, s/echo/cat/ for the README, thanks to pterjan and Mooby * Sat Dec 27 2003 Michael Scherer <misc@mandrake.org> 0.5.15cnc5-2mdk - add python support - add option whatprovides to the man pages * Wed Dec 24 2003 Michael Scherer <misc@mandrake.org> 0.5.15cnc5-1mdk - 0.5.15cnc5 - correct README.Mandrake ( thanks to Luca Olivetti ) - patch17 apt-cache whatprovides, from Christiaan Welvaart <cjw@daneel.dyndns.org> - patch18 apt-build-dep, from Christiaan Welvaart <cjw@daneel.dyndns.org> - rediffed patch300 - correct po Makefile ( quick hack :/ ) * Sun Dec 07 2003 Michael Scherer <misc@mandrake.org> 0.5.15cnc4-2mdk - patch16, fix epoch handling - patch15, nicer cow - add a warning about synthesis in source.list * Fri Dec 05 2003 Michael Scherer <misc@mandrake.org> 0.5.15cnc4-1mdk - 0.5.15cnc4 - Rediff mdk everywhere patch * Wed Nov 26 2003 Michael Scherer <misc@mandrake.org> 0.5.15cnc3-1mdk - 0.5.15cnc3 - added README.Mandrake * Tue Nov 18 2003 Michael Scherer <scherer.michael@free.fr> 0.5.15cnc2-2mdk - correct the changelog, with the help of Olivier Blin - add some comment on the various patch * Mon Nov 17 2003 Michael Scherer <scherer.michael@free.fr> 0.5.15cnc2-1mdk - 0.5.15cnc2 - remove explicit dependency - from Christiaan Welvaart <cjw@daneel.dyndns.org> - apt-rpm 0.5.15cnc1 - removed patch1 - removed changes to ftp method from patch #2 as it was modified upstream - removed patch5 - disabled patch7 - seems to be implemented in upstream sources - fixed patch300 - allow gpg-pubkey to be installed more than once (fixes bug #5613) * Sun Sep 14 2003 Michael Scherer <scherer.michael@free.fr> 0.5.5cnc6-2mdk - reupload it with correct changelog - fix the conf to not display warning for gpg-pubkey - fix the sources list * Sun Sep 14 2003 Michael Scherer <scherer.michael@free.fr> 0.5.5cnc6-1mdk - add epoch to force upgrade - from Christiaan Welvaart <cjw@daneel.dyndns.org> - renamed library packages to apt-pkg - small specfile cleanup thanks to rpmlint - fixed file info string seen when downloading indexes and packages - worked around problem with deps having implicit zero epoch that get compared to packages with explicit higher epoch - update to 0.5.5cnc6 - use regular hdlists instead of pkglists * Wed Jul 23 2003 Lenny Cartier <lenny@mandrakesoft.com> 0.5.5cnc4.1-4mdk - rebuild for new rpm - patch200: fix missing includes * Fri Apr 25 2003 David Walluck <david@anti-microsoft.org> 0.5.5cnc4.1-3mdk - use autoconf >= 2.50 * Sat Apr 12 2003 David Walluck <walluck@linux-mandrake.com> 0.5.5cnc4.1-2mdk - vendors.list should have MandrakeSoft key, not Connectiva * Sat Apr 12 2003 David Walluck <walluck@linux-mandrake.com> 0.5.5cnc4.1-1mdk - 0.5.5cnc4.1 - really use vendors.list (which was accidently a copy of sources.list before) - really add lang files - add AUTHORS* to %%doc - add %%{_localstatedir}/%%{name}/lists/prefetch directory - chop %%changelog to Mandrake versions only - add 'rm -rf $RPM_BUILD_ROOT' to %%install (useful with '--short-circuit') - pass '--with-hashmap' to %%configure - add Requires on gnupg, ncurses, and readline - add BuildRequires on docbook-dtd31-sgml so that we can build the manpages - add BuildRequires on gettext-devel, ncurses-devel, and readline-devel - add specialized rpmpriorities as external source - add mandrake.conf (which is now the main config file, not apt.conf); also verify options which are now in mandrake.conf (remove options already present by default) - regenerate vendors.list - regenerate sources.list - regenerate configure script before calling %%configure - apply mdk specific patches - apply various patches from alt, cl, pld * Sun Mar 02 2003 Olivier Thauvin <thauvin@aerov.jussieu.fr> 0.5.5cnc3-1mdk - 0.5.5cnc3 - apt.conf: arch is i586 * Tue Feb 11 2003 Olivier Thauvin <thauvin@aerov.jussieu.fr> 0.5.4cnc9-3mdk - use %%mklibname (thanks rpmlint) * Tue Feb 11 2003 Olivier Thauvin <thauvin@aerov.jussieu.fr> 0.5.4cnc9-2mdk - rebuild * Wed Dec 18 2002 Olivier Thauvin <thauvin@aerov.jussieu.fr> 0.5.4cnc9-1mdk - 0.5.4cnc9 * Fri Nov 15 2002 Olivier Thauvin <thauvin@aerov.jussieu.fr> 0.5.4cnc7-4mdk - libapt does not provdes apt ! * Mon Nov 11 2002 Laurent MONTEL <lmontel@mandrakesoft.com> 0.5.4cnc7-3mdk - Fix apt.conf.bz2 Directory for method was bad : method directory is in /usr/lib/apt/methods * Sun Sep 29 2002 Guillaume Rousse <g.rousse@linux-mandrake.com> 0.5.4cnc7-2mdk - removed manual requires, let spechelper do its job - corrected changelog * Sun Sep 29 2002 Guillaume Rousse <g.rousse@linux-mandrake.com> 0.5.4cnc7-1mdk - bump to 0.5.4cnc7 - merged with connectiva RPM - library policy - bzipped additional sources - spec cleanup * Mon Aug 19 2002 Laurent Culioli <laurent@pschit.net> 0.3.15cnc55-2mdk - Rebuild with gcc3.2 * Tue Jun 25 2002 Kenduest Lee <kenduest@i18n.linux.org.tw> 0.3.15cnc55-1mdk - new version - Geoff - Put back in contrib (there are still people who use it). * Tue Jul 24 2001 Frederic Lepied <flepied@mandrakesoft.com> 0.3.19cnc51-1mdk - new version (not tested) * Wed Jan 17 2001 Frederic Lepied <flepied@mandrakesoft.com> 0.3.19cnc31-1mdk - new version. * Tue Dec 12 2000 Frederic Lepied <flepied@mandrakesoft.com> 0.3.19cnc27-1mdk - first mandrake version.