pld-builder.new: PLD_Builder/install_br.py Uninstall packages that...
arekm
arekm at pld-linux.org
Sun Mar 16 21:04:49 CET 2008
Author: arekm Date: Sun Mar 16 20:04:49 2008 GMT
Module: pld-builder.new Tag: HEAD
---- Log message:
Uninstall packages that are conflicting with packages in BuildRequires list.
---- Files affected:
pld-builder.new/PLD_Builder:
install_br.py (1.13 -> 1.14)
---- Diffs:
================================================================
Index: pld-builder.new/PLD_Builder/install_br.py
diff -u pld-builder.new/PLD_Builder/install_br.py:1.13 pld-builder.new/PLD_Builder/install_br.py:1.14
--- pld-builder.new/PLD_Builder/install_br.py:1.13 Sun Mar 25 04:58:09 2007
+++ pld-builder.new/PLD_Builder/install_br.py Sun Mar 16 21:04:44 2008
@@ -27,10 +27,37 @@
for bre in needed.keys():
nbr = nbr + " " + re.escape(bre)
br = string.strip(nbr)
+ b.log_line("updating poldek cache...")
+ chroot.run("poldek --up; poldek --upa",
+ user = "root",
+ logfile = b.logfile)
+ # check conflicts in BRed packages
+ b.log_line("checking conflicting packages in BRed packages")
+ f = chroot.popen("poldek --test --caplookup -Q -v --upgrade %s" % br, user = "root")
+ rx = re.compile(r".*conflicts with installed ([^\s]+)")
+ conflicting = {}
+ for l in f.xreadlines():
+ b.log_line("rpm: %s" % l)
+ m = rx.search(l)
+ if m: conflicting[m.group(1)] = 1
+ f.close()
+ if len(conflicting) == 0:
+ b.log_line("no conflicts found")
+ else:
+ ncf = ""
+ for cfe in conflicting.keys():
+ ncf = ncf + " " + re.escape(cfe)
+ cf = string.strip(cfe)
+ b.log_line("uninstalling conflicting packages")
+ res = chroot.run("poldek -Q -v --noask --erase %s" % br,
+ user = "root",
+ logfile = b.logfile)
+ if res != 0:
+ b.log_line("error: conflicting packages uninstallation failed")
b.log_line("installing BR: %s" % br)
- res = chroot.run("poldek --up; poldek --upa; poldek --caplookup -Q -v --upgrade %s" % br,
- user = "root",
- logfile = b.logfile)
+ res = chroot.run("poldek --caplookup -Q -v --upgrade %s" % br,
+ user = "root",
+ logfile = b.logfile)
if res != 0:
b.log_line("error: BR installation failed")
return res
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/install_br.py?r1=1.13&r2=1.14&f=u
More information about the pld-cvs-commit
mailing list