[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[rhel5-branch] Resolve kernel dependencies in pkgorder (#491136)



---
 scripts/pkgorder |   26 +++++++++++++++++++++-----
 1 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/scripts/pkgorder b/scripts/pkgorder
index aa67791..3fec1ec 100755
--- a/scripts/pkgorder
+++ b/scripts/pkgorder
@@ -151,6 +151,12 @@ if __name__ == "__main__":
     if arch == "i386":
         arch = "i686"
 
+    # Boo x 2
+    if arch == "ppc":
+        kernel_arch = "ppc64"
+    else:
+        kernel_arch = arch
+
     packages = []
     for dir in ("%s/%s/RPMS" % (toppath, product),
                 "%s/%s" % (toppath, product),
@@ -160,15 +166,25 @@ if __name__ == "__main__":
             break
     packages.sort()
 
-    # print out kernel related packages first
-    printMatchingPkgs("kernel-*")
-
     testpath = "/tmp/pkgorder-%d" %(os.getpid(),)
     os.system("mkdir -p %s/var/lib/rpm" %(testpath,))
-    
-    ds = PackageOrderer(arch=arch)
+
+    ds = PackageOrderer(arch=kernel_arch)
     ds.setup(fn=config, excludes=options.excludeList, root = testpath)
 
+    # print out kernel related packages first
+    printMatchingPkgs("kernel-*")
+    # pull in kernel dependencies
+    for po in ds.pkgSack.returnPackages():
+        if po.name.find("kernel") == 0:
+            ds.tsInfo.addInstall(po)
+    ds.resolveDeps()
+    processTransaction(ds)
+
+    if arch != kernel_arch:
+        ds = PackageOrderer(arch=arch)
+        ds.setup(fn=config, excludes=options.excludeList, root = testpath)
+
     addGroups(ds, ["core", "base", "text-internet"])
 
     # hack, hack, hack... make sure iscsi ends up on disc1 (#208832)
-- 
1.7.1.1


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]