From 4964b52fce46ea529912a8ca225d4b4fcf7155f6 Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Wed, 24 Dec 2008 01:05:24 +0000 Subject: extract build_iso_image --- draklive | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) (limited to 'draklive') 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; -- cgit v1.2.1