summaryrefslogtreecommitdiffstats
path: root/move/make_live_tree_boot
diff options
context:
space:
mode:
Diffstat (limited to 'move/make_live_tree_boot')
-rwxr-xr-xmove/make_live_tree_boot177
1 files changed, 0 insertions, 177 deletions
diff --git a/move/make_live_tree_boot b/move/make_live_tree_boot
deleted file mode 100755
index e7cd9d617..000000000
--- a/move/make_live_tree_boot
+++ /dev/null
@@ -1,177 +0,0 @@
-#!/usr/bin/perl
-
-use lib qw(../perl-install);
-use common;
-use lang;
-use Getopt::Long;
-
-GetOptions(u => \ (my $un_build)) or die '';
-
-my $prefix = $ARGV[0] || `make get_dest_livetree`;
-
-
-sub create_light_tree {
- my ($livetree_prefix, $live_name, $list) = @_;
- my $light_prefix = $prefix . '_' . $live_name;
-
- -e $light_prefix and die "you can't make_live_tree_boot since one already exists
-Maybe you should remove it first with 'make_live_tree_boot -u'\n";
-
- foreach my $f (@$list) {
- my $dest = "$light_prefix$f";
- my $orig = "$livetree_prefix$f";
-
- mkdir_p(dirname($dest));
-
- if (-l $orig) {
- symlink readlink($orig), $dest;
- } else {
- my $link = $orig;
- $link =~ s|^$livetree_prefix|/image_$live_name|;
-
- rename $orig, $dest or die "moving $orig to $dest failed: $!\n";
- symlink $link, $orig or die "symlinking from $dest to $orig failed: $!\n";
- }
- }
-}
-
-sub create_totem_links {
- my ($live_name, $list) = @_;
- my $light_prefix = $prefix . '_' . $live_name;
-
- #- creating all the dirs, even when things are in the "always" tree
- foreach my $f (@$list) {
- my $dest = "$light_prefix$f";
- my $orig = "$prefix$f";
- mkdir_p(dirname($dest)) if ! (-e $dest || -l $dest);
-
- if (-l $orig) {
- symlink readlink($orig), $dest;
- }
- }
-
- foreach my $dir (chomp_(`cd $light_prefix ; find usr -type d`)) {
- foreach my $f (all("$prefix/$dir")) {
- my $link;
- my $fl = $f;
- while (my $l = readlink("$prefix/$dir/$fl")) {
- if ($l =~ /^\w/) {
- $fl = $l;
- next;
- } elsif ($l =~ m!^/!) {
- $link = $l;
- }
- last;
- }
- $link ||= "/image/$dir/$fl";
- symlink $link, "$light_prefix/$dir/$f";
- }
- }
-}
-
-sub remove_light_tree {
- my ($live_name, $list) = @_;
- my $light_prefix = $prefix . '_' . $live_name;
-
- -d $light_prefix or return;
-
- foreach my $f (@$list) {
- my $dest = "$prefix$f";
- my $orig = "$light_prefix$f";
-
- if (-l $orig) {
- unlink $orig;
- } elsif (-e $orig) {
- if (-e $dest && -s $dest != -s $orig) {
- warn "ERROR: $dest already exist, skipping\n";
- } elsif (!-d $dest || -l $dest) {
- unlink $dest or die "removing $dest failed: $!\n";
- rename $orig, $dest or die "moving $orig to $dest failed: $!\n";
- }
- }
- }
- rmdir($_) foreach reverse(chomp_(`find $light_prefix -type d`));
-
- if (-e $light_prefix) {
- unlink($_) foreach chomp_(`find $light_prefix -type l`);
-
- foreach my $orig (chomp_(`find $light_prefix -type f`)) {
- my $dest = $orig;
- $dest =~ s|^$light_prefix|$prefix|;
- if (my $orig2 = readlink($dest)) {
- $orig2 =~ s!/image_$live_name/!$light_prefix/! or next;
- $orig2 eq $orig or next;
- } else {
- next if -e $dest && -s $dest != -s $orig;
- }
- unlink $dest or die "removing $dest failed: $!\n";
- rename $orig, $dest or die "moving $orig to $dest failed: $!\n";
- }
- system("rm -rf $light_prefix/usr/bin/stage2/*.pm");
- system("rm -rf $light_prefix/usr/lib/libDrakX/*.pm");
- system("rm -rf $light_prefix/usr/share/langs/*.png");
-
- rmdir($_) foreach reverse(chomp_(`find $light_prefix -type d`));
- }
-
- if (-e $light_prefix) {
- print "still there:\n";
- system('find', $light_prefix);
- }
-}
-my @i18n = map { if_(/i18n_(.*)\.list$/, $1) } all('data');
-my @clps = ('always', 'boot', 'totem', 'nvidia', map { "i18n_$_" } @i18n);
-
-my %lists = map {
- $_ => [ chomp_(cat_("data/$_.list")) ];
-} @clps, 'always_i18n';
-
-my %i18n_to_locales = do {
- my %useful = map { lang::l2locale($_) => 1 } lang::list_langs();
- map_each {
- if (my ($i18n) = $::a =~ /i18n_(.*)/) {
- $i18n => [ map { if_(m!^/usr/share/locale/([^/]*)! && $useful{$1}, $1) } @$::b ];
- } else {
- ();
- }
- } %lists;
-};
-
-
-$lists{always_simpl} = [ uniq(@{$lists{always}}, intersection($lists{boot}, $lists{totem})) ];
-$lists{boot_simpl} = [ difference2($lists{boot}, $lists{always_simpl}) ];
-$lists{totem_simpl} = [ difference2($lists{totem}, $lists{always_simpl}) ];
-
-foreach (@clps, map { "always_i18n_$_" } @i18n) {
- remove_light_tree($_, $lists{$_ . '_simpl'} || $lists{$_} || []);
-}
-
-if (!$un_build) {
- foreach my $i18n (@i18n) {
- $lists{"always_i18n_$i18n"} = [ map {
- my $pattern = $_;
- my @l = map {
- (my $f = $pattern) =~ s/__LANG__/$_/;
- if (readlink("$prefix$f") =~ m!^[^/]!) {
- system('cp', "$prefix$f", "$prefix$f-");
- rename "$prefix$f-", "$prefix$f";
- $f;
- } elsif (-e "$prefix$f") {
- $f;
- } else {
- ();
- }
- } $i18n, @{$i18n_to_locales{$i18n}};
- } @{$lists{always_i18n}} ];
- }
-
- foreach my $i18n (@i18n) {
- create_light_tree($prefix, "always_i18n_$i18n", $lists{"always_i18n_$i18n"});
- }
- foreach (@clps) {
- my $list = $lists{$_ . '_simpl'} || $lists{$_};
- next if $_ eq 'nvidia' && ! -e "$prefix$list->[0]";
- create_light_tree($prefix, $_, $list);
- }
- create_totem_links('totem', $lists{totem});
-}