]> git.saurik.com Git - apt.git/blobdiff - cmdline/apt-mark
* apt-pkg/deb/dpkgpm.cc:
[apt.git] / cmdline / apt-mark
index 3a818a3dbaa6bc27d9a8b8eaf7d5491f22b4af52..466a56f274e844073daffb4e5c21394df2088c47 100755 (executable)
@@ -46,11 +46,16 @@ def mark_unmark_automatic(filename, action, pkgs):
                     print "changing %s to %s" % (pkgname,action)
                 newsec = apt_pkg.RewriteSection(tagfile.Section,
                                        [],
                     print "changing %s to %s" % (pkgname,action)
                 newsec = apt_pkg.RewriteSection(tagfile.Section,
                                        [],
-                                       [ ("Auto-Installed",str(action)) ]
-                                       )
+                                       [ ("Auto-Installed",str(action)) ])
+                pkgs.remove(pkgname)
                 outfile.write(newsec+"\n")
             else:
                 outfile.write(str(tagfile.Section)+"\n")
                 outfile.write(newsec+"\n")
             else:
                 outfile.write(str(tagfile.Section)+"\n")
+        if action == 1:
+            for pkgname in pkgs:
+                if options.verbose:
+                    print "changing %s to %s" % (pkgname,action)
+                outfile.write("Package: %s\nAuto-Installed: %d\n\n" % (pkgname, action))
         # all done, rename the tmpfile
         os.chmod(outfile.name, 0644)
         os.rename(outfile.name, STATE_FILE)
         # all done, rename the tmpfile
         os.chmod(outfile.name, 0644)
         os.rename(outfile.name, STATE_FILE)
@@ -77,6 +82,9 @@ if __name__ == "__main__":
     else:
         STATE_FILE=options.filename
 
     else:
         STATE_FILE=options.filename
 
+    if len(args) == 0:
+        parser.error("first argument must be 'markauto', 'unmarkauto' or 'showauto'")
+
     if args[0] == "showauto":
         show_automatic(STATE_FILE)
     else:
     if args[0] == "showauto":
         show_automatic(STATE_FILE)
     else: