diff --git a/src/mio.py b/src/mio.py index bde8a138a93b48df021c19b1895eed540f94be3f..243477f82f9118eedb2afd7b9d57a3c21d0aa3f8 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 9bd45092ddc44276c32ad2d46f9592225184858e..01978d28ef82f2f5a435b1100b2011286199a4c3 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)