summaryrefslogtreecommitdiff
path: root/build/preseed.pl
diff options
context:
space:
mode:
authorSamuel Thibault <sthibault@debian.org>2014-08-19 00:18:27 +0000
committerSamuel Thibault <sthibault@debian.org>2014-08-19 00:18:27 +0000
commitf49d134237320a54694cf47b91a4566aa22aa026 (patch)
tree94df77b1a6b01f179b8de9bde23f24935dfeb18a /build/preseed.pl
parent60df1cf51b3e083de393d8cfdd5ac7c155e961d7 (diff)
downloadinstallation-guide-f49d134237320a54694cf47b91a4566aa22aa026.zip
Add support for "any" and "x86" magics in preseed.pl. Closes: #758476.
Diffstat (limited to 'build/preseed.pl')
-rwxr-xr-xbuild/preseed.pl12
1 files changed, 10 insertions, 2 deletions
diff --git a/build/preseed.pl b/build/preseed.pl
index c76393426..1a4599fb8 100755
--- a/build/preseed.pl
+++ b/build/preseed.pl
@@ -50,6 +50,8 @@ die "Must specify XML file to parse!\n" if ! $xmlfile;
die "Specified XML file \"$xmlfile\" not found.\n" if ! -f $xmlfile;
my $arch = $opt_a ? "$opt_a" : "i386";
+my $arch_os = $arch =~ "-" ? ($arch =~ s/-.*//r) : "linux";
+my $arch_cpu = $arch =~ "-" ? ($arch =~ s/.*-//r) : $arch;
my $release = $opt_r;
@@ -105,8 +107,14 @@ sub start_rtn {
}
}
if ( exists $attr->{arch} ) {
- print STDERR "Architecture: $attr->{arch}\n" if $opt_d;
- if ( $attr->{arch} ne $arch ) {
+ my $req_arch = $attr->{arch};
+ print STDERR "Architecture: $req_arch\n" if $opt_d;
+ # x86 is an alias for i386 or amd64
+ if ( $req_arch =~ "x86" and ($arch_cpu eq "i386" or $arch_cpu eq "amd64") ) {
+ # replace with the one we prefer
+ $req_arch =~ s/x86/$arch_cpu/;
+ }
+ if ( $req_arch ne $arch and $req_arch ne "any-".$arch_cpu and $req_arch ne $arch_os."-any" ) {
$ignore{'tag'} = $tagname;
$ignore{'depth'} = $tagstatus{$tagname}{'count'};
print STDERR "Start ignore because of architecture" if $opt_d;