Debian Bug report logs - #447427
dpkg-cross: please support wrong architecture

version graph

Package: libdebian-dpkgcross-perl; Maintainer for libdebian-dpkgcross-perl is Debian Embedded Group <debian-embedded@lists.debian.org>; Source for libdebian-dpkgcross-perl is src:dpkg-cross.

Reported by: Jonas Meyer <quitte@gmail.com>

Date: Sun, 21 Oct 2007 06:39:01 UTC

Severity: wishlist

Tags: confirmed

Fixed in version dpkg-cross/2.4.0

Done: Neil Williams <codehelp@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, quitte@gmail.com, Debian Embedded Group <debian-embedded@lists.debian.org>:
Bug#447427; Package dpkg-cross. Full text and rfc822 format available.

Acknowledgement sent to Jonas Meyer <quitte@gmail.com>:
New Bug report received and forwarded. Copy sent to quitte@gmail.com, Debian Embedded Group <debian-embedded@lists.debian.org>. Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Jonas Meyer <quitte@gmail.com>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: dpkg-cross: please support wrong architecture
Date: Sun, 21 Oct 2007 08:37:38 +0200
Package: dpkg-cross
Version: 2.0.0
Severity: wishlist

Hi,
To create toolchains that have a new debian name than an already existing
architecture it'd be useful if something like this worked:

dpkg-cross -a uclibc-mipsel -i libc6_2.6.1-6_mipsel.deb 
dpkg-cross: libc6_2.6.1-6_mipsel.deb has wrong architecture (mipsel)
dpkg-cross: conversion of libc6_2.6.1-6_mipsel.deb failed.

Please consider adding an option to disable that check.

Thank you,
Jonas




Information forwarded to debian-bugs-dist@lists.debian.org, Debian Embedded Group <debian-embedded@lists.debian.org>:
Bug#447427; Package dpkg-cross. Full text and rfc822 format available.

Acknowledgement sent to Neil Williams <codehelp@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Embedded Group <debian-embedded@lists.debian.org>. Full text and rfc822 format available.

Message #10 received at 447427@bugs.debian.org (full text, mbox):

From: Neil Williams <codehelp@debian.org>
To: Jonas Meyer <quitte@gmail.com>, 447427@bugs.debian.org
Cc: Debian Embedded <debian-embedded@lists.debian.org>
Subject: Re: Bug#447427: dpkg-cross: please support wrong architecture
Date: Mon, 22 Oct 2007 09:14:30 +0100
[Message part 1 (text/plain, inline)]
On Sun, 21 Oct 2007 08:37:38 +0200
Jonas Meyer <quitte@gmail.com> wrote:

> Package: dpkg-cross
> Version: 2.0.0
> Severity: wishlist
> 
> Hi,
> To create toolchains that have a new debian name than an already existing
> architecture it'd be useful if something like this worked:
> 
> dpkg-cross -a uclibc-mipsel -i libc6_2.6.1-6_mipsel.deb 
> dpkg-cross: libc6_2.6.1-6_mipsel.deb has wrong architecture (mipsel)
> dpkg-cross: conversion of libc6_2.6.1-6_mipsel.deb failed.
> 
> Please consider adding an option to disable that check.

When building the new package, where would the code to support this
option need to put the files?

/usr/uclibc-mipsel/lib
or
/usr/mipsel/lib
?

for
libc-uclibc-mipsel-cross_2.6.1-6_all.deb
?

Also note:
$ dpkg-architecture -auclibc-mipsel
unknown Debian architecture uclibc-mipsel, you must specify GNU system
type, too at /usr/bin/dpkg-architecture line 159.

As dpkg-cross merges back into dpkg, dpkg-cross will increasingly rely
on dpkg code. Just disabling the check isn't going to be sufficient. I
am unsure how much dpkg-cross 2.x will be able to support architectures
that are not already supported in dpkg-architecture and adding code to
dpkg-cross that cannot be supported by dpkg is futile as dpkg-cross
is expected to be removed before Lenny is released.

CC'ing debian-embedded so that others working on uclibc can contribute
ideas on how dpkg and dpkg-cross can support unknown and new
architectures.

-- 

Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Embedded Group <debian-embedded@lists.debian.org>:
Bug#447427; Package dpkg-cross. Full text and rfc822 format available.

Acknowledgement sent to "Jonas Meyer" <quitte@gmail.com>:
Extra info received and forwarded to list. Copy sent to Debian Embedded Group <debian-embedded@lists.debian.org>. Full text and rfc822 format available.

Message #15 received at 447427@bugs.debian.org (full text, mbox):

From: "Jonas Meyer" <quitte@gmail.com>
To: "Neil Williams" <codehelp@debian.org>
Cc: 447427@bugs.debian.org, "Debian Embedded" <debian-embedded@lists.debian.org>
Subject: Re: Bug#447427: dpkg-cross: please support wrong architecture
Date: Mon, 22 Oct 2007 10:45:39 +0200
On 10/22/07, Neil Williams <codehelp@debian.org> wrote:
> On Sun, 21 Oct 2007 08:37:38 +0200
> Jonas Meyer <quitte@gmail.com> wrote:
>
> > Package: dpkg-cross
> > Version: 2.0.0
> > Severity: wishlist
> >
> > Hi,
> > To create toolchains that have a new debian name than an already existing
> > architecture it'd be useful if something like this worked:
> >
> > dpkg-cross -a uclibc-mipsel -i libc6_2.6.1-6_mipsel.deb
> > dpkg-cross: libc6_2.6.1-6_mipsel.deb has wrong architecture (mipsel)
> > dpkg-cross: conversion of libc6_2.6.1-6_mipsel.deb failed.
> >
> > Please consider adding an option to disable that check.
>
> When building the new package, where would the code to support this
> option need to put the files?
>
> /usr/uclibc-mipsel/lib
> or
> /usr/mipsel/lib
> ?

/usr/mipsel-linux-uclibc
I'm assuming that adding uclibc-foo like I described here:
http://wiki.debian.org/EmDebian/UclibcToolchainBootstrap
is the right way to do it.
>
> for
> libc-uclibc-mipsel-cross_2.6.1-6_all.deb
> ?
>
> Also note:
> $ dpkg-architecture -auclibc-mipsel
> unknown Debian architecture uclibc-mipsel, you must specify GNU system
> type, too at /usr/bin/dpkg-architecture line 159.
>
> As dpkg-cross merges back into dpkg, dpkg-cross will increasingly rely
> on dpkg code. Just disabling the check isn't going to be sufficient. I
> am unsure how much dpkg-cross 2.x will be able to support architectures
> that are not already supported in dpkg-architecture and adding code to
> dpkg-cross that cannot be supported by dpkg is futile as dpkg-cross
> is expected to be removed before Lenny is released.
>

I never expected it to work without adding uclibc arches to dpkg.

> CC'ing debian-embedded so that others working on uclibc can contribute
> ideas on how dpkg and dpkg-cross can support unknown and new
> architectures.
I'm not sure what way of replying would be appropriate now. Please
tell me so you won't get everything three times.

Jonas




Information forwarded to debian-bugs-dist@lists.debian.org, Debian Embedded Group <debian-embedded@lists.debian.org>:
Bug#447427; Package dpkg-cross. Full text and rfc822 format available.

Acknowledgement sent to Ron <ron@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Embedded Group <debian-embedded@lists.debian.org>. Full text and rfc822 format available.

Message #20 received at 447427@bugs.debian.org (full text, mbox):

From: Ron <ron@debian.org>
To: Jonas Meyer <quitte@gmail.com>
Cc: 447427@bugs.debian.org, Debian Embedded <debian-embedded@lists.debian.org>
Subject: Re: Bug#447427: dpkg-cross: please support wrong architecture
Date: Mon, 22 Oct 2007 20:26:38 +0930
On Mon, Oct 22, 2007 at 10:45:39AM +0200, Jonas Meyer wrote:
> On 10/22/07, Neil Williams <codehelp@debian.org> wrote:
> > On Sun, 21 Oct 2007 08:37:38 +0200
> > Jonas Meyer <quitte@gmail.com> wrote:
> > > To create toolchains that have a new debian name than an already existing
> > > architecture it'd be useful if something like this worked:
> > >
> > > dpkg-cross -a uclibc-mipsel -i libc6_2.6.1-6_mipsel.deb
> > > dpkg-cross: libc6_2.6.1-6_mipsel.deb has wrong architecture (mipsel)
> > > dpkg-cross: conversion of libc6_2.6.1-6_mipsel.deb failed.
> > >
> > > Please consider adding an option to disable that check.

We don't need to disable this check if the correct dpkg foo-table
entries are added for the desired arch, right?

So once dpkg-architecture et al. all behave as planned, all that
remains is to have a 'proper' way to extend those tables for any
'unofficial' archs that people require.

> I'm assuming that adding uclibc-foo like I described here:
> http://wiki.debian.org/EmDebian/UclibcToolchainBootstrap
> is the right way to do it.

Right now I think that is more like the 'only' way to do it.
It is not the 'right' way to do it because any local additions
will get stomped by the next dpkg update that happens on the
system, and those files are mostly intended to list the
'official' arch definitions.  Once we start talking about
uclibc permutations they quickly become far too numerous to
feasibly make them all 'official' from the outset (think mmu
or no-mmu variants, and there are many other desirable but
mutually incompatible configurations that people will want
to use).

So I think what we need here is for dpkg tools to also read
from any foo-table.* files that exist in /usr/share/dpkg/.
Then you can add these custom arch definitions in ostable.myarch
etc. where they won't get stomped by dpkg updates, and enable
them to be provided by a separate package that 'defines' the
new arch that is desired in a fairly well defined way.

It shouldn't be too hard to add support for this to dpkg, and
it has been discussed on #emdebian to a reasonable state of
consensus among the participants.  If no-one else has a better
suggestion, and Neil and the dpkg maintainers like it, I think
this is the way we should go on this.

> > CC'ing debian-embedded so that others working on uclibc can contribute
> > ideas on how dpkg and dpkg-cross can support unknown and new
> > architectures.
> I'm not sure what way of replying would be appropriate now. Please
> tell me so you won't get everything three times.

Probably best to discuss it to conclusion on the debian-embedded
list, but I've cc'd the bug report on this one, because its the
best solution I'm aware of that has been discussed to date.

Cheers,
Ron






Bug marked as found in version 2.2.4. Request was from Neil Williams <codehelp@debian.org> to control@bugs.debian.org. (Sun, 13 Jul 2008 08:42:05 GMT) Full text and rfc822 format available.

Tags added: confirmed Request was from Neil Williams <codehelp@debian.org> to control@bugs.debian.org. (Sun, 13 Jul 2008 08:42:06 GMT) Full text and rfc822 format available.

Bug marked as found in version 2.2.4. Request was from Neil Williams <codehelp@debian.org> to control@bugs.debian.org. (Sun, 13 Jul 2008 09:27:03 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Embedded Group <debian-embedded@lists.debian.org>:
Bug#447427; Package dpkg-cross. Full text and rfc822 format available.

Acknowledgement sent to Neil Williams <codehelp@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Embedded Group <debian-embedded@lists.debian.org>. Full text and rfc822 format available.

Message #31 received at 447427@bugs.debian.org (full text, mbox):

From: Neil Williams <codehelp@debian.org>
To: 447427@bugs.debian.org
Cc: Debian Embedded <debian-embedded@lists.debian.org>
Subject: dpkg-cross: please support wrong architecture
Date: Sun, 13 Jul 2008 10:38:43 +0100
[Message part 1 (text/plain, inline)]
Neil Williams <codehelp@debian.org> wrote:
> Jonas Meyer <quitte@gmail.com> wrote:
> To create toolchains that have a new debian name than an already existing
> > architecture it'd be useful if something like this worked:
> > 
> > dpkg-cross -a uclibc-mipsel -i libc6_2.6.1-6_mipsel.deb 
> > dpkg-cross: libc6_2.6.1-6_mipsel.deb has wrong architecture (mipsel)
> > dpkg-cross: conversion of libc6_2.6.1-6_mipsel.deb failed.
> > 
> > Please consider adding an option to disable that check.

My chosen method, at the moment, is to allow uClibc as a special case
rather than provide a new option. This allows *only* uclibc-<cpu> to be
built from packages of the corresponding <cpu> architecture - it does
not allow the check to be forced in a way that would result in, e.g. arm
packages being prepared for uclibc-armel or mips for uclibc-i386 etc.

	# check package architecture
	my $control_arch = $control{"architecture"};
	if (($control_arch ne $arch) and 
		($control_arch ne "all") and
		($arch !~ /^uclibc-$control_arch$/)) {
		warn "$progname: $package has wrong architecture ($control_arch)\n";
		goto fail;
	}


> $ dpkg-architecture -auclibc-mipsel
> unknown Debian architecture uclibc-mipsel, you must specify GNU system
> type, too at /usr/bin/dpkg-architecture line 159.
> 
> As dpkg-cross merges back into dpkg, dpkg-cross will increasingly rely
> on dpkg code. Just disabling the check isn't going to be sufficient. I
> am unsure how much dpkg-cross 2.x will be able to support architectures
> that are not already supported in dpkg-architecture and adding code to
> dpkg-cross that cannot be supported by dpkg is futile as dpkg-cross
> is expected to be removed before Lenny is released.

That now has to be updated - dpkg-cross will persist into Lenny and
there is room for an update before Lenny is released so a fix for this
bug could be implemented in 2.2.5. (Actually, the collected fixes could
justify making the next release 2.3.0)

IMHO there are, therefore, grounds to introduce the uclibc additional
architectures into Debian::DpkgCross %archtable alongside the remaining
strings that denote differences between dpkg-cross and
dpkg-architecture:

# Conversion table for Debian GNU/Linux architecture name ('$arch') to GNU
# type. This lists additional arch names that are not already supported by
# dpkg-architecture.
# Need to support uclibc formats and remove those that differ from dpkg.
# Migrate these into the conffile and allow anything the user specifies
# in that file.
%archtable = (
	'armeb' => 'armeb-linux-gnueabi', #XXX This differs from dpkg-architecture
	'hurd-i386' => 'i386-gnu',        #XXX This differs from dpkg-architecture
	's390x' => 's390-linux-gnu',      #XXX This differs from dpkg-architecture
	'openbsd-i386' => 'i386-openbsd', #XXX This differs from dpkg-architecture
	'freebsd-i386' => 'i386-freebsd', #XXX This differs from dpkg-architecture
	'darwin-i386' => 'i386-darwin',   #XXX This differs from dpkg-architecture
	'win32-i386' => 'i386-cygwin'
);

Ron's suggestion of extending the eventual tables once dpkg-cross is
merged into dpkg can be implemented with the uclibc support as a
component of those tables.

Ron <ron@debian.org> wrote:
> So I think what we need here is for dpkg tools to also read
> from any foo-table.* files that exist in /usr/share/dpkg/.
> Then you can add these custom arch definitions in ostable.myarch
> etc. where they won't get stomped by dpkg updates, and enable
> them to be provided by a separate package that 'defines' the
> new arch that is desired in a fairly well defined way.
> 
> It shouldn't be too hard to add support for this to dpkg, and
> it has been discussed on #emdebian to a reasonable state of
> consensus among the participants.  If no-one else has a better
> suggestion, and Neil and the dpkg maintainers like it, I think
> this is the way we should go on this.

The only problem with doing this in Debian::DpkgCross is that each CPU
has to be listed separately - we need to decide which uclibc
architectures we want supported in dpkg-cross >> 2.2.4.

The current changes for this bug only implement arm, armel, mips and
mipsel.

Sample output:
$ ./dpkg-cross -a uclibc-mipsel -b libc6_2.7-12_mipsel.deb
Building libc6-uclibc-mipsel-cross_2.7-12_all.deb
neil@holly:dpkg-cross$ dpkg -c libc6-uclibc-mipsel-cross_2.7-12_all.deb
drwxr-xr-x root/root         0 2008-07-13 10:06 ./
drwxr-xr-x root/root         0 2008-07-13 10:06 ./usr/
drwxr-xr-x root/root         0 2008-07-13 10:06 ./usr/mipsel-linux-uclibc/
drwxr-xr-x root/root         0 2008-07-13 10:06 ./usr/mipsel-linux-uclibc/lib/
-rwxr-xr-x root/root    144876 2008-06-03 10:00 ./usr/mipsel-linux-uclibc/lib/ld-2.7.so
-rw-r--r-- root/root     14496 2008-06-03 10:00 ./usr/mipsel-linux-uclibc/lib/libanl-2.7.so
-rw-r--r-- root/root      5600 2008-06-03 10:00 ./usr/mipsel-linux-uclibc/lib/libBrokenLocale-2.7.so
-rwxr-xr-x root/root   1556000 2008-06-03 10:00 ./usr/mipsel-linux-uclibc/lib/libc-2.7.so
-rw-r--r-- root/root    187236 2008-06-03 10:00 ./usr/mipsel-linux-uclibc/lib/libcidn-2.7.so
-rw-r--r-- root/root     39640 2008-06-03 10:00 ./usr/mipsel-linux-uclibc/lib/libcrypt-2.7.so
-rw-r--r-- root/root     14728 2008-06-03 10:00 ./usr/mipsel-linux-uclibc/lib/libdl-2.7.so
-rw-r--r-- root/root    553844 2008-06-03 10:00 ./usr/mipsel-linux-uclibc/lib/libm-2.7.so
-rw-r--r-- root/root     18404 2008-06-03 10:00 ./usr/mipsel-linux-uclibc/lib/libmemusage.so
...


uClibc conversion tables, only in dpkg-cross:
# Conversion table for Debian GNU/Linux architecture name ('$arch') to GNU
# type. This lists additional arch names that are not already supported by
# dpkg-architecture.
# Need to support uclibc formats and remove those that differ from dpkg.
# Migrate these into the conffile and allow anything the user specifies
# in that file.
%archtable = (
	'armeb' => 'armeb-linux-gnueabi', #XXX This differs from dpkg-architecture
	'hurd-i386' => 'i386-gnu',        #XXX This differs from dpkg-architecture
	's390x' => 's390-linux-gnu',      #XXX This differs from dpkg-architecture
	'openbsd-i386' => 'i386-openbsd', #XXX This differs from dpkg-architecture
	'freebsd-i386' => 'i386-freebsd', #XXX This differs from dpkg-architecture
	'darwin-i386' => 'i386-darwin',   #XXX This differs from dpkg-architecture
	'win32-i386' => 'i386-cygwin',
	'uclibc-arm' => 'arm-linux-uclibc',
	'uclibc-mips' => 'mips-linux-uclibc',
	'uclibc-mipsel' => 'mipsel-linux-uclibc',
	'uclibc-armel' => 'armel-linux-uclibc',
);

Is the armel one correct?
The fix from http://wiki.debian.org/EmDebian/UclibcToolchainBootstrap doesn't provide uclibc-armel.

$ dpkg-architecture -auclibc-armel
unknown Debian architecture uclibc-armel, you must specify GNU system type, too at /usr/bin/dpkg-architecture line 143.

dpkg-cross -a armel puts files into ./usr/arm-linux-gnueabi/ whereas
dpkg-cross -a uclibc-armel would put files
into ./usr/armel-linux-uclibc/

Please keep the bug report in the CC when replying (sending to the bug
will also send to the list) - use -maintonly if preferred, duplicates
are handled automatically.

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/


[signature.asc (application/pgp-signature, inline)]

Tags added: patch Request was from Neil Williams <codehelp@debian.org> to control@bugs.debian.org. (Sun, 13 Jul 2008 09:57:03 GMT) Full text and rfc822 format available.

Information forwarded to Debian Embedded Group <debian-embedded@lists.debian.org>:
Bug#447427; Package dpkg-cross. Full text and rfc822 format available.

Acknowledgement sent to Neil Williams <codehelp@debian.org>:
Extra info received and forwarded to maintainer. Copy sent to Debian Embedded Group <debian-embedded@lists.debian.org>. Full text and rfc822 format available.

Message #38 received at 447427-maintonly@bugs.debian.org (full text, mbox):

From: Neil Williams <codehelp@debian.org>
To: 447427-maintonly@bugs.debian.org
Subject: The patch applied to CVS for 447427
Date: Sun, 13 Jul 2008 10:54:53 +0100
[Message part 1 (text/plain, inline)]
Package: dpkg-cross
tag 447427 + patch
thanks


Index: dpkg-cross
===================================================================
RCS file: /cvsroot/dpkg-cross/dpkg-cross/dpkg-cross,v
retrieving revision 1.52
diff -p -u -b -B -r1.52 dpkg-cross
--- dpkg-cross	13 Jul 2008 08:26:13 -0000	1.52
+++ dpkg-cross	13 Jul 2008 09:44:49 -0000
@@ -349,8 +349,11 @@ sub sub_build {
 	}
 
 	# check package architecture
-	if (($control{"architecture"} ne $arch) && ($control{"architecture"} ne "all")) {
-		warn "$progname: $package has wrong architecture (" . $control{"architecture"} . ")\n";
+	my $control_arch = $control{"architecture"};
+	if (($control_arch ne $arch) and 
+		($control_arch ne "all") and
+		($arch !~ /^uclibc-$control_arch$/)) {
+		warn "$progname: $package has wrong architecture ($control_arch)\n";
 		goto fail;
 	}
 
Index: Debian/DpkgCross.pm
===================================================================
RCS file: /cvsroot/dpkg-cross/dpkg-cross/Debian/DpkgCross.pm,v
retrieving revision 1.31
diff -p -u -b -B -r1.31 DpkgCross.pm
--- Debian/DpkgCross.pm	13 Jul 2008 08:26:13 -0000	1.31
+++ Debian/DpkgCross.pm	13 Jul 2008 09:44:50 -0000
@@ -6,10 +6,10 @@ use Config::Auto;
 use Cwd;
 use warnings;
 use strict;
-our $VERSION = '2.2.4';
+our $VERSION = '2.3.0';
 
 # Version of dpkg-cross environment.
-my $DPKGCROSSVERSION = "2.2.4";
+my $DPKGCROSSVERSION = "2.3.0";
 
 require Exporter;
 
@@ -107,7 +107,11 @@ $progname = basename($0);
 	'openbsd-i386' => 'i386-openbsd', #XXX This differs from dpkg-architecture
 	'freebsd-i386' => 'i386-freebsd', #XXX This differs from dpkg-architecture
 	'darwin-i386' => 'i386-darwin',   #XXX This differs from dpkg-architecture
-	'win32-i386' => 'i386-cygwin'
+	'win32-i386' => 'i386-cygwin',
+	'uclibc-arm' => 'arm-linux-uclibc',
+	'uclibc-mips' => 'mips-linux-uclibc',
+	'uclibc-mipsel' => 'mipsel-linux-uclibc',
+	'uclibc-armel' => 'armel-linux-uclibc',
 );
 
 # Regexps to parse 'file' output to detect arch of ELF binary
Index: debian/changelog
===================================================================
RCS file: /cvsroot/dpkg-cross/dpkg-cross/debian/changelog,v
retrieving revision 1.143
diff -p -u -b -B -r1.143 changelog
--- debian/changelog	13 Jul 2008 08:26:13 -0000	1.143
+++ debian/changelog	13 Jul 2008 09:44:51 -0000
@@ -1,11 +1,12 @@
-dpkg-cross (2.2.5) unstable; urgency=low
+dpkg-cross (2.3.0) unstable; urgency=low
 
   * Same change as apt-cross in the buginfo.sh script:
   * bashism in /bin/sh script (Closes: #489567)
   * corrupted pkg-config data for libcairo-directfb (Closes: #483076)
   * -a amd64 should search /emul/ia32-linux (Closes: #463588)
+  * please support wrong architecture (Closes: #447427)
 
- -- Neil Williams <codehelp@debian.org>  Sat, 12 Jul 2008 19:48:09 +0100
+ -- Neil Williams <codehelp@debian.org>  Sun, 13 Jul 2008 10:39:26 +0100
 
 dpkg-cross (2.2.4) unstable; urgency=low
 

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/


[signature.asc (application/pgp-signature, inline)]

Tags added: pending Request was from Neil Williams <codehelp@debian.org> to control@bugs.debian.org. (Sun, 13 Jul 2008 10:03:10 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Embedded Group <debian-embedded@lists.debian.org>:
Bug#447427; Package dpkg-cross. Full text and rfc822 format available.

Acknowledgement sent to Neil Williams <codehelp@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Embedded Group <debian-embedded@lists.debian.org>. Full text and rfc822 format available.

Message #45 received at 447427@bugs.debian.org (full text, mbox):

From: Neil Williams <codehelp@debian.org>
To: 447427@bugs.debian.org
Subject: Better solution required
Date: Sun, 13 Jul 2008 14:46:38 +0100
[Message part 1 (text/plain, inline)]
Package: dpkg-cross
tag 447427 - patch
tag 447427 - pending
thanks

After a few discussions on IRC, a better solution is needed in dpkg to
allow arbitrary configurations for bespoke uClibc configurations.

Ron's suggestion of an external (user-written) config file will be
needed and that means dpkg support.

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/


[signature.asc (application/pgp-signature, inline)]

Tags removed: patch Request was from Neil Williams <codehelp@debian.org> to control@bugs.debian.org. (Sun, 13 Jul 2008 13:48:04 GMT) Full text and rfc822 format available.

Tags removed: pending Request was from Neil Williams <codehelp@debian.org> to control@bugs.debian.org. (Sun, 13 Jul 2008 13:48:04 GMT) Full text and rfc822 format available.

Bug no longer marked as found in version 2.0.0. Request was from "Neil Williams" <neil@codehelp.co.uk> to control@bugs.debian.org. (Sat, 11 Oct 2008 19:27:05 GMT) Full text and rfc822 format available.

Bug no longer marked as found in version 2.2.4. Request was from "Neil Williams" <neil@codehelp.co.uk> to control@bugs.debian.org. (Sat, 11 Oct 2008 19:27:05 GMT) Full text and rfc822 format available.

Bug marked as found in version 2.0.0. Request was from "Neil Williams" <neil@codehelp.co.uk> to control@bugs.debian.org. (Sat, 11 Oct 2008 19:36:11 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Embedded Group <debian-embedded@lists.debian.org>:
Bug#447427; Package dpkg-cross. (Sat, 11 Oct 2008 20:27:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Neil Williams <codehelp@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Embedded Group <debian-embedded@lists.debian.org>. (Sat, 11 Oct 2008 20:27:02 GMT) Full text and rfc822 format available.

Message #60 received at 447427@bugs.debian.org (full text, mbox):

From: Neil Williams <codehelp@debian.org>
To: 447427@bugs.debian.org
Cc: Ron <ron@debian.org>
Subject: /etc/dpkg-cross/archtable.d/*
Date: Sat, 11 Oct 2008 21:24:07 +0100
[Message part 1 (text/plain, inline)]
OK, I've got a possible implementation for this bug:
dpkg-cross: please support wrong architecture

> We don't need to disable this check if the correct dpkg foo-table
> entries are added for the desired arch, right?
> 
> So once dpkg-architecture et al. all behave as planned, all that
> remains is to have a 'proper' way to extend those tables for any
> 'unofficial' archs that people require.

> So I think what we need here is for dpkg tools to also read
> from any foo-table.* files that exist in /usr/share/dpkg/.
> Then you can add these custom arch definitions in ostable.myarch
> etc. where they won't get stomped by dpkg updates, and enable
> them to be provided by a separate package that 'defines' the
> new arch that is desired in a fairly well defined way.

> It shouldn't be too hard to add support for this to dpkg, and
> it has been discussed on #emdebian to a reasonable state of
> consensus among the participants.  If no-one else has a better
> suggestion, and Neil and the dpkg maintainers like it, I think
> this is the way we should go on this.

The actual implementation would work with:

$ cat /etc/dpkg-cross/archtable.d/archtable.default
# This is the default list of architectures that differ
# between dpkg-cross and dpkg.
# Other files can be added to this directory using the same
# syntax. Lines starting with # are comments and are ignored.
# Additionally, content after # on any line is also ignored
# as long as the rest of the line is valid syntax.
# Syntax is 'key: value'
# key cannot be quoted, value can be quoted.

armeb: armeb-linux-gnueabi
hurd-i386: i386-gnu        #XXX This differs from dpkg-architecture
s390x: 's390-linux-gnu'      #XXX This differs from dpkg-architecture
openbsd-i386: 'i386-openbsd' #XXX This differs from dpkg-architecture
freebsd-i386: 'i386-freebsd' #XXX This differs from dpkg-architecture
darwin-i386: 'i386-darwin',   #XXX This differs from dpkg-architecture
win32-i386: 'i386-cygwin'

$


A package or a user could then drop a suitable file in that directory.

The contents of any file in that directory are then added to %archtable.

I think this could be manageable within dpkg as well as dpkg-cross.

The static %archtable definition would be replaced by:

$arch_dir = '/etc/dpkg-cross/archtable.d/';
%archtable = ();
opendir (ARCHDIR, $arch_dir)
	or carp "Unable to read $arch_dir: $!\n";
my @pathfiles=grep(!/^\.\.?$/, readdir ARCHDIR);
closedir (ARCHDIR);
foreach my $file (@pathfiles)
{
	next if (-d "${arch_dir}$file");
	my $conf = Config::Auto::parse("${arch_dir}$file", format => "colon");
	foreach my $p (sort keys (%$conf))
	{
		$p =~ s/'//g;
		if (not defined ($conf->{$p}))
		{
			carp "syntax error for $p in ${arch_dir}$file\n";
			next;
		}
		my $line = (ref($conf->{$p}) eq 'ARRAY') ?
			join (' ', @{$conf->{$p}}) : $conf->{$p};
		$line =~ s/\#.*$//;
		$line =~ s/'//g;
		$line =~ s/"//g;
		$archtable{$p} = $line;
	}
}


-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

[Message part 2 (application/pgp-signature, inline)]

Bug reassigned from package `dpkg-cross' to `libdebian-dpkgcross-perl'. Request was from "Neil Williams" <neil@codehelp.co.uk> to control@bugs.debian.org. (Sat, 11 Oct 2008 20:48:02 GMT) Full text and rfc822 format available.

Tags added: pending Request was from Neil Williams <codehelp@debian.org> to control@bugs.debian.org. (Sun, 12 Oct 2008 16:27:16 GMT) Full text and rfc822 format available.

Reply sent to Neil Williams <codehelp@debian.org>:
You have taken responsibility. (Sun, 15 Feb 2009 14:18:12 GMT) Full text and rfc822 format available.

Notification sent to Jonas Meyer <quitte@gmail.com>:
Bug acknowledged by developer. (Sun, 15 Feb 2009 14:18:12 GMT) Full text and rfc822 format available.

Message #69 received at 447427-close@bugs.debian.org (full text, mbox):

From: Neil Williams <codehelp@debian.org>
To: 447427-close@bugs.debian.org
Subject: Bug#447427: fixed in dpkg-cross 2.4.0
Date: Sun, 15 Feb 2009 13:59:24 +0000
Source: dpkg-cross
Source-Version: 2.4.0

We believe that the bug you reported is fixed in the latest version of
dpkg-cross, which is due to be installed in the Debian FTP archive:

dpkg-cross_2.4.0.dsc
  to pool/main/d/dpkg-cross/dpkg-cross_2.4.0.dsc
dpkg-cross_2.4.0.tar.gz
  to pool/main/d/dpkg-cross/dpkg-cross_2.4.0.tar.gz
dpkg-cross_2.4.0_all.deb
  to pool/main/d/dpkg-cross/dpkg-cross_2.4.0_all.deb
libdebian-dpkgcross-perl_2.4.0_all.deb
  to pool/main/d/dpkg-cross/libdebian-dpkgcross-perl_2.4.0_all.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 447427@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Neil Williams <codehelp@debian.org> (supplier of updated dpkg-cross package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Sun, 15 Feb 2009 11:25:46 +0000
Source: dpkg-cross
Binary: dpkg-cross libdebian-dpkgcross-perl
Architecture: source all
Version: 2.4.0
Distribution: unstable
Urgency: low
Maintainer: Debian Embedded Group <debian-embedded@lists.debian.org>
Changed-By: Neil Williams <codehelp@debian.org>
Description: 
 dpkg-cross - tools for cross compiling Debian packages
 libdebian-dpkgcross-perl - functions to aid cross-compiling Debian packages
Closes: 447427 493180 499292 506229 506956 513203 514249 514604
Changes: 
 dpkg-cross (2.4.0) unstable; urgency=low
 .
   * Merge Emdebian releases into Debian.
   * Remove dependencies on outdated -dcv1 compatibility packages,
     retain Provides for now. (Closes: #514249)
 .
 dpkg-cross (2.3.6) unstable; urgency=low
 .
   * Fix cache support for packages with unusual AC_INIT calls.
   * Add cache support for mipsel.
 .
 dpkg-cross (2.3.5) unstable; urgency=low
 .
   * [INTL:es] Spanish debconf template translation for dpkg-cross
     (Closes: #514604)
   * Implement support for package-specific cache values using CONFIG_SITE
     and /etc/dpkg-cross/cross-config.d/$arch support. (Closes: #493180)
 .
 dpkg-cross (2.3.4) unstable; urgency=low
 .
   * Fix "dpkg-cross fails to provide correct .pc for libpthread-stubs0-
     dev" by marking pkgconfig files in /usr/share/ as 'useful'.
     (Closes: #506229)
   * Allow an exception so that dpkg-cross can handle symlinks to
     pkgconfig files. (Closes: #506956)
   * Debian/DpkgCross.pm :Add a note to endiannes function that dpkg-
     cross needs to be installed as well as the perl module in order for
     the function to retrieve the endianness data.
   * Add missing cache values for findutils to allow findutils to remove
     the cache file. (Closes: #513203)
 .
 dpkg-cross (2.3.3) unstable; urgency=low
 .
   * Migrate gccross to emdebian-tools
   *  + to aid migration of dpkg-cross into dpkg and dpkg-dev
   *  + to retain gccross support until all packages are fixed
   *  + to implement support for marking all packages using gccross as
     buggy.
   * drop buildcross which is now implemented inside emdebuild if
     '[X-]Build-Cross-Libtool: yes' is used in debian/xcontrol
   * dpkg-cross : migrate manpage content to POD for compatibility with
     dpkg-dev
   * migrate default options into the module instead of the conffile
   * check for and remove dangling symlinks (Closes: #499292) by
     stopping the creation of symlinks for files that are not
     interesting.
   * remove obsolete files from CVS and source tarball
   * using pod2man, so drop docbook-to-man build-depends
   * Improve error checking in case  value really is undefined
   * Add dynamic archtable settings to make it easier to support uClibc
     permutations: please support wrong architecture (Closes: #447427)
   * dpkg-cross : Remove cairo hack and finish simplifying the regexp
     lines to remove unnecessary escape characters.
   * debian/rules: final tweak to update from i18n update, clean up
     module man page
 .
 dpkg-cross (2.3.2) unstable; urgency=low
 .
   * Support package-specific cache values
   * config/cross-config.arm config/cross-config.armel : load the global
     variables before the previous values to retain the architecture-
     dependent values
   * config/cross-config.cache : drop orbit data (specialized support
     elsewhere) and reorganise blocks alphabetically
   * dpkg-cross : Implement support for generated cache data in
     /etc/dpkg-cross/cross-config.d/ and architecture-dependent sub
     directories
   * config/cross-config.cache : wrap cache values in package and
     package_name conditionals. Restrict loading of files in
     /etc/dpkg-cross/cross-config.d/ to files matching the package_name
     variable assigned within ./configure.
   * dpkg-cross : Support installing cmake files in -dev packages.
   * Adapt the experimental CMake example file for (hopefully) different
     Linux architectures
   * Add a few CMake tips to the dpkg-cross manpage
 .
 dpkg-cross (2.3.1) unstable; urgency=low
 .
   * Support collected cache values for system-wide comparisons
Checksums-Sha1: 
 f59caff76c01420b6553ac3d43a9210020474ceb 1223 dpkg-cross_2.4.0.dsc
 f5c1d37fec5c40f457c4c3ef2fa6ecc5d4cffc03 73460 dpkg-cross_2.4.0.tar.gz
 2a672b2cd9761f4e1f69181e43c764987952a589 50356 dpkg-cross_2.4.0_all.deb
 c7ca74a045e4f16da668d93f3bac8ba54fd78a1e 32918 libdebian-dpkgcross-perl_2.4.0_all.deb
Checksums-Sha256: 
 f78769677f00f88076360d531a579d5418f644e2dc1bbf709f92c4caf739f46b 1223 dpkg-cross_2.4.0.dsc
 04240bac9c74eff2d8189fe1c43fa0a0b8db1152901035c73e6b78739108303b 73460 dpkg-cross_2.4.0.tar.gz
 1e544fc008b02ec2a49fd06fe884ae69d5c67a8288a64dbeb39c5b4629a3b0ce 50356 dpkg-cross_2.4.0_all.deb
 73427b798ac560776b80413acf6d38c2607550d4eff9d642b0c83a06ce34e6db 32918 libdebian-dpkgcross-perl_2.4.0_all.deb
Files: 
 553387c5146e86fa5dda3e4275719bd4 1223 utils extra dpkg-cross_2.4.0.dsc
 6fefb3522eee6cc2ecbb4c1a2e07ed85 73460 utils extra dpkg-cross_2.4.0.tar.gz
 45a4cc048975bf52f7cb05a00e3a707d 50356 utils extra dpkg-cross_2.4.0_all.deb
 486eb96b50c2d888ed8d705ba8ffae4e 32918 perl extra libdebian-dpkgcross-perl_2.4.0_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkmYFj8ACgkQiAEJSii8s+Nx9QCfRZHVrXhe3DkuoVbBFpP9WZ16
TmwAnj3yhbap6qeWltV4cu7ttM/Dor+U
=U8XH
-----END PGP SIGNATURE-----





Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Thu, 26 Mar 2009 07:31:08 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed Apr 23 17:37:03 2014; Machine Name: buxtehude.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.