summaryrefslogtreecommitdiffstats
path: root/src/vfs/extfs/helpers/rpms+.in
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 17:44:12 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 17:44:12 +0000
commit8ccb487c21368a7fdc8c7c72315325bf0aa06147 (patch)
treeb2056fae01d325924508a41731edfbd4c3cddd23 /src/vfs/extfs/helpers/rpms+.in
parentInitial commit. (diff)
downloadmc-8ccb487c21368a7fdc8c7c72315325bf0aa06147.tar.xz
mc-8ccb487c21368a7fdc8c7c72315325bf0aa06147.zip
Adding upstream version 3:4.8.29.upstream/3%4.8.29upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/vfs/extfs/helpers/rpms+.in')
-rw-r--r--src/vfs/extfs/helpers/rpms+.in66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/vfs/extfs/helpers/rpms+.in b/src/vfs/extfs/helpers/rpms+.in
new file mode 100644
index 0000000..9a8e7de
--- /dev/null
+++ b/src/vfs/extfs/helpers/rpms+.in
@@ -0,0 +1,66 @@
+#! @PERL@
+#
+# Written by Balazs Nagy (julian7@kva.hu) 1998
+# locale bugfix by Michal Svec (rebel@penguin.cz) 2000
+# (C) 1998 The Free Software Foundation.
+#
+#
+
+# override any locale for dates
+delete $ENV{"LC_ALL"};
+$ENV{"LC_TIME"}="C";
+
+#print $ENV{"LC_ALL"};
+#exit 0;
+
+sub gd
+{
+ my ($dt) = @_;
+ $dt =~ tr/ //s;
+ $dt =~ s/^\w+ (\w+) (\d+) (\d+:\d+):\d+ .+\n?$/$1 $2 $3/;
+ return $dt;
+}
+
+$DATE=gd(`date`);
+
+sub list
+{
+ my (@rpms, %files, $i, $fn, $dn, $sz, $bt);
+# @rpms = `rpm -qa --qf "\%{NAME}-\%{VERSION}-\%{RELEASE}:\%{GROUP}:\%{SIZE}:\%{BUILDTIME:date}\n"`;
+ @rpms = `rpm -qa --qf "\%{NAME}-\%{VERSION}:\%{GROUP}:\%{SIZE}:\%{BUILDTIME:date}\n"`;
+ print @trpms;
+ %files = ();
+ %sizes = ();
+ %dates = ();
+ for $i (@rpms) {
+ if ($i =~ /^([^:]+):([^:]+):([^:]+):(.+)$/) {
+ ($fn, $dn, $sz, $bt) = ($1, $2, $3, $4);
+ $dn =~ s/ /_/g;
+ if (defined $files{$dn}) {
+ push(@{$files{$dn}}, $fn);
+ } else {
+ @{$files{$dn}} = ($fn);
+ }
+ $sizes{$fn} = $sz;
+ $dates{$fn} = gd($bt);
+ }
+ }
+ for $i (sort keys %files) {
+ print "dr-xr-xr-x 1 root root 0 $DATE $i/\n";
+ for $fn (sort @{$files{$i}}) {
+ print "-r--r--r-- 1 root root $sizes{$fn} $dates{$fn} $i/$fn.trpm\n";
+ }
+ }
+}
+
+#open O, ">>/tmp/tt";
+#print O "RPMS: ";
+#for $i (@ARGV) {
+# print O "$i ";
+#}
+#print O "\n";
+#close O;
+
+if ($ARGV[0] eq "list") { list(); exit(0); }
+elsif ($ARGV[0] eq "copyout") { open O, ">$ARGV[3]"; print O $ARGV[2], "\n"; close O; exit(0); }
+exit(1);