]> git.pld-linux.org Git - projects/pld-builder.new.git/blob - PLD_Builder/install_br.py
- reidented to 4 spaces... hope I haven't broken anything
[projects/pld-builder.new.git] / PLD_Builder / install_br.py
1 # vi: encoding=utf-8 ts=8 sts=4 sw=4 et
2
3 import re
4 import string
5
6 import chroot
7
8 def install_br(r, b):
9     cmd = "cd rpm/SPECS; TMPDIR=$HOME/%s rpmbuild --nobuild %s %s 2>&1" \
10                 % (b.b_id, b.bconds_string(), b.spec)
11     f = chroot.popen(cmd)
12     rx = re.compile(r"^\s*([^\s]+) .*is needed by")
13     needed = {}
14     b.log_line("checking BR")
15     for l in f.xreadlines():
16         b.log_line("rpm: %s" % l)
17         m = rx.search(l)
18         if m: needed[m.group(1)] = 1
19     f.close()
20     if len(needed) == 0:
21         b.log_line("no BR needed")
22         return
23     nbr = ""
24     for bre in needed.keys():
25         nbr = nbr + " " + re.escape(bre)
26     br = string.strip(nbr)
27     b.log_line("installing BR: %s" % br)
28     res = chroot.run("poldek --up; poldek --upa; poldek --unique-pkg-names -v --upgrade %s" % br,
29                          user = "root",
30                          logfile = b.logfile)
31     if res != 0:
32         b.log_line("error: BR installation failed")
33     return res
This page took 1.306624 seconds and 3 git commands to generate.