summaryrefslogtreecommitdiffstats
path: root/update-ldetect-lst
diff options
context:
space:
mode:
authorDexter Morgan <dmorgan@mageia.org>2011-06-02 20:49:34 +0000
committerDexter Morgan <dmorgan@mageia.org>2011-06-02 20:49:34 +0000
commit6fa41ff0a34926fff40731698814f3ea94261395 (patch)
tree66feec48f4c5e507ff13efdbdc5ad6f76f67373d /update-ldetect-lst
downloadldetect-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-lst24
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>;
+ }
+ }
+}