Implement section output properly.
git-svn-id: http://emdebian.org/svn/current@7384 563faec7-e20c-0410-992a-a66f704d0ccd
This commit is contained in:
parent
b9ea415aed
commit
7c29be60ba
1 changed files with 30 additions and 26 deletions
56
multistrap
56
multistrap
|
@ -32,7 +32,7 @@ use vars qw/ $progname $ourversion $dstrap $extra @aptsources $mirror
|
||||||
$type $file $config $tidy $noauth $keyring %keyrings $deflist $cfgdir
|
$type $file $config $tidy $noauth $keyring %keyrings $deflist $cfgdir
|
||||||
@extrapkgs @includes %source $setupsh $configsh $omitrequired $dryrun
|
@extrapkgs @includes %source $setupsh $configsh $omitrequired $dryrun
|
||||||
$omitpreinst @reinstall $tgzname %uniq %required $check @check %uniq
|
$omitpreinst @reinstall $tgzname %uniq %required $check @check %uniq
|
||||||
$explicit_suite $allow_recommends %omitdebsrc @dsclist /;
|
$explicit_suite $allow_recommends %omitdebsrc @dsclist @sectoutput /;
|
||||||
|
|
||||||
setlocale(LC_MESSAGES, "");
|
setlocale(LC_MESSAGES, "");
|
||||||
textdomain("multistrap");
|
textdomain("multistrap");
|
||||||
|
@ -105,6 +105,16 @@ foreach my $inc (@includes)
|
||||||
printf (_g("%s %s using %s\n"), $progname, $ourversion, $chk);
|
printf (_g("%s %s using %s\n"), $progname, $ourversion, $chk);
|
||||||
cascade($chk);
|
cascade($chk);
|
||||||
}
|
}
|
||||||
|
%uniq=();
|
||||||
|
foreach my $line (@debootstrap) {
|
||||||
|
$uniq{$line}++;
|
||||||
|
}
|
||||||
|
@debootstrap=sort keys %uniq;
|
||||||
|
%uniq=();
|
||||||
|
foreach my $line (@aptsources) {
|
||||||
|
$uniq{$line}++;
|
||||||
|
}
|
||||||
|
@aptsources=sort keys %uniq;
|
||||||
|
|
||||||
&dump_config if (defined $dryrun);
|
&dump_config if (defined $dryrun);
|
||||||
if (not defined $dir or not defined $arch) {
|
if (not defined $dir or not defined $arch) {
|
||||||
|
@ -226,12 +236,6 @@ foreach $repo (sort keys %suites) {
|
||||||
mkdir "$dir/${cachedir}archives/partial";
|
mkdir "$dir/${cachedir}archives/partial";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
%uniq=();
|
|
||||||
foreach my $line (@debootstrap) {
|
|
||||||
$uniq{$line}++;
|
|
||||||
}
|
|
||||||
@debootstrap=sort keys %uniq;
|
|
||||||
%uniq=();
|
|
||||||
foreach my $aptsrc (@debootstrap) {
|
foreach my $aptsrc (@debootstrap) {
|
||||||
if (defined $deflist) {
|
if (defined $deflist) {
|
||||||
open (SOURCES, ">>${dir}etc/apt/sources.list.d/multistrap.sources.list")
|
open (SOURCES, ">>${dir}etc/apt/sources.list.d/multistrap.sources.list")
|
||||||
|
@ -357,12 +361,6 @@ foreach my $filelist (@sources) {
|
||||||
next if (-d $filelist);
|
next if (-d $filelist);
|
||||||
unlink ("${dir}etc/apt/sources.list.d/$filelist");
|
unlink ("${dir}etc/apt/sources.list.d/$filelist");
|
||||||
}
|
}
|
||||||
%uniq=();
|
|
||||||
foreach my $line (@aptsources) {
|
|
||||||
$uniq{$line}++;
|
|
||||||
}
|
|
||||||
@aptsources=sort keys %uniq;
|
|
||||||
%uniq=();
|
|
||||||
foreach my $aptsrc (@aptsources) {
|
foreach my $aptsrc (@aptsources) {
|
||||||
if (defined $deflist) {
|
if (defined $deflist) {
|
||||||
open (SOURCES, ">>${dir}etc/apt/sources.list.d/multistrap.sources.list")
|
open (SOURCES, ">>${dir}etc/apt/sources.list.d/multistrap.sources.list")
|
||||||
|
@ -922,24 +920,30 @@ sub dump_config {
|
||||||
} else {
|
} else {
|
||||||
printf ("include:\t"._g("No included configuration files.\n"));
|
printf ("include:\t"._g("No included configuration files.\n"));
|
||||||
}
|
}
|
||||||
|
# explain the bootstrap section details explicitly and just refer to
|
||||||
|
# those for the apt sources.
|
||||||
|
foreach my $sect_name (@debootstrap) {
|
||||||
|
printf ("Section:\t$sect_name\n");
|
||||||
|
print "\tsource: \t$sources{$sect_name}\n";
|
||||||
|
my @sorted = split(/ /, $packages{$sect_name});
|
||||||
|
%uniq=();
|
||||||
|
foreach my $pkg (@sorted) {
|
||||||
|
$uniq{$pkg}++;
|
||||||
|
}
|
||||||
|
@sorted = sort keys %uniq;
|
||||||
|
%uniq=();
|
||||||
|
print "\tsuite: \t$suites{$sect_name}\n";
|
||||||
|
print "\tcomponent\t$components{$sect_name}\n";
|
||||||
|
# only packages can have a list
|
||||||
|
print "\tBootstrap:\tpackages: ".join(" ", @sorted)."\n";
|
||||||
|
}
|
||||||
|
printf ("Bootstrap:\t%s: %s\n", _g("Sections"), join(" ", sort @debootstrap));
|
||||||
|
printf ("AptSources:\t%s: %s\n", _g("Sections"), join(" ", sort @aptsources));
|
||||||
my @srcdump=();
|
my @srcdump=();
|
||||||
foreach my $src (sort keys %sources) {
|
foreach my $src (sort keys %sources) {
|
||||||
next if ((!grep(/^$src$/i, @aptsources)) or (!grep(/^$src$/i, @debootstrap)));
|
next if ((!grep(/^$src$/i, @aptsources)) or (!grep(/^$src$/i, @debootstrap)));
|
||||||
push @srcdump, $sources{$src};
|
push @srcdump, $sources{$src};
|
||||||
}
|
}
|
||||||
print "source: \tSources: ".join(", ", @srcdump)."\n";
|
|
||||||
my @long=();
|
|
||||||
foreach my $sect (sort keys %packages) {
|
|
||||||
next if (!grep(/^$sect$/i, @debootstrap));
|
|
||||||
my @list = split (' ', $sect);
|
|
||||||
foreach my $pkg (@list) {
|
|
||||||
next if ($packages{$pkg} =~ /^\s*$/);
|
|
||||||
@long=split (/ /, $packages{$sect});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
print "packages:\tPackages: ".join (", ", sort @long)."\n";
|
|
||||||
print "suites: \tSuites: ".join (", ", sort values %suites)."\n";
|
|
||||||
print "components\tComponents: ".join (", ", sort values %components)."\n";
|
|
||||||
my $srcmsg="omitdebsrc\t"._g("Omit deb-src from sources.list for sections:");
|
my $srcmsg="omitdebsrc\t"._g("Omit deb-src from sources.list for sections:");
|
||||||
foreach my $omit (sort keys %omitdebsrc) {
|
foreach my $omit (sort keys %omitdebsrc) {
|
||||||
$srcmsg .= $omitdebsrc{$omit} if (defined $omitdebsrc{$omit});
|
$srcmsg .= $omitdebsrc{$omit} if (defined $omitdebsrc{$omit});
|
||||||
|
|
Loading…
Reference in a new issue