Просмотр исходного кода

--trivial-only and --no-remove. --trivial-only and --no...
Author: jgg
Date: 1999-10-28 05:54:45 GMT
--trivial-only and --no-remove. --trivial-only and --no-remove.

Arch Librarian лет назад: 22
Родитель
Сommit
d150b09d5e
4 измененных файлов с 33 добавлено и 8 удалено
  1. 19 7
      cmdline/apt-get.cc
  2. 1 0
      debian/changelog
  3. 9 0
      doc/apt-get.8.yo
  4. 4 1
      doc/examples/apt.conf

+ 19 - 7
cmdline/apt-get.cc

@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: apt-get.cc,v 1.86 1999/10/27 05:00:25 jgg Exp $
+// $Id: apt-get.cc,v 1.87 1999/10/28 05:54:45 jgg Exp $
 /* ######################################################################
 /* ######################################################################
    
    
    apt-get - Cover for dpkg
    apt-get - Cover for dpkg
@@ -554,6 +554,10 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true,bool Saftey =
        Cache->BadCount() == 0)
        Cache->BadCount() == 0)
       return true;
       return true;
 
 
+   // No remove flag
+   if (Cache->DelCount() != 0 && _config->FindB("APT::Get::No-Remove",false) == true)
+      return _error->Error("Packages need to be removed but No Remove was specified.");
+       
    // Run the simulator ..
    // Run the simulator ..
    if (_config->FindB("APT::Get::Simulate") == true)
    if (_config->FindB("APT::Get::Simulate") == true)
    {
    {
@@ -643,6 +647,9 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true,bool Saftey =
 
 
    if (Essential == true && Saftey == true)
    if (Essential == true && Saftey == true)
    {
    {
+      if (_config->FindB("APT::Get::Trivial-Only",false) == true)
+	 return _error->Error("Trivial Only specified but this is not a trivial operation.");
+      
       c2out << "You are about to do something potentially harmful" << endl;
       c2out << "You are about to do something potentially harmful" << endl;
       c2out << "To continue type in the phrase 'Yes, I understand this may be bad'" << endl;
       c2out << "To continue type in the phrase 'Yes, I understand this may be bad'" << endl;
       c2out << " ?] " << flush;
       c2out << " ?] " << flush;
@@ -653,10 +660,13 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true,bool Saftey =
       }     
       }     
    }
    }
    else
    else
-   {
+   {      
       // Prompt to continue
       // Prompt to continue
       if (Ask == true || Fail == true)
       if (Ask == true || Fail == true)
       {            
       {            
+	 if (_config->FindB("APT::Get::Trivial-Only",false) == true)
+	    return _error->Error("Trivial Only specified but this is not a trivial operation.");
+	 
 	 if (_config->FindI("quiet",0) < 2 &&
 	 if (_config->FindI("quiet",0) < 2 &&
 	     _config->FindB("APT::Get::Assume-Yes",false) == false)
 	     _config->FindB("APT::Get::Assume-Yes",false) == false)
 	 {
 	 {
@@ -1637,11 +1647,11 @@ int main(int argc,const char *argv[])
       {'d',"download-only","APT::Get::Download-Only",0},
       {'d',"download-only","APT::Get::Download-Only",0},
       {'b',"compile","APT::Get::Compile",0},
       {'b',"compile","APT::Get::Compile",0},
       {'b',"build","APT::Get::Compile",0},
       {'b',"build","APT::Get::Compile",0},
-      {'s',"simulate","APT::Get::Simulate",0},      
-      {'s',"just-print","APT::Get::Simulate",0},      
-      {'s',"recon","APT::Get::Simulate",0},      
-      {'s',"no-act","APT::Get::Simulate",0},      
-      {'y',"yes","APT::Get::Assume-Yes",0},      
+      {'s',"simulate","APT::Get::Simulate",0},
+      {'s',"just-print","APT::Get::Simulate",0},
+      {'s',"recon","APT::Get::Simulate",0},
+      {'s',"no-act","APT::Get::Simulate",0},
+      {'y',"yes","APT::Get::Assume-Yes",0},
       {'y',"assume-yes","APT::Get::Assume-Yes",0},      
       {'y',"assume-yes","APT::Get::Assume-Yes",0},      
       {'f',"fix-broken","APT::Get::Fix-Broken",0},
       {'f',"fix-broken","APT::Get::Fix-Broken",0},
       {'u',"show-upgraded","APT::Get::Show-Upgraded",0},
       {'u',"show-upgraded","APT::Get::Show-Upgraded",0},
@@ -1657,6 +1667,8 @@ int main(int argc,const char *argv[])
       {0,"purge","APT::Get::Purge",0},
       {0,"purge","APT::Get::Purge",0},
       {0,"list-cleanup","APT::Get::List-Cleanup",0},
       {0,"list-cleanup","APT::Get::List-Cleanup",0},
       {0,"reinstall","APT::Get::ReInstall",0},
       {0,"reinstall","APT::Get::ReInstall",0},
+      {0,"trivial-only","APT::Get::Trivial-Only",0},
+      {0,"no-remove","APT::Get::No-Remove",0},
       {'c',"config-file",0,CommandLine::ConfigFile},
       {'c',"config-file",0,CommandLine::ConfigFile},
       {'o',"option",0,CommandLine::ArbItem},
       {'o',"option",0,CommandLine::ArbItem},
       {0,0,0,0}};
       {0,0,0,0}};

+ 1 - 0
debian/changelog

@@ -27,6 +27,7 @@ apt (0.3.13.1) unstable; urgency=low
   * Locks archive directory on clean (woops)
   * Locks archive directory on clean (woops)
   * Remove is not 'sticky'. Closes: #48392
   * Remove is not 'sticky'. Closes: #48392
   * Slightly more accurate 'can not find package' message. Closes: #48311
   * Slightly more accurate 'can not find package' message. Closes: #48311
+  * --trivial-only and --no-remove. Closes: #48518
   
   
  -- Jason Gunthorpe <jgg@debian.org>  Fri,  3 Sep 1999 09:04:28 -0700
  -- Jason Gunthorpe <jgg@debian.org>  Fri,  3 Sep 1999 09:04:28 -0700
  
  

+ 9 - 0
doc/apt-get.8.yo

@@ -226,6 +226,15 @@ When on apt-get will automatically manage the contents of
 reason to turn it off is if you frequently change your source list. See
 reason to turn it off is if you frequently change your source list. See
 bf(APT::Get::List-Cleanup)
 bf(APT::Get::List-Cleanup)
 
 
+dit(bf(--trivial-only))
+Only perform operations are 'trivial'. Logically this can be considered
+related to --assume-yes, where --assume-yes will answer yes to any prompt,
+--trivial-only will answer no. See bf(APT::Get::Trivial-Only)
+
+dit(bf(--no-remove))
+If any packages are to be removed apt-get immediately aborts without
+prompting. See bf(APT::Get::No-Remove)
+
 dit(bf(--diff-only), bd(--tar-only))
 dit(bf(--diff-only), bd(--tar-only))
 Download only the diff or tar file of a source archive.
 Download only the diff or tar file of a source archive.
 
 

+ 4 - 1
doc/examples/apt.conf

@@ -1,4 +1,4 @@
-// $Id: apt.conf,v 1.39 1999/10/22 04:05:48 jgg Exp $
+// $Id: apt.conf,v 1.40 1999/10/28 05:54:46 jgg Exp $
 /* This file is an index of all APT configuration directives. It should
 /* This file is an index of all APT configuration directives. It should
    NOT actually be used as a real config file, though it is a completely
    NOT actually be used as a real config file, though it is a completely
    valid file. Most of the options have sane default values, unless
    valid file. Most of the options have sane default values, unless
@@ -38,6 +38,9 @@ APT
      No-Download "false";
      No-Download "false";
      Purge "false";
      Purge "false";
      List-Cleanup "true";
      List-Cleanup "true";
+     ReInstall "false";
+     Trivial-Only "false";
+     No-Remove "false";
   };
   };
 
 
   Cache 
   Cache