livecd-tools/livecd-tools-21.1.pkg.installation.fix.patch
Eugene Shatokhin 3acfa8b1ed Do not hard-code kernel-nrj-desktop
The builds may need other kernel flavours instead.
2015-07-07 21:29:13 +03:00

56 lines
2.9 KiB
Diff

diff -Naur livecd-tools-21.1.orig/imgcreate/creator.py livecd-tools-21.1.new/imgcreate/creator.py
--- livecd-tools-21.1.orig/imgcreate/creator.py 2015-07-07 18:42:31.899609044 +0300
+++ livecd-tools-21.1.new/imgcreate/creator.py 2015-07-07 21:14:28.885166029 +0300
@@ -25,6 +25,7 @@
import shutil
import logging
import subprocess
+import re
import selinux
import rpm
@@ -577,17 +578,36 @@
urpmi_conf = self.__builddir + "/urpmi_conf"
print urpmi_conf
time.sleep(5)
- for repo in kickstart.get_repos(self.ks, repo_urls):
- (name, baseurl, mirrorlist, proxy, inc, exc, cost, sslverify) = repo
- subprocess.call(["/usr/sbin/urpmi.addmedia", "--urpmi-root", urpmi_conf, name, baseurl])
- packages = self.ks.handler.packages.packageList
+ try:
+ for repo in kickstart.get_repos(self.ks, repo_urls):
+ (name, baseurl, mirrorlist, proxy, inc, exc, cost, sslverify) = repo
+ subprocess.check_call(["/usr/sbin/urpmi.addmedia", "--urpmi-root", urpmi_conf, name, baseurl])
+ except subprocess.CalledProcessError, err:
+ raise CreatorError("Failed to add repository \"%s\" (%s), error code %d" % (name, baseurl, err.returncode))
+
+ packages = self.ks.handler.packages.packageList
+ try:
if "basesystem" in packages:
print "Basesystem should be installed first"
- subprocess.call(["/usr/sbin/urpmi", "--auto", "--split-length", "0", "--fastunsafe", "--nolock", "--ignorearch", "--no-verify-rpm", "--no-suggests", "--urpmi-root", urpmi_conf, "--root", self._instroot] + ['basesystem'])
-
-
+ cmd = ["/usr/sbin/urpmi",
+ "--auto", "--split-length", "0",
+ "--fastunsafe", "--nolock", "--ignorearch",
+ "--no-verify-rpm", "--no-suggests",
+ "--urpmi-root", urpmi_conf,
+ "--root", self._instroot,
+ 'basesystem']
+
+ pattern = re.compile(r'^kernel-.*-latest$')
+ kernel_pkgs = [pkg for pkg in packages if pattern.match(pkg)]
+ if kernel_pkgs:
+ cmd.extend(kernel_pkgs)
+
+ subprocess.check_call(cmd)
+
print "Now let's install all other packages"
- subprocess.call(["/usr/sbin/urpmi", "--auto", "--no-suggests", "--fastunsafe", "--debug", "--no-verify", "--urpmi-root", urpmi_conf, "--root", self._instroot] + packages)
+ subprocess.check_call(["/usr/sbin/urpmi", "--auto", "--no-suggests", "--fastunsafe", "--debug", "--no-verify", "--urpmi-root", urpmi_conf, "--root", self._instroot] + packages)
+ except subprocess.CalledProcessError, err:
+ raise CreatorError("Package installation failed, error code %d" % err.returncode)
def _run_post_scripts(self):
for s in kickstart.get_post_scripts(self.ks):