1
0
mirror of https://github.com/wfjm/w11.git synced 2026-01-13 15:37:43 +00:00
wfjm.w11/tools/bin/oskit_setup
wfjm 4f447bc05a automation of oskit download [skip ci]
- bin/oskit_setup: generic helper
- oskit/*/*_setup: scripts for oskit
2019-07-28 08:43:08 +02:00

68 lines
1.7 KiB
Perl
Executable File

#!/usr/bin/perl -w
# $Id: oskit_setup 1187 2019-07-13 14:21:29Z mueller $
# SPDX-License-Identifier: GPL-3.0-or-later
# Copyright 2019- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
#
# Revision History:
# Date Rev Version Comment
# 2019-07-13 1187 1.0 Initial version
#
use 5.14.0; # require Perl 5.14 or higher
use strict; # require strict checking
use Getopt::Long;
my %opts = ();
GetOptions(\%opts, "fkit", "fdsk", "help")
or bailout("bad command options");
my $kit_path = "https://www.retro11.de/data/oc_w11/oskits";
if (scalar(@ARGV) == 0 || $opts{help}) {
print_usage();
exit 0;
}
my $kball = shift @ARGV;
if ($opts{fkit} || not -r $kball) {
system("wget $kit_path/$kball -nv -O $kball 2>&1") == 0 or
bailout("wget of '$kball' failed");
system("tar", "-xvzf", "$kball") == 0 or
bailout("tar failed");
exit 0;
}
my @fmis;
if (scalar @ARGV) {
foreach my $fnam (@ARGV) {
push @fmis,$fnam unless -r $fnam; }
}
@fmis = @ARGV if $opts{fdsk};
exit 0 unless scalar @fmis;
system("tar", "-xvzf", "$kball", @fmis) == 0 or
bailout("tar failed");
exit 0;
#-------------------------------------------------------------------------------
sub bailout {
my ($msg) = @_;
print STDERR "oskit_setup-F: $msg\n";
exit 1;
}
# ----------------------------------------------------------------------------
sub print_usage {
print "usage: oskit_setup [options] kitball files...\n";
print " kitball name of tarball\n";
print " files list of container files\n";
print " Options\n";
print " --fkit force tarball download\n";
print " --fdsk force container restore\n";
print " --help this message\n";
}