]> git.pld-linux.org Git - projects/pld-ftp-admin.git/commitdiff
- IT'S ALIVE!
authorMariusz Mazur <mmazur@pld-linux.org>
Mon, 29 Nov 2004 22:14:53 +0000 (22:14 +0000)
committerMariusz Mazur <mmazur@pld-linux.org>
Mon, 29 Nov 2004 22:14:53 +0000 (22:14 +0000)
Changed files:
    bin/pfa-from-incoming -> 1.3
    modules/baseftptree.py -> 1.4
    modules/ftptree.py -> 1.9

bin/pfa-from-incoming
modules/baseftptree.py
modules/ftptree.py

index a4680d6480779e7f629d988c08d9461da3e49dc9..f6f971c095f7f342386e6fd08ab502d24952837e 100644 (file)
@@ -7,6 +7,7 @@ from config import incoming_dir, default_to, ftp_archs
 import config
 from common import noarchcachedir, tmpdir
 from baseftptree import BaseFtpTree, BasePkg
+cval=config.value
 
 def log(msg):
     print msg
@@ -36,7 +37,7 @@ def getcontent(file):
     else:
         return content[:-4]
 
-ftptree=BaseFtpTree(config.value['default_to'])
+ftptree=BaseFtpTree(cval['default_to'])
 
 for uploadinfo in findfiles(incoming_dir+'SRPMS'):
     content=getcontent(incoming_dir+'SRPMS/'+uploadinfo)
@@ -65,8 +66,53 @@ for uploadinfo in findfiles(incoming_dir+'SRPMS'):
 
     rm(incoming_dir+'SRPMS/'+uploadinfo)
 
-def send_noarch_msg(files_differ, reqs_differ):
-    pass
+def send_noarch_msg(files_differ, reqs_differ, pkg, rpm, arch):
+    req_email=pkg.build[pkg.lastbid].requester_email
+    req_bid=pkg.lastbid
+    cc_list=[]
+    m_subject="Noarch error: %s files differ among builders" % rpm
+    bids=pkg.build.keys()
+    if len(bids)>1:
+        for bid in bids:
+            newcc=pkg.build[bid].requester_email
+            if req_email!=newcc and newcc not in cc_list:
+                cc_list.append(newcc)
+
+    msg="From: %s\nTo: %s\n" % (cval['from_field'], req_email)
+    if cc_list:
+        msg=msg+"Cc: %s\n" % ", ".join(cc_list)
+    msg=msg+"""X-PLD-Builder: %s
+References: <%s@pld.src.builder>
+In-Reply-To: <%s@pld.src.builder>
+Subject: %s
+
+""" % (cval['xpldbuilder'], req_bid, req_bid, m_subject)
+
+    sm = os.popen("/usr/sbin/sendmail -t", "w")
+    
+    sm.write(msg)
+
+    if files_differ:
+        f=open("%s/files.diff" % tmpdir, 'r')
+        sm.write("Difference between %s (currently in %s) and %s FILES\n" %
+              (pkg.noarch_arch[rpm], `ftptree`, arch)),
+        for line in f.readlines(True)[2:]:
+            sm.write(line)
+        f.close()
+
+    sm.write('\n')
+
+    if reqs_differ:
+        f=open("%s/reqs.diff" % tmpdir, 'r')
+        sm.write("Difference between %s (currently in %s) and %s REQS\n" %
+              (pkg.noarch_arch[rpm], `ftptree`, arch)),
+        for line in f.readlines(True)[2:]:
+            sm.write(line)
+        f.close()
+
+    sm.close()
+
+   
 
 def move_noarch(f, arch, rpm, dstpkg):
     if dstpkg.noarch_arch.has_key(rpm):
@@ -86,10 +132,7 @@ def move_noarch(f, arch, rpm, dstpkg):
             reqs_differ=True
 
         if files_differ or reqs_differ:
-            # TODO: sending this thing will be a little more problematic
-            # than I originally thought
-            #send_noarch_msg(files_differ, reqs_differ)
-            print 'files or reqs differ'
+            send_noarch_msg(files_differ, reqs_differ, dstpkg, rpm, arch)
 
         rm(incoming_dir+arch+'/'+rpm)
     else:
index 8524420b938b7e2c2483b46c88873d541b96a3bf..ee68d4ebaec6d0ce447bfaa15f4b042040112cc2 100644 (file)
@@ -38,6 +38,7 @@ class BasePkg:
                 elif i[1]=='build':
                     if not self.build.has_key(i[2]):
                         self.build[i[2]]=Build()
+                        self.lastbid=i[2]
                     if i[3]=='requester':
                         self.build[i[2]].requester=i[4]
                     elif i[3]=='requester_email':
index de3a597141c9508e3a83ec44262d7d9dfb180d18..deb50f86fe5e4a94eb1bebc605f8113a293885f7 100644 (file)
@@ -177,8 +177,8 @@ class FtpTree(BaseFtpTree):
         bailoutonerror()
 
     def __checkbuild(self):
-        #f=urllib.urlopen('http://ep09.pld-linux.org/~builderth/queue.txt')
-        f=open('queue.txt')
+        f=urllib.urlopen('http://ep09.pld-linux.org/~builderth/queue.txt')
+        #f=open('queue.txt')
         requests={}
         reid=re.compile(r'^.*id=(.*) pri.*$')
         regb=re.compile(r'^group:.*$|builders:.*$', re.M)
This page took 0.200913 seconds and 4 git commands to generate.