pld-ftp-admin: modules/config.py, modules/ftptree.py - separate debuginfo s...

glen glen at pld-linux.org
Wed May 27 00:43:28 CEST 2009


Author: glen                         Date: Tue May 26 22:43:28 2009 GMT
Module: pld-ftp-admin                 Tag: HEAD
---- Log message:
- separate debuginfo support

---- Files affected:
pld-ftp-admin/modules:
   config.py (1.10 -> 1.11) , ftptree.py (1.36 -> 1.37) 

---- Diffs:

================================================================
Index: pld-ftp-admin/modules/config.py
diff -u pld-ftp-admin/modules/config.py:1.10 pld-ftp-admin/modules/config.py:1.11
--- pld-ftp-admin/modules/config.py:1.10	Wed May 27 00:42:54 2009
+++ pld-ftp-admin/modules/config.py	Wed May 27 00:43:23 2009
@@ -45,6 +45,11 @@
 else:
     separate_noarch = False
 
+if value['separate_debuginfo'] == 'yes':
+    separate_debuginfo = True
+else:
+    separate_debuginfo = False
+
 if separate_noarch:
     all_ftp_archs = ['noarch'] + ftp_archs
 else:

================================================================
Index: pld-ftp-admin/modules/ftptree.py
diff -u pld-ftp-admin/modules/ftptree.py:1.36 pld-ftp-admin/modules/ftptree.py:1.37
--- pld-ftp-admin/modules/ftptree.py:1.36	Wed May 27 00:42:54 2009
+++ pld-ftp-admin/modules/ftptree.py	Wed May 27 00:43:23 2009
@@ -75,6 +75,18 @@
             return rpm.labelCompare(('0', self.version, self.release),
                                     ('0', pkg.version, pkg.release))
 
+
+    # unfortunately can't do new Pkg(NVR), and have no "tree" in this pkg context
+    # so this static function
+    def is_debuginfo(self, nvr):
+        """
+        returns true if NVR is debuginfo package and separate debuginfo is enabled
+        """
+        if not config.separate_debuginfo:
+            return False
+        pkg = nvr.split('-')[:-2]
+        return pkg[-1] == 'debuginfo'
+
     def mark4moving(self):
         if not self.marked4moving:
             # Only one pkg in this pool can be marked for moving
@@ -124,7 +136,10 @@
         """
         for arch in self.files.keys():
             for rpm in self.files[arch]:
-                rm(self.tree.basedir + '/' + arch + '/RPMS/' + rpm, test)
+                if self.is_debuginfo(rpm):
+                    rm(self.tree.basedir + '/' + arch + '/debuginfo/' + rpm, test)
+                else:
+                    rm(self.tree.basedir + '/' + arch + '/RPMS/' + rpm, test)
                 if arch == 'noarch':
                     if fileexists(noarchcachedir + rpm + '.filelist'):
                         rm(noarchcachedir + rpm + '.filelist', test)
@@ -142,12 +157,18 @@
                         msg = "TEST "
                     pinfo("%sArch %s for %s is already present in dest tree; removing from srctree" % (msg, arch, self.nvr))
                     for rpm in self.files[arch]:
-                        rm(self.tree.basedir + '/' + arch + '/RPMS/' + rpm, test)
+                        if self.is_debuginfo(rpm):
+                            rm(self.tree.basedir + '/' + arch + '/debuginfo/' + rpm, test)
+                        else:
+                            rm(self.tree.basedir + '/' + arch + '/RPMS/' + rpm, test)
                 else:
                     movedany = True
                     dsttree[self.nvr].files[arch] = self.files[arch]
                     for rpm in self.files[arch]:
-                        mv(self.tree.basedir + '/' + arch + '/RPMS/' + rpm, dsttree.basedir + '/' + arch + '/RPMS/', test)
+                        if self.is_debuginfo(rpm):
+                            mv(self.tree.basedir + '/' + arch + '/debuginfo/' + rpm, dsttree.basedir + '/' + arch + '/debuginfo/', test)
+                        else:
+                            mv(self.tree.basedir + '/' + arch + '/RPMS/' + rpm, dsttree.basedir + '/' + arch + '/RPMS/', test)
             if not test and  movedany:
                 for bid in self.build.keys():
                     dsttree[self.nvr].build[bid] = self.build[bid]
@@ -157,7 +178,10 @@
             # move files
             for arch in self.files.keys():
                 for rpm in self.files[arch]:
-                    mv(self.tree.basedir + '/' + arch + '/RPMS/' + rpm, dsttree.basedir + '/' + arch + '/RPMS/', test)
+                    if self.is_debuginfo(rpm):
+                        mv(self.tree.basedir + '/' + arch + '/debuginfo/' + rpm, dsttree.basedir + '/' + arch + '/debuginfo/', test)
+                    else:
+                        mv(self.tree.basedir + '/' + arch + '/RPMS/' + rpm, dsttree.basedir + '/' + arch + '/RPMS/', test)
 
             # move metadata
             mv(self.tree.basedir + '/SRPMS/.metadata/' + self.nvr + '.src.rpm.info', dsttree.basedir + '/SRPMS/.metadata/', test)
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-ftp-admin/modules/config.py?r1=1.10&r2=1.11&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-ftp-admin/modules/ftptree.py?r1=1.36&r2=1.37&f=u



More information about the pld-cvs-commit mailing list