Hi,

I've been using dpkg debs with this patch for some time and the only
problem until now has been a stupid error left when I switched from
expanding the aliases via dpkg-architecture to an internal function.
The function was returning a list and split was expecting a scalar.

Fixed in this incremental patch, and included as well initial updated
text for the man page, although this should be reviewed by a native
English speaker. :)

To test that the new patch fixes the problem, "dpkg-source -b" can be
tried with qemu or pistachio, otherwise they'll produce a .dsc file
with an "Architecture: 1" field.

regards,
guillem
diff -Naur man/C/dpkg-architecture.1 man/C/dpkg-architecture.1
--- man/C/dpkg-architecture.1   2005-06-14 16:17:18.000000000 +0300
+++ man/C/dpkg-architecture.1   2005-08-03 06:02:40.000000000 +0300
@@ -11,8 +11,8 @@
 \&\fB\-f\fR
 .PP
 Valid actions:
-\&\fB\-l\fR, \fB\-q\fRVariable\-Name, \fB\-s\fR, \fB\-u\fR, \fB\-c\fR Command,
-\fB\-L\fR
+\&\fB\-l\fR, \fB\-e\fRDebian\-Architecture, \fB\-i\fRArchitecture\-Alias,
+\fB\-q\fRVariable\-Name, \fB\-s\fR, \fB\-u\fR, \fB\-c\fR Command, \fB\-L\fR
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
 dpkg-architecture does provide a facility to determine and set the build and
@@ -30,8 +30,12 @@
 will warn you if your choice doesn't match the default.
 .PP
 The default action is \fB\-l\fR, which prints the environment variables, one 
each line,
-in the format VARIABLE=value. If you are only interested in the value of a
-single variable, you can use \fB\-q\fR. If you specify \fB\-s\fR, it will 
output an export
+in the format VARIABLE=value. If you want to check for equality between two
+Debian Architectures, you can use \fB\-e\fR, by default it will compare against
+the currect Denian Architecture, being it the host. If you want to check for
+identity of the current Debian Architecture against an Architecture Alias, you
+can use \fB\-i\fR. If you are only interested in the value of a single 
variable,
+you can use \fB\-q\fR. If you specify \fB\-s\fR, it will output an export
 command. This can be used to set the environment variables using eval. 
\fB\-u\fR
 does return a similar command to unset all variables. \fB\-c\fR does execute a
 command in an environment which has all variables set to the determined
@@ -55,6 +59,11 @@
 .IX Item "Debian Architecture"
 The Debian archietcture string, which specifies the binary tree in the 
\s-1FTP\s0
 archive. Examples: i386, sparc, hurd\-i386.
+.IP "Architecture Alias" 4
+.IX Item "Architecture Alias"
+An architecture alias is a wildcard architecture that will match any real
+architecture being part of it. The general form is <kernel>\-<cpu>.
+Examples: linux\-any, linux\-alpha, any\-i386, hurd\-any.
 .IP "\s-1GNU\s0 System Type" 4
 .IX Item "GNU System Type"
 An architecture specification string consisting of two parts,
diff -Naur scripts/dpkg-source.pl scripts/dpkg-source.pl
--- scripts/dpkg-source.pl      2005-08-03 04:39:30.000000000 +0300
+++ scripts/dpkg-source.pl      2005-08-03 04:37:09.000000000 +0300
@@ -173,7 +173,7 @@
                    if (grep($sourcearch[0] eq $_, 'any','all'))  {
                        @sourcearch= ('any');
                    } else {
-                       my @arches = map(split(/\s+/, debian_arch_expand($_)),
+                       my @arches = map(debian_arch_expand($_),
                                         split(/\s+/, $v));
                        chomp @arches;
                        for $a (@arches) {

Reply via email to