diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2006-09-21 02:02:55 +0200 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2006-09-21 02:02:55 +0200 |
commit | eeb38a9afa000ca1fbf1a6b4d047d65ecf6d60f5 (patch) | |
tree | b358f4e90d77678cf13738be0afa8647d454c492 | |
parent | 95689ededb9738b0c4ec6ebf1add3b79595cc39a (diff) | |
parent | 320854985be0fe14491385ca349783ab8a9d7797 (diff) |
* merged from the auto-mark branch
* uploaded
-rw-r--r-- | apt-pkg/depcache.cc | 14 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | debian/changelog | 10 |
3 files changed, 22 insertions, 4 deletions
diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index b8c996c58..87443f9f3 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -715,9 +715,18 @@ void pkgDepCache::MarkKeep(PkgIterator const &Pkg, bool Soft, bool FromUser) // We dont even try to keep virtual packages.. if (Pkg->VersionList == 0) return; - + +#if 0 // reseting the autoflag here means we lose the + // auto-mark information if a user selects a package for removal + // but changes his mind then and sets it for keep again + // - this makes sense as default when all Garbage dependencies + // are automatically marked for removal (as aptitude does). + // setting a package for keep then makes it no longer autoinstalled + // for all other use-case this action is rather suprising if(FromUser && !P.Marked) P.Flags &= ~Flag::Auto; +#endif + RemoveSizes(Pkg); RemoveStates(Pkg); @@ -1316,8 +1325,7 @@ bool pkgDepCache::Sweep() StateCache &state=PkgState[p->ID]; // if it is not marked and it is installed, it's garbage - if(!state.Marked && (!p.CurrentVer().end() || state.Install()) && - !state.Delete()) + if(!state.Marked && (!p.CurrentVer().end() || state.Install())) { state.Garbage=true; if(_config->FindB("Debug::pkgAutoRemove",false)) diff --git a/configure.in b/configure.in index baedcad12..161fe5558 100644 --- a/configure.in +++ b/configure.in @@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib) AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in) dnl -- SET THIS TO THE RELEASE VERSION -- -AC_DEFINE_UNQUOTED(VERSION,"0.6.45ubuntu11") +AC_DEFINE_UNQUOTED(VERSION,"0.6.45ubuntu12") PACKAGE="apt" AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE") AC_SUBST(PACKAGE) diff --git a/debian/changelog b/debian/changelog index 5b1336231..b7f3dfdcb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +apt (0.6.45ubuntu12) edgy; urgency=low + + * apt-pkg/depcache.cc: + - fix in the sweep() code, set garbage flag for packages scheduled + for removal too + - do not change the autoFlag in MarkKeep(), this can lead to suprising + side effects + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 21 Sep 2006 00:58:24 +0200 + apt (0.6.45ubuntu11) edgy; urgency=low * removed "installtask" and change it so that tasknames can be given |