diff options
author | Dexter Morgan <dmorgan@mageia.org> | 2011-06-02 20:49:34 +0000 |
---|---|---|
committer | Dexter Morgan <dmorgan@mageia.org> | 2011-06-02 20:49:34 +0000 |
commit | 6fa41ff0a34926fff40731698814f3ea94261395 (patch) | |
tree | 66feec48f4c5e507ff13efdbdc5ad6f76f67373d /update-ldetect-lst | |
download | ldetect-lst-6fa41ff0a34926fff40731698814f3ea94261395.tar ldetect-lst-6fa41ff0a34926fff40731698814f3ea94261395.tar.gz ldetect-lst-6fa41ff0a34926fff40731698814f3ea94261395.tar.bz2 ldetect-lst-6fa41ff0a34926fff40731698814f3ea94261395.tar.xz ldetect-lst-6fa41ff0a34926fff40731698814f3ea94261395.zip |
Branch for updatesdistro/mga1
Diffstat (limited to 'update-ldetect-lst')
-rw-r--r-- | update-ldetect-lst | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/update-ldetect-lst b/update-ldetect-lst new file mode 100644 index 00000000..197fe22d --- /dev/null +++ b/update-ldetect-lst @@ -0,0 +1,24 @@ +#!/usr/bin/perl + +my $dir = '/usr/share/ldetect-lst'; +my @files = qw(pcitable usbtable isatable pcmciatable dmitable); + +unlink("$dir/$_", "$dir/$_.gz") foreach @files; + +$ARGV[0] eq '--clean' and exit 0; + +foreach (@files) { + my $d = "$dir/$_.d"; + -d $d or next; + my @l = sort(glob("$d/*.lst"), glob("$d/*.lst.gz")) or next; + + if (@l == 1 && $l[0] =~ /gz$/) { + link $l[0], "$dir/$_.gz"; + } else { + open(my $OUT, "| gzip -9 > $dir/$_.gz"); + foreach (@l) { + open(my $IN, /gz$/ ? "gzip -dc $_ |" : $_) or next; + print $OUT $_ foreach <$IN>; + } + } +} |