[yum-git] docs/yum-complete-transaction.8 yum-complete-transaction.py

Seth Vidal skvidal at linux.duke.edu
Mon May 5 19:39:06 UTC 2008


 docs/yum-complete-transaction.8 |    8 +++++++-
 yum-complete-transaction.py     |   18 +++++++++++++++++-
 2 files changed, 24 insertions(+), 2 deletions(-)

New commits:
commit 16bbec1bcb1e6590f177a1a4a2f89338906d0554
Author: Seth Vidal <skvidal at fedoraproject.org>
Date:   Mon May 5 15:38:54 2008 -0400

    yum-complete-transaction --cleanup-only

diff --git a/docs/yum-complete-transaction.8 b/docs/yum-complete-transaction.8
index b9c6551..18f2e79 100644
--- a/docs/yum-complete-transaction.8
+++ b/docs/yum-complete-transaction.8
@@ -3,7 +3,13 @@
 .SH "NAME"
 yum-complete-transaction
 .SH "SYNOPSIS"
-\fByum-complete-transaction\fP
+\fByum-complete-transaction\fP [options]
+.SH "GENERAL OPTIONS"
+.IP "\fB\-h, \-\-help\fP"
+Help; display a help message and then quit\&.
+.IP "\fB\-\-cleanup-only\fP" 
+Only clean up only transaction journal files and exit\&.
+
 .SH "DESCRIPTION"
 .PP 
 \fByum-complete-transaction\fP is a program which finds incomplete or
diff --git a/yum-complete-transaction.py b/yum-complete-transaction.py
index 1563573..c8cd080 100755
--- a/yum-complete-transaction.py
+++ b/yum-complete-transaction.py
@@ -111,6 +111,8 @@ class YumCompleteTransaction(YumUtilBase):
                              YumCompleteTransaction.VERSION,
                              YumCompleteTransaction.USAGE)
         self.logger = logging.getLogger("yum.verbose.cli.yumcompletets")                             
+        self.optparser = self.getOptionParser()         
+        self.addCmdOptions()
         self.main()
 
     def clean_up_ts_files(self, timestamp, path):
@@ -122,6 +124,11 @@ class YumCompleteTransaction(YumUtilBase):
             if os.path.exists(f):
                 os.unlink(f)
 
+    def addCmdOptions(self):
+        self.optparser.add_option("--cleanup-only", default=False, 
+            action="store_true", dest="cleanup",
+            help='Do not complete the transaction just clean up transaction journals')
+
     def main(self):
         # Add util commandline options to the yum-cli ones
         self.optparser = self.getOptionParser() 
@@ -134,9 +141,10 @@ class YumCompleteTransaction(YumUtilBase):
 
 
         if self.conf.uid != 0:
-            self.logger.error("Error: You must be root to finish transactions")
+            self.logger.error("Error: You must be root to run yum-complete-transaction.")
             sys.exit(1)
 
+               
         # Setup yum (Ts, RPM db, Repo & Sack)
         self.doUtilYumSetup()
         # Do the real action
@@ -149,6 +157,14 @@ class YumCompleteTransaction(YumUtilBase):
         if not times:
             print "No unfinished transactions left."      
             sys.exit()
+
+        if opts.cleanup:
+            print "Cleaning up unfinished transaction journals"
+            # nuke ts files in yumlibpath
+            for timestamp in times:
+                print "Cleaning up %s" % timestamp
+                self.clean_up_ts_files(timestamp, self.conf.persistdir)
+            sys.exit()
         
         print "There are %d outstanding transactions to complete. Finishing the most recent one" % len(times)    
         



More information about the Yum-cvs-commits mailing list