Bug#666760: [libc6-dev] Make libc6-dev multiarch-installable

2012-06-03 Thread Sven Joachim
On 2012-06-02 21:56 +0200, Aurelien Jarno wrote:

 On Sat, Jun 02, 2012 at 09:33:19PM +0200, Thibaut Girka wrote:
 On Sat, Jun 02, 2012 at 09:02:54PM +0200, Aurelien Jarno wrote:
  Your patch actually also makes libc0.1-dev, libc0.3-dev and libc6.1-dev
  m-a: same. You should also check for files in these packages.
 
 Oh, I didn't know about that.
 
 libc0.1-dev is ok.
 libc0.3-dev is ok since it's only available for one architecture.
 libc6.1-dev is ok too.
 

 Either we have to make them conflict one with another (that is
 libc0.1-dev and libc6-dev, libc0.3-dev with libc6-dev, etc.),

Note that this holds whether or not these packages are M-A: same.

 or we have to check for these packages as if they were a single one.

This means they would need to have the same name (probably libc-dev) on
all architectures.

Cheers,
   Sven



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/871ulw95oe@turtle.gmx.de



Bug#666760: [libc6-dev] Make libc6-dev multiarch-installable

2012-06-03 Thread Aurelien Jarno
On Sun, Jun 03, 2012 at 10:10:41AM +0200, Sven Joachim wrote:
 On 2012-06-02 21:56 +0200, Aurelien Jarno wrote:
 
  On Sat, Jun 02, 2012 at 09:33:19PM +0200, Thibaut Girka wrote:
  On Sat, Jun 02, 2012 at 09:02:54PM +0200, Aurelien Jarno wrote:
   Your patch actually also makes libc0.1-dev, libc0.3-dev and libc6.1-dev
   m-a: same. You should also check for files in these packages.
  
  Oh, I didn't know about that.
  
  libc0.1-dev is ok.
  libc0.3-dev is ok since it's only available for one architecture.
  libc6.1-dev is ok too.
  
 
  Either we have to make them conflict one with another (that is
  libc0.1-dev and libc6-dev, libc0.3-dev with libc6-dev, etc.),
 
 Note that this holds whether or not these packages are M-A: same.

No, because these packages are architecture specific, so they are not
co-installable. For example libc0.1-dev and libc6-dev might have
conflicting files, but you can't install libc0.1-dev (kfreebsd-amd64
only) together with libc6-dev, unless they are marked M-A: same.

  or we have to check for these packages as if they were a single one.
 
 This means they would need to have the same name (probably libc-dev) on
 all architectures.
 

Yes, thinking about that, either we want to make it fully multiarch, in
that case all libc*-dev needs to be renamed to the same name, or we
should add conflicts to prevent someone trying to install for example
libc6.1-dev along with libc6-dev.

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120603083931.gb22...@hall.aurel32.net



Bug#666760: [libc6-dev] Make libc6-dev multiarch-installable

2012-06-03 Thread Sven Joachim
On 2012-06-03 10:39 +0200, Aurelien Jarno wrote:

 On Sun, Jun 03, 2012 at 10:10:41AM +0200, Sven Joachim wrote:
 On 2012-06-02 21:56 +0200, Aurelien Jarno wrote:
 
  Either we have to make them conflict one with another (that is
  libc0.1-dev and libc6-dev, libc0.3-dev with libc6-dev, etc.),
 
 Note that this holds whether or not these packages are M-A: same.

 No, because these packages are architecture specific, so they are not
 co-installable. For example libc0.1-dev and libc6-dev might have
 conflicting files, but you can't install libc0.1-dev (kfreebsd-amd64
 only) together with libc6-dev, unless they are marked M-A: same.

Marking them M-A: same is not going to resolve these conflicts,
because libc0.1-dev and libc6-dev still belong to different package
sets, and with --force-overwrite you can install libc0.1-dev along
libc6-dev already.

  or we have to check for these packages as if they were a single one.
 
 This means they would need to have the same name (probably libc-dev) on
 all architectures.
 

 Yes, thinking about that, either we want to make it fully multiarch, in
 that case all libc*-dev needs to be renamed to the same name, or we
 should add conflicts to prevent someone trying to install for example
 libc6.1-dev along with libc6-dev.

Renaming seems to be the best long-term solution to me, but using
conflicts is probably safer for wheezy.  For instance,
kfreebsd-kernel-headers:kfreebsd-i386 contains files clashing with both
libc6:i386 and linux-libc-dev:i386:

,
| # dpkg -i --force-overwrite 
/var/cache/apt/archives/kfreebsd-kernel-headers_0.81_kfreebsd-i386.deb 
| (Reading database ... 13017 files and directories currently installed.)
| Unpacking kfreebsd-kernel-headers (from 
.../kfreebsd-kernel-headers_0.81_kfreebsd-i386.deb) ...
| dpkg: warning: overriding problem because --force enabled:
|  trying to overwrite '/usr/include/net/if_arp.h', which is also in package 
libc6-dev 2.13-32
| dpkg: warning: overriding problem because --force enabled:
|  trying to overwrite '/usr/include/net/ppp_defs.h', which is also in package 
libc6-dev 2.13-32
| dpkg: warning: overriding problem because --force enabled:
|  trying to overwrite '/usr/include/net/route.h', which is also in package 
libc6-dev 2.13-32
| dpkg: warning: overriding problem because --force enabled:
|  trying to overwrite '/usr/include/netatalk/at.h', which is also in package 
libc6-dev 2.13-32
| dpkg: warning: overriding problem because --force enabled:
|  trying to overwrite '/usr/include/netipx/ipx.h', which is also in package 
libc6-dev 2.13-32
| dpkg: warning: overriding problem because --force enabled:
|  trying to overwrite '/usr/include/linux/videodev2.h', which is also in 
package linux-libc-dev:i386 3.2.19-1
| Setting up kfreebsd-kernel-headers (0.81) ...
`

Cheers,
   Sven



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87pq9g7og2@turtle.gmx.de



Bug#666760: [libc6-dev] Make libc6-dev multiarch-installable

2012-06-03 Thread Aurelien Jarno
On Sun, Jun 03, 2012 at 11:08:13AM +0200, Sven Joachim wrote:
 On 2012-06-03 10:39 +0200, Aurelien Jarno wrote:
 
  On Sun, Jun 03, 2012 at 10:10:41AM +0200, Sven Joachim wrote:
  On 2012-06-02 21:56 +0200, Aurelien Jarno wrote:
  
   Either we have to make them conflict one with another (that is
   libc0.1-dev and libc6-dev, libc0.3-dev with libc6-dev, etc.),
  
  Note that this holds whether or not these packages are M-A: same.
 
  No, because these packages are architecture specific, so they are not
  co-installable. For example libc0.1-dev and libc6-dev might have
  conflicting files, but you can't install libc0.1-dev (kfreebsd-amd64
  only) together with libc6-dev, unless they are marked M-A: same.
 
 Marking them M-A: same is not going to resolve these conflicts,
 because libc0.1-dev and libc6-dev still belong to different package
 sets, and with --force-overwrite you can install libc0.1-dev along
 libc6-dev already.

My point there is that given the package is that marking as M-A: same
also implicitly means that the packager has verified that the package is
not going to conflict with any other file. And if he/she failed to do
so, it's a serious bug in the package, like we handled file conflicts
bugs before the multiarch era.

Currently theses packages are not marked as M-A: same, so it's not a
bug in a package, but rather a bug in a multiarch specification allowing
this.


   or we have to check for these packages as if they were a single one.
  
  This means they would need to have the same name (probably libc-dev) on
  all architectures.
  
 
  Yes, thinking about that, either we want to make it fully multiarch, in
  that case all libc*-dev needs to be renamed to the same name, or we
  should add conflicts to prevent someone trying to install for example
  libc6.1-dev along with libc6-dev.
 
 Renaming seems to be the best long-term solution to me, but using
 conflicts is probably safer for wheezy.  For instance,
 kfreebsd-kernel-headers:kfreebsd-i386 contains files clashing with both
 libc6:i386 and linux-libc-dev:i386:
 


I came to the same conclusion.

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120603100802.gd4...@hall.aurel32.net



Bug#666760: [libc6-dev] Make libc6-dev multiarch-installable

2012-06-02 Thread Thibaut Girka
tags 666760 patch
thanks

Hi,
I was wondering why libc6-dev wasn't m-a: same, and I've decided to identify 
which files
are arch-dependent but not in arch-qualified paths.


Here is what I've found using libc6-dev=2.13-32 binary packages from the 
archive:

Searching for conflicts across the following architectures:
amd64, armel, armhf, i386, m68k, mips, mipsel, powerpc, s390, s390x, 
sh4, sparc, sparc64

usr/include/a.out.h
44363cebe3e379d8aea5d368502ec4b4439c47eesparc, sparc64
131d2b9e51280468ac6736db94ff981a79364e29s390, sh4, amd64, 
s390x, m68k, powerpc, i386, armel, armhf, mips, mipsel
usr/include/ieee754.h
8401e96f11f497f1dda32a878f50c7e74404defas390, s390x, sparc64, 
sparc
d09e81c714db219efdca7f16f7e53fc6da6b94f9powerpc
41468caf81199e2bafafb8f8fbeb8be8be628f44mips, mipsel
ed7ef9b8e4fb8673d3bb53a259c49f434fcaadd1sh4, amd64, m68k, i386, 
armel, armhf


I have no idea why the a.out.h file is different on sparc/sparc64, but,
although some unification should be possible without breaking the ABI,
I think having different ieee754.h files make sense, as different floating point
number representations are used on different architectures.

Thus, I think moving those files to arch-qualified paths would be enough for 
wheezy.
That's what the attached patch does.

Regards,
Thibaut Girka.
Index: debian/control.in/libc
===
--- debian/control.in/libc	(révision 5259)
+++ debian/control.in/libc	(copie de travail)
@@ -26,6 +26,7 @@
 Architecture: @archs@
 Section: libdevel
 Priority: optional
+Multi-Arch: same
 Depends: @libc@ (= ${binary:Version}), libc-dev-bin (= ${binary:Version}), ${misc:Depends}, linux-libc-dev [linux-any], kfreebsd-kernel-headers (= 0.11) [kfreebsd-any], gnumach-dev [hurd-i386], hurd-dev (= 20080607-3) [hurd-i386]
 Replaces: hurd-dev ( 20120408-3) [hurd-i386]
 Recommends: gcc | c-compiler
Index: debian/rules.d/build.mk
===
--- debian/rules.d/build.mk	(révision 5259)
+++ debian/rules.d/build.mk	(copie de travail)
@@ -176,6 +176,8 @@
 	  mv debian/tmp-$(curpass)/usr/include/gnu debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \
 	  mv debian/tmp-$(curpass)/usr/include/sys debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \
 	  mv debian/tmp-$(curpass)/usr/include/fpu_control.h debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \
+	  mv debian/tmp-$(curpass)/usr/include/a.out.h debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \
+	  mv debian/tmp-$(curpass)/usr/include/ieee754.h debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \
 	fi
 
 	# For our biarch libc, add an ld.so.conf.d configuration; this
Index: debian/rules.d/stage1.mk
===
--- debian/rules.d/stage1.mk	(révision 5259)
+++ debian/rules.d/stage1.mk	(copie de travail)
@@ -65,6 +65,8 @@
 	mv $(DESTDIR)/usr/include/gnu   $(DESTDIR)/usr/include/$(DEB_HOST_MULTIARCH)
 	mv $(DESTDIR)/usr/include/sys   $(DESTDIR)/usr/include/$(DEB_HOST_MULTIARCH)
 	mv $(DESTDIR)/usr/include/fpu_control.h $(DESTDIR)/usr/include/$(DEB_HOST_MULTIARCH)
+	mv $(DESTDIR)/usr/include/a.out.h	$(DESTDIR)/usr/include/$(DEB_HOST_MULTIARCH)
+	mv $(DESTDIR)/usr/include/ieee754.h	$(DESTDIR)/usr/include/$(DEB_HOST_MULTIARCH)
 	$(call xx,extra_install)
 	touch $@
 


signature.asc
Description: Digital signature


Bug#666760: [libc6-dev] Make libc6-dev multiarch-installable

2012-06-02 Thread Aurelien Jarno
tag 666760 - patch
thanks

On Sat, Jun 02, 2012 at 04:36:03PM +0200, Thibaut Girka wrote:
 tags 666760 patch
 thanks
 
 Hi,
 I was wondering why libc6-dev wasn't m-a: same, and I've decided to identify 
 which files
 are arch-dependent but not in arch-qualified paths.
 
 
 Here is what I've found using libc6-dev=2.13-32 binary packages from the 
 archive:
 
 Searching for conflicts across the following architectures:
   amd64, armel, armhf, i386, m68k, mips, mipsel, powerpc, s390, s390x, 
 sh4, sparc, sparc64
 

Your patch actually also makes libc0.1-dev, libc0.3-dev and libc6.1-dev
m-a: same. You should also check for files in these packages.

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120602190254.gb13...@hall.aurel32.net



Processed: Re: Bug#666760: [libc6-dev] Make libc6-dev multiarch-installable

2012-06-02 Thread Debian Bug Tracking System
Processing commands for cont...@bugs.debian.org:

 tag 666760 - patch
Bug #666760 [libc6-dev] [libc6-dev] Make libc6-dev multiarch-installable
Removed tag(s) patch.
 thanks
Stopping processing here.

Please contact me if you need assistance.
-- 
666760: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666760
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems


--
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/handler.s.c.133866377929673.transcr...@bugs.debian.org



Bug#666760: [libc6-dev] Make libc6-dev multiarch-installable

2012-06-02 Thread Thibaut Girka
On Sat, Jun 02, 2012 at 09:02:54PM +0200, Aurelien Jarno wrote:
 Your patch actually also makes libc0.1-dev, libc0.3-dev and libc6.1-dev
 m-a: same. You should also check for files in these packages.

Oh, I didn't know about that.

libc0.1-dev is ok.
libc0.3-dev is ok since it's only available for one architecture.
libc6.1-dev is ok too.

 -- 
 Aurelien JarnoGPG: 1024D/F1BCDB73
 aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: Digital signature


Bug#666760: [libc6-dev] Make libc6-dev multiarch-installable

2012-06-02 Thread Aurelien Jarno
On Sat, Jun 02, 2012 at 09:33:19PM +0200, Thibaut Girka wrote:
 On Sat, Jun 02, 2012 at 09:02:54PM +0200, Aurelien Jarno wrote:
  Your patch actually also makes libc0.1-dev, libc0.3-dev and libc6.1-dev
  m-a: same. You should also check for files in these packages.
 
 Oh, I didn't know about that.
 
 libc0.1-dev is ok.
 libc0.3-dev is ok since it's only available for one architecture.
 libc6.1-dev is ok too.
 

Either we have to make them conflict one with another (that is
libc0.1-dev and libc6-dev, libc0.3-dev with libc6-dev, etc.), or we have
to check for these packages as if they were a single one.

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120602195617.gc13...@hall.aurel32.net



Bug#666760: [libc6-dev] Make libc6-dev multiarch-installable

2012-04-01 Thread Ralf Jung
Package: libc6-dev
Version: 2.13-27
Severity: normal

--- Please enter the report below this line. ---
I'd like to install zlib1g-dev:i386 to use zlib in a 32bit program. However, 
this is currently blocked by libc6-dev not being Multi-Arch: same, so I can 
not install it.

--- System information. ---
Architecture: amd64
Kernel:   Linux 3.2.0-2-amd64

Debian Release: wheezy/sid
  500 testing security.debian.org 
  500 testing ftp.de.debian.org 

--- Package information. ---
Depends  (Version) | Installed
==-+-
libc6  (= 2.13-27) | 
libc-dev-bin   (= 2.13-27) | 
linux-libc-dev | 


Recommends  (Version) | Installed
=-+-===
gcc   | 4:4.6.2-4
 OR c-compiler| 


Suggests  (Version) | Installed
===-+-===
glibc-doc   | 
manpages-dev| 3.35-0.1



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/201204011711.52327.post+deb...@ralfj.de