Sophie

Sophie

distrib > Mandriva > 2007.0 > x86_64 > by-pkgid > ed8ecc8a573ed49acf762d5855292e27 > files > 26

apt-0.5.15cnc6-15mdv2007.0.src.rpm

%define	name		apt
%define version 0.5.15cnc6
%define release %mkrel 15
%define _lib_name	%{name}-pkg
%define lib_name_orig	lib%{_lib_name}
%define major		0
%define libname		%mklibname %_lib_name %major
%define libnamedevel	%mklibname %_lib_name %major -d

#TODO 
# check lua support ( switch )
# add something to ease downloading of source


Name:		%{name}
Version:	%{version}
Release:	%{release}
Summary:	Debian's Advanced Packaging Tool with RPM support 
Group:		System/Configuration/Packaging
Url:		https://moin.conectiva.com.br/AptRpm
License:	GPL
# downloaded on https://moin.conectiva.com.br/AptRpm?action=AttachFile&do=get&target=%{name}-%{version}.tar.bz2
# use wget -U some_user_agent, it prevent wget downloading
# wget -U plop "https://moin.conectiva.com.br/AptRpm?action=AttachFile&do=get&target=%{name}-%{version}.tar.bz2"
Source0:	https://moin.conectiva.com.br/files/AptRpm/attachments/%{name}-%{version}.tar.bz2
Source1:	%{name}-apt.conf.bz2
Source2:	%{name}-sources.list.bz2
Source3:	%{name}-vendors.list.bz2
Source4:	%{name}-rpmpriorities.bz2
Source5:	%{name}-mandriva.conf.bz2

# (misc) replace all mentions of Debian and Conectiva with Mandriva
Patch2:		%{name}-mandrake-everywhere.patch.bz2

# enhance the sorting by taking Obsoletes into account
Patch3:		%{name}-0.3.19cnc53-stelian-apt-pkg-algorithms-scores.patch.bz2
# mark some mdk package as essential
Patch4:		%{name}-0.5.4cnc7-rpmpriorities.patch.bz2
# add a configuration option ( APT::Install::Virtual )
Patch6:		%{name}-0.5.4cnc9-alt-install_virtual.patch.bz2
#Patch7:		%{name}-0.5.4cnc9-alt-install_virtual_version.patch.bz2

# TODO document this patch
Patch8:		%{name}-0.5.4cnc9-alt-packagemanager-CheckRConflicts.patch.bz2
# alternative scoring method ( PreDepends implies -1 instead of +50 )
Patch9:		%{name}-0.5.4cnc9-alt-pkgorderlist_score.patch.bz2
#Patch10:	%{name}-0.5.4cnc9-alt-rsync.patch.bz2

# add # to the list of the forbidden char in the name of cdrom
Patch11:	%{name}-0.5.4cnc9-alt-specialchars.patch.bz2

# add a missing ifdef
Patch12:	%{name}-0.5.5cnc1-alt-APT_DOMAIN.patch.bz2

# add APT::Ignore-dpkg option, to not take dpkg in account
# for score calculation
Patch13:	%{name}-0.5.5cnc1-alt-debsystem.patch.bz2

# s/de_DE/de/ and  /it_IT/it/ in po files
Patch14:	%{name}-invalid-lc-messages-dir.patch.bz2

# use the moo
Patch15:    %{name}-moo.patch.bz2

# enforce Epoch promotion
#Patch16:    %{name}.0.5.15cnc4-epoch.patch.bz2

# add WhatProvides command
Patch17:    %{name}-0.5.15cnc4-whatprovides.patch.bz2

# a quick bugfixe to make build-dep work
Patch18:    %{name}-build-dep.patch.bz2

# x86-64 and other build fixes for python
Patch19:        apt-0.5.15cnc6-python-build-fixes.patch.bz2

# rpm 4.4.4 fix
Patch20:	apt-0.5.15cnc6-rpm-4.4.4.patch.bz2

# (cjw) add support for rpm 4.4.x Suggests: tag
Patch21:	apt-0.5.15cnc6-rpm-suggests.patch.bz2

# rpm 4.4.6 fixes
Patch22:	apt-0.5.15cnc6-rpm-4.4.6.patch.bz2

# fix rpmlib(...) check for case when 1st internal dep matches
# from 0.5.15lorg3.2
Patch23:	apt-0.5.15cnc6-fix-rpm-internal-dep-check.patch.bz2

# use hdlist ( in gz ) instead of apt index ( in bz2 )
# it replace bz2 compression by gz, 
# it remove some check in acquire-item.cc
# it add default 0: Epoch to all package
Patch300:	%{name}-0.5.5cnc6-mdk.patch.bz2

Requires:	gnupg
BuildRequires:	autoconf2.5
BuildRequires:	automake1.7
BuildRequires:	docbook-dtd31-sgml
BuildRequires:	docbook-utils
BuildRequires:	gettext-devel
BuildRequires:	ncurses-devel
BuildRequires:	readline-devel
BuildRequires:	rpm-devel >= 4.2
BuildRequires:  python-devel
BuildRoot:	%{_tmppath}/%{name}-%{version}-root
Epoch: 1

%description
A port of Debian's apt tools for RPM based distributions,
or at least for Mandriva Linux. Original RPM port done by and 
for Conectiva. It provides the apt-get utility that
provides a simpler, safer way to install and upgrade packages.
APT features complete installation ordering, multiple source
capability and several other unique features. 

Under development, use at your own risk!

%package -n %{libname}
Summary:	Libraries for %{name}
Group:		System/Libraries
Provides:	%{lib_name_orig} = %{epoch}:%{version}-%{release}
Requires:   %name-common
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

%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 -n python-%{name}
Summary:	Python extension for %{name}
Group:		Development/Python

%description -n python-%{name}
This package contains a python modules to access to libapt-pkg. 
With it, you can use the apt configuration file, and access to 
the database of packages.

%package common
Summary:	Common file for %{name} frontend
Group:		System/Configuration/Packaging
Conflicts:  apt < 1:0.5.15cnc6-8mdk
%description common
This package contains the needed files for various apt-frontend, 
such as synaptic, aptitude.

%prep
%setup -q
# mdk everywhere patch
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch6 -p1
#%patch7 -p1
%patch8 -p1
%patch9 -p1
#%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
#%patch16 -p1
%patch17 -p1
%patch18 -p1 -b .build-dep-fix
%patch19 -p1 -b .fixes
%patch20 -p1 -b .rpm444
%patch21 -p1 -b .suggests
%patch22 -p1 -b .rpm446
%patch23 -p1 -b .internal-rpm-deps

%patch300 -p1 
#%patch301 -p1


bzcat %{SOURCE1} > apt.conf
bzcat %{SOURCE2} > sources.list
bzcat %{SOURCE3} > vendors.list
bzcat %{SOURCE4} > rpmpriorities
bzcat %{SOURCE5} > mandriva.conf

%build
# (misc) doesn't work without this on 24/12/2003, i do not have time to look further
cp -f /usr/share/gettext/po/Makefile.in.in po
export WANT_AUTOCONF_2_5=1
aclocal-1.7 -I buildlib
autoconf-2.5x
%configure2_5x --with-hashmap

# 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 of apt includes various patch to integrate it with MandrivaLinux.

It uses the mandriva hdlist, which means you can use
any mandriva mirror in sources.list. You cannot use the synthesis
form of the hdlist at this time.

It adds an option APT::Install::Virtual, to control the installation
of pure virtual packages.

Christiaan Welvaart <cjw@daneel.dyndns.org> contributed  
a patch to add a whatprovides command to apt-cache, a patch
for apt-get build-dep and some other fixes.

And some others minor patch, please check the spec file 
on http://cvs.mandriva.com/contrib-SPECS/apt/

It was built without lua scripting support for the moment.
Python modules can be found in the python-apt package.
EOF

rm -rf $RPM_BUILD_ROOT
%makeinstall

install -d -m 755 $RPM_BUILD_ROOT/var/cache/%{name}/archives/partial
install -d -m 755 $RPM_BUILD_ROOT%{_localstatedir}/%{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
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

# (misc) remove this once the librpm package is fixed and do not
# contain reference to /home, no rpmlint warning.
perl -pi -e 's#-L/home/\w+##g' $RPM_BUILD_ROOT/%{_libdir}/*.la

%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

# Python
install -d -m 755 $RPM_BUILD_ROOT/%py_sitedir/
install -m 644 python/_apt.so  $RPM_BUILD_ROOT/%py_sitedir/
install -m 644 python/apt.py $RPM_BUILD_ROOT/%py_sitedir/

%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

%postun -n %{libname} -p /sbin/ldconfig

%clean
rm -rf %{buildroot}

%files -f %{name}.lang
%defattr(-,root,root)
%doc COPYING* TODO doc/*.txt doc/examples AUTHORS* README.Mandriva
%{_bindir}/*
%{_mandir}/man5/*
%{_mandir}/man8/*

%files common
%{_libdir}/%{name}
/var/cache/%{name}
%{_localstatedir}/%{name}
%dir %{_sysconfdir}/apt
%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
%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

%files -n python-%{name}
%defattr(-,root,root)
%py_sitedir/*

%changelog

* 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.