From 133ed03ccb8e98adfcb4f133cd367d753a8b1185 Mon Sep 17 00:00:00 2001
From: Anders Blomdell <anders.blomdell@control.lth.se>
Date: Wed, 23 Apr 2008 12:16:42 +0100
Subject: [PATCH] Version 2008-04-23 13:16

---
 src/mio.py           | 10 ++++++++--
 src/mio/installer.py |  9 +++++++--
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/src/mio.py b/src/mio.py
index bde8a13..243477f 100755
--- a/src/mio.py
+++ b/src/mio.py
@@ -115,6 +115,8 @@ if __name__ == '__main__':
 
     rules = mio.repository.Repository(find_and_parse)
 
+    rpm_result = None
+    
     if options.list:
         # List all targets reachable from the given source files
         for url in options.list:
@@ -141,7 +143,7 @@ if __name__ == '__main__':
         if not options.noyum:
             log(NORMAL, "Testing rpms")
             installer.test_rpms(options.path)
-
+ 
         log(NORMAL, "Testing files")
         installer.test_groups(options.prefix)
         
@@ -152,9 +154,13 @@ if __name__ == '__main__':
 
         if not options.noyum:
             log(NORMAL, "Installing rpms")
-            installer.install_rpms(options.path)
+            rpm_result = installer.install_rpms(options.path)
 
         log(NORMAL, "Installing files")
         installer.install_groups(options.prefix,
                                  (options.backup, options.backup_suffix))
 
+    if rpm_result:
+        for r in rpm_result:
+            print "Failed to install %s" % r
+        exit(1)
diff --git a/src/mio/installer.py b/src/mio/installer.py
index 9bd4509..01978d2 100755
--- a/src/mio/installer.py
+++ b/src/mio/installer.py
@@ -153,11 +153,16 @@ class Installer:
                 rpm.append(r.name)
         rpm.sort()
         mio.yum.run(path + self.rpmdir, rpm)
-        #mio.yum.run(self.rpmdir, rpm)
         version_db = mio.rpmDB.VersionDB()
         for r in self.rpm:
             r.new_version = version_db[r.name]
-        
+
+        result = []
+        for r in rpm:
+            if version_db[r] == None:
+                result.append(r)
+        return result
+            
     def install_groups(self, prefix, backup):
         for g in self.group:
             g.install(prefix, backup)
-- 
GitLab