diff options
author | Julian Andres Klode <jak@debian.org> | 2020-08-04 10:16:36 +0000 |
---|---|---|
committer | Julian Andres Klode <jak@debian.org> | 2020-08-04 10:16:36 +0000 |
commit | 63c0657ea54c9268bc1855d5eac92bc636532bd6 (patch) | |
tree | 6c92700a54ef51e58c7d6f54a1b4dcbac78e1fab | |
parent | 11530bab64efd4b4fc46de7833533cea9c69f521 (diff) | |
parent | c19a3276fe7ecfc132e95b0277e9e68ff364dd92 (diff) |
Merge branch 'master' into 'master'
Support marking all newly installed packages as automatically installed
See merge request apt-team/apt!110
-rw-r--r-- | apt-pkg/depcache.cc | 3 | ||||
-rw-r--r-- | apt-private/private-cmndline.cc | 1 | ||||
-rw-r--r-- | doc/apt-get.8.xml | 10 | ||||
-rw-r--r-- | doc/examples/configure-index | 1 |
4 files changed, 14 insertions, 1 deletions
diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index 817d9de3c..c7ef7a400 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -1156,6 +1156,7 @@ struct CompareProviders /*{{{*/ /*}}}*/ bool pkgDepCache::MarkInstall_StateChange(pkgCache::PkgIterator const &Pkg, bool AutoInst, bool FromUser) /*{{{*/ { + bool AlwaysMarkAsAuto = _config->FindB("APT::Get::Mark-Auto", false) == true; auto &P = (*this)[Pkg]; if (P.Protect() && P.InstallVer == P.CandidateVer) return true; @@ -1171,7 +1172,7 @@ bool pkgDepCache::MarkInstall_StateChange(pkgCache::PkgIterator const &Pkg, bool P.Mode = pkgDepCache::ModeInstall; P.InstallVer = P.CandidateVer; - if(FromUser) + if(FromUser && !AlwaysMarkAsAuto) { // Set it to manual if it's a new install or already installed, // but only if its not marked by the autoremover (aptitude depend on this behavior) diff --git a/apt-private/private-cmndline.cc b/apt-private/private-cmndline.cc index 478cb95f1..bcafe785b 100644 --- a/apt-private/private-cmndline.cc +++ b/apt-private/private-cmndline.cc @@ -276,6 +276,7 @@ static bool addArgumentsAPTGet(std::vector<CommandLine::Args> &Args, char const addArg(0,"force-yes","APT::Get::force-yes",0); addArg(0,"print-uris","APT::Get::Print-URIs",0); addArg(0,"trivial-only","APT::Get::Trivial-Only",0); + addArg(0,"mark-auto","APT::Get::Mark-Auto",0); addArg(0,"remove","APT::Get::Remove",0); addArg(0,"only-source","APT::Get::Only-Source",0); addArg(0,"allow-unauthenticated","APT::Get::AllowUnauthenticated",0); diff --git a/doc/apt-get.8.xml b/doc/apt-get.8.xml index e603ec5bb..a7b786dfe 100644 --- a/doc/apt-get.8.xml +++ b/doc/apt-get.8.xml @@ -545,6 +545,16 @@ Configuration Item: <literal>APT::Get::Trivial-Only</literal>.</para></listitem> </varlistentry> + <varlistentry><term><option>--mark-auto</option></term> + <listitem><para> + After successful installation, mark all freshly installed packages as + automatically installed, which will cause each of the packages to be + removed when no more manually installed packages depend on this package. + This is equally to running <command>apt-mark auto</command> for all + installed packages. + Configuration Item: <literal>APT::Get::Mark-Auto</literal>.</para></listitem> + </varlistentry> + <varlistentry><term><option>--no-remove</option></term> <listitem><para>If any packages are to be removed apt-get immediately aborts without prompting. diff --git a/doc/examples/configure-index b/doc/examples/configure-index index f04e32502..d9f269344 100644 --- a/doc/examples/configure-index +++ b/doc/examples/configure-index @@ -73,6 +73,7 @@ APT Assume-Yes "<BOOL>"; // not as dangerous, but use with care still Assume-No "<BOOL>"; Trivial-Only "<BOOL>"; + Mark-Auto "<BOOL>"; Remove "<BOOL>"; AllowUnauthenticated "<BOOL>"; // skip security |