diff options
Diffstat (limited to 'perl-install')
-rw-r--r-- | perl-install/Makefile | 2 | ||||
-rw-r--r-- | perl-install/keyboard.pm | 14 |
2 files changed, 10 insertions, 6 deletions
diff --git a/perl-install/Makefile b/perl-install/Makefile index 1143fbd0b..7e4ebb940 100644 --- a/perl-install/Makefile +++ b/perl-install/Makefile @@ -64,7 +64,7 @@ get_needed_files: $(DIRS) find auto -follow -name "*.so" >> /tmp/list for i in $(LOCALFILES) `cat /tmp/list` ; do \ - ldd $$i 2>/dev/null | grep -v "not a dynamic" | sed -e 's/.*=> //' -e 's/ .*//' | uniq | sort >> /tmp/list; \ + ldd $$i 2>/dev/null | grep "=>" | sed -e 's/.*=> //' -e 's/ .*//' | uniq | sort >> /tmp/list; \ done install -d $(DEST)/etc diff --git a/perl-install/keyboard.pm b/perl-install/keyboard.pm index 61f7c5467..b312fc85a 100644 --- a/perl-install/keyboard.pm +++ b/perl-install/keyboard.pm @@ -176,15 +176,19 @@ sub loadkeys_files { my $p = "/usr/lib/kbd/keymaps/i386/*"; my $post = ".kmap.gz"; my %trans = ("cz-latin2" => "cz-lat2"); - my @l; + my (@l, %l); foreach (values %keyboards) { local $_ = $trans{$_->[1]} || $_->[1]; my ($l) = glob("$p/$_$post"); $l or /(..)/ and ($l) = glob("$p/$1$post"); - push @l, $l if $l; - print STDERR "unknown $_\n" if $_[0] && !$l; - } - @l; + print STDERR "unknown $_\n" if $_[0] && !$l; $l or next; + push @l, $l; + foreach (`zgrep include $l | grep "^include"`) { + /include\s+"(.*)"/ or die "bad line $_"; + @l{glob("$p/$1.inc.gz")} = (); + } + } + @l, keys %l, map { glob("$p/$_.inc.gz") } qw(compose euro windowkeys linux-keys-bare); } sub lang2keyboard($) { |