[Apt-offline-devel] [SCM] Offline APT Package Manager branch, master, updated. 0.9.6-21-gc4a8438

Ritesh Raj Sarraf rrs at researchut.com
Thu Mar 11 14:47:03 UTC 2010


The following commit has been merged in the master branch:
commit c4a843802b4d1047698e42ef647f6c0b017292e7
Author: Ritesh Raj Sarraf <rrs at researchut.com>
Date:   Thu Mar 11 20:13:58 2010 +0530

    Support release type in the upgrade operation also
    
    This is the equivalent of `apt-get -t unstable upgrade`

diff --git a/apt_offline_core/AptOfflineCoreLib.py b/apt_offline_core/AptOfflineCoreLib.py
index 8069f82..9493345 100644
--- a/apt_offline_core/AptOfflineCoreLib.py
+++ b/apt_offline_core/AptOfflineCoreLib.py
@@ -1332,9 +1332,9 @@ def setter(args):
                                 sys.exit(1)
                                 
                                 
-                def Upgrade(self, UpgradeType="upgrade"):
+                def Upgrade(self, UpgradeType="upgrade", ReleaseType=None):
                         if self.apt == "apt-get":
-                                self.__AptGetUpgrade(UpgradeType)
+                                self.__AptGetUpgrade(UpgradeType, ReleaseType)
                         elif self.apt == "aptitude":
                                 pass
                         else:
@@ -1394,28 +1394,52 @@ def setter(args):
                 def __PythonAptUpdate(self):
                         pass
                 
-                def __AptGetUpgrade(self, UpgradeType="upgrade"):
+                def __AptGetUpgrade(self, UpgradeType="upgrade", ReleaseType=None):
+                        self.ReleaseType = ReleaseType
                         
                         os.environ['__apt_set_upgrade'] = self.WriteTo
                         
-                        if UpgradeType == "upgrade":
-                                log.msg( "\nGenerating database of files that are needed for an upgrade.\n" )
-                                
-                                if self.__ExecSystemCmd('/usr/bin/apt-get -qq --print-uris upgrade >> $__apt_set_upgrade') is False:
-                                        log.err( "FATAL: Something is wrong with the apt system.\n" )
+                        if ReleaseType is not None:
+                                os.environ['__apt_set_install_release'] = self.ReleaseType
+                                if UpgradeType == "upgrade":
+                                        log.msg( "\nGenerating database of files that are needed for an upgrade.\n" )
+                                        
+                                        if self.__ExecSystemCmd('/usr/bin/apt-get -qq --print-uris -t $__apt_set_install_release upgrade >> $__apt_set_upgrade') is False:
+                                                log.err( "FATAL: Something is wrong with the apt system.\n" )
+                                                        
+                                elif Str_SetUpgradeType == "dist-upgrade":
+                                        log.msg( "\nGenerating database of files that are needed for a dist-upgrade.\n" )
+                                        
+                                        if self.__ExecSystemCmd( '/usr/bin/apt-get -qq --print-uris -t $__apt_set_install_release dist-upgrade >> $__apt_set_upgrade' ) is False:
+                                                log.err( "FATAL: Something is wrong with the apt system.\n" )
                                                 
-                        elif Str_SetUpgradeType == "dist-upgrade":
-                                log.msg( "\nGenerating database of files that are needed for a dist-upgrade.\n" )
-                                
-                                if self.__ExecSystemCmd( '/usr/bin/apt-get -qq --print-uris dist-upgrade >> $__apt_set_upgrade' ) is False:
-                                        log.err( "FATAL: Something is wrong with the apt system.\n" )
+                                elif Str_SetUpgradeType == "dselect-upgrade":
+                                        log.msg( "\nGenerating database of files that are needed for a dselect-upgrade.\n" )
+                                        if self.__ExecSystemCmd( '/usr/bin/apt-get -qq --print-uris -t $__apt_set_install_release dselect-upgrade >> $__apt_set_upgrade' )  is False:
+                                                log.err( "FATAL: Something is wrong with the apt system.\n" )
+                                else:
+                                        log.err( "Invalid upgrade argument type selected\nPlease use one of, upgrade/dist-upgrade/dselect-upgrade\n" )
                                         
-                        elif Str_SetUpgradeType == "dselect-upgrade":
-                                log.msg( "\nGenerating database of files that are needed for a dselect-upgrade.\n" )
-                                if self.__ExecSystemCmd( '/usr/bin/apt-get -qq --print-uris dselect-upgrade >> $__apt_set_upgrade' )  is False:
-                                        log.err( "FATAL: Something is wrong with the apt system.\n" )
                         else:
-                                log.err( "Invalid upgrade argument type selected\nPlease use one of, upgrade/dist-upgrade/dselect-upgrade\n" )
+                                
+                                if UpgradeType == "upgrade":
+                                        log.msg( "\nGenerating database of files that are needed for an upgrade.\n" )
+                                        
+                                        if self.__ExecSystemCmd('/usr/bin/apt-get -qq --print-uris upgrade >> $__apt_set_upgrade') is False:
+                                                log.err( "FATAL: Something is wrong with the apt system.\n" )
+                                                        
+                                elif Str_SetUpgradeType == "dist-upgrade":
+                                        log.msg( "\nGenerating database of files that are needed for a dist-upgrade.\n" )
+                                        
+                                        if self.__ExecSystemCmd( '/usr/bin/apt-get -qq --print-uris dist-upgrade >> $__apt_set_upgrade' ) is False:
+                                                log.err( "FATAL: Something is wrong with the apt system.\n" )
+                                                
+                                elif Str_SetUpgradeType == "dselect-upgrade":
+                                        log.msg( "\nGenerating database of files that are needed for a dselect-upgrade.\n" )
+                                        if self.__ExecSystemCmd( '/usr/bin/apt-get -qq --print-uris dselect-upgrade >> $__apt_set_upgrade' )  is False:
+                                                log.err( "FATAL: Something is wrong with the apt system.\n" )
+                                else:
+                                        log.err( "Invalid upgrade argument type selected\nPlease use one of, upgrade/dist-upgrade/dselect-upgrade\n" )
                                 
                 def __AptInstallPackage(self, PackageList=None, ReleaseType=None):
                         
@@ -1542,7 +1566,7 @@ def setter(args):
                                                                 install_file.write( uri + ' ' + file + ' ' + size + ' ' + checksum + "\n" )
                                                                 dup_records.append( checksum.__str__() )
                                 else:
-                                        AptInst.Upgrade("upgrade")
+                                        AptInst.Upgrade("upgrade", ReleaseType=Str_SetInstallRelease)
                         elif Str_SetUpgradeType == "dist-upgrade":
                                 AptInst.Upgrade("dist-upgrade")
                         elif Str_SetUpgradeType == "dselect-upgrade":

-- 
Offline APT Package Manager



More information about the Apt-offline-devel mailing list