#include <apt-pkg/algorithms.h>
#include <apt-pkg/error.h>
#include <apt-pkg/configuration.h>
+#include <apt-pkg/version.h>
#include <apt-pkg/sptr.h>
+
#include <apti18n.h>
-
+#include <sys/types.h>
#include <iostream>
/*}}}*/
using namespace std;
DepIterator End;
D.GlobOr(Start,End);
if (Start->Type == pkgCache::Dep::Conflicts ||
+ Start->Type == pkgCache::Dep::DpkgBreaks ||
Start->Type == pkgCache::Dep::Obsoletes ||
End->Type == pkgCache::Dep::PreDepends)
{
cout << " Obsoletes:" << D.TargetPkg().Name();
else if (D->Type == pkgCache::Dep::Conflicts)
cout << " Conflicts:" << D.TargetPkg().Name();
+ else if (D->Type == pkgCache::Dep::DpkgBreaks)
+ cout << " Breaks:" << D.TargetPkg().Name();
else
cout << " Depends:" << D.TargetPkg().Name();
}
the necessary calculations to deal with the problems. */
bool pkgApplyStatus(pkgDepCache &Cache)
{
+ pkgDepCache::ActionGroup group(Cache);
+
for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
{
if (I->VersionList == 0)
I->InstState == pkgCache::State::HoldReInstReq)
{
if (I->CurrentVer != 0 && I.CurrentVer().Downloadable() == true)
- Cache.MarkKeep(I);
+ Cache.MarkKeep(I, false, false);
else
{
// Is this right? Will dpkg choke on an upgrade?
if (Cache[I].CandidateVer != 0 &&
Cache[I].CandidateVerIter(Cache).Downloadable() == true)
- Cache.MarkInstall(I);
+ Cache.MarkInstall(I, false, 0, false);
else
return _error->Error(_("The package %s needs to be reinstalled, "
"but I can't find an archive for it."),I.Name());
case pkgCache::State::HalfConfigured:
if ((I->CurrentVer != 0 && I.CurrentVer().Downloadable() == true) ||
I.State() != pkgCache::PkgIterator::NeedsUnpack)
- Cache.MarkKeep(I);
+ Cache.MarkKeep(I, false, false);
else
{
if (Cache[I].CandidateVer != 0 &&
Cache[I].CandidateVerIter(Cache).Downloadable() == true)
- Cache.MarkInstall(I);
+ Cache.MarkInstall(I, true, 0, false);
else
Cache.MarkDelete(I);
}
on the result. */
bool pkgFixBroken(pkgDepCache &Cache)
{
+ pkgDepCache::ActionGroup group(Cache);
+
// Auto upgrade all broken packages
for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
if (Cache[I].NowBroken() == true)
- Cache.MarkInstall(I,true);
+ Cache.MarkInstall(I, true, 0, false);
/* Fix packages that are in a NeedArchive state but don't have a
downloadable install version */
if (Cache[I].InstVerIter(Cache).Downloadable() == false)
continue;
- Cache.MarkInstall(I,true);
+ Cache.MarkInstall(I, true, 0, false);
}
pkgProblemResolver Fix(&Cache);
*/
bool pkgDistUpgrade(pkgDepCache &Cache)
{
+ pkgDepCache::ActionGroup group(Cache);
+
/* Auto upgrade all installed packages, this provides the basis
for the installation */
for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
if (I->CurrentVer != 0)
- Cache.MarkInstall(I,true);
+ Cache.MarkInstall(I, true, 0, false);
/* Now, auto upgrade all essential packages - this ensures that
the essential packages are present and working */
for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
if ((I->Flags & pkgCache::Flag::Essential) == pkgCache::Flag::Essential)
- Cache.MarkInstall(I,true);
+ Cache.MarkInstall(I, true, 0, false);
/* We do it again over all previously installed packages to force
conflict resolution on them all. */
for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
if (I->CurrentVer != 0)
- Cache.MarkInstall(I,false);
+ Cache.MarkInstall(I, false, 0, false);
pkgProblemResolver Fix(&Cache);
if (I->SelectedState == pkgCache::State::Hold)
{
Fix.Protect(I);
- Cache.MarkKeep(I);
+ Cache.MarkKeep(I, false, false);
}
}
}
to install packages not marked for install */
bool pkgAllUpgrade(pkgDepCache &Cache)
{
+ pkgDepCache::ActionGroup group(Cache);
+
pkgProblemResolver Fix(&Cache);
if (Cache.BrokenCount() != 0)
continue;
if (I->CurrentVer != 0 && Cache[I].InstallVer != 0)
- Cache.MarkInstall(I,false);
+ Cache.MarkInstall(I, false, 0, false);
}
return Fix.ResolveByKeep();
the package is restored. */
bool pkgMinimizeUpgrade(pkgDepCache &Cache)
{
+ pkgDepCache::ActionGroup group(Cache);
+
if (Cache.BrokenCount() != 0)
return false;
continue;
// Keep it and see if that is OK
- Cache.MarkKeep(I);
+ Cache.MarkKeep(I, false, false);
if (Cache.BrokenCount() != 0)
- Cache.MarkInstall(I,false);
+ Cache.MarkInstall(I, false, 0, false);
else
{
// If keep didnt actually do anything then there was no change..
Score += PrioMap[Cache[I].InstVerIter(Cache)->Priority];
/* This helps to fix oddball problems with conflicting packages
- on the same level. We enhance the score of installed packages */
- if (I->CurrentVer != 0)
+ on the same level. We enhance the score of installed packages
+ if those are not obsolete
+ */
+ if (I->CurrentVer != 0 && Cache[I].CandidateVerIter(Cache).Downloadable())
Score += 1;
}
installable */
bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg)
{
+ pkgDepCache::ActionGroup group(Cache);
+
if ((Flags[Pkg->ID] & Upgradable) == 0 || Cache[Pkg].Upgradable() == false)
return false;
if ((Flags[Pkg->ID] & Protected) == Protected)
Flags[Pkg->ID] &= ~Upgradable;
bool WasKept = Cache[Pkg].Keep();
- Cache.MarkInstall(Pkg,false);
+ Cache.MarkInstall(Pkg, false, 0, false);
// This must be a virtual package or something like that.
if (Cache[Pkg].InstVerIter(Cache).end() == true)
/* We let the algorithm deal with conflicts on its next iteration,
it is much smarter than us */
if (Start->Type == pkgCache::Dep::Conflicts ||
+ Start->Type == pkgCache::Dep::DpkgBreaks ||
Start->Type == pkgCache::Dep::Obsoletes)
break;
if (Fail == true)
{
if (WasKept == true)
- Cache.MarkKeep(Pkg);
+ Cache.MarkKeep(Pkg, false, false);
else
Cache.MarkDelete(Pkg);
return false;
upgrade packages to advoid problems. */
bool pkgProblemResolver::Resolve(bool BrokenFix)
{
+ pkgDepCache::ActionGroup group(Cache);
+
unsigned long Size = Cache.Head().PackageCount;
// Record which packages are marked for install
{
if (Cache[I].InstBroken() == true && BrokenFix == true)
{
- Cache.MarkInstall(I,false);
+ Cache.MarkInstall(I, false, 0, false);
if (Cache[I].Install() == true)
Again = true;
}
pkgCache::Version *OldVer = Cache[I].InstallVer;
Flags[I->ID] &= ReInstateTried;
- Cache.MarkInstall(I,false);
+ Cache.MarkInstall(I, false, 0, false);
if (Cache[I].InstBroken() == true ||
OldBreaks < Cache.BrokenCount())
{
if (OldVer == 0)
Cache.MarkDelete(I);
else
- Cache.MarkKeep(I);
+ Cache.MarkKeep(I, false, false);
}
else
if (Debug == true)
{
if (Debug == true)
clog << " Or group keep for " << I.Name() << endl;
- Cache.MarkKeep(I);
+ Cache.MarkKeep(I, false, false);
Change = true;
}
}
SPtrArray<pkgCache::Version *> VList = Start.AllTargets();
if (*VList == 0 && (Flags[I->ID] & Protected) != Protected &&
Start->Type != pkgCache::Dep::Conflicts &&
+ Start->Type != pkgCache::Dep::DpkgBreaks &&
Start->Type != pkgCache::Dep::Obsoletes &&
Cache[I].NowBroken() == false)
{
}
Change = true;
- Cache.MarkKeep(I);
+ Cache.MarkKeep(I, false, false);
break;
}
if (Scores[I->ID] <= Scores[Pkg->ID] ||
((Cache[Start] & pkgDepCache::DepNow) == 0 &&
End->Type != pkgCache::Dep::Conflicts &&
+ End->Type != pkgCache::Dep::DpkgBreaks &&
End->Type != pkgCache::Dep::Obsoletes))
{
// Try a little harder to fix protected packages..
/* See if a keep will do, unless the package is protected,
then installing it will be necessary */
bool Installed = Cache[I].Install();
- Cache.MarkKeep(I);
+ Cache.MarkKeep(I, false, false);
if (Cache[I].InstBroken() == false)
{
// Unwind operation will be keep now
// Restore
if (InOr == true && Installed == true)
- Cache.MarkInstall(I,false);
+ Cache.MarkInstall(I, false, 0, false);
if (Debug == true)
clog << " Holding Back " << I.Name() << " rather than change " << Start.TargetPkg().Name() << endl;
(Start->Type == pkgCache::Dep::Conflicts ||
Start->Type == pkgCache::Dep::Obsoletes))
continue;
-
+
+ if (Start->Type == pkgCache::Dep::DpkgBreaks)
+ {
+ /* Would it help if we upgraded? */
+ if (Cache[End] & pkgDepCache::DepGCVer) {
+ if (Debug)
+ clog << " Upgrading " << Pkg.Name() << " due to Breaks field in " << I.Name() << endl;
+ Cache.MarkInstall(Pkg, false, 0, false);
+ continue;
+ }
+ if (Debug)
+ clog << " Will not break " << Pkg.Name() << " as stated in Breaks field in " << I.Name() <<endl;
+ Cache.MarkKeep(I, false, false);
+ continue;
+ }
+
// Skip adding to the kill list if it is protected
if ((Flags[Pkg->ID] & Protected) != 0)
continue;
// Hm, nothing can possibly satisify this dep. Nuke it.
if (VList[0] == 0 &&
Start->Type != pkgCache::Dep::Conflicts &&
+ Start->Type != pkgCache::Dep::DpkgBreaks &&
Start->Type != pkgCache::Dep::Obsoletes &&
(Flags[I->ID] & Protected) != Protected)
{
// Restore
if (InOr == true && Installed == true)
- Cache.MarkInstall(I,false);
+ Cache.MarkInstall(I, false, 0, false);
if (Debug == true)
clog << " Holding Back " << I.Name() << " because I can't find " << Start.TargetPkg().Name() << endl;
{
if (Debug == true)
clog << " Fixing " << I.Name() << " via keep of " << J->Pkg.Name() << endl;
- Cache.MarkKeep(J->Pkg);
+ Cache.MarkKeep(J->Pkg, false, false);
}
if (Counter > 1)
return _error->Error(_("Unable to correct problems, you have held broken packages."));
}
+ // set the auto-flags (mvo: I'm not sure if we _really_ need this, but
+ // I didn't managed
+ pkgCache::PkgIterator I = Cache.PkgBegin();
+ for (;I.end() != true; I++) {
+ if (Cache[I].NewInstall() && !(Flags[I->ID] & PreInstalled)) {
+ if(_config->FindI("Debug::pkgAutoRemove",false)) {
+ std::clog << "Resolve installed new pkg: " << I.Name()
+ << " (now marking it as auto)" << std::endl;
+ }
+ Cache[I].Flags |= pkgCache::Flag::Auto;
+ }
+ }
+
+
return true;
}
/*}}}*/
system was non-broken previously. */
bool pkgProblemResolver::ResolveByKeep()
{
+ pkgDepCache::ActionGroup group(Cache);
+
unsigned long Size = Cache.Head().PackageCount;
if (Debug == true)
{
if (Debug == true)
clog << "Keeping package " << I.Name() << endl;
- Cache.MarkKeep(I);
+ Cache.MarkKeep(I, false, false);
if (Cache[I].InstBroken() == false)
{
K = PList - 1;
{
if (Debug == true)
clog << " Keeping Package " << Pkg.Name() << " due to dep" << endl;
- Cache.MarkKeep(Pkg);
+ Cache.MarkKeep(Pkg, false, false);
}
if (Cache[I].InstBroken() == false)
/* This is used to make sure protected packages are installed */
void pkgProblemResolver::InstallProtect()
{
+ pkgDepCache::ActionGroup group(Cache);
+
for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
{
if ((Flags[I->ID] & Protected) == Protected)
{
if ((Flags[I->ID] & ToRemove) == ToRemove)
Cache.MarkDelete(I);
- else
- Cache.MarkInstall(I,false);
+ else
+ {
+ // preserver the information if the package was auto
+ // or manual installed
+ bool autoInst = (Cache[I].Flags & pkgCache::Flag::Auto);
+ Cache.MarkInstall(I, false, 0, !autoInst);
+ }
}
}
}
qsort(List,Count,sizeof(*List),PrioComp);
}
/*}}}*/
+
-
+apt (0.7.0) experimental; urgency=low
+
+ * Branch that contains tall the new features
+ * Removed all #pragma interface/implementation
+ * Branch that contains tall the new features:
+ * translated package descriptions
+ * task install support
+ * automatic dependency removal
+ * Removed all #pragma interface/implementation
+ * merged support for the new dpkg "Breaks" field
+ (thanks to Ian Jackson)
+ * handle network failures more gracefully on "update"
+ * support for unattended-upgrades (via unattended-upgrades
+ package)
+
+ -- Michael Vogt <mvo@debian.org> Thu, 14 Dec 2006 11:31:41 +0100
+
apt (0.6.46.5) UNRELEASED; urgency=low
* apt-pkg/algorithm.cc:
- use clog for all debugging
+ - only increase the score of installed applications if they
+ are not obsolete
- -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 18 Dec 2006 19:39:05 +0100
+ -- Michael Vogt <mvo@debian.org> Thu, 14 Dec 2006 11:31:41 +0100
apt (0.6.46.4) unstable; urgency=high
messages
* Merged from Christian Perrier bzr branch:
- - ca.po: Updated to 514t
- - be.po: Updated to 514t
- - it.po: Updated to 514t
- - hu.po: Updated to 514t
- - zh_TW.po: Updated to 514t
- - ar.po: Updated to 293t221u.
- - ru.po: Updated to 514t. Closes: #392466
- - nb.po: Updated to 514t. Closes: #392466
- - pt.po: Updated to 514t. Closes: #393199
- - fr.po: One spelling error corrected: s/accèder/accéder
- - km.po: Updated to 514t.
- - ko.po: Updated to 514t.
- - bg.po: Updated to 514t.
- - de.po: Updated to 514t.
- - en_GB.po: Updated to 514t.
-
- -- Michael Vogt <mvo@debian.org> Thu, 2 Nov 2006 11:37:58 +0100
+ - ca.po: Updated to 514t
+ - be.po: Updated to 514t
+ - it.po: Updated to 514t
+ - hu.po: Updated to 514t
+ - zh_TW.po: Updated to 514t
+ - ar.po: Updated to 293t221u.
+ - ru.po: Updated to 514t. Closes: #392466
+ - nb.po: Updated to 514t. Closes: #392466
+ - pt.po: Updated to 514t. Closes: #393199
+ - fr.po: One spelling error corrected: s/accèder/accéder
+ - km.po: Updated to 514t.
+ - ko.po: Updated to 514t.
+ - bg.po: Updated to 514t.
+ - de.po: Updated to 514t.
+ - en_GB.po: Updated to 514t.
+
+ -- Michael Vogt <mvo@debian.org> Thu, 2 Nov 2006 11:37:58 +0100
apt (0.6.46.2) unstable; urgency=low
+ * debian/control:
+ - depend on debian-archive-keyring to offer clean upgrade path
+ (closes: #386800)
* Merged from Christian Perrier bzr branch:
- es.po: Updated to 514t. Closes: #391661
- da.po: Updated to 514t. Closes: #391424
- cs.po: Updated. Closes: #391064
- es.po: Updated to 514t. Closes: #391661
- da.po: Updated to 514t. Closes: #391424
-
+
-- Michael Vogt <mvo@debian.org> Wed, 11 Oct 2006 09:03:15 +0200
apt (0.6.46.1) unstable; urgency=low
+ * merged "install-recommends" branch (ABI break):
+ - new "--install-recommends"
+ - install new recommends on "upgrade" if --install-recommends is
+ given
+ - new "--fix-policy" option to install all packages with unmet
+ important dependencies (usefull with --install-recommends to
+ see what not-installed recommends are on the system)
+ - fix of recommended packages display (only show CandidateVersion
+ fix or-group handling)
+ * merged "install-task" branch (use with "apt-get install taskname^")
* methods/gzip.cc:
- deal with empty files
* Applied patch from Daniel Schepler to make apt bin-NMU able.
- (closes: bug#359634)
* rebuild against current g++ because of:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29289
- (closes: #390189)
* fix broken i18n in the dpkg progress reporting, thanks to
Frans Pop and Steinar Gunderson. (closes: #389261)
* Merged from Christian Perrier bzr branch:
* apt-pkg/contrib/sha256.cc:
- fixed the sha256 generation (closes: #378183)
* ftparchive/cachedb.cc:
- - applied patch from Anthony Towns to fix Clean() function
+ - applied patch from ajt to fix Clean() function
(closes: #379576)
* doc/apt-get.8.xml:
- fix path to the apt user build (Closes: #375640)
- fix for string mangling, closes: #373864
* apt-pkg/acquire-item.cc:
- check for bzip2 in /bin (closes: #377391)
- * apt-pkg/tagfile.cc:
- - make it work on non-mapable files again, thanks
- to James Troup for confirming the fix (closes: #376777)
* Merged from Christian Perrier bzr branch:
* ko.po: Updated to 512t. Closes: #378901
* hu.po: Updated to 512t. Closes: #376330
* dz.po: New Dzongkha translation: 512t
* ro.po: Updated to 512t
* eu.po: Updated
+ * eu.po: Updated
+ * fix apt-get dist-upgrade
+ * fix warning if no /var/lib/apt/extended_states is present
+ * don't download Translations for deb-src sources.list lines
+ * apt-pkg/tagfile.cc:
+ - support not-mmapable files again
- -- Michael Vogt <mvo@debian.org> Thu, 27 Jul 2006 00:52:05 +0200
+ -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 25 Jul 2006 11:55:22 +0200
-apt (0.6.44.2) unstable; urgency=low
-
- * apt-pkg/depcache.cc:
- - added Debug::pkgDepCache::AutoInstall (thanks to infinity)
- * apt-pkg/acquire-item.cc:
- - fix missing chmod() in the new aquire code
- (thanks to Bastian Blank, Closes: #367425)
- * merged from
- http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main:
- * sk.po: Completed to 512t
- * eu.po: Completed to 512t
- * fr.po: Completed to 512t
- * sv.po: Completed to 512t
- * Update all PO and the POT. Gives 506t6f for formerly
- complete translations
-
- -- Michael Vogt <mvo@debian.org> Wed, 14 Jun 2006 12:00:57 +0200
+apt (0.6.44.2exp1) experimental; urgency=low
+
+ * added support for i18n of the package descriptions
+ * added support for aptitude like auto-install tracking (a HUGE
+ HUGE thanks to Daniel Burrows who made this possible)
+ * synced with the http://people.debian.org/~mvo/bzr/apt/debian-sid branch
+ * build from http://people.debian.org/~mvo/bzr/apt/debian-experimental
+
+ -- Michael Vogt <mvo@debian.org> Mon, 3 Jul 2006 21:50:31 +0200
+
+apt (0.6.44.2) unstable; urgency=low
+
+ * apt-pkg/depcache.cc:
+ - added Debug::pkgDepCache::AutoInstall (thanks to infinity)
+ * apt-pkg/acquire-item.cc:
+ - fix missing chmod() in the new aquire code
+ (thanks to Bastian Blank, Closes: #367425)
+ * merged from
+ http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main:
+ * sk.po: Completed to 512t
+ * eu.po: Completed to 512t
+ * fr.po: Completed to 512t
+ * sv.po: Completed to 512t
+ * Update all PO and the POT. Gives 506t6f for formerly
+ complete translations
+
+ -- Michael Vogt <mvo@debian.org> Wed, 14 Jun 2006 12:00:57 +0200
apt (0.6.44.1-0.1) unstable; urgency=low
apt (0.6.44.1) unstable; urgency=low
+ * apt-pkg/acquire-item.cc:
+ - fix reversed logic of the "Acquire::PDiffs" option
* merged from
http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main:
- po/LINGUAS: added "bg" Closes: #360262
- po/gl.po: Galician translation update. Closes: #366849
- po/hu.po: Hungarian translation update. Closes: #365448
- po/cs.po: Czech translation updated. Closes: #367244
+ * apt-pkg/contrib/sha256.cc:
+ - applied patch to fix unaligned access problem. Closes: #367417
+ (thanks to David Mosberger)
-- Michael Vogt <mvo@debian.org> Tue, 16 May 2006 21:51:16 +0200
apt (0.6.44) unstable; urgency=low
* apt-pkg/acquire.cc: don't show ETA if it is 0 or absurdely large
+ * apt-pkg/contrib/sha256.{cc,h},hashes.{cc,h}: support for sha256
+ (thanks to Anthony Towns)
+ * ftparchive/cachedb.{cc,h},writer.{cc,h}: optimizations
+ (thanks to Anthony Towns)
+ * apt pdiff support from experimental merged
+ * apt-pkg/deb/dpkgpm.cc: wording fixes (thanks to Matt Zimmerman)
* apt-pkg/deb/dpkgpm.cc:
- wording fixes (thanks to Matt Zimmerman)
- - fix error in dpkg interaction (closes: #364513,
- thanks to Martin Dickopp)
+ - fix error in dpkg interaction (closes: #364513, thanks to Martin Dickopp)
* apt-pkg/tagfile.{cc,h}:
- use MMap to read the entries (thanks to Zephaniah E. Hull for the
patch) Closes: #350025
* cmdline/apt-cdrom.cc:
- fix some missing gettext() calls (closes: #334539)
* doc/apt-cache.8.xml: fix typo (closes: #334714)
-
+
-- Michael Vogt <mvo@debian.org> Wed, 19 Oct 2005 22:02:09 +0200
apt (0.6.41) unstable; urgency=low
* Add Welsh translation from Dafydd Harries
(daf@muse.19inch.net--2005/apt--main--0--patch-1)
* Change debian/bugscript to use #!/bin/bash (Closes: #313402)
+ * Fix a incorrect example in the man-page (closes: #282918)
-- Matt Zimmerman <mdz@ubuntu.com> Tue, 24 May 2005 14:38:25 -0700
Maintainer: APT Development Team <deity@lists.debian.org>
Uploaders: Jason Gunthorpe <jgg@debian.org>, Adam Heath <doogie@debian.org>, Matt Zimmerman <mdz@debian.org>, Michael Vogt <mvo@debian.org>
Standards-Version: 3.6.2.2
- Build-Depends: debhelper (>= 5.0), libdb4.4-dev, gettext (>= 0.12)
+ Build-Depends: debhelper (>= 5.0), libdb4.4-dev, gettext (>= 0.12), libcurl3-gnutls-dev
Build-Depends-Indep: debiandoc-sgml, docbook-utils (>= 0.6.12-1)
Package: apt
Architecture: any
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, debian-archive-keyring
Priority: important
Replaces: libapt-pkg-doc (<< 0.3.7), libapt-pkg-dev (<< 0.3.7)
Provides: ${libapt-pkg:provides}
-Recommends: debian-archive-keyring
-Suggests: aptitude | synaptic | gnome-apt | wajig, dpkg-dev, apt-doc, bzip2, gnupg
+Suggests: aptitude | synaptic | gnome-apt | wajig, dpkg-dev, apt-doc, bzip2
Section: admin
Description: Advanced front-end for dpkg
This is Debian's next generation front-end for the dpkg package manager.
apt-extracttemplates is used by debconf to prompt for configuration
questions before installation. apt-ftparchive is used to create Package
and other index files. apt-sortpkgs is a Package/Source file normalizer.
+
+ Package: apt-transport-https
+ Architecture: any
+ Depends: ${shlibs:Depends}
+ Priority: optional
+ Section: admin
+ Description: APT https transport
+ This package contains a APT https transport. It makes it possible to
+ use 'deb https://foo distro main' lines in the sources.list.
# Build architecture-dependent files here.
- binary-arch: apt libapt-pkg-dev apt-utils
+ binary-arch: apt-transport-https apt libapt-pkg-dev apt-utils
apt: build debian/shlibs.local
dh_testdir -p$@
dh_testroot -p$@
cp debian/bugscript debian/$@/usr/share/bug/apt/script
cp share/debian-archive.gpg debian/$@/usr/share/$@
-
+ cp debian/apt.conf.autoremove debian/$@/etc/apt/apt.conf.d/01autoremove
# head -n 500 ChangeLog > debian/ChangeLog
+ # make rosetta happy and remove pot files in po/ (but leave stuff
+ # in po/domains/* untouched) and cp *.po into each domain dir
+ rm -f build/po/*.pot
+ rm -f po/*.pot
+
dh_installexamples -p$@ $(BLD)/docs/examples/*
dh_installman -p$@
dh_installcron -p$@
dh_md5sums -p$@
dh_builddeb -p$@
+ apt-transport-https: build debian/shlibs.local
+ dh_testdir -p$@
+ dh_testroot -p$@
+ dh_clean -p$@ -k
+ dh_installdirs -p$@
+
+ # install the method
+ mkdir -p debian/$@/usr/lib/apt/methods
+ mv $(BLD)/bin/methods/https debian/$@/usr/lib/apt/methods
+
+ dh_installdocs -p$@
+ dh_installexamples -p$@
+
+ # Install the man pages..
+ dh_installman -p$@
+
+ dh_installchangelogs -p$@
+ dh_strip -p$@
+ dh_compress -p$@
+ dh_fixperms -p$@
+ dh_installdeb -p$@
+ dh_shlibdeps -p$@ -l`pwd`/debian/apt/usr/lib:`pwd`/debian/$@/usr/lib
+ dh_gencontrol -p$@
+ dh_md5sums -p$@
+ dh_builddeb -p$@
+
source diff:
@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
mkdir -p debian/arch-build/apt-$(APT_DEBVER)
tar -c --exclude=arch-build --no-recursion -f - `bzr inventory` | (cd debian/arch-build/$(PKG)-$(APT_DEBVER);tar xf -)
$(MAKE) -C debian/arch-build/apt-$(APT_DEBVER) startup doc
- (cd debian/arch-build/apt-$(APT_DEBVER); $(DEB_BUILD_PROG))
+ (cd debian/arch-build/apt-$(APT_DEBVER); $(DEB_BUILD_PROG); dpkg-genchanges -S > ../apt_$(APT_DEBVER)_source.changes)
{
Architecture "i386";
Build-Essential "build-essential";
-
+
+ NeverAutoRemove { "linux-kernel.*"; }; // packages that should never
+ // considered for autoRemove
+
// Options for apt-get
Get
{
Arch-Only "false";
+ AutomaticRemove "false";
Download-Only "false";
Simulate "false";
Assume-Yes "false";
Cache-Limit "4194304";
Default-Release "";
+ // consider Recommends, Suggests as important dependencies that should
+ // be installed by default
+ APT::Install-Recommends "false";
+ APT::Install-Suggests "false";
// Write progress messages on this fd (for stuff like base-config)
Status-Fd "-1";
Queue-Mode "host"; // host|access
Retries "0";
Source-Symlinks "true";
+
+ PDiffs "true"; // try to get the IndexFile diffs
// HTTP method configuration
http
Dl-Limit "7"; // 7Kb/sec maximum download rate
};
+ // HTTPS method configuration:
+ // - uses the http proxy config
+ // - uses the http cache-control values
+ // - uses the http Dl-Limit values
+ https
+ {
+ Verify-Peer "false";
+ SslCert "/etc/apt/some.pem";
+ CaPath "/etc/ssl/certs";
+ Verify-Host" "2";
+ };
+
ftp
{
Proxy "ftp://127.0.0.1/";
pkgDPkgPM "false";
pkgDPkgProgressReporting "false";
pkgOrderList "false";
+ pkgAutoRemove "false"; // show information about automatic removes
BuildDeps "false";
-
pkgInitialize "false"; // This one will dump the configuration space
NoLocking "false";
Acquire::Ftp "false"; // Show ftp command traffic
Acquire::Http "false"; // Show http command traffic
+ Acquire::Https "false"; // Show https debug
Acquire::gpgv "false"; // Show the gpgv traffic
aptcdrom "false"; // Show found package files
IdentCdrom "false";
BIN := $(BIN)/methods
# FIXME..
-LIB_APT_PKG_MAJOR = 3.11
+LIB_APT_PKG_MAJOR = 4.3
APT_DOMAIN := libapt-pkg$(LIB_APT_PKG_MAJOR)
# The file method
SOURCE = http.cc rfc2553emu.cc connect.cc
include $(PROGRAM_H)
+ # The https method
+ PROGRAM=https
+ SLIBS = -lapt-pkg -lcurl
+ LIB_MAKES = apt-pkg/makefile
+ SOURCE = https.cc
+ include $(PROGRAM_H)
+
# The ftp method
PROGRAM=ftp
SLIBS = -lapt-pkg $(SOCKETLIBS)
SOURCE = ftp.cc rfc2553emu.cc connect.cc
include $(PROGRAM_H)
+# The rred method
+PROGRAM=rred
+SLIBS = -lapt-pkg $(SOCKETLIBS)
+LIB_MAKES = apt-pkg/makefile
+SOURCE = rred.cc
+include $(PROGRAM_H)
+
# The rsh method
PROGRAM=rsh
SLIBS = -lapt-pkg