diff options
Diffstat (limited to 'rescue/make_rescue_img')
-rwxr-xr-x | rescue/make_rescue_img | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/rescue/make_rescue_img b/rescue/make_rescue_img deleted file mode 100755 index a7d690101..000000000 --- a/rescue/make_rescue_img +++ /dev/null @@ -1,119 +0,0 @@ -#!/usr/bin/perl - -use MDK::Common; -use lib "../perl-install"; -use keyboard; - -my $lib = (arch() =~ /x86_64/ ? "lib64" : "lib"); -my $tmp = "/tmp/rescue_tmp"; -my $rescue = "rescue.clp"; - -my $sudo = ''; -if ($>) { - $sudo = "sudo"; - $ENV{PATH} = "/sbin:/usr/sbin:$ENV{PATH}"; -} - -BEGIN { undef *_ } -sub __ { print @_, "\n"; system(@_) } -sub _ { __ @_; $? and die } - -sub installown($$) { - my ($own, $dir) = @_; - return if -e "$tmp$dir/" . basename($own); - mkdir_p("$tmp$dir"); - _ "cp -rL $own $tmp$dir"; -} - -sub install_perl_script { - my ($script, $dir) = @_; - my @gi_modules; - foreach (`../tools/get-needed-drakx-modules ../perl-install /usr/lib/libDrakX $script`) { - chomp; - my ($local, $dest) = split "\t"; - installown($local, dirname($dest || $local)); - push @gi_modules, "$tmp$dest" if $dest; - } - installown($script, $dir); - system('../tools/simplify-drakx-modules', @gi_modules, "$tmp$dir/$script"); -} - -_ "$sudo rm -rf $tmp" if -e $tmp; -_ "mkdir $tmp"; -_ 'find . -name "*~" | xargs rm -f'; -mkdir_p($tmp . chomp_($_)) foreach cat_("dirs"); -_ "cp -a tree/* $tmp"; -_ "find $tmp -name 'CVS*' | xargs rm -rf"; -_ "perl devices.pl $tmp/dev"; -_ "mkfifo $tmp/dev/initctl"; -substInFile { s/DISTRIB_DESCR/$ENV{DISTRIB_DESCR}/ } "$tmp/etc/issue"; - -{ - _ "cd ../mdk-stage1 && make rescue-gui dhcp-client"; - -e "../kernel/all.kernels" or die "use ./update_kernel in gi/kernel first\n"; - - $ENV{MAIN_KERNEL} = chomp_(`cat ../kernel/RPMS/.main`); - - _ "../tools/install-xml-file-list list.xml $tmp"; -} - -my %keytable_conflicts; -my @less_important_keytables = qw(am_old am_phonetic no-dvorak fr_CH-latin1); -foreach (keyboard::loadkeys_files()) { - my ($dir, $fname) = (dirname($_), basename($_)); - my ($name) = $fname =~ /(.*)\.kmap\.gz/ or next; - next if member($name, @less_important_keytables); - if (my ($short) = $name =~ m|(.+?)[\W_]|) { - $keytable_conflicts{$short} and warn("conflict between $keytable_conflicts{$short} and $name for short name $short (choosing the first)\n"), next; - $keytable_conflicts{$short} = $name; - # create the short name based on the long one - symlinkf($fname, "$tmp$dir/$short.kmap.gz"); - } -} - -foreach (cat_("aliases")) { - chomp; my ($f, $dest) = split; - symlink $dest, "$tmp$f"; -} - - -if (my ($LANGUAGE) = map { if_(/LANGUAGE_(.*)/, $1) } keys %ENV) { - substInFile { - $_ = "export LANGUAGE=$LANGUAGE\n" . "export LC_ALL=$LANGUAGE\n" if /^#LANGUAGE/; - } "$tmp/etc/rc.sysinit"; -} - -if ($ENV{PARTIMAGE_RPM}) { - - _ "rpm2cpio $ENV{PARTIMAGE_RPM} | (cd $tmp ; cpio -idu ./usr/sbin/partimage)"; - my $server = 'partimaged'; - $server = 'leia'; - - my $default_dir = '/data/box'; - my $partimage_dir = $ENV{PARTIMAGE_DIR} || $default_dir; - my @local_dirs = map { "/tmp/image$_" } split(' ', $partimage_dir); - my $local_dir = $local_dirs[0]; - my $local_dirs = join(' ', @local_dirs); - - substInFile { - $_ = <<EOF if /^\s*rescue-gui/; - if grep -q save_all /proc/cmdline; then - partimage_whole_disk -s $server save_all $default_dir - fi - if grep -q rest_all /proc/cmdline; then - if [ -d $local_dir ]; then - partimage_whole_disk rest_all $local_dirs - else - partimage_whole_disk -s $server rest_all $partimage_dir - fi - fi -EOF - } "$tmp/etc/rc.sysinit"; -} - -_ "$sudo chown root.root -R $tmp/*"; - -exit 0 if $ARGV[0]; - -_ "mkisofs -quiet -D -R $tmp | create_compressed_fs - 65536 $rescue 200 2>/dev/null"; -#_ "$sudo rm -rf $tmp"; |