]> git.saurik.com Git - apt.git/commitdiff
* cmdline/apt-get.cc:
authorMichael Vogt <michael.vogt@ubuntu.com>
Wed, 14 Mar 2007 12:10:42 +0000 (13:10 +0100)
committerMichael Vogt <michael.vogt@ubuntu.com>
Wed, 14 Mar 2007 12:10:42 +0000 (13:10 +0100)
  - "apt-get install foo" on a already installed package foo will
    clean the automatic installed flag

cmdline/apt-get.cc
configure.in
debian/changelog

index 4ffb9414b7b4516a722f1d8dc3a26e517b83dd56..430b1bccb9f50b45bb03212f44eb20a2b5e2e627 100644 (file)
@@ -1556,6 +1556,7 @@ bool DoInstall(CommandLine &CmdL)
    if (Cache->BrokenCount() != 0)
       BrokenFix = true;
    
    if (Cache->BrokenCount() != 0)
       BrokenFix = true;
    
+   unsigned int AutoMarkChanged = 0;
    unsigned int ExpectedInst = 0;
    unsigned int Packages = 0;
    pkgProblemResolver Fix(Cache);
    unsigned int ExpectedInst = 0;
    unsigned int Packages = 0;
    pkgProblemResolver Fix(Cache);
@@ -1692,6 +1693,18 @@ bool DoInstall(CommandLine &CmdL)
                  return false;
            if (TryToInstall(Pkg,Cache,Fix,Remove,BrokenFix,ExpectedInst) == false)
               return false;
                  return false;
            if (TryToInstall(Pkg,Cache,Fix,Remove,BrokenFix,ExpectedInst) == false)
               return false;
+
+           // see if we need to fix the auto-mark flag 
+           // e.g. apt-get install foo 
+           // where foo is marked automatic
+           if(Cache[Pkg].Install() == false && 
+              (Cache[Pkg].Flags & pkgCache::Flag::Auto))
+           {
+              ioprintf(c1out,_("%s set to manual installed.\n"),
+                       Pkg.Name());
+              Cache->MarkAuto(Pkg,false);
+              AutoMarkChanged++;
+           }
         }      
       }
 
         }      
       }
 
@@ -1854,6 +1867,14 @@ bool DoInstall(CommandLine &CmdL)
 
    }
 
 
    }
 
+   // if nothing changed in the cache, but only the automark information
+   // we write the StateFile here, otherwise it will be written in 
+   // cache.commit()
+   if (AutoMarkChanged > 0 &&
+       Cache->DelCount() == 0 && Cache->InstCount() == 0 &&
+       Cache->BadCount() == 0)
+      Cache->writeStateFile(NULL);
+
    // See if we need to prompt
    if (Cache->InstCount() == ExpectedInst && Cache->DelCount() == 0)
       return InstallPackages(Cache,false,false);
    // See if we need to prompt
    if (Cache->InstCount() == ExpectedInst && Cache->DelCount() == 0)
       return InstallPackages(Cache,false,false);
index 940601e21842a8e16391cb87757b1cf871d8efec..ca841df36770ef8d948430ca38689659664c04db 100644 (file)
@@ -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_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.46.4ubuntu9")
+AC_DEFINE_UNQUOTED(VERSION,"0.6.46.4ubuntu10")
 PACKAGE="apt"
 AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
 AC_SUBST(PACKAGE)
 PACKAGE="apt"
 AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
 AC_SUBST(PACKAGE)
index 3038e49bdf6defb4e12a3e1c9c9e54a75ca025cf..bb134f7801ce67314a5ed733b70bc64b6ae34c53 100644 (file)
@@ -5,8 +5,11 @@ apt (0.6.46.4ubuntu10) feisty; urgency=low
       of packages in this section manual
   * debian/apt.conf.ubuntu:
     - added APT::Never-MarkAuto-Section "metapackages";
       of packages in this section manual
   * debian/apt.conf.ubuntu:
     - added APT::Never-MarkAuto-Section "metapackages";
+  * cmdline/apt-get.cc:
+    - "apt-get install foo" on a already installed package foo will
+      clean the automatic installed flag
 
 
- --
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 14 Mar 2007 12:34:46 +0100
 
 apt (0.6.46.4ubuntu9) feisty; urgency=low
 
 
 apt (0.6.46.4ubuntu9) feisty; urgency=low