]> git.pld-linux.org Git - projects/pld-ftp-admin.git/commitdiff
- add 'separate_noarch' config option (on for Th and off for Ac)
authorMariusz Mazur <mmazur@pld-linux.org>
Wed, 11 May 2005 11:31:18 +0000 (11:31 +0000)
committerMariusz Mazur <mmazur@pld-linux.org>
Wed, 11 May 2005 11:31:18 +0000 (11:31 +0000)
Changed files:
    bin/pfa-from-incoming -> 1.8
    bin/pfa-genindex -> 1.5
    modules/config.py -> 1.5
    modules/ftptree.py -> 1.14

bin/pfa-from-incoming
bin/pfa-genindex
modules/config.py
modules/ftptree.py

index 09e60158baf8a15c0dc89b0f852ffefccc8953ff..429650c9b6807bc591fb66aef131ca1db27798ff 100644 (file)
@@ -174,7 +174,7 @@ for arch in ftp_archs:
 
         f=open(default_to+'SRPMS/.metadata/'+srpm+'.info', 'a')
         for rpm in srcpkg.files['ARCH']:
-            if rpm[-11:]=='.noarch.rpm':
+            if rpm[-11:]=='.noarch.rpm' and config.separate_noarch:
                 move_noarch(f, arch, rpm, dstpkg)
             else:
                 f.write("file:%s:%s\n" % (arch, rpm))
index ec62fe1c66695ba70670b77f166e4949e6b26399..bee4bdede60dba982a98956e884126872a40d043 100644 (file)
@@ -4,7 +4,7 @@
 import sys, os
 sys.path.insert(0, os.environ['HOME']+'/pld-ftp-admin/modules')
 from common import checkdir
-from config import ftp_dir,ftp_archs
+from config import ftp_dir,all_ftp_archs
 import ftpio
 
 if len(sys.argv) < 2:
@@ -34,7 +34,7 @@ home=os.environ['HOME']
 
 for tree in trees:
     print '-------------------------- %s --------------------------' % tree
-    for arch in ['noarch'] + ftp_archs:
+    for arch in all_ftp_archs:
         print 'ARCHITECTURE: %s' % arch
         os.system('%s.stat/bin/poldek --cachedir=%s/tmp/poldek --conf %s.stat/etc/poldek.conf -s %s%s/%s/RPMS/ --mkidxz --mkidx-type pdir' %
                 (ftp_dir,home,ftp_dir,ftp_dir,tree,arch))
index bea35ceb695064107a428e6357e92b2805ffdbc4..c6a35767b83b427f214c9cb71e9afbd8ba1ae590 100644 (file)
@@ -22,9 +22,19 @@ for line in f.readlines():
 
 f.close()
 
+default_to=value['ftp_dir']+'/'+value['default_to']+'/'
 ftp_dir=value['ftp_dir']+'/'
 incoming_dir=value['ftp_dir']+'/'+value['incoming_dir']+'/'
-default_to=value['ftp_dir']+'/'+value['default_to']+'/'
-ftp_archs=value['ftp_archs'].split(' ')
 test_builds_dir=value['ftp_dir']+'/'+value['test_builds_dir']+'/'
+ftp_archs=value['ftp_archs'].split(' ')
+
+if value['separate_noarch']=='yes':
+    separate_noarch=True
+else:
+    separate_noarch=False
+
+if separate_noarch:
+    all_ftp_archs=['noarch'] + ftp_archs
+else:
+    all_ftp_archs=ftp_archs
 
index 3b2c673592852e35eb85e65700833c2fc378f5c9..8b95da8eed06555b2a2c20ab792fbb78df83c102 100644 (file)
@@ -20,6 +20,9 @@ def perror(msg):
     errnum=errnum+1
     print msg
 
+def pwarning(msg):
+    print msg
+
 def rm(file):
     os.remove(file)
     #print 'rm: '+file
@@ -103,10 +106,11 @@ class FtpTree(BaseFtpTree):
         self.marked4moving=[]
         self.pkgnames=[]
         self.__loadpkgnames()
-        self.do_checkbuild=True
         if loadall:
             for pkgname in self.pkgnames:
                 self.loadedpkgs[pkgname]=Pkg(pkgname, self)
+        # Tests:
+        self.do_checkbuild=True
 
     def __getitem__(self, key):
         if self.loadedpkgs.has_key(key):
@@ -117,11 +121,13 @@ class FtpTree(BaseFtpTree):
             return pkg
         else:
             raise KeyError, key
+
     def has_key(self, key):
         if key in self.pkgnames:
             return True
         else:
             return False
+
     def keys(self):
         return self.pkgnames
 
@@ -204,15 +210,19 @@ class FtpTree(BaseFtpTree):
                 perror('Package %s has only src.rpm built' % pkg)
                 continue
             otherpkgnames=self.__find_other_pkgs(pkg, dsttree)
-            curarchs=[]
-            missingarchs=[]
-            for somepkg in otherpkgnames:
-                curarchs.extend(Pkg(somepkg, dsttree).files.keys())
-            for arch in curarchs:
-                if arch not in pkg.files.keys():
-                    missingarchs.append(arch)
-            if missingarchs:
-                perror('Moving %s would remove archs: %s' % (pkg, missingarchs))
+            if otherpkgnames: # check if we're not removing some archs
+                curarchs=[]
+                missingarchs=[]
+                for somepkg in otherpkgnames:
+                    curarchs.extend(Pkg(somepkg, dsttree).files.keys())
+                for arch in curarchs:
+                    if arch not in pkg.files.keys():
+                        missingarchs.append(arch)
+                if missingarchs:
+                    perror('Moving %s would remove archs: %s' %
+                                                            (pkg, missingarchs))
+            else: # warn if a package isn't built for all archs
+                pass
 
     def __rmolderfromsrc(self):
         for pkg in self.marked4moving:
This page took 0.185072 seconds and 4 git commands to generate.