Bug#632169: Please transition e2fsprogs for multiarch

2011-10-17 Thread Steve Langasek
Hi Ted,

On Mon, Sep 19, 2011 at 12:03:08AM -0400, Ted Ts'o wrote:
> On Thu, Jun 30, 2011 at 09:17:58AM +0100, Steve Langasek wrote:
> > Please find attached a patch to e2fsprogs to transition it to use of the
> > multiarch library paths as described at
> > .  This patch has been
> > applied and is being used successfully in Ubuntu 11.04, and should be safe
> > to apply in Debian now that multiarch has been bootstrapped there.

> If you have time to validate the changes I made to e2fsprogs to
> support multiarch, I would greatly appreciate it.  I couldn't just use
> your patch because I need to support Ubuntu 10.04 (and Debian Stable)
> as well as Debian Unstable systems.

> You can get and build my latest e2fsprogs tree as follows:

> git clone git://github.com/tytso/e2fsprogs.git
> cd e2fsprogs
> git checkout -b next origin/next
> ./debian/rules
> fakeroot dpkg-buildpackage 

> The above should work on Ubuntu LTS, Debian Stable, Debian Unstable,
> as well as whatever prelease Ubuntu system you are working on.

> Let me know if I screwed anything up.  :-)

Sorry for the delay in checking this over; I've now verified that your
changes DTRT and am merging your version of the patch for the next Ubuntu
release.

Sorry about the oversight wrt installation of debug files.  /usr/lib/debug
is definitely the correct path here - there's no reason to embed the
architecture string in the path *twice*, and gdb et al. won't look for files
there.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developerhttp://www.debian.org/
slanga...@ubuntu.com vor...@debian.org


signature.asc
Description: Digital signature


Bug#632169: Please transition e2fsprogs for multiarch

2011-09-18 Thread Ted Ts'o
Hi Steve,

On Thu, Jun 30, 2011 at 09:17:58AM +0100, Steve Langasek wrote:
> Please find attached a patch to e2fsprogs to transition it to use of the
> multiarch library paths as described at
> .  This patch has been
> applied and is being used successfully in Ubuntu 11.04, and should be safe
> to apply in Debian now that multiarch has been bootstrapped there.

If you have time to validate the changes I made to e2fsprogs to
support multiarch, I would greatly appreciate it.  I couldn't just use
your patch because I need to support Ubuntu 10.04 (and Debian Stable)
as well as Debian Unstable systems.

You can get and build my latest e2fsprogs tree as follows:

git clone git://github.com/tytso/e2fsprogs.git
cd e2fsprogs
git checkout -b next origin/next
./debian/rules
fakeroot dpkg-buildpackage 

The above should work on Ubuntu LTS, Debian Stable, Debian Unstable,
as well as whatever prelease Ubuntu system you are working on.

Let me know if I screwed anything up.  :-)

- Ted



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#632169: Please transition e2fsprogs for multiarch

2011-09-18 Thread Ted Ts'o
On Thu, Jun 30, 2011 at 09:17:58AM +0100, Steve Langasek wrote:
> Please find attached a patch to e2fsprogs to transition it to use of the
> multiarch library paths as described at
> .  This patch has been
> applied and is being used successfully in Ubuntu 11.04, and should be safe
> to apply in Debian now that multiarch has been bootstrapped there.

Note, your patches appear cause the following Lintian error:

E: libcomerr2-dbg: binary-with-bad-dynamic-table 
usr/lib/x86_64-linux-gnu/debug/lib/x86_64-linux-gnu/libcom_err.so.2.1
N: 
N:This appears to be an ELF file but objdump -T cannot parse it. If it is
N:external debugging symbols for another file, it should be installed
N:under /usr/lib/debug.
N:
N:Severity: serious, Certainty: possible
N:
N:Check: binaries, Type: binary, udeb
N: 

This is caused by files showing up in 

   /usr/lib/x86_64-linux-gnu/debug/lib/x86_64-linux-gnu/libcom_err.so.2.1

instead of

   /usr/lib/debug/lib/x86_64-linux-gnu/libcom_err.so.2.1

The multiarch proposal seems to be vague on some of these details.
And I'm really worred about whether tools like gdb, perf, and other
tools that expect to find the debugging files will find them if
/usr/lib//debug is used instead of /usr/lib/debug.

My current thinking is to *not* enable move these files from
/usr/lib/debug, since from my testing both gdb and lintian don't know
about this change (for now).

Pkgconfig seems to know about /usr/lib//pkgconfig, and
lintian doesn't complain, I'll move the .pc files for now.

- Ted





-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#632169: Please transition e2fsprogs for multiarch

2011-06-30 Thread Steve Langasek
Source: e2fsprogs
Version: 1.41.14-1.1
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu oneiric ubuntu-patch

Hi Ted,

Please find attached a patch to e2fsprogs to transition it to use of the
multiarch library paths as described at
.  This patch has been
applied and is being used successfully in Ubuntu 11.04, and should be safe
to apply in Debian now that multiarch has been bootstrapped there.

The patch currently does a fair amount of work in debian/rules that should
ultimately done in the upstream Makefile (in particular, handling the split
between /lib/$arch and /usr/lib/$arch).  If you would like me to help with
implementing this in the upstream Makefile, let me know - though currently
we have no distro-neutral way to query multiarch paths, so it may be
premature to try to push this upstream.

Would be great if you could apply this patch to the Debian package, so we
can whittle away ia32-libs for wheezy. :)

Thanks,
-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developerhttp://www.debian.org/
slanga...@ubuntu.com vor...@debian.org
diff -u e2fsprogs-1.41.14/debian/control e2fsprogs-1.41.14/debian/control
--- e2fsprogs-1.41.14/debian/control
+++ e2fsprogs-1.41.14/debian/control
@@ -2,7 +2,7 @@
 Section: admin
 Priority: required
 Maintainer: Theodore Y. Ts'o 
-Build-Depends: texi2html (>= 1.76), gettext, texinfo, dc, pkg-config, dietlibc-dev (>> 0.30) [alpha amd64 arm hppa i386 ia64 powerpc ppc64 s390 sparc], debhelper (>= 7.0), m4, libblkid-dev (>= 2.16), uuid-dev (>= 2.16)
+Build-Depends: texi2html (>= 1.76), gettext, texinfo, dc, pkg-config, dietlibc-dev (>> 0.30) [alpha amd64 arm hppa i386 ia64 powerpc ppc64 s390 sparc], debhelper (>= 8.1.3), m4, libblkid-dev (>= 2.16), uuid-dev (>= 2.16), dpkg-dev (>= 1.16.0)
 Standards-Version: 3.8.4
 Homepage: http://e2fsprogs.sourceforge.net
 
@@ -27,6 +27,8 @@
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Replaces: e2fsprogs (<< 1.34-1)
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Description: common error description library
  libcomerr is an attempt to present a common error-handling mechanism to
  manipulate the most common form of error code in a fashion that does not
@@ -51,6 +53,8 @@
 Depends: libcomerr2, ${shlibs:Depends}, ${misc:Depends}
 Replaces: e2fsprogs (<< 1.34-1)
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Description: command-line interface parsing library
  This package includes a tool that parses a command table to generate
  a simple command-line interface parser, the include files needed to
@@ -91,6 +95,8 @@
 Replaces: e2fsprogs (<< 1.34-1)
 Provides: libext2fs2, libe2p2
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Description: ext2/ext3/ext4 file system libraries
  The ext2, ext3 and ext4 file systems are successors of the original ext
  ("extended") file system. They are the main file system types used for
only in patch2:
unchanged:
--- e2fsprogs-1.41.14.orig/debian/comerr-dev.files
+++ e2fsprogs-1.41.14/debian/comerr-dev.files
@@ -1,9 +1,9 @@
-usr/lib/libcom_err.a
-usr/lib/libcom_err.so
+usr/lib/*/libcom_err.a
+usr/lib/*/libcom_err.so
 usr/include/et/*
 usr/include/com_err.h
 usr/share/man/man1/compile_et*
 usr/share/man/man3/com_err.3*
 usr/bin/compile_et
 usr/share/et/*
-usr/lib/pkgconfig/com_err.pc
+usr/lib/*/pkgconfig/com_err.pc
only in patch2:
unchanged:
--- e2fsprogs-1.41.14.orig/debian/rules
+++ e2fsprogs-1.41.14/debian/rules
@@ -24,6 +24,7 @@
 DEB_HOST_OS   ?= $(shell dpkg-architecture -qDEB_HOST_OS)
 DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+DEB_HOST_MULTIARCH  ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
 
 # find the version for the main package, from changelog file
 MAIN_VERSION = $(shell head -n 1 debian/changelog | cut '-d ' -f 2 | sed 's/[()]//g')
@@ -136,7 +137,8 @@
 COMMON_CONF_FLAGS += --enable-fsck
 endif
 
-STD_CONF_FLAGS = --enable-compression
+STD_CONF_FLAGS = --enable-compression \
+	--libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)
 
 BF_CONF_FLAGS = --disable-nls --disable-imager --disable-testio-debug \
 	--disable-uuidd --disable-tls \
@@ -144,7 +146,8 @@
 
 STATIC_CONF_FLAGS = --disable-nls --disable-imager \
 	--disable-uuidd --disable-tls \
-	--disable-e2initrd-helper
+	--disable-e2initrd-helper \
+	--libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)
 
 MIPS_NOPIC_CONF_FLAGS = --disable-nls --disable-imager \
 	--disable-uuidd --disable-tls \
@@ -255,7 +258,7 @@
 build-std: ${BUILDSTDSTAMP}
 ${BUILDSTDSTAMP}: ${CFGSTDSTAMP}
 	dh_testdir
-	$(MAKE) -C ${stdbuilddir} all
+	$(MAKE) -C ${stdbuilddir} all V=1
 	$(MAKE) -C ${stdbuilddir}/e2fsck e2fsck.static
 
 	( cd ${stdbuilddir}/doc