]> git.pld-linux.org Git - projects/pld-builder.new.git/blob - PLD_Builder/util.py
- rpm builder actually did something (immortal alien.spec) ;-)
[projects/pld-builder.new.git] / PLD_Builder / util.py
1 import re
2 import sys
3 import os
4 import log
5 import traceback
6 import StringIO
7 import string
8
9 import status
10
11 def pkg_name(nvr):
12   return re.match(r"(.+)-[^-]+-[^-]+", nvr).group(1)
13   
14 def msg(m):
15   sys.stderr.write(m)
16
17 def sendfile(src, dst):
18   cnt = 0
19   while 1:
20     s = src.read(10000)
21     if s == "": break
22     cnt += len(s)
23     dst.write(s)
24   return cnt
25
26 def append_to(log, msg):
27   f = open(log, "a")
28   f.write("%s\n" % msg)
29   f.close()
30
31 def clean_tmp(dir):
32   # FIXME: use python
33   os.system("rm -f %s/* 2>/dev/null; rmdir %s 2>/dev/null" % (dir, dir))
34
35 def uuid():
36   f = os.popen("uuidgen 2>&1")
37   u = string.strip(f.read())
38   f.close()
39   if len(u) != 36:
40     raise "uuid: fatal, cannot generate uuid: %s" % u
41   return u
42
43 def wrap(main):
44   try:
45     main()
46   except:
47     exctype, value = sys.exc_info()[:2]
48     if exctype == SystemExit:
49       sys.exit(value)
50     s = StringIO.StringIO()
51     traceback.print_exc(file = s, limit = 20)
52     log.alert("fatal python exception during: %s" % status.get())
53     log.alert(s.getvalue())
54     sys.exit(1)
55
56 def collect_files(log):
57   f = open(log)
58   rx = re.compile(r"^Wrote: (/home.*\.rpm)$")
59   files = []
60   for l in f.xreadlines():
61     m = rx.search(l)
62     if m:
63       files.append(m.group(1))
64   return files
This page took 0.084634 seconds and 4 git commands to generate.