livecd-tools were update to 21.1 version

This commit is contained in:
Alex Burmashev 2014-07-02 15:16:08 +04:00
parent 5399ae68bb
commit bbdaed340e
24 changed files with 675 additions and 1389 deletions

View file

@ -1,2 +1,2 @@
sources: sources:
"livecd-tools-18.8.tar.bz2": 3e8ba40944b677f9ee1340ffff9c099df43682b6 livecd-tools-21.1.tar.bz2: 7d8a1c3cb27d9835ff8ce02f1e2a7bc6e137757b

View file

@ -1,77 +0,0 @@
diff -Nur livecd-tools-18.8.old/docs/livecd-creator.pod livecd-tools-18.8/docs/livecd-creator.pod
--- livecd-tools-18.8.old/docs/livecd-creator.pod 2012-08-06 22:49:20.000000000 +0400
+++ livecd-tools-18.8/docs/livecd-creator.pod 2012-12-11 18:12:17.856680018 +0400
@@ -79,7 +79,7 @@
livecd-creator \
--config=/usr/share/livecd-tools/livecd-fedora-minimal.ks
-Fedora Desktop Live CD
+Rosa Desktop Live CD
livecd-creator \
--config=/usr/share/livecd-tools/livecd-fedora-desktop.ks \
diff -Nur livecd-tools-18.8.old/imgcreate/live.py livecd-tools-18.8/imgcreate/live.py
--- livecd-tools-18.8.old/imgcreate/live.py 2012-12-11 18:11:47.000000000 +0400
+++ livecd-tools-18.8/imgcreate/live.py 2012-12-13 17:07:56.699840408 +0400
@@ -492,7 +492,7 @@
default %(menu)s
timeout %(timeout)d
menu background %(background)s
-menu autoboot Starting ROSA Desktop 2012 in # second{,s}. Press any key to interrupt.
+menu autoboot Starting boot from local drive in # second{,s}. Press any key to interrupt.
#menu clear
menu title %(title)s
@@ -569,11 +569,11 @@
default = self.__is_default_kernel(kernel, kernels)
if default:
- long = "ROSA Desktop 2012"
+ long = "ROSA Desktop.Fresh 2012"
elif kernel.startswith("kernel-"):
- long = "%s (%s)" % ("ROSA Desktop 2012", kernel[7:])
+ long = "%s (%s)" % ("ROSA Desktop.Fresh 2012", kernel[7:])
else:
- long = "%s (%s)" % ("ROSA Desktop 2012", kernel)
+ long = "%s (%s)" % ("ROSA Desktop.Fresh 2012", kernel)
# tell dracut not to ask for LUKS passwords or activate mdraid sets
if isDracut:
@@ -621,8 +621,8 @@
index = index))
kern_opts = kernel_options
- if default:
- linux[-1] += " menu default\n"
+# if default:
+# linux[-1] += " menu default\n"
@@ -666,7 +666,8 @@
def __get_local_stanza(self, isodir):
return """label local
menu label Boot from local drive
- localboot 0xffff
+ menu default
+ localboot 0x80
"""
def __get_grub2_stanza(self, isodir):
@@ -697,6 +698,7 @@
linux, basic, check = self.__get_image_stanzas(isodir)
# Add linux stanzas to main menu
+ cfg += self.__get_local_stanza(isodir)
for s in linux:
cfg += s
cfg += "menu separator\n"
@@ -717,7 +719,7 @@
cfg += self.__get_memtest_stanza(isodir)
cfg += "menu separator\n"
- cfg += self.__get_local_stanza(isodir)
+# cfg += self.__get_local_stanza(isodir)
cfg += self.__get_grub2_stanza(isodir)
cfg += self._get_isolinux_stanzas(isodir)

View file

@ -1,12 +0,0 @@
diff -Nur livecd-tools-18.8.old/imgcreate/creator.py livecd-tools-18.8/imgcreate/creator.py
--- livecd-tools-18.8.old/imgcreate/creator.py 2013-11-19 13:34:08.000000000 +0400
+++ livecd-tools-18.8/imgcreate/creator.py 2013-11-19 13:34:46.636974644 +0400
@@ -623,7 +623,7 @@
#for package in self.ks.handler.packages.packageList:
#subprocess.call(["/usr/sbin/urpmi", "--auto", "--urpmi-root", urpmi_conf, "--root", self._instroot, package])
- subprocess.call(["/usr/sbin/urpmi", "--auto", "--no-suggests", "--fastunsafe", "--no-verify", "--urpmi-root", urpmi_conf, "--root", self._instroot] + packages)
+ subprocess.call(["/usr/sbin/urpmi", "--auto", "--no-suggests", "--fastunsafe", "--debug", "--no-verify", "--urpmi-root", urpmi_conf, "--root", self._instroot] + packages)
# def install(self, repo_urls = {}):

View file

@ -1,12 +0,0 @@
diff -Nur livecd-tools-18.8.old/imgcreate/live.py livecd-tools-18.8/imgcreate/live.py
--- livecd-tools-18.8.old/imgcreate/live.py 2013-04-22 16:20:21.000000000 +0400
+++ livecd-tools-18.8/imgcreate/live.py 2013-04-22 16:25:45.754832766 +0400
@@ -255,7 +255,7 @@
return env
def __extra_filesystems(self):
- return "vfat msdos ";
+ return "vfat msdos =fs/nls ";
def __extra_drivers(self):
retval = "sr_mod sd_mod ide-cd cdrom "

View file

@ -1,12 +0,0 @@
diff -Nur livecd-tools-18.8.old/imgcreate/creator.py livecd-tools-18.8/imgcreate/creator.py
--- livecd-tools-18.8.old/imgcreate/creator.py 2013-08-27 16:50:09.000000000 +0400
+++ livecd-tools-18.8/imgcreate/creator.py 2013-08-27 16:53:33.111269720 +0400
@@ -623,7 +623,7 @@
#for package in self.ks.handler.packages.packageList:
#subprocess.call(["/usr/sbin/urpmi", "--auto", "--urpmi-root", urpmi_conf, "--root", self._instroot, package])
- subprocess.call(["/usr/sbin/urpmi", "--auto", "--no-suggests", "--no-verify", "--urpmi-root", urpmi_conf, "--root", self._instroot] + packages)
+ subprocess.call(["/usr/sbin/urpmi", "--auto", "--no-suggests", "--fastunsafe", "--no-verify", "--urpmi-root", urpmi_conf, "--root", self._instroot] + packages)
# def install(self, repo_urls = {}):

View file

@ -1,25 +0,0 @@
diff -Nur livecd-tools-18.8.old/imgcreate/live.py livecd-tools-18.8/imgcreate/live.py
--- livecd-tools-18.8.old/imgcreate/live.py 2014-01-21 16:45:02.415346403 +0400
+++ livecd-tools-18.8/imgcreate/live.py 2014-01-21 16:45:58.075348061 +0400
@@ -323,8 +323,12 @@
if os.path.exists("/usr/bin/isohybrid"):
if os.path.exists(isodir + "/isolinux/efiboot.img"):
subprocess.call(["/usr/bin/isohybrid", "-u", iso])
+ subprocess.call(["/usr/bin/rosa-image-fix-x86.pl", iso])
+ logging.warn("iso hacked with x86 version of script")
else:
subprocess.call(["/usr/bin/isohybrid", iso])
+ subprocess.call(["/usr/bin/rosa-image-fix-x86.pl", iso])
+ logging.warn("iso hacked with x86 version of script")
self.__implant_md5sum(iso)
@@ -671,7 +675,7 @@
return """label local
menu label Boot from local drive
menu default
- localboot 0x80
+ localboot 0xffff
"""
def __get_grub2_stanza(self, isodir):

View file

@ -1,34 +0,0 @@
diff -Nur livecd-tools-18.8.old/imgcreate/live.py livecd-tools-18.8/imgcreate/live.py
--- livecd-tools-18.8.old/imgcreate/live.py 2013-07-02 16:59:24.000000000 +0400
+++ livecd-tools-18.8/imgcreate/live.py 2013-07-02 17:01:09.395426345 +0400
@@ -451,12 +451,12 @@
shutil.copyfile(bootdir + "/vmlinuz-" + version,
isodir + "/isolinux/vmlinuz" + index)
- subprocess.call(["/usr/sbin/dracut", "/boot/initramfs-" + version + ".img", version],
+ subprocess.call(["/usr/sbin/dracut", "/boot/initrd-" + version + ".img", version],
preexec_fn = self._chroot)
isDracut = False
- if os.path.exists(bootdir + "/initramfs-" + version + ".img"):
- shutil.copyfile(bootdir + "/initramfs-" + version + ".img",
+ if os.path.exists(bootdir + "/initrd-" + version + ".img"):
+ shutil.copyfile(bootdir + "/initrd-" + version + ".img",
isodir + "/isolinux/initrd" + index + ".img")
isDracut = True
else:
@@ -876,11 +876,11 @@
shutil.copyfile(bootdir + "/vmlinuz-" + version,
destdir + "/vmlinuz")
- subprocess.call(["/usr/sbin/dracut", "/boot/initramfs-" + version + ".img", version],
+ subprocess.call(["/usr/sbin/dracut", "/boot/initrd-" + version + ".img", version],
preexec_fn = self._chroot)
- if os.path.exists(bootdir + "/initramfs-" + version + ".img"):
- shutil.copyfile(bootdir + "/initramfs-" + version + ".img",
+ if os.path.exists(bootdir + "/initrd-" + version + ".img"):
+ shutil.copyfile(bootdir + "/initrd-" + version + ".img",
destdir + "/initrd.img")
isDracut = True
else:

View file

@ -1,18 +0,0 @@
diff -Nur livecd-tools-18.8.old/imgcreate/live.py livecd-tools-18.8/imgcreate/live.py
--- livecd-tools-18.8.old/imgcreate/live.py 2014-06-26 11:07:44.000000000 +0400
+++ livecd-tools-18.8/imgcreate/live.py 2014-06-26 11:08:20.810756343 +0400
@@ -436,12 +436,12 @@
def __copy_syslinux_background(self, isodest):
background_path = self._instroot + \
- "/usr/share/gfxboot/themes/Mandriva-Rosa/splash.jpg"
+ "/usr/share/gfxboot/themes/Rosa-EE/splash.jpg"
if not os.path.exists(background_path):
# fallback to F13 location
background_path = self._instroot + \
- "/usr/share/gfxboot/themes/Mandriva-Rosa/splash.jpg"
+ "/usr/share/gfxboot/themes/Eosa-EE/splash.jpg"
if not os.path.exists(background_path):
return False

View file

@ -1,12 +0,0 @@
diff -Nur livecd-tools-18.8.orig/imgcreate/live.py livecd-tools-18.8/imgcreate/live.py
--- livecd-tools-18.8.orig/imgcreate/live.py 2012-11-06 11:20:30.000000000 +0400
+++ livecd-tools-18.8/imgcreate/live.py 2012-11-06 11:21:23.000000000 +0400
@@ -666,7 +666,7 @@
def __get_local_stanza(self, isodir):
return """label local
menu label Boot from local drive
- localboot 0xffff
+ localboot 0x80
"""
def _configure_syslinux_bootloader(self, isodir):

View file

@ -1,221 +0,0 @@
diff -Nur livecd-tools-18.8.orig/imgcreate/kickstart.py livecd-tools-18.8/imgcreate/kickstart.py
--- livecd-tools-18.8.orig/imgcreate/kickstart.py 2012-10-17 11:01:56.000000000 +0000
+++ livecd-tools-18.8/imgcreate/kickstart.py 2012-10-17 11:03:43.175820169 +0000
@@ -486,7 +486,7 @@
return default
return int(ks.handler.bootloader.timeout)
-def get_kernel_args(ks, default = "ro rd.live.image quiet"):
+def get_kernel_args(ks, default = "ro rd.live.image"):
if not hasattr(ks.handler.bootloader, "appendLine"):
return default
if ks.handler.bootloader.appendLine is None:
diff -Nur livecd-tools-18.8.orig/imgcreate/live.py livecd-tools-18.8/imgcreate/live.py
--- livecd-tools-18.8.orig/imgcreate/live.py 2012-10-17 11:01:56.000000000 +0000
+++ livecd-tools-18.8/imgcreate/live.py 2012-10-17 14:33:17.736813715 +0000
@@ -114,9 +114,9 @@
"""
r = kickstart.get_kernel_args(self.ks)
if os.path.exists(self._instroot + "/usr/bin/rhgb"):
- r += " rhgb"
+ r += " rhgb vga=788 splash=silent logo.nologo"
if os.path.exists(self._instroot + "/usr/bin/plymouth"):
- r += " rhgb"
+ r += " rhgb vga=788 splash=silent logo.nologo"
return r
def _get_mkisofs_options(self, isodir):
@@ -297,6 +297,7 @@
makedirs(os.path.dirname(path))
f = open(path, "a")
f.write('filesystems+="' + self.__extra_filesystems() + ' "\n')
+# f.write('drivers+=" iso9660 isofs ext3 "' + self.__extra_drivers() + ' "\n')
f.write('drivers+="' + self.__extra_drivers() + ' "\n')
f.write('add_dracutmodules+=" dmsquash-live "')
f.close()
@@ -321,7 +322,7 @@
if os.path.exists("/usr/bin/isohybrid"):
if os.path.exists(isodir + "/isolinux/efiboot.img"):
- subprocess.call(["/usr/bin/isohybrid", "-u", "-m", iso])
+ subprocess.call(["/usr/bin/isohybrid", "-u", iso])
else:
subprocess.call(["/usr/bin/isohybrid", iso])
@@ -336,7 +337,7 @@
else:
logging.warn("isomd5sum not installed; not setting up mediacheck")
return
-
+
subprocess.call([implantisomd5, iso])
def _stage_final_image(self):
@@ -384,6 +385,9 @@
options.extend([ "-eltorito-alt-boot",
"-e", "isolinux/efiboot.img",
"-no-emul-boot"])
+# "-eltorito-alt-boot",
+# "-e", "isolinux/macboot.img",
+# "-no-emul-boot"])
return options
def _get_required_packages(self):
@@ -490,28 +494,26 @@
menu background %(background)s
menu autoboot Starting ROSA Desktop 2012 in # second{,s}. Press any key to interrupt.
-menu clear
+#menu clear
menu title %(title)s
-menu vshift 8
-menu rows 18
-menu margin 8
+#menu vshift 8
+#menu rows 18
+#menu margin 8
#menu hidden
-menu helpmsgrow 15
-menu tabmsgrow 13
+#menu helpmsgrow 15
+#menu tabmsgrow 13
+
+menu color border 0 #ffffffff #00000000
+menu color sel 7 #ffffffff #ff000000
+menu color title 0 #ffffffff #00000000
+menu color tabmsg 0 #ffffffff #00000000
+menu color unsel 0 #ffffffff #00000000
+menu color hotsel 0 #ff000000 #ffffffff
+menu color hotkey 7 #ffffffff #ff000000
+menu color timeout_msg 0 #ffffffff #00000000
+menu color timeout 0 #ffffffff #00000000
+menu color cmdline 0 #ffffffff #00000000
-menu color border * #00000000 #00000000 none
-menu color sel 0 #ffffffff #00000000 none
-menu color title 0 #ffffffff #00000000 none
-menu color tabmsg 0 #ffffffff #00000000 none
-menu color unsel 0 #ffffffff #00000000 none
-menu color hotsel 0 #ff000000 #ffffffff none
-menu color hotkey 0 #ffffffff #00000000 none
-menu color help 0 #ffffffff #00000000 none
-menu color scrollbar 0 #ffffffff #ff355594 none
-menu color timeout 0 #ffffffff #00000000 none
-menu color timeout_msg 0 #ffffffff #00000000 none
-menu color cmdmark 0 #84b8ffff #00000000 none
-menu color cmdline 0 #ffffffff #00000000 none
menu tabmsg Press Tab for full configuration options on menu items.
menu separator
@@ -567,11 +569,11 @@
default = self.__is_default_kernel(kernel, kernels)
if default:
- long = self.product
+ long = "ROSA Desktop 2012"
elif kernel.startswith("kernel-"):
- long = "%s (%s)" % (self.product, kernel[7:])
+ long = "%s (%s)" % ("ROSA Desktop 2012", kernel[7:])
else:
- long = "%s (%s)" % (self.product, kernel)
+ long = "%s (%s)" % ("ROSA Desktop 2012", kernel)
# tell dracut not to ask for LUKS passwords or activate mdraid sets
if isDracut:
@@ -583,7 +585,7 @@
fslabel = self.fslabel,
isofstype = "auto",
liveargs = kern_opts,
- long = "^Start " + long,
+ long = "Start " + long,
short = "linux" + index,
extra = "",
help = "",
@@ -594,7 +596,7 @@
fslabel = self.fslabel,
isofstype = "auto",
liveargs = kern_opts,
- long = "^Install " + long,
+ long = "Install " + long,
short = "linux" + index,
extra = "",
help = "",
@@ -603,7 +605,7 @@
fslabel = self.fslabel,
isofstype = "auto",
liveargs = kern_opts,
- long = "Start " + long + " in ^basic graphics mode.",
+ long = "Start " + long + " in basic graphics mode.",
short = "basic" + index,
extra = "xdriver=vesa nomodeset",
help = "Try this option out if you're having trouble starting.",
@@ -612,7 +614,7 @@
fslabel = self.fslabel,
isofstype = "auto",
liveargs = kern_opts,
- long = "Install " + long + " in ^basic graphics mode.",
+ long = "Install " + long + " in basic graphics mode.",
short = "basic" + index,
extra = "xdriver=vesa nomodeset install",
help = "Try this option out if you're having trouble installing.",
@@ -631,7 +633,7 @@
fslabel = self.fslabel,
isofstype = "auto",
liveargs = kern_opts,
- long = "^Test this media & start " + long,
+ long = "Test this media & start " + long,
short = "check" + index,
extra = "rd.live.check",
help = "",
@@ -645,14 +647,14 @@
return (linux, basic, check)
def __get_memtest_stanza(self, isodir):
- memtest = glob.glob(self._instroot + "/boot/memtest86*")
+ memtest = glob.glob(self._instroot + "/boot/memtest*")
if not memtest:
return ""
shutil.copyfile(memtest[0], isodir + "/isolinux/memtest")
return """label memtest
- menu label Run a ^memory test.
+ menu label Run a memory test.
text help
If your system is having issues, an problem with your
system's memory may be the cause. Use this utility to
@@ -663,7 +665,7 @@
def __get_local_stanza(self, isodir):
return """label local
- menu label Boot from ^local drive
+ menu label Boot from local drive
localboot 0xffff
"""
@@ -696,9 +698,10 @@
menu title Troubleshooting
"""
# Add basic video and check to submenu
- # my test
-# for s in basic:
-# cfg += s
+# for b, c in zip(basic, check):
+# cfg += b
+# if c:
+# cfg += c
for b in basic:
cfg += b
for c in check:
diff -Nur livecd-tools-18.8.orig/tools/livecd-creator livecd-tools-18.8/tools/livecd-creator
--- livecd-tools-18.8.orig/tools/livecd-creator 2012-08-06 18:49:20.000000000 +0000
+++ livecd-tools-18.8/tools/livecd-creator 2012-10-17 11:03:58.434813055 +0000
@@ -201,7 +201,7 @@
try:
creator.mount(options.base_on, options.cachedir)
- creator.install()
+ creator.install_urpmi()
creator.configure()
if options.give_shell:
print "Launching shell. Exit to continue."

View file

@ -1,316 +0,0 @@
diff -Nur livecd-tools-18.8.orig/imgcreate/creator.py livecd-tools-18.8/imgcreate/creator.py
--- livecd-tools-18.8.orig/imgcreate/creator.py 2012-10-02 11:47:06.000000000 +0400
+++ livecd-tools-18.8/imgcreate/creator.py 2012-10-02 11:55:07.000000000 +0400
@@ -27,12 +27,12 @@
import subprocess
import selinux
-import yum
+#import yum
import rpm
from imgcreate.errors import *
from imgcreate.fs import *
-from imgcreate.yuminst import *
+#from imgcreate.yuminst import *
from imgcreate import kickstart
FSLABEL_MAXLEN = 32
@@ -501,17 +501,17 @@
self._mount_instroot(base_on)
- for d in ("/dev/pts", "/etc", "/boot", "/var/log", "/var/cache/yum", "/sys", "/proc"):
+ for d in ("/dev/pts", "/etc", "/boot", "/var/log", "/var/cache/urpmi", "/sys", "/proc"):
makedirs(self._instroot + d)
- cachesrc = cachedir or (self.__builddir + "/yum-cache")
+ cachesrc = cachedir or (self.__builddir + "/urpmi-cache")
makedirs(cachesrc)
# bind mount system directories into _instroot
for (f, dest) in [("/sys", None), ("/proc", None),
("/dev/pts", None), ("/dev/shm", None),
(self.__selinux_mountpoint, self.__selinux_mountpoint),
- (cachesrc, "/var/cache/yum")]:
+ (cachesrc, "/var/cache/urpmi")]:
if os.path.exists(f):
self.__bindmounts.append(BindChrootMount(f, self._instroot, dest))
else:
@@ -566,49 +566,49 @@
shutil.rmtree(self.__builddir, ignore_errors = True)
self.__builddir = None
- def __select_packages(self, ayum):
- skipped_pkgs = []
- for pkg in kickstart.get_packages(self.ks,
- self._get_required_packages()):
- try:
- ayum.selectPackage(pkg)
- except yum.Errors.InstallError, e:
- if kickstart.ignore_missing(self.ks):
- skipped_pkgs.append(pkg)
- else:
- raise CreatorError("Failed to find package '%s' : %s" %
- (pkg, e))
-
- for pkg in skipped_pkgs:
- logging.warn("Skipping missing package '%s'" % (pkg,))
-
- def __select_groups(self, ayum):
- skipped_groups = []
- for group in kickstart.get_groups(self.ks):
- try:
- ayum.selectGroup(group.name, group.include)
- except (yum.Errors.InstallError, yum.Errors.GroupsError), e:
- if kickstart.ignore_missing(self.ks):
- raise CreatorError("Failed to find group '%s' : %s" %
- (group.name, e))
- else:
- skipped_groups.append(group)
-
- for group in skipped_groups:
- logging.warn("Skipping missing group '%s'" % (group.name,))
-
- def __deselect_packages(self, ayum):
- for pkg in kickstart.get_excluded(self.ks,
- self._get_excluded_packages()):
- ayum.deselectPackage(pkg)
+# def __select_packages(self, ayum):
+# skipped_pkgs = []
+# for pkg in kickstart.get_packages(self.ks,
+# self._get_required_packages()):
+# try:
+# ayum.selectPackage(pkg)
+# except yum.Errors.InstallError, e:
+# if kickstart.ignore_missing(self.ks):
+# skipped_pkgs.append(pkg)
+# else:
+# raise CreatorError("Failed to find package '%s' : %s" %
+# (pkg, e))
+
+# for pkg in skipped_pkgs:
+# logging.warn("Skipping missing package '%s'" % (pkg,))
+#
+# def __select_groups(self, ayum):
+# skipped_groups = []
+# for group in kickstart.get_groups(self.ks):
+# try:
+# ayum.selectGroup(group.name, group.include)
+# except (yum.Errors.InstallError, yum.Errors.GroupsError), e:
+# if kickstart.ignore_missing(self.ks):
+# raise CreatorError("Failed to find group '%s' : %s" %
+# (group.name, e))
+# else:
+# skipped_groups.append(group)
+#
+# for group in skipped_groups:
+# logging.warn("Skipping missing group '%s'" % (group.name,))
+#
+# def __deselect_packages(self, ayum):
+# for pkg in kickstart.get_excluded(self.ks,
+# self._get_excluded_packages()):
+# ayum.deselectPackage(pkg)
# if the system is running selinux and the kickstart wants it disabled
# we need /usr/sbin/lokkit
- def __can_handle_selinux(self, ayum):
- file = "/usr/sbin/lokkit"
- if not kickstart.selinux_enabled(self.ks) and selinux.is_selinux_enabled() and not ayum.installHasFile(file):
- raise CreatorError("Unable to disable SELinux because the installed package set did not include the file %s" % (file))
-
+# def __can_handle_selinux(self, ayum):
+# file = "/usr/sbin/lokkit"
+# if not kickstart.selinux_enabled(self.ks) and selinux.is_selinux_enabled() and not ayum.installHasFile(file):
+# raise CreatorError("Unable to disable SELinux because the installed package set did not include the file %s" % (file))
+#
def install_urpmi(self, repo_urls = {}):
urpmi_conf = self.__builddir + "/urpmi_conf"
@@ -626,69 +626,69 @@
subprocess.call(["/usr/sbin/urpmi", "--auto", "--no-suggests", "--no-verify", "--urpmi-root", urpmi_conf, "--root", self._instroot] + packages)
- def install(self, repo_urls = {}):
- """Install packages into the install root.
-
- This function installs the packages listed in the supplied kickstart
- into the install root. By default, the packages are installed from the
- repository URLs specified in the kickstart.
-
- repo_urls -- a dict which maps a repository name to a repository URL;
- if supplied, this causes any repository URLs specified in
- the kickstart to be overridden.
-
- """
- yum_conf = self._mktemp(prefix = "yum.conf-")
-
- ayum = LiveCDYum(releasever=self.releasever, useplugins=self.useplugins)
- ayum.setup(yum_conf, self._instroot, cacheonly=self.cacheonly)
-
- for repo in kickstart.get_repos(self.ks, repo_urls):
- (name, baseurl, mirrorlist, proxy, inc, exc, cost) = repo
-
- yr = ayum.addRepository(name, baseurl, mirrorlist)
- if inc:
- yr.includepkgs = inc
- if exc:
- yr.exclude = exc
- if proxy:
- yr.proxy = proxy
- if cost is not None:
- yr.cost = cost
- ayum.setup(yum_conf, self._instroot)
-
- if kickstart.exclude_docs(self.ks):
- rpm.addMacro("_excludedocs", "1")
- if not kickstart.selinux_enabled(self.ks):
- rpm.addMacro("__file_context_path", "%{nil}")
- if kickstart.inst_langs(self.ks) != None:
- rpm.addMacro("_install_langs", kickstart.inst_langs(self.ks))
-
- try:
- self.__select_packages(ayum)
- self.__select_groups(ayum)
- self.__deselect_packages(ayum)
-
- self.__can_handle_selinux(ayum)
-
- ayum.runInstall()
- except yum.Errors.RepoError, e:
- raise CreatorError("Unable to download from repo : %s" % (e,))
- except yum.Errors.YumBaseError, e:
- raise CreatorError("Unable to install: %s" % (e,))
- finally:
- ayum.closeRpmDB()
- ayum.close()
- os.unlink(yum_conf)
+# def install(self, repo_urls = {}):
+# """Install packages into the install root.
+#
+# This function installs the packages listed in the supplied kickstart
+# into the install root. By default, the packages are installed from the
+# repository URLs specified in the kickstart.
+#
+# repo_urls -- a dict which maps a repository name to a repository URL;
+# if supplied, this causes any repository URLs specified in
+# the kickstart to be overridden.
+#
+# """
+# yum_conf = self._mktemp(prefix = "yum.conf-")
+#
+# ayum = LiveCDYum(releasever=self.releasever, useplugins=self.useplugins)
+# ayum.setup(yum_conf, self._instroot, cacheonly=self.cacheonly)
+#
+# for repo in kickstart.get_repos(self.ks, repo_urls):
+# (name, baseurl, mirrorlist, proxy, inc, exc, cost) = repo
+#
+# yr = ayum.addRepository(name, baseurl, mirrorlist)
+# if inc:
+# yr.includepkgs = inc
+# if exc:
+# yr.exclude = exc
+# if proxy:
+# yr.proxy = proxy
+# if cost is not None:
+# yr.cost = cost
+# ayum.setup(yum_conf, self._instroot)
+##
+# if kickstart.exclude_docs(self.ks):
+# rpm.addMacro("_excludedocs", "1")
+# if not kickstart.selinux_enabled(self.ks):
+# rpm.addMacro("__file_context_path", "%{nil}")
+# if kickstart.inst_langs(self.ks) != None:
+# rpm.addMacro("_install_langs", kickstart.inst_langs(self.ks))
+#
+# try:
+# self.__select_packages(ayum)
+# self.__select_groups(ayum)
+# self.__deselect_packages(ayum)
+#
+# self.__can_handle_selinux(ayum)
+#
+# ayum.runInstall()
+# except yum.Errors.RepoError, e:
+# raise CreatorError("Unable to download from repo : %s" % (e,))
+# except yum.Errors.YumBaseError, e:
+# raise CreatorError("Unable to install: %s" % (e,))
+# finally:
+# ayum.closeRpmDB()
+# ayum.close()
+# os.unlink(yum_conf)
# do some clean up to avoid lvm info leakage. this sucks.
- for subdir in ("cache", "backup", "archive"):
- lvmdir = self._instroot + "/etc/lvm/" + subdir
- try:
- for f in os.listdir(lvmdir):
- os.unlink(lvmdir + "/" + f)
- except:
- pass
+# for subdir in ("cache", "backup", "archive"):
+# lvmdir = self._instroot + "/etc/lvm/" + subdir
+# try:
+# for f in os.listdir(lvmdir):
+# os.unlink(lvmdir + "/" + f)
+# except:
+# pass
def _run_post_scripts(self):
for s in kickstart.get_post_scripts(self.ks):
diff -Nur livecd-tools-18.8.orig/imgcreate/__init__.py livecd-tools-18.8/imgcreate/__init__.py
--- livecd-tools-18.8.orig/imgcreate/__init__.py 2012-08-06 22:49:20.000000000 +0400
+++ livecd-tools-18.8/imgcreate/__init__.py 2012-10-02 12:31:28.000000000 +0400
@@ -17,8 +17,9 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
from imgcreate.live import *
+#from imgcreate.arch import *
from imgcreate.creator import *
-from imgcreate.yuminst import *
+#from imgcreate.yuminst import *
from imgcreate.kickstart import *
from imgcreate.fs import *
from imgcreate.debug import *
diff -Nur livecd-tools-18.8.orig/imgcreate/live.py livecd-tools-18.8/imgcreate/live.py
--- livecd-tools-18.8.orig/imgcreate/live.py 2012-10-02 11:47:06.000000000 +0400
+++ livecd-tools-18.8/imgcreate/live.py 2012-10-02 12:32:23.000000000 +0400
@@ -1,4 +1,4 @@
-#
+#
# live.py : LiveImageCreator class for creating Live CD images
#
# Copyright 2007, Red Hat Inc.
@@ -24,6 +24,7 @@
import logging
import re
+from imgcreate.arch import *
from imgcreate.errors import *
from imgcreate.fs import *
from imgcreate.creator import *
@@ -797,13 +798,13 @@
cfgf.close()
# first gen mactel machines get the bootloader name wrong apparently
- if rpmUtils.arch.getBaseArch() == "i386":
+ if getBaseArch() == "i386":
os.link(isodir + "/EFI/BOOT/grub.efi", isodir + "/EFI/BOOT/BOOT.efi")
os.link(isodir + "/EFI/BOOT/grub.conf", isodir + "/EFI/BOOT/BOOT.conf")
# for most things, we want them named boot$efiarch
efiarch = {"i386": "IA32", "x86_64": "X64"}
- efiname = efiarch[rpmUtils.arch.getBaseArch()]
+ efiname = efiarch[getBaseArch()]
os.rename(isodir + "/EFI/BOOT/grub.efi", isodir + "/EFI/BOOT/BOOT%s.efi" %(efiname,))
os.link(isodir + "/EFI/BOOT/grub.conf", isodir + "/EFI/BOOT/BOOT%s.conf" %(efiname,))
@@ -1010,7 +1011,7 @@
return ["kernel.ppc"] + \
ppcLiveImageCreator._get_excluded_packages(self)
-arch = rpmUtils.arch.getBaseArch()
+arch = getBaseArch()
if arch in ("i386", "x86_64"):
LiveImageCreator = x86LiveImageCreator
elif arch in ("ppc",):

View file

@ -1,21 +0,0 @@
diff -Nur livecd-tools-18.8.old/imgcreate/live.py livecd-tools-18.8/imgcreate/live.py
--- livecd-tools-18.8.old/imgcreate/live.py 2014-04-21 13:52:53.000000000 +0400
+++ livecd-tools-18.8/imgcreate/live.py 2014-04-21 13:54:00.040018948 +0400
@@ -595,7 +595,7 @@
liveargs = kern_opts,
long = "Start " + long,
short = "linux" + index,
- extra = "",
+ extra = "quiet",
help = "",
index = index))
kern_opts = kernel_options + " install"
@@ -606,7 +606,7 @@
liveargs = kern_opts,
long = "Install " + long,
short = "linux" + index,
- extra = "vga=788",
+ extra = "quiet vga=788",
help = "",
index = index))
# linux.append(self.__get_image_stanza(is_xen, isDracut,

View file

@ -1,21 +0,0 @@
diff -Nur livecd-tools-18.8.old/imgcreate/live.py livecd-tools-18.8/imgcreate/live.py
--- livecd-tools-18.8.old/imgcreate/live.py 2012-11-15 19:17:44.000000000 +0400
+++ livecd-tools-18.8/imgcreate/live.py 2012-11-15 20:00:50.266280910 +0400
@@ -698,14 +698,10 @@
menu title Troubleshooting
"""
# Add basic video and check to submenu
-# for b, c in zip(basic, check):
-# cfg += b
-# if c:
-# cfg += c
- for b in basic:
+ for b, c in zip(basic, check):
cfg += b
- for c in check:
- cfg += c
+ if c:
+ cfg += c
cfg += self.__get_memtest_stanza(isodir)
cfg += "menu separator\n"

View file

@ -1,36 +0,0 @@
diff -Nur livecd-tools-18.8.old/imgcreate/live.py livecd-tools-18.8/imgcreate/live.py
--- livecd-tools-18.8.old/imgcreate/live.py 2012-11-28 16:05:42.000000000 +0400
+++ livecd-tools-18.8/imgcreate/live.py 2012-11-28 16:06:32.267543759 +0400
@@ -601,22 +601,22 @@
extra = "",
help = "",
index = index))
- linux.append(self.__get_image_stanza(is_xen, isDracut,
- fslabel = self.fslabel,
- isofstype = "auto",
- liveargs = kern_opts,
- long = "Start " + long + " in basic graphics mode.",
- short = "basic" + index,
- extra = "nomodeset",
- help = "Try this option out if you're having trouble starting.",
- index = index))
+# linux.append(self.__get_image_stanza(is_xen, isDracut,
+# fslabel = self.fslabel,
+# isofstype = "auto",
+# liveargs = kern_opts,
+# long = "Start " + long + " in basic graphics mode.",
+# short = "basic" + index,
+# extra = "nomodeset",
+# help = "Try this option out if you're having trouble starting.",
+# index = index))
linux.append(self.__get_image_stanza(is_xen, isDracut,
fslabel = self.fslabel,
isofstype = "auto",
liveargs = kern_opts,
long = "Install " + long + " in basic graphics mode.",
short = "basic" + index,
- extra = "xdriver=vesa nomodeset install",
+ extra = "xdriver=vesa nokmsboot install",
help = "Try this option out if you're having trouble installing.",
index = index))
kern_opts = kernel_options

View file

@ -1,45 +0,0 @@
diff -Nur livecd-tools-18.8.old/imgcreate/live.py livecd-tools-18.8/imgcreate/live.py
--- livecd-tools-18.8.old/imgcreate/live.py 2012-11-28 06:12:44.000000000 +0400
+++ livecd-tools-18.8/imgcreate/live.py 2012-11-28 06:16:14.415089739 +0400
@@ -607,7 +607,7 @@
liveargs = kern_opts,
long = "Start " + long + " in basic graphics mode.",
short = "basic" + index,
- extra = "xdriver=vesa nomodeset",
+ extra = "nomodeset",
help = "Try this option out if you're having trouble starting.",
index = index))
linux.append(self.__get_image_stanza(is_xen, isDracut,
@@ -666,7 +666,14 @@
def __get_local_stanza(self, isodir):
return """label local
menu label Boot from local drive
- localboot 0x80
+ localboot 0xffff
+"""
+
+ def __get_grub2_stanza(self, isodir):
+ return """label Rescue
+ menu label Run super grub2 disk
+ kernel memdisk
+ append initrd=sgb.iso
"""
def _configure_syslinux_bootloader(self, isodir):
@@ -702,11 +709,16 @@
cfg += b
if c:
cfg += c
+# for b in basic:
+# cfg += b
+# for c in check:
+# cfg += c
cfg += self.__get_memtest_stanza(isodir)
cfg += "menu separator\n"
cfg += self.__get_local_stanza(isodir)
+ cfg += self.__get_grub2_stanza(isodir)
cfg += self._get_isolinux_stanzas(isodir)
cfg += """menu separator

View file

@ -1,18 +0,0 @@
diff -Nur livecd-tools-18.8.old/imgcreate/live.py livecd-tools-18.8/imgcreate/live.py
--- livecd-tools-18.8.old/imgcreate/live.py 2012-12-21 11:33:32.000000000 +0000
+++ livecd-tools-18.8/imgcreate/live.py 2012-12-21 11:08:19.000000000 +0000
@@ -432,12 +432,12 @@
def __copy_syslinux_background(self, isodest):
background_path = self._instroot + \
- "/welcome.jpg"
+ "/usr/share/gfxboot/themes/Mandriva-Rosa/splash.jpg"
if not os.path.exists(background_path):
# fallback to F13 location
background_path = self._instroot + \
- "/welcome.jpg"
+ "/usr/share/gfxboot/themes/Mandriva-Rosa/splash.jpg"
if not os.path.exists(background_path):
return False

View file

@ -1,420 +0,0 @@
diff -Nur livecd-tools-18.8.orig/imgcreate/creator.py livecd-tools-18.8/imgcreate/creator.py
--- livecd-tools-18.8.orig/imgcreate/creator.py 2012-08-06 22:49:20.000000000 +0400
+++ livecd-tools-18.8/imgcreate/creator.py 2012-09-19 19:32:11.000000000 +0400
@@ -17,6 +17,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
import os
+import time
import os.path
import stat
import sys
@@ -608,6 +609,23 @@
if not kickstart.selinux_enabled(self.ks) and selinux.is_selinux_enabled() and not ayum.installHasFile(file):
raise CreatorError("Unable to disable SELinux because the installed package set did not include the file %s" % (file))
+ def install_urpmi(self, repo_urls = {}):
+
+ 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) = repo
+ subprocess.call(["/usr/sbin/urpmi.addmedia", "--urpmi-root", urpmi_conf, name, baseurl])
+
+ packages = self.ks.handler.packages.packageList
+
+ #for package in self.ks.handler.packages.packageList:
+ #subprocess.call(["/usr/sbin/urpmi", "--auto", "--urpmi-root", urpmi_conf, "--root", self._instroot, package])
+ subprocess.call(["/usr/sbin/urpmi", "--auto", "--no-suggests", "--no-verify", "--urpmi-root", urpmi_conf, "--root", self._instroot] + packages)
+
+
def install(self, repo_urls = {}):
"""Install packages into the install root.
@@ -729,9 +747,9 @@
kickstart.NetworkConfig(self._instroot).apply(ksh.network)
kickstart.RPMMacroConfig(self._instroot).apply(self.ks)
- self._create_bootconfig()
self._run_post_scripts()
+ self._create_bootconfig()
kickstart.SelinuxConfig(self._instroot).apply(ksh.selinux)
def launch_shell(self):
diff -Nur livecd-tools-18.8.orig/imgcreate/errors.py livecd-tools-18.8/imgcreate/errors.py
--- livecd-tools-18.8.orig/imgcreate/errors.py 2012-08-06 22:49:20.000000000 +0400
+++ livecd-tools-18.8/imgcreate/errors.py 2012-09-19 19:24:22.000000000 +0400
@@ -54,3 +54,5 @@
pass
class ResizeError(CreatorError):
pass
+class InitramfsError(CreatorError):
+ pass
\ В конце файла нет новой строки
diff -Nur livecd-tools-18.8.orig/imgcreate/fs.py livecd-tools-18.8/imgcreate/fs.py
--- livecd-tools-18.8.orig/imgcreate/fs.py 2012-08-06 22:49:20.000000000 +0400
+++ livecd-tools-18.8/imgcreate/fs.py 2012-09-18 14:02:48.000000000 +0400
@@ -73,9 +73,9 @@
def mksquashfs(in_img, out_img, compress_type):
# Allow gzip to work for older versions of mksquashfs
if compress_type == "gzip":
- args = ["/sbin/mksquashfs", in_img, out_img]
+ args = ["/usr/bin/mksquashfs", in_img, out_img]
else:
- args = ["/sbin/mksquashfs", in_img, out_img, "-comp", compress_type]
+ args = ["/usr/bin/mksquashfs", in_img, out_img, "-comp", compress_type]
if not sys.stdout.isatty():
args.append("-no-progress")
@@ -605,7 +605,7 @@
# where C is the number of 512 byte sectors in use
#
try:
- return int((out.split()[3]).split('/')[0]) * 512
+ return int((out.split()[4]).split('/')[0]) * 512
except ValueError:
raise SnapshotError("Failed to parse dmsetup status: " + out)
diff -Nur livecd-tools-18.8.orig/imgcreate/kickstart.py livecd-tools-18.8/imgcreate/kickstart.py
--- livecd-tools-18.8.orig/imgcreate/kickstart.py 2012-08-06 22:49:20.000000000 +0400
+++ livecd-tools-18.8/imgcreate/kickstart.py 2012-09-18 15:30:33.000000000 +0400
@@ -25,10 +25,10 @@
import urlgrabber
import selinux
-try:
- import system_config_keyboard.keyboard as keyboard
-except ImportError:
- import rhpl.keyboard as keyboard
+#try:
+# import system_config_keyboard.keyboard as keyboard
+#except ImportError:
+# import rhpl.keyboard as keyboard
import pykickstart.commands as kscommands
import pykickstart.constants as ksconstants
@@ -138,10 +138,13 @@
class KeyboardConfig(KickstartConfig):
"""A class to apply a kickstart keyboard configuration to a system."""
def apply(self, kskeyboard):
- k = keyboard.Keyboard()
- if kskeyboard.keyboard:
- k.set(kskeyboard.keyboard)
- k.write(self.instroot)
+# k = keyboard.Keyboard()
+ f = open(self.path("/etc/sysconfig/keyboard"), "w+")
+ f.write("KEYBOARD=\"" + kskeyboard.keyboard + "\"\n")
+ f.close()
+# if kskeyboard.keyboard:
+# k.set(kskeyboard.keyboard)
+# k.write(self.instroot)
class TimezoneConfig(KickstartConfig):
"""A class to apply a kickstart timezone configuration to a system."""
diff -Nur livecd-tools-18.8.orig/imgcreate/live.py livecd-tools-18.8/imgcreate/live.py
--- livecd-tools-18.8.orig/imgcreate/live.py 2012-08-06 22:49:20.000000000 +0400
+++ livecd-tools-18.8/imgcreate/live.py 2012-09-24 15:08:38.000000000 +0400
@@ -159,7 +159,7 @@
# Copy the initrd%d.img and xen%d.gz files over to /isolinux
# This is because the originals in /boot are removed when the
# original .iso was created.
- src = isoloop.mountdir + "/isolinux/"
+ src = isoloop.mountdir + "/boot/"
dest = self.__ensure_isodir() + "/isolinux/"
makedirs(dest)
pattern = re.compile(r"(initrd\d+\.img|xen\d+\.gz)")
@@ -230,15 +230,15 @@
def _generate_efiboot(self, isodir):
"""Generate EFI boot images."""
- if not os.path.exists(self._instroot + "/boot/efi/EFI/redhat/grub.efi"):
+ if not os.path.exists(self._instroot + "/boot/efi/EFI/rosa/grub.efi"):
return False
subprocess.call(["mkefiboot", isodir + "/EFI/BOOT",
isodir + "/isolinux/efiboot.img"])
- subprocess.call(["mkefiboot", "-a", isodir + "/EFI/BOOT",
- isodir + "/isolinux/macboot.img", "-l", self.product,
- "-n", "/usr/share/pixmaps/bootloader/fedora-media.vol",
- "-i", "/usr/share/pixmaps/bootloader/fedora.icns",
- "-p", self.product])
+# subprocess.call(["mkefiboot", "-a", isodir + "/EFI/BOOT",
+# isodir + "/isolinux/macboot.img", "-l", self.product,
+# "-n", "/usr/share/pixmaps/bootloader/fedora-media.vol",
+# "-i", "/usr/share/pixmaps/bootloader/fedora.icns",
+# "-p", self.product])
def _create_bootconfig(self):
"""Configure the image so that it's bootable."""
@@ -382,9 +382,6 @@
if os.path.exists(isodir + "/isolinux/efiboot.img"):
options.extend([ "-eltorito-alt-boot",
"-e", "isolinux/efiboot.img",
- "-no-emul-boot",
- "-eltorito-alt-boot",
- "-e", "isolinux/macboot.img",
"-no-emul-boot"])
return options
@@ -430,12 +427,12 @@
def __copy_syslinux_background(self, isodest):
background_path = self._instroot + \
- "/usr/share/anaconda/boot/syslinux-vesa-splash.jpg"
+ "/welcome.jpg"
if not os.path.exists(background_path):
# fallback to F13 location
background_path = self._instroot + \
- "/usr/lib/anaconda-runtime/syslinux-vesa-splash.jpg"
+ "/welcome.jpg"
if not os.path.exists(background_path):
return False
@@ -449,17 +446,21 @@
shutil.copyfile(bootdir + "/vmlinuz-" + version,
isodir + "/isolinux/vmlinuz" + index)
+ subprocess.call(["/usr/sbin/dracut", "/boot/initramfs-" + version + ".img", version],
+ preexec_fn = self._chroot)
isDracut = False
if os.path.exists(bootdir + "/initramfs-" + version + ".img"):
shutil.copyfile(bootdir + "/initramfs-" + version + ".img",
isodir + "/isolinux/initrd" + index + ".img")
isDracut = True
- elif os.path.exists(bootdir + "/initrd-" + version + ".img"):
- shutil.copyfile(bootdir + "/initrd-" + version + ".img",
- isodir + "/isolinux/initrd" + index + ".img")
- elif not self.base_on:
- logging.error("No initrd or initramfs found for %s" % (version,))
+ else:
+ raise InitramfsError("Unable to create initramfs-" + version + ".img")
+# elif os.path.exists(bootdir + "/initrd-" + version + ".img"):
+# shutil.copyfile(bootdir + "/initrd-" + version + ".img",
+# isodir + "/isolinux/initrd" + index + ".img")
+# elif not self.base_on:
+# logging.error("No initrd or initramfs found for %s" % (version,))
is_xen = False
if os.path.exists(bootdir + "/xen.gz-" + version[:-3]):
@@ -486,7 +487,7 @@
default %(menu)s
timeout %(timeout)d
menu background %(background)s
-menu autoboot Starting %(title)s in # second{,s}. Press any key to interrupt.
+menu autoboot Starting ROSA Desktop 2012 in # second{,s}. Press any key to interrupt.
menu clear
menu title %(title)s
@@ -499,10 +500,10 @@
menu color border * #00000000 #00000000 none
menu color sel 0 #ffffffff #00000000 none
-menu color title 0 #ff7ba3d0 #00000000 none
-menu color tabmsg 0 #ff3a6496 #00000000 none
-menu color unsel 0 #84b8ffff #00000000 none
-menu color hotsel 0 #84b8ffff #00000000 none
+menu color title 0 #ffffffff #00000000 none
+menu color tabmsg 0 #ffffffff #00000000 none
+menu color unsel 0 #ffffffff #00000000 none
+menu color hotsel 0 #ff000000 #ffffffff none
menu color hotkey 0 #ffffffff #00000000 none
menu color help 0 #ffffffff #00000000 none
menu color scrollbar 0 #ffffffff #ff355594 none
@@ -586,11 +587,18 @@
extra = "",
help = "",
index = index))
+ kern_opts = kernel_options + " install"
- if default:
- linux[-1] += " menu default\n"
-
- basic.append(self.__get_image_stanza(is_xen, isDracut,
+ linux.append(self.__get_image_stanza(is_xen, isDracut,
+ fslabel = self.fslabel,
+ isofstype = "auto",
+ liveargs = kern_opts,
+ long = "^Install " + long,
+ short = "linux" + index,
+ extra = "",
+ help = "",
+ index = index))
+ linux.append(self.__get_image_stanza(is_xen, isDracut,
fslabel = self.fslabel,
isofstype = "auto",
liveargs = kern_opts,
@@ -599,6 +607,23 @@
extra = "xdriver=vesa nomodeset",
help = "Try this option out if you're having trouble starting.",
index = index))
+ linux.append(self.__get_image_stanza(is_xen, isDracut,
+ fslabel = self.fslabel,
+ isofstype = "auto",
+ liveargs = kern_opts,
+ long = "Install " + long + " in ^basic graphics mode.",
+ short = "basic" + index,
+ extra = "xdriver=vesa nomodeset install",
+ help = "Try this option out if you're having trouble installing.",
+ index = index))
+ kern_opts = kernel_options
+
+ if default:
+ linux[-1] += " menu default\n"
+
+
+
+
if checkisomd5:
check.append(self.__get_image_stanza(is_xen, isDracut,
@@ -610,6 +635,7 @@
extra = "rd.live.check",
help = "",
index = index))
+
else:
check.append(None)
@@ -669,10 +695,13 @@
menu title Troubleshooting
"""
# Add basic video and check to submenu
- for b, c in zip(basic, check):
+ # my test
+# for s in basic:
+# cfg += s
+ for b in basic:
cfg += b
- if c:
- cfg += c
+ for c in check:
+ cfg += c
cfg += self.__get_memtest_stanza(isodir)
cfg += "menu separator\n"
@@ -691,9 +720,9 @@
cfgf.close()
def __copy_efi_files(self, isodir):
- if not os.path.exists(self._instroot + "/boot/efi/EFI/redhat/grub.efi"):
+ if not os.path.exists(self._instroot + "/boot/efi/EFI/rosa/grub.efi"):
return False
- shutil.copy(self._instroot + "/boot/efi/EFI/redhat/grub.efi",
+ shutil.copy(self._instroot + "/boot/efi/EFI/rosa/grub.efi",
isodir + "/EFI/BOOT/grub.efi")
# Should exist, but if it doesn't we should fail
@@ -829,14 +858,17 @@
shutil.copyfile(bootdir + "/vmlinuz-" + version,
destdir + "/vmlinuz")
+ subprocess.call(["/usr/sbin/dracut", "/boot/initramfs-" + version + ".img", version],
+ preexec_fn = self._chroot)
if os.path.exists(bootdir + "/initramfs-" + version + ".img"):
shutil.copyfile(bootdir + "/initramfs-" + version + ".img",
destdir + "/initrd.img")
isDracut = True
else:
- shutil.copyfile(bootdir + "/initrd-" + version + ".img",
- destdir + "/initrd.img")
+ raise InitramfsError("Unable to create initramfs-" + version + ".img")
+# shutil.copyfile(bootdir + "/initrd-" + version + ".img",
+# destdir + "/initrd.img")
return isDracut
diff -Nur livecd-tools-18.8.orig/tools/livecd-iso-to-disk.sh livecd-tools-18.8/tools/livecd-iso-to-disk.sh
--- livecd-tools-18.8.orig/tools/livecd-iso-to-disk.sh 2012-08-06 22:49:20.000000000 +0400
+++ livecd-tools-18.8/tools/livecd-iso-to-disk.sh 2012-09-18 14:02:48.000000000 +0400
@@ -389,7 +389,7 @@
if [ "$(/sbin/fdisk -l $device 2>/dev/null |grep -m1 $dev |awk {'print $2;'})" != "*" ]; then
echo "Partition isn't marked bootable!"
echo "You can mark the partition as bootable with "
- echo " # /sbin/parted $device"
+ echo " # /usr/sbin/parted $device"
echo " (parted) toggle N boot"
echo " (parted) quit"
exitclean
@@ -417,8 +417,8 @@
read
umount ${device}* &> /dev/null || :
wipefs -a ${device}
- /sbin/parted --script $device mklabel gpt
- partinfo=$(LC_ALL=C /sbin/parted --script -m $device "unit MB print" |grep ^$device:)
+ /usr/sbin/parted --script $device mklabel gpt
+ partinfo=$(LC_ALL=C /usr/sbin/parted --script -m $device "unit MB print" |grep ^$device:)
dev_size=$(echo $partinfo |cut -d : -f 2 |sed -e 's/MB$//')
p1_size=$(($dev_size - 3))
@@ -429,7 +429,7 @@
fi
p1_start=1
p1_end=$(($p1_size + 1))
- /sbin/parted -s $device u MB mkpart '"EFI System Partition"' fat32 $p1_start $p1_end set 1 boot on
+ /usr/sbin/parted -s $device u MB mkpart '"EFI System Partition"' fat32 $p1_start $p1_end set 1 boot on
# Sometimes automount can be _really_ annoying.
echo "Waiting for devices to settle..."
/sbin/udevadm settle
@@ -449,8 +449,8 @@
read
umount ${device}* &> /dev/null || :
wipefs -a ${device}
- /sbin/parted --script $device mklabel msdos
- partinfo=$(LC_ALL=C /sbin/parted --script -m $device "unit MB print" |grep ^$device:)
+ /usr/sbin/parted --script $device mklabel msdos
+ partinfo=$(LC_ALL=C /usr/sbin/parted --script -m $device "unit MB print" |grep ^$device:)
dev_size=$(echo $partinfo |cut -d : -f 2 |sed -e 's/MB$//')
p1_size=$(($dev_size - 3))
@@ -461,7 +461,7 @@
fi
p1_start=1
p1_end=$(($p1_size + 1))
- /sbin/parted -s $device u MB mkpart primary fat32 $p1_start $p1_end set 1 boot on
+ /usr/sbin/parted -s $device u MB mkpart primary fat32 $p1_start $p1_end set 1 boot on
# Sometimes automount can be _really_ annoying.
echo "Waiting for devices to settle..."
/sbin/udevadm settle
@@ -485,8 +485,8 @@
read
umount ${device}* &> /dev/null || :
wipefs -a ${device}
- /sbin/parted -s $device mklabel msdos
- partinfo=$(LC_ALL=C /sbin/parted -s -m $device "u MB print" |grep ^$device:)
+ /usr/sbin/parted -s $device mklabel msdos
+ partinfo=$(LC_ALL=C /usr/sbin/parted -s -m $device "u MB print" |grep ^$device:)
dev_size=$(echo $partinfo |cut -d : -f 2 |sed -e 's/MB$//')
p1_size=$(($dev_size - 3))
@@ -497,7 +497,7 @@
fi
p1_start=1
p1_end=$(($p1_size + 1))
- /sbin/parted -s $device u MB mkpart primary ext2 $p1_start $p1_end set 1 boot on
+ /usr/sbin/parted -s $device u MB mkpart primary ext2 $p1_start $p1_end set 1 boot on
# Sometimes automount can be _really_ annoying.
echo "Waiting for devices to settle..."
/sbin/udevadm settle
@@ -525,7 +525,7 @@
exitclean
fi
- partinfo=$(LC_ALL=C /sbin/parted --script -m $device "print" |grep ^$partnum:)
+ partinfo=$(LC_ALL=C /usr/sbin/parted --script -m $device "print" |grep ^$partnum:)
volname=$(echo $partinfo |cut -d : -f 6)
flags=$(echo $partinfo |cut -d : -f 7)
if [ "$volname" != "EFI System Partition" ]; then
@@ -536,7 +536,7 @@
if [ "$(echo $flags |grep -c boot)" = "0" ]; then
echo "Partition isn't marked bootable!"
echo "You can mark the partition as bootable with "
- echo " # /sbin/parted $device"
+ echo " # /usr/sbin/parted $device"
echo " (parted) toggle N boot"
echo " (parted) quit"
exitclean

View file

@ -1,24 +0,0 @@
diff -Nur livecd-tools-18.8.orig/imgcreate/live.py livecd-tools-18.8/imgcreate/live.py
--- livecd-tools-18.8.orig/imgcreate/live.py 2013-06-10 16:07:13.000000000 +0400
+++ livecd-tools-18.8/imgcreate/live.py 2013-06-10 16:09:01.157308875 +0400
@@ -114,9 +114,9 @@
"""
r = kickstart.get_kernel_args(self.ks)
if os.path.exists(self._instroot + "/usr/bin/rhgb"):
- r += " rhgb vga=788 splash=silent logo.nologo"
+ r += " rhgb splash=silent logo.nologo"
if os.path.exists(self._instroot + "/usr/bin/plymouth"):
- r += " rhgb vga=788 splash=silent logo.nologo"
+ r += " rhgb splash=silent logo.nologo"
return r
def _get_mkisofs_options(self, isodir):
@@ -602,7 +602,7 @@
liveargs = kern_opts,
long = "Install " + long,
short = "linux" + index,
- extra = "",
+ extra = "vga=788",
help = "",
index = index))
# linux.append(self.__get_image_stanza(is_xen, isDracut,

View file

@ -0,0 +1,17 @@
diff -Nur livecd-tools-21.1.old/imgcreate/live.py livecd-tools-21.1/imgcreate/live.py
--- livecd-tools-21.1.old/imgcreate/live.py 2014-07-02 14:38:50.000000000 +0400
+++ livecd-tools-21.1/imgcreate/live.py 2014-07-02 15:09:52.791077766 +0400
@@ -740,10 +740,12 @@
fail = False
missing = []
files = [("/boot/efi/EFI/*/grub2-efi/shim.efi", "/EFI/BOOT/BOOT%s.efi" % (self.efiarch,)),
- ("/boot/efi/EFI/*/grub2-efi/grub.efi", "/EFI/BOOT/grubx64.efi"),
+ ("/boot/efi/EFI/*/grub2-efi/grubcd.efi", "/EFI/BOOT/grubx64.efi"),
+ ("/boot/grub2/themes/rosa/*", "/EFI/BOOT/themes/rosa/"),
("/boot/grub2/fonts/unicode.pf2", "/EFI/BOOT/fonts/"),
]
makedirs(isodir+"/EFI/BOOT/fonts/")
+ makedirs(isodir+"/EFI/BOOT/themes/rosa/")
for src, dest in files:
src_glob = glob.glob(self._instroot+src)
if not src_glob:

View file

@ -0,0 +1,35 @@
diff -Nur livecd-tools-21.1.old/imgcreate/creator.py livecd-tools-21.1/imgcreate/creator.py
--- livecd-tools-21.1.old/imgcreate/creator.py 2014-07-02 14:38:50.000000000 +0400
+++ livecd-tools-21.1/imgcreate/creator.py 2014-07-02 14:45:18.891033845 +0400
@@ -578,9 +578,15 @@
print urpmi_conf
time.sleep(5)
for repo in kickstart.get_repos(self.ks, repo_urls):
- (name, baseurl, mirrorlist, proxy, inc, exc, cost) = repo
+ (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
+ 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'])
+
+
+ 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)
def _run_post_scripts(self):
@@ -633,12 +639,12 @@
kickstart.KeyboardConfig(self._instroot).apply(ksh.keyboard)
kickstart.TimezoneConfig(self._instroot).apply(ksh.timezone)
kickstart.AuthConfig(self._instroot).apply(ksh.authconfig)
- kickstart.FirewallConfig(self._instroot).apply(ksh.firewall)
+# kickstart.FirewallConfig(self._instroot).apply(ksh.firewall)
kickstart.RootPasswordConfig(self._instroot).apply(ksh.rootpw)
kickstart.ServicesConfig(self._instroot).apply(ksh.services)
kickstart.XConfig(self._instroot).apply(ksh.xconfig)
kickstart.NetworkConfig(self._instroot).apply(ksh.network)
- kickstart.RPMMacroConfig(self._instroot).apply(self.ks)
+# kickstart.RPMMacroConfig(self._instroot).apply(self.ks)
self._run_post_scripts()
self._create_bootconfig()

View file

@ -0,0 +1,617 @@
diff -Nur livecd-tools-21.1.old/imgcreate/creator.py livecd-tools-21.1/imgcreate/creator.py
--- livecd-tools-21.1.old/imgcreate/creator.py 2014-04-16 01:59:22.000000000 +0400
+++ livecd-tools-21.1/imgcreate/creator.py 2014-05-13 14:32:57.612911592 +0400
@@ -17,6 +17,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
import os
+import time
import os.path
import stat
import sys
@@ -26,12 +27,10 @@
import subprocess
import selinux
-import yum
import rpm
from imgcreate.errors import *
from imgcreate.fs import *
-from imgcreate.yuminst import *
from imgcreate import kickstart
FSLABEL_MAXLEN = 32
@@ -504,17 +503,17 @@
self._mount_instroot(base_on)
- for d in ("/dev/pts", "/etc", "/boot", "/var/log", "/var/cache/yum", "/sys", "/proc"):
+ for d in ("/dev/pts", "/etc", "/boot", "/var/log", "/var/cache/urpmi", "/sys", "/proc"):
makedirs(self._instroot + d)
- cachesrc = cachedir or (self.__builddir + "/yum-cache")
+ cachesrc = cachedir or (self.__builddir + "/urpmi-cache")
makedirs(cachesrc)
# bind mount system directories into _instroot
for (f, dest) in [("/sys", None), ("/proc", None),
("/dev/pts", None), ("/dev/shm", None),
(self.__selinux_mountpoint, self.__selinux_mountpoint),
- (cachesrc, "/var/cache/yum")]:
+ (cachesrc, "/var/cache/urpmi")]:
if os.path.exists(f):
self.__bindmounts.append(BindChrootMount(f, self._instroot, dest))
else:
@@ -573,104 +572,16 @@
shutil.rmtree(self.__builddir, ignore_errors = True)
self.__builddir = None
- def __select_packages(self, ayum):
- skipped_pkgs = []
- for pkg in kickstart.get_packages(self.ks,
- self._get_required_packages()):
- try:
- ayum.selectPackage(pkg)
- except yum.Errors.InstallError, e:
- if kickstart.ignore_missing(self.ks):
- skipped_pkgs.append(pkg)
- else:
- raise CreatorError("Failed to find package '%s' : %s" %
- (pkg, e))
-
- for pkg in skipped_pkgs:
- logging.warn("Skipping missing package '%s'" % (pkg,))
-
- def __select_groups(self, ayum):
- skipped_groups = []
- for group in kickstart.get_groups(self.ks):
- try:
- ayum.selectGroup(group.name, group.include)
- except (yum.Errors.InstallError, yum.Errors.GroupsError), e:
- if kickstart.ignore_missing(self.ks):
- raise CreatorError("Failed to find group '%s' : %s" %
- (group.name, e))
- else:
- skipped_groups.append(group)
-
- for group in skipped_groups:
- logging.warn("Skipping missing group '%s'" % (group.name,))
-
- def __deselect_packages(self, ayum):
- for pkg in kickstart.get_excluded(self.ks,
- self._get_excluded_packages()):
- ayum.deselectPackage(pkg)
-
- def install(self, repo_urls = {}):
- """Install packages into the install root.
-
- This function installs the packages listed in the supplied kickstart
- into the install root. By default, the packages are installed from the
- repository URLs specified in the kickstart.
-
- repo_urls -- a dict which maps a repository name to a repository URL;
- if supplied, this causes any repository URLs specified in
- the kickstart to be overridden.
-
- """
- yum_conf = self._mktemp(prefix = "yum.conf-")
-
- ayum = LiveCDYum(releasever=self.releasever, useplugins=self.useplugins)
- ayum.setup(yum_conf, self._instroot, cacheonly=self.cacheonly)
+ def install_urpmi(self, repo_urls = {}):
+ 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
-
- yr = ayum.addRepository(name, baseurl, mirrorlist)
- if inc:
- yr.includepkgs = inc
- if exc:
- yr.exclude = exc
- if proxy:
- yr.proxy = proxy
- if cost is not None:
- yr.cost = cost
- yr.sslverify = sslverify
- ayum.setup(yum_conf, self._instroot)
-
- if kickstart.exclude_docs(self.ks):
- rpm.addMacro("_excludedocs", "1")
- if not kickstart.selinux_enabled(self.ks):
- rpm.addMacro("__file_context_path", "%{nil}")
- if kickstart.inst_langs(self.ks) != None:
- rpm.addMacro("_install_langs", kickstart.inst_langs(self.ks))
-
- try:
- self.__select_packages(ayum)
- self.__select_groups(ayum)
- self.__deselect_packages(ayum)
-
- ayum.runInstall()
- except yum.Errors.RepoError, e:
- raise CreatorError("Unable to download from repo : %s" % (e,))
- except yum.Errors.YumBaseError, e:
- raise CreatorError("Unable to install: %s" % (e,))
- finally:
- ayum.closeRpmDB()
- ayum.close()
- os.unlink(yum_conf)
-
- # do some clean up to avoid lvm info leakage. this sucks.
- for subdir in ("cache", "backup", "archive"):
- lvmdir = self._instroot + "/etc/lvm/" + subdir
- try:
- for f in os.listdir(lvmdir):
- os.unlink(lvmdir + "/" + f)
- except:
- pass
+ (name, baseurl, mirrorlist, proxy, inc, exc, cost) = repo
+ subprocess.call(["/usr/sbin/urpmi.addmedia", "--urpmi-root", urpmi_conf, name, baseurl])
+ packages = self.ks.handler.packages.packageList
+ subprocess.call(["/usr/sbin/urpmi", "--auto", "--no-suggests", "--fastunsafe", "--debug", "--no-verify", "--urpmi-root", urpmi_conf, "--root", self._instroot] + packages)
def _run_post_scripts(self):
for s in kickstart.get_post_scripts(self.ks):
@@ -729,9 +640,8 @@
kickstart.NetworkConfig(self._instroot).apply(ksh.network)
kickstart.RPMMacroConfig(self._instroot).apply(self.ks)
- self._create_bootconfig()
-
self._run_post_scripts()
+ self._create_bootconfig()
kickstart.SelinuxConfig(self._instroot).apply(ksh.selinux)
def launch_shell(self):
diff -Nur livecd-tools-21.1.old/imgcreate/errors.py livecd-tools-21.1/imgcreate/errors.py
--- livecd-tools-21.1.old/imgcreate/errors.py 2014-04-16 01:59:22.000000000 +0400
+++ livecd-tools-21.1/imgcreate/errors.py 2014-05-13 14:33:34.192912683 +0400
@@ -56,3 +56,6 @@
pass
class ResizeError(CreatorError):
pass
+class InitramfsError(CreatorError):
+ pass
+
diff -Nur livecd-tools-21.1.old/imgcreate/fs.py livecd-tools-21.1/imgcreate/fs.py
--- livecd-tools-21.1.old/imgcreate/fs.py 2014-04-16 01:59:22.000000000 +0400
+++ livecd-tools-21.1/imgcreate/fs.py 2014-05-13 14:35:02.152915304 +0400
@@ -73,9 +73,9 @@
def mksquashfs(in_img, out_img, compress_type):
# Allow gzip to work for older versions of mksquashfs
if not compress_type or compress_type == "gzip":
- args = ["/sbin/mksquashfs", in_img, out_img]
+ args = ["/usr/sbin/mksquashfs", in_img, out_img]
else:
- args = ["/sbin/mksquashfs", in_img, out_img, "-comp", compress_type]
+ args = ["/usr/sbin/mksquashfs", in_img, out_img, "-comp", compress_type]
if not sys.stdout.isatty():
args.append("-no-progress")
@@ -610,7 +610,7 @@
# where C is the number of 512 byte sectors in use
#
try:
- return int((out.split()[3]).split('/')[0]) * 512
+ return int((out.split()[4]).split('/')[0]) * 512
except ValueError:
raise SnapshotError("Failed to parse dmsetup status: " + out)
diff -Nur livecd-tools-21.1.old/imgcreate/__init__.py livecd-tools-21.1/imgcreate/__init__.py
--- livecd-tools-21.1.old/imgcreate/__init__.py 2014-04-16 01:59:22.000000000 +0400
+++ livecd-tools-21.1/imgcreate/__init__.py 2014-05-13 14:35:34.680916273 +0400
@@ -18,7 +18,6 @@
from imgcreate.live import *
from imgcreate.creator import *
-from imgcreate.yuminst import *
from imgcreate.kickstart import *
from imgcreate.fs import *
from imgcreate.debug import *
diff -Nur livecd-tools-21.1.old/imgcreate/kickstart.py livecd-tools-21.1/imgcreate/kickstart.py
--- livecd-tools-21.1.old/imgcreate/kickstart.py 2014-04-16 01:59:22.000000000 +0400
+++ livecd-tools-21.1/imgcreate/kickstart.py 2014-05-13 14:35:55.884916905 +0400
@@ -25,11 +25,6 @@
import urlgrabber
import selinux
-try:
- import system_config_keyboard.keyboard as keyboard
-except ImportError:
- import rhpl.keyboard as keyboard
-
import pykickstart.commands as kscommands
import pykickstart.constants as ksconstants
import pykickstart.errors as kserrors
diff -Nur livecd-tools-21.1.old/imgcreate/live.py livecd-tools-21.1/imgcreate/live.py
--- livecd-tools-21.1.old/imgcreate/live.py 2014-04-16 01:59:22.000000000 +0400
+++ livecd-tools-21.1/imgcreate/live.py 2014-05-13 15:40:18.177031999 +0400
@@ -27,6 +27,7 @@
from imgcreate.errors import *
from imgcreate.fs import *
+from imgcreate.arch import *
from imgcreate.creator import *
class LiveImageCreatorBase(LoopImageCreator):
@@ -118,9 +119,9 @@
"""
r = kickstart.get_kernel_args(self.ks)
if os.path.exists(self._instroot + "/usr/bin/rhgb"):
- r += " rhgb"
+ r += " rhgb splash=silent logo.nologo"
if os.path.exists(self._instroot + "/usr/bin/plymouth"):
- r += " rhgb"
+ r += " rhgb splash=silent logo.nologo"
return r
def _get_mkisofs_options(self, isodir):
@@ -244,8 +245,8 @@
isodir + "/isolinux/efiboot.img"])
subprocess.call(["mkefiboot", "-a", isodir + "/EFI/BOOT",
isodir + "/isolinux/macboot.img", "-l", self.product,
- "-n", "/usr/share/pixmaps/bootloader/fedora-media.vol",
- "-i", "/usr/share/pixmaps/bootloader/fedora.icns",
+# "-n", "/usr/share/pixmaps/bootloader/rosa-media.vol",
+# "-i", "/usr/share/pixmaps/bootloader/rosa.icns",
"-p", self.product])
def _create_bootconfig(self):
@@ -262,7 +263,7 @@
return env
def __extra_filesystems(self):
- return "vfat msdos isofs ext4 xfs btrfs";
+ return "vfat msdos isofs ext4 xfs =fs/nls btrfs";
def __extra_drivers(self):
retval = "sr_mod sd_mod ide-cd cdrom "
@@ -331,8 +332,14 @@
if os.path.exists("/usr/bin/isohybrid"):
if os.path.exists(isodir + "/isolinux/efiboot.img"):
subprocess.call(["/usr/bin/isohybrid", "-u", "-m", iso])
+ subprocess.call(["/usr/bin/rosa-image-fix-x86.pl", iso])
+ logging.warn("iso hacked with x86 version of script")
+
else:
subprocess.call(["/usr/bin/isohybrid", iso])
+ subprocess.call(["/usr/bin/rosa-image-fix-x86.pl", iso])
+ logging.warn("iso hacked with x86 version of script")
+
self.__implant_md5sum(iso)
@@ -445,12 +452,12 @@
def __copy_syslinux_background(self, isodest):
background_path = self._instroot + \
- "/usr/share/anaconda/boot/syslinux-vesa-splash.jpg"
+ "/usr/share/gfxboot/themes/Rosa-EE/splash.jpg"
if not os.path.exists(background_path):
# fallback to F13 location
background_path = self._instroot + \
- "/usr/lib/anaconda-runtime/syslinux-vesa-splash.jpg"
+ "/usr/share/gfxboot/themes/Rosa-EE/splash.jpg"
if not os.path.exists(background_path):
return False
@@ -501,30 +508,27 @@
default %(menu)s
timeout %(timeout)d
menu background %(background)s
-menu autoboot Starting %(title)s in # second{,s}. Press any key to interrupt.
+menu autoboot Starting boot from local drive in # second{,s}. Press any key to interrupt.
-menu clear
+#menu clear
menu title %(title)s
-menu vshift 8
-menu rows 18
-menu margin 8
+#menu vshift 8
+#menu rows 18
+#menu margin 8
#menu hidden
-menu helpmsgrow 15
-menu tabmsgrow 13
+#menu helpmsgrow 15
+#menu tabmsgrow 13
-menu color border * #00000000 #00000000 none
-menu color sel 0 #ffffffff #00000000 none
-menu color title 0 #ff7ba3d0 #00000000 none
-menu color tabmsg 0 #ff3a6496 #00000000 none
-menu color unsel 0 #84b8ffff #00000000 none
-menu color hotsel 0 #84b8ffff #00000000 none
-menu color hotkey 0 #ffffffff #00000000 none
-menu color help 0 #ffffffff #00000000 none
-menu color scrollbar 0 #ffffffff #ff355594 none
-menu color timeout 0 #ffffffff #00000000 none
-menu color timeout_msg 0 #ffffffff #00000000 none
-menu color cmdmark 0 #84b8ffff #00000000 none
-menu color cmdline 0 #ffffffff #00000000 none
+menu color border 0 #ffffffff #00000000
+menu color sel 7 #ffffffff #ff000000
+menu color title 0 #ffffffff #00000000
+menu color tabmsg 0 #ffffffff #00000000
+menu color unsel 0 #ffffffff #00000000
+menu color hotsel 0 #ff000000 #ffffffff
+menu color hotkey 7 #ffffffff #ff000000
+menu color timeout_msg 0 #ffffffff #00000000
+menu color timeout 0 #ffffffff #00000000
+menu color cmdline 0 #ffffffff #00000000
menu tabmsg Press Tab for full configuration options on menu items.
menu separator
@@ -574,11 +578,15 @@
default = self.__is_default_kernel(kernel, kernels)
if default:
- long = self.product
+ long = "ROSA Desktop"
elif kernel.startswith("kernel-"):
- long = "%s (%s)" % (self.product, kernel[7:])
+ long = "%s (%s)" % ("ROSA Desktop", kernel[7:])
else:
- long = "%s (%s)" % (self.product, kernel)
+ long = "%s (%s)" % ("ROSA Desktop", kernel)
+
+ if os.path.exists(self._instroot + "/etc/system-release"):
+ long = subprocess.check_output("echo -n `sed 's, release .*$,,g' /etc/system-release`", shell=True)
+ logging.warn('using LSB info for syslinux names')
# tell dracut not to ask for LUKS passwords or activate mdraid sets
if isDracut:
@@ -590,31 +598,38 @@
fslabel = self.fslabel,
isofstype = "auto",
liveargs = kern_opts,
- long = "^Start " + long,
+ long = "Start " + long,
short = "linux" + index,
- extra = "",
+ extra = "quiet",
help = "",
index = index))
+ kern_opts = kernel_options + " install"
- if default:
- linux[-1] += " menu default\n"
-
- basic.append(self.__get_image_stanza(is_xen, isDracut,
+ linux.append(self.__get_image_stanza(is_xen, isDracut,
fslabel = self.fslabel,
isofstype = "auto",
liveargs = kern_opts,
- long = "Start " + long + " in ^basic graphics mode.",
- short = "basic" + index,
- extra = "nomodeset",
- help = "Try this option out if you're having trouble starting.",
+ long = "Install " + long,
+ short = "linux" + index,
+ extra = "quiet vga=788",
+ help = "",
index = index))
-
+ linux.append(self.__get_image_stanza(is_xen, isDracut,
+ fslabel = self.fslabel,
+ isofstype = "auto",
+ liveargs = kern_opts,
+ long = "Install " + long + " in basic graphics mode.",
+ short = "basic" + index,
+ extra = "xdriver=vesa nokmsboot install",
+ help = "Try this option out if you're having trouble installing.",
+ index = index))
+ kern_opts = kernel_options
if checkisomd5:
check.append(self.__get_image_stanza(is_xen, isDracut,
fslabel = self.fslabel,
isofstype = "auto",
liveargs = kern_opts,
- long = "^Test this media & start " + long,
+ long = "Test this media & start " + long,
short = "check" + index,
extra = "rd.live.check",
help = "",
@@ -627,14 +642,14 @@
return (linux, basic, check)
def __get_memtest_stanza(self, isodir):
- memtest = glob.glob(self._instroot + "/boot/memtest86*")
+ memtest = glob.glob(self._instroot + "/boot/memtest*")
if not memtest:
return ""
shutil.copyfile(memtest[0], isodir + "/isolinux/memtest")
return """label memtest
- menu label Run a ^memory test.
+ menu label Run a memory test.
text help
If your system is having issues, an problem with your
system's memory may be the cause. Use this utility to
@@ -645,9 +660,15 @@
def __get_local_stanza(self, isodir):
return """label local
- menu label Boot from ^local drive
+ menu label Boot from local drive
localboot 0xffff
"""
+ def __get_grub2_stanza(self, isodir):
+ return """label Rescue
+ menu label Run super grub2 disk
+ kernel memdisk
+ append initrd=sgb.iso
+"""
def _configure_syslinux_bootloader(self, isodir):
"""configure the boot loader"""
@@ -670,6 +691,7 @@
linux, basic, check = self.__get_image_stanzas(isodir)
# Add linux stanzas to main menu
+ cfg += self.__get_local_stanza(isodir)
for s in linux:
cfg += s
cfg += "menu separator\n"
@@ -686,7 +708,7 @@
cfg += self.__get_memtest_stanza(isodir)
cfg += "menu separator\n"
- cfg += self.__get_local_stanza(isodir)
+ cfg += self.__get_grub2_stanza(isodir)
cfg += self._get_isolinux_stanzas(isodir)
cfg += """menu separator
@@ -712,14 +734,14 @@
If any of them are missing, return False.
requires:
shim.efi
- gcdx64.efi
+ grub.efi
fonts/unicode.pf2
"""
fail = False
missing = []
- files = [("/boot/efi/EFI/*/shim.efi", "/EFI/BOOT/BOOT%s.efi" % (self.efiarch,)),
- ("/boot/efi/EFI/*/gcdx64.efi", "/EFI/BOOT/grubx64.efi"),
- ("/boot/efi/EFI/*/fonts/unicode.pf2", "/EFI/BOOT/fonts/"),
+ files = [("/boot/efi/EFI/*/grub2-efi/shim.efi", "/EFI/BOOT/BOOT%s.efi" % (self.efiarch,)),
+ ("/boot/efi/EFI/*/grub2-efi/grub.efi", "/EFI/BOOT/grubx64.efi"),
+ ("/boot/grub2/fonts/unicode.pf2", "/EFI/BOOT/fonts/"),
]
makedirs(isodir+"/EFI/BOOT/fonts/")
for src, dest in files:
@@ -821,7 +843,7 @@
cfgf.close()
# first gen mactel machines get the bootloader name wrong apparently
- if rpmUtils.arch.getBaseArch() == "i386":
+ if getBaseArch() == "i386":
os.link(isodir + "/EFI/BOOT/BOOT%s.efi" % (self.efiarch),
isodir + "/EFI/BOOT/BOOT.efi")
@@ -1025,7 +1047,7 @@
return ["kernel.ppc"] + \
ppcLiveImageCreator._get_excluded_packages(self)
-arch = rpmUtils.arch.getBaseArch()
+arch = getBaseArch()
if arch in ("i386", "x86_64"):
LiveImageCreator = x86LiveImageCreator
elif arch in ("ppc",):
diff -Nur livecd-tools-21.1.old/tools/livecd-creator livecd-tools-21.1/tools/livecd-creator
--- livecd-tools-21.1.old/tools/livecd-creator 2014-04-16 01:59:22.000000000 +0400
+++ livecd-tools-21.1/tools/livecd-creator 2014-05-13 14:21:03.558890314 +0400
@@ -208,7 +208,7 @@
try:
creator.mount(options.base_on, options.cachedir)
- creator.install()
+ creator.install_urpmi()
creator.configure()
if options.give_shell:
print "Launching shell. Exit to continue."
diff -Nur livecd-tools-21.1.old/tools/livecd-iso-to-disk.sh livecd-tools-21.1/tools/livecd-iso-to-disk.sh
--- livecd-tools-21.1.old/tools/livecd-iso-to-disk.sh 2014-04-16 01:59:22.000000000 +0400
+++ livecd-tools-21.1/tools/livecd-iso-to-disk.sh 2014-05-13 14:25:36.776898456 +0400
@@ -402,7 +402,7 @@
if [ "$(/sbin/fdisk -l $device 2>/dev/null |grep -m1 $dev |awk {'print $2;'})" != "*" ]; then
echo "Partition isn't marked bootable!"
echo "You can mark the partition as bootable with "
- echo " # /sbin/parted $device"
+ echo " # /usr/sbin/parted $device"
echo " (parted) toggle N boot"
echo " (parted) quit"
exitclean
@@ -430,8 +430,8 @@
read
umount ${device}* &> /dev/null || :
wipefs -a ${device}
- /sbin/parted --script $device mklabel gpt
- partinfo=$(LC_ALL=C /sbin/parted --script -m $device "unit MB print" |grep ^$device:)
+ /usr/sbin/parted --script $device mklabel gpt
+ partinfo=$(LC_ALL=C /usr/sbin/parted --script -m $device "unit MB print" |grep ^$device:)
dev_size=$(echo $partinfo |cut -d : -f 2 |sed -e 's/MB$//')
p1_size=$(($dev_size - 3))
@@ -442,7 +442,7 @@
fi
p1_start=1
p1_end=$(($p1_size + 1))
- /sbin/parted -s $device u MB mkpart '"EFI System Partition"' fat32 $p1_start $p1_end set 1 boot on
+ /usr/sbin/parted -s $device u MB mkpart '"EFI System Partition"' fat32 $p1_start $p1_end set 1 boot on
# Sometimes automount can be _really_ annoying.
echo "Waiting for devices to settle..."
/sbin/udevadm settle
@@ -462,8 +462,8 @@
read
umount ${device}* &> /dev/null || :
wipefs -a ${device}
- /sbin/parted --script $device mklabel msdos
- partinfo=$(LC_ALL=C /sbin/parted --script -m $device "unit MB print" |grep ^$device:)
+ /usr/sbin/parted --script $device mklabel msdos
+ partinfo=$(LC_ALL=C /usr/sbin/parted --script -m $device "unit MB print" |grep ^$device:)
dev_size=$(echo $partinfo |cut -d : -f 2 |sed -e 's/MB$//')
p1_size=$(($dev_size - 3))
@@ -474,7 +474,7 @@
fi
p1_start=1
p1_end=$(($p1_size + 1))
- /sbin/parted -s $device u MB mkpart primary fat32 $p1_start $p1_end set 1 boot on
+ /usr/sbin/parted -s $device u MB mkpart primary fat32 $p1_start $p1_end set 1 boot on
# Sometimes automount can be _really_ annoying.
echo "Waiting for devices to settle..."
/sbin/udevadm settle
@@ -498,8 +498,8 @@
read
umount ${device}* &> /dev/null || :
wipefs -a ${device}
- /sbin/parted -s $device mklabel msdos
- partinfo=$(LC_ALL=C /sbin/parted -s -m $device "u MB print" |grep ^$device:)
+ /usr/sbin/parted -s $device mklabel msdos
+ partinfo=$(LC_ALL=C /usr/sbin/parted -s -m $device "u MB print" |grep ^$device:)
dev_size=$(echo $partinfo |cut -d : -f 2 |sed -e 's/MB$//')
p1_size=$(($dev_size - 3))
@@ -510,7 +510,7 @@
fi
p1_start=1
p1_end=$(($p1_size + 1))
- /sbin/parted -s $device u MB mkpart primary ext2 $p1_start $p1_end set 1 boot on
+ /usr/sbin/parted -s $device u MB mkpart primary ext2 $p1_start $p1_end set 1 boot on
# Sometimes automount can be _really_ annoying.
echo "Waiting for devices to settle..."
/sbin/udevadm settle
@@ -532,13 +532,13 @@
dev=$1
getdisk $dev
- if [ "$(LC_ALL=C /sbin/parted -m $device p 2>/dev/null |grep -ic :gpt:)" -eq "0" ]; then
+ if [ "$(LC_ALL=C /usr/sbin/parted -m $device p 2>/dev/null |grep -ic :gpt:)" -eq "0" ]; then
echo "EFI boot requires a GPT partition table."
echo "This can be done manually or you can run with --format"
exitclean
fi
- partinfo=$(LC_ALL=C /sbin/parted --script -m $device "print" |grep ^$partnum:)
+ partinfo=$(LC_ALL=C /usr/sbin/parted --script -m $device "print" |grep ^$partnum:)
volname=$(echo $partinfo |cut -d : -f 6)
flags=$(echo $partinfo |cut -d : -f 7)
if [ "$volname" != "EFI System Partition" ]; then
@@ -549,7 +549,7 @@
if [ "$(echo $flags |grep -c boot)" = "0" ]; then
echo "Partition isn't marked bootable!"
echo "You can mark the partition as bootable with "
- echo " # /sbin/parted $device"
+ echo " # /usr/sbin/parted $device"
echo " (parted) toggle N boot"
echo " (parted) quit"
exitclean

View file

@ -1,14 +0,0 @@
diff -Nur livecd-tools-18.8.old/imgcreate/live.py livecd-tools-18.8/imgcreate/live.py
--- livecd-tools-18.8.old/imgcreate/live.py 2013-05-21 14:40:16.000000000 +0400
+++ livecd-tools-18.8/imgcreate/live.py 2013-05-21 14:30:26.000000000 +0400
@@ -575,6 +575,10 @@
else:
long = "%s (%s)" % ("ROSA Desktop.Fresh 2012", kernel)
+ if os.path.exists(self._instroot + "/etc/system-release"):
+ long = subprocess.check_output("echo -n `sed 's, release .*$,,g' /etc/system-release`", shell=True)
+ logging.warn('using LSB info for syslinux names')
+
# tell dracut not to ask for LUKS passwords or activate mdraid sets
if isDracut:
kern_opts = kernel_options + " rd.luks=0 rd.md=0 rd.dm=0"

View file

@ -4,38 +4,18 @@
Summary: Tools for building live CDs Summary: Tools for building live CDs
Name: livecd-tools Name: livecd-tools
Version: 18.8 Version: 21.1
Release: 49 Release: 3
Epoch: 1 Epoch: 1
License: GPLv2 License: GPLv2
Group: System/Base Group: System/Base
URL: http://git.fedorahosted.org/git/livecd URL: http://git.fedorahosted.org/git/livecd
# To make source tar ball:
# git clone git://git.fedorahosted.org/livecd
# cd livecd
# make dist
# scp livecd*.tar.bz2 fedorahosted.org:livecd
Source0: http://fedorahosted.org/releases/l/i/livecd/%{name}-%{version}.tar.bz2 Source0: http://fedorahosted.org/releases/l/i/livecd/%{name}-%{version}.tar.bz2
Source1: arch.py Source1: arch.py
Source3: rosa-image-fix-x86.pl Source3: rosa-image-fix-x86.pl
Patch0: livecd-tools-18.8.urpmi.rosa.patch Patch0: livecd-tools-21.1.urpmi.patch
Patch1: livecd-tools-18.8.noyum.patch Patch1: livecd-tools-21.1.split.install.patch
Patch2: livecd-tools-18.8.more.fixes.patch Patch2: livecd-tools-21.1.efi.fixes.patch
Patch3: livecd-tools-18.8.localboot.patch
Patch4: livecd-tools-18.8.revert.patch
Patch5: livecd-tools-18.8.sgb2.patch
Patch6: livecd-tools-18.8.safemode.patch
Patch7: livecd-tools-18.8.Distroname.patch
Patch8: livecd-tools-18.8.splash.patch
Patch9: livecd-tools-18.8.fs_nls.patch
Patch10: livecd-tools.get-name-from-lsb.patch
Patch11: livecd-tools-18.8.vga.removal.patch
Patch12: livecd-tools-18.8.initramfs-initrd.patch
Patch13: livecd-tools-18.8.fustunsafe.patch
Patch14: livecd-tools-18.8.debug.patch
Patch15: livecd-tools-18.8.hackfs.patch
Patch16: livecd-tools-18.8.quiet.patch
Patch17: livecd-tools-18.8.jpg.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
Requires: python-imgcreate = %{epoch}:%{version}-%{release} Requires: python-imgcreate = %{epoch}:%{version}-%{release}
@ -87,21 +67,6 @@ like live image or appliances.
%patch0 -p1 %patch0 -p1
%patch1 -p1 %patch1 -p1
%patch2 -p1 %patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%build %build
make make
@ -112,13 +77,8 @@ make install DESTDIR=$RPM_BUILD_ROOT
%__install -m 0644 %{SOURCE1} %{buildroot}%{python_sitelib}/imgcreate/ %__install -m 0644 %{SOURCE1} %{buildroot}%{python_sitelib}/imgcreate/
%__install -m 0755 %{SOURCE3} %{buildroot}%{_bindir}/ %__install -m 0755 %{SOURCE3} %{buildroot}%{_bindir}/
%clean
rm -rf $RPM_BUILD_ROOT
%files %files
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc AUTHORS COPYING README HACKING
%doc config/livecd-fedora-minimal.ks %doc config/livecd-fedora-minimal.ks
%{_mandir}/man*/* %{_mandir}/man*/*
%{_bindir}/livecd-creator %{_bindir}/livecd-creator
@ -129,17 +89,12 @@ rm -rf $RPM_BUILD_ROOT
%{_bindir}/edit-livecd %{_bindir}/edit-livecd
%{_bindir}/mkbiarch %{_bindir}/mkbiarch
%{_bindir}/rosa-image-fix-x86.pl %{_bindir}/rosa-image-fix-x86.pl
/usr/share/doc/livecd-tools*
%files -n python-imgcreate %files -n python-imgcreate
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc API COPYING
%dir %{python_sitelib}/imgcreate %dir %{python_sitelib}/imgcreate
%{python_sitelib}/imgcreate/*.py %{python_sitelib}/imgcreate/*.py
%{python_sitelib}/imgcreate/*.pyo %{python_sitelib}/imgcreate/*.pyo
%{python_sitelib}/imgcreate/*.pyc %{python_sitelib}/imgcreate/*.pyc
%changelog %changelog
* Mon Aug 06 2012 Brian C. Lane <bcl@redhat.com> 18.8-1
- Version 18.8 (bcl)
- dracut needs to load vfat and msdos filesystems (bcl)

0
rosa-image-fix-x86.pl Executable file → Normal file
View file