[packman] Packmanrobot: automatische Requires

Rainer Lay Rainer.Lay at informatik.uni-erlangen.de
Sat Jul 3 09:42:40 CEST 2004


Moin,

nachdem immer wieder mal ein paar requires fehlen, habe ich den Robot so 
erweitert, dass er abhängig von den neu kompilierten RPMS ein Liste mit 
requires Statements aufstellt. Die muss man danach handish ins SPECfile 
eintragen und dann nochmal bauen. Das Erzeugen der Liste geht leider nur 
mit fertigen RPMS.

Gruß
Rainer

--- packmanrobot.py~    2004-03-22 09:07:58.000000000 +0100
+++ packmanrobot.py     2004-07-03 09:36:34.431460000 +0200
@@ -531,6 +531,21 @@
          rc= runcommand(gpgbin,["--detach-sign", "-a", "--yes", 
rpmfile],mantra)
          if rc != 0 : error("Signing failed")

+  print "creating requires"
+  # the rpms
+  for pack in packages:
+        name=pack[0]
+        version=pack[1]
+        release=pack[2]
+        rpmfile=rpmtopdir + "/RPMS/" + target + "/" + name + "-" + 
version + "-" + release + "." + target + ".rpm"
+        reqfile=name + ".requires"
+        print reqfile
+        rc= runcommand("/bin/sh",["-c", "for lib in `rpm -q --requires 
-p \""+rpmfile+
+                                  "\" | grep -e '^lib.*so'`; do rpm -q 
--whatprovides \"$lib\" --queryformat='Requires:\t%{NAME} >= 
%{VERSION}\n' ;done | sort -u > "+reqfile],
+                       mantra)
+        if rc != 0 : error("creating requires failed")
+
+
    # the srpm
    pack=packages[0]
    name=pack[0]




More information about the Packman mailing list