summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlivier Blin <oblin@mandriva.com>2008-12-24 01:05:24 +0000
committerOlivier Blin <oblin@mandriva.com>2008-12-24 01:05:24 +0000
commit4964b52fce46ea529912a8ca225d4b4fcf7155f6 (patch)
treeba748a67f550ed5218b9d8d32f2b945f82b95da9
parentdeea3944f95292bd7538f2639a9ef6c7f57d2cc5 (diff)
downloaddraklive-4964b52fce46ea529912a8ca225d4b4fcf7155f6.tar
draklive-4964b52fce46ea529912a8ca225d4b4fcf7155f6.tar.gz
draklive-4964b52fce46ea529912a8ca225d4b4fcf7155f6.tar.bz2
draklive-4964b52fce46ea529912a8ca225d4b4fcf7155f6.tar.xz
draklive-4964b52fce46ea529912a8ca225d4b4fcf7155f6.zip
extract build_iso_image
-rwxr-xr-xdraklive42
1 files changed, 27 insertions, 15 deletions
diff --git a/draklive b/draklive
index b8b29b0..94a1192 100755
--- a/draklive
+++ b/draklive
@@ -537,6 +537,30 @@ sub create_cdrom_master {
$dest = get_cdrom_master_path($live, $opts);
mkdir_p(dirname($dest));
}
+ build_iso_image(
+ $dest,
+ $live->get_builddir . $live->{prefix}{build}{boot} . '/syslinux',
+ $live->get_builddir . $live->{prefix}{build}{boot} . get_syslinux_path($live->{media}, $opts),
+ $label,
+ $live->get_media_prefix('boot', $opts->{boot}) . '=' . $live->get_builddir . $live->{prefix}{build}{boot},
+ if_(!$opts->{boot_only},
+ (map {
+ $live->get_media_prefix('loopbacks', $opts->{boot}) . $_ .
+ '=' .
+ $live->get_builddir . $live->{prefix}{build}{loopbacks} . $_;
+ } list_selected_loopbacks($live)),
+ if_($live->{media}{files},
+ map {
+ $_ . '=' . $live->get_builddir . $live->{prefix}{build}{files} . '/' . $_;
+ } all($live->get_builddir . $live->{prefix}{build}{files})
+ ),
+ ),
+ );
+}
+
+sub build_iso_image {
+ my ($dest, $isolinux_path, $isolinux_cfg, $label, @opts) = @_;
+
my $progress = MDV::Draklive::Progress->new(100, time());
my $in_progress;
autoflush STDOUT 1;
@@ -559,22 +583,10 @@ sub create_cdrom_master {
'-boot-load-size', 4, '-boot-info-table',
'-graft-points',
if_($dest, '-o', $dest),
- 'isolinux=' . $live->get_builddir . $live->{prefix}{build}{boot} . '/syslinux',
+ 'isolinux=' . $isolinux_path,
+ 'isolinux/isolinux.cfg=' . $isolinux_cfg,
'isolinux/isolinux.bin=/usr/lib/syslinux/isolinux.bin',
- 'isolinux/isolinux.cfg=' . $live->get_builddir . $live->{prefix}{build}{boot} . get_syslinux_path($live->{media}, $opts),
- $live->get_media_prefix('boot', $opts->{boot}) . '=' . $live->get_builddir . $live->{prefix}{build}{boot},
- if_(!$opts->{boot_only},
- (map {
- $live->get_media_prefix('loopbacks', $opts->{boot}) . $_ .
- '=' .
- $live->get_builddir . $live->{prefix}{build}{loopbacks} . $_;
- } list_selected_loopbacks($live)),
- if_($live->{media}{files},
- map {
- $_ . '=' . $live->get_builddir . $live->{prefix}{build}{files} . '/' . $_;
- } all($live->get_builddir . $live->{prefix}{build}{files})
- ),
- ),
+ @opts,
) or die "unable to run genisoimage\n";
autoflush STDOUT 0;
$progress->end;