mirror of
https://abf.rosa.ru/djam/livecd-tools.git
synced 2025-02-23 23:52:58 +00:00
56 lines
2.9 KiB
Diff
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):
|