Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb

2015-03-04 Thread Ritesh Raj Sarraf
On 03/04/2015 01:02 AM, Mauricio Faria de Oliveira wrote:
 Hi Siresh,
 
 On 03/03/2015 08:32 AM, Mauricio Faria de Oliveira wrote:
 Sure, I can try and should send a patch soon.
 
 I've modified the build-arch target to build multipath-udeb first,
 and store its output in a different directory; and the install target
 to use that dir only for dh_install of multipath-udeb.
 
 May you please consider it for an upload?


Thanks Mauricio. I've uploaded the package and raised an unblock
request. Debian Bug #779701

Hopefully, this will be unblocked immediate.

-- 
Ritesh Raj Sarraf | http://people.debian.org/~rrs
Debian - The Universal Operating System



signature.asc
Description: OpenPGP digital signature


Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb

2015-03-04 Thread Cyril Brulebois
Mauricio Faria de Oliveira mauri...@linux.vnet.ibm.com (2015-03-03):
 (BTW, espeakup-udeb is broken too; that approach no longer works.)
 
   ~ # anna-install espeakup-udeb
   ~ # espeakup
   espeakup: error while loading shared libraries: libgcc_s.so.1: cannot 
 open
 shared object file: No such file or directory

(JFTR: espeakup certainly runs properly in the netboot-gtk mini.iso when
selecting speech synthesis.)

Mraw,
KiBi.


signature.asc
Description: Digital signature


Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb

2015-03-04 Thread Mauricio Faria de Oliveira

On 03/04/2015 06:43 AM, Cyril Brulebois wrote:

Mauricio Faria de Oliveiramauri...@linux.vnet.ibm.com  (2015-03-03):

(BTW, espeakup-udeb is broken too; that approach no longer works.)



(JFTR: espeakup certainly runs properly in the netboot-gtk mini.iso when
selecting speech synthesis.)


Ah, thanks for clarifying. I didn't know of that context/option; sorry.

--
Mauricio Faria de Oliveira
IBM Linux Technology Center


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



Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb

2015-03-04 Thread Mauricio Faria de Oliveira

Hi Ritesh,

On 03/04/2015 06:12 AM, Ritesh Raj Sarraf wrote:

Thanks Mauricio. I've uploaded the package and raised an unblock
request. Debian Bug #779701

Hopefully, this will be unblocked immediate.


Thanks! I just tested the package in incoming.d.o and it's OK.

If you or Cyril could please educate me:

For it to reach the d-i Packages file (so it's available for installs),
does it require a d-i rebuild, or it's an automatic process?

(I'm unsure; there's no multipath-udeb listed in d-i build log.)


--
Mauricio Faria de Oliveira
IBM Linux Technology Center


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



Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb

2015-03-04 Thread Ritesh Raj Sarraf
On 03/04/2015 05:00 PM, Mauricio Faria de Oliveira wrote:
 Thanks! I just tested the package in incoming.d.o and it's OK.

THank you very much for confirming with test results.

 
 If you or Cyril could please educate me:
 
 For it to reach the d-i Packages file (so it's available for installs),
 does it require a d-i rebuild, or it's an automatic process?


d-i images are built weekly. So, if the unblock goes through, it'll
migrate into testing, and then the next d-i weekly snapshot should
include it.

 (I'm unsure; there's no multipath-udeb listed in d-i build log.)

I'm not sure about this. Cyril should be able to provide more insight.
He's part of the d-i team.

-- 
Ritesh Raj Sarraf | http://people.debian.org/~rrs
Debian - The Universal Operating System



signature.asc
Description: OpenPGP digital signature


Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb

2015-03-04 Thread Mauricio Faria de Oliveira

On 03/04/2015 08:32 AM, Ritesh Raj Sarraf wrote:

d-i images are built weekly. So, if the unblock goes through, it'll
migrate into testing, and then the next d-i weekly snapshot should
include it.


Got it. Thanks.

--
Mauricio Faria de Oliveira
IBM Linux Technology Center


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



Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb

2015-03-04 Thread Cyril Brulebois
Ritesh Raj Sarraf r...@debian.org (2015-03-04):
 On 03/04/2015 05:00 PM, Mauricio Faria de Oliveira wrote:
  Thanks! I just tested the package in incoming.d.o and it's OK.
 
 THank you very much for confirming with test results.

Yep, definitely appreciated.

  If you or Cyril could please educate me:
  
  For it to reach the d-i Packages file (so it's available for installs),
  does it require a d-i rebuild, or it's an automatic process?
 
 
 d-i images are built weekly. So, if the unblock goes through, it'll
 migrate into testing, and then the next d-i weekly snapshot should
 include it.
 
  (I'm unsure; there's no multipath-udeb listed in d-i build log.)
 
 I'm not sure about this. Cyril should be able to provide more insight.
 He's part of the d-i team.

For udebs that aren't used during the debian-installer build process (as
in: source package going through build.debian.org like other packages,
or being built daily -- see d-i.debian.org), they're either fetch from
the installation image (CD/DVD/USB flash drive etc.) or from the
network. That's the case for multipath-udeb, so you won't need a d-i
(re)build, just the propagation of the relevant package to testing, and
a subsequent installation image build, e.g. a weekly installation image
build, or a full release.

Mraw,
KiBi.


signature.asc
Description: Digital signature


Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb

2015-03-04 Thread Mauricio Faria de Oliveira

On 03/04/2015 09:25 AM, Cyril Brulebois wrote:

For udebs that aren't used during the debian-installer build process (as
in: source package going through build.debian.org like other packages,
or being built daily -- see d-i.debian.org), they're either fetch from
the installation image (CD/DVD/USB flash drive etc.) or from the
network. That's the case for multipath-udeb, so you won't need a d-i
(re)build, just the propagation of the relevant package to testing, and
a subsequent installation image build, e.g. a weekly installation image
build, or a full release.


Very educational. Thanks, Cyril.

--
Mauricio Faria de Oliveira
IBM Linux Technology Center


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



Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb

2015-03-03 Thread Mauricio Faria de Oliveira

Control: tags -1 patch

Hi Siresh,

On 03/03/2015 08:32 AM, Mauricio Faria de Oliveira wrote:

Sure, I can try and should send a patch soon.


I've modified the build-arch target to build multipath-udeb first,
and store its output in a different directory; and the install target
to use that dir only for dh_install of multipath-udeb.

May you please consider it for an upload?


The solution ended up being to statically link to libgcc.  I implemented
Cyril's suggestion, adopted by espeakup-udeb, but unfortunately it didnt
remove the references to libgcc. (verified with objdump  runtime test).

(BTW, espeakup-udeb is broken too; that approach no longer works.)

~ # anna-install espeakup-udeb
~ # espeakup
	espeakup: error while loading shared libraries: libgcc_s.so.1: cannot 
open shared object file: No such file or directory



With the patch applied, the multipath command runs fine:

~ # multipath -l
	multipath: error while loading shared libraries: libgcc_s.so.1: cannot 
open shared object file: No such file or directory


~ # udpkg -i multipath-udeb_0.5.0-5mauricfo1_ppc64el.udeb
(Reading database...)
(Updating database...)

~ # multipath -l
~ # echo $?
0

Here's a check that changes are contained in the multipath-udeb package.
The references to libgcc are gone, only libpthread remains (which is OK,
as it exists in the installer).  The nm/sed tests are based on Cyril's
earlier statement (thanks).

udeb (no libgcc):

$ dpkg-deb -x multipath-udeb_0.5.0-5mauricfo1_ppc64el.udeb lib-udeb
$ objdump -x lib-udeb/lib/libmultipath.so.0 | grep libgcc

	$ { nm -D lib-udeb/lib/libmultipath.so.0 | sed -n 's,^.*U ,,p'; nm -D 
/lib/powerpc64le-linux-gnu/libgcc_s.so.1 | sed -n 's,.*[^U] ,,p'; } | 
sort | uniq -d

pthread_mutex_lock
pthread_mutex_unlock

~ # find /lib -name 'libpthread*'
/lib/libpthread.so.0
/lib/libpthread-2.19.so

deb (no change; still references libgcc)

$ dpkg-deb -x multipath-tools_0.5.0-5mauricfo1_ppc64el.deb lib-deb
$ objdump -x lib-deb/lib/libmultipath.so.0 | grep libgcc
  NEEDED   libgcc_s.so.1
  required from libgcc_s.so.1:

	$ { nm -D lib-deb/lib/libmultipath.so.0 | sed -n 's,^.*U ,,p'; nm -D 
/lib/powerpc64le-linux-gnu/libgcc_s.so.1 | sed -n 's,.*[^U] ,,p'; } | 
sort | uniq -d

__gcc_personality_v0
pthread_mutex_lock
pthread_mutex_unlock
_Unwind_Resume



--
Mauricio Faria de Oliveira
IBM Linux Technology Center
diff -Nru multipath-tools-0.5.0/debian/changelog 
multipath-tools-0.5.0/debian/changelog
--- multipath-tools-0.5.0/debian/changelog  2014-09-16 06:29:29.0 
-0300
+++ multipath-tools-0.5.0/debian/changelog  2015-03-03 15:54:28.0 
-0300
@@ -1,3 +1,9 @@
+multipath-tools (0.5.0-5mauricfo1) UNRELEASED; urgency=medium
+
+  * Build multipath-udeb with static libgcc (Closes: #779579)
+
+ -- Mauricio Faria de Oliveira mauri...@linux.vnet.ibm.com  Tue, 03 Mar 2015 
15:52:58 -0300
+
 multipath-tools (0.5.0-5) unstable; urgency=medium
 
   * [5f967eb] Better daemon status in init's status action.
diff -Nru multipath-tools-0.5.0/debian/rules multipath-tools-0.5.0/debian/rules
--- multipath-tools-0.5.0/debian/rules  2014-09-05 09:14:33.0 -0300
+++ multipath-tools-0.5.0/debian/rules  2015-03-03 15:50:32.0 -0300
@@ -27,7 +26,7 @@
 
 build: build-arch build-indep
 
-build-arch: build-stamp
+build-arch: build-multipath-udeb-stamp build-stamp
 build-indep: build-stamp
 
 build-stamp:
@@ -39,15 +38,30 @@
 
touch $@
 
+# multipath-udeb: build separately; don't reference dynamic libgcc at runtime 
(#779579)
+build-multipath-udeb-stamp:
+   dh_testdir
+
+   DEB_CFLAGS_MAINT_APPEND=-static-libgcc $(MAKE) $(OPTFLAGS) LIB=lib
+   
+   # store files for install target
+   mkdir -p $(CURDIR)/debian/tmp-multipath-udeb/sbin
+   $(MAKE) install INSTALL_PROGRAM=$(INSTALL_PROGRAM) 
DESTDIR=$(CURDIR)/debian/tmp-multipath-udeb LIB=lib
+
+   $(MAKE) clean
+
+   touch $@
+
 clean-tree:
$(MAKE) clean
 
 clean: clean-tree
dh_testdir
-   rm -f build-stamp
+   rm -f build-stamp build-multipath-udeb-stamp
dh_prep
debconf-updatepo
rm -rf debian/*.debhelper.log
+   rm -rf debian/tmp-multipath-udeb
 
 install:
dh_testdir
@@ -58,7 +72,8 @@
mkdir -p $(CURDIR)/debian/tmp/sbin
$(MAKE) install INSTALL_PROGRAM=$(INSTALL_PROGRAM) 
DESTDIR=$(CURDIR)/debian/tmp LIB=lib
install -m 755 debian/dmsetup_env $(CURDIR)/debian/tmp/lib/udev/
-   dh_install -X.rules --fail-missing --sourcedir=$(CURDIR)/debian/tmp
+   dh_install -X.rules --fail-missing -Nmultipath-udeb 
--sourcedir=$(CURDIR)/debian/tmp
+   dh_install -X.rules --fail-missing -pmultipath-udeb 
--sourcedir=$(CURDIR)/debian/tmp-multipath-udeb
# initramfs stuff:
install -D -m 755 

Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb

2015-03-03 Thread Mauricio Faria de Oliveira

Cyril, thanks for the /very clear/ pointers to the problem/solution. :)

Ritesh,

On 03/03/2015 04:26 AM, Ritesh Raj Sarraf wrote:

Will you be in a position to try out the changes that Cyril has proposed ?


Sure, I can try and should send a patch soon.


--
Mauricio Faria de Oliveira
IBM Linux Technology Center


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



Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb

2015-03-02 Thread Mauricio Faria de Oliveira

Hi Ritesh,

Thanks for looking into this.

On 03/02/2015 04:40 PM, Ritesh Raj Sarraf wrote:

libgcc1 package is available in the archive. I'm not sure why it isn't
present in your install media.


Can you point out the udeb?  It's not listed in sid d-i Packages file,
nor in the jessie CD ISO, at least:

$ curl -s
ftp://ftp.debian.org/debian/dists/sid/main/debian-installer/binary-amd64/Packages.xz 


| xzgrep '^Package: libgcc1' | wc -l
0

$ find jessie-rc-iso/pool/ -name 'libgcc*'
jessie-rc-iso/pool/main/g/gcc-4.9/libgcc1_4.9.1-19_ppc64el.deb

And there's no udeb in the gcc-4.9 pool dir:

ftp://ftp.debian.org/debian/pool/main/g/gcc-4.9/


--
Mauricio Faria de Oliveira
IBM Linux Technology Center


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



Bug#779579: Processed: Re: Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb

2015-03-02 Thread Cyril Brulebois
Control: reassign -1 multipath-udeb 0.5.0-5
Control: severity -1 serious

Debian Bug Tracking System ow...@bugs.debian.org (2015-03-02):
 Processing control commands:
 
  reassign -1 debian-installer
 Bug #779579 [src:multipath-tools] installer broken: multipath-udeb depends on 
 non-existent libgcc1 udeb
 Bug reassigned from package 'src:multipath-tools' to 'debian-installer'.
 No longer marked as found in versions multipath-tools/0.5.0-5.
 Ignoring request to alter fixed versions of bug #779579 to the same values 
 previously set

Ritesh, this is all we got about your bug report. Please always cc the
maintainers of the package you're reassigning bug reports to…

After a local build one can see in the build tree:
| $ objdump -x debian/multipath-udeb/lib/libmultipath.so.0
| …
| Dynamic Section:
| …
|   NEEDED   libgcc_s.so.1
| …
| Version References:
|   required from libgcc_s.so.1:
| 0x0b792650 0x00 12 GCC_3.0
| 0x09265f61 0x00 11 GCC_3.3.1
| …

Cross checking (on amd64) the undefined symbols in libmultipath.so.0
that are not undefined in libgcc_s.so (using nm -D), one can see:
| __gcc_personality_v0
| pthread_mutex_lock
| pthread_mutex_unlock
| _Unwind_Resume

The other udeb depending on libgcc1 is espeakup, and you might find
the flags declared on top of debian/rules of some value to try and get
multipath-udeb to build a udeb that works:
| UDEB_CFLAGS ?= $(CFLAGS) -Os
| UDEB_LDLIBS ?= /usr/lib/$(DEB_HOST_MULTIARCH)/libespeak.a 
/usr/lib/$(DEB_HOST_MULTIARCH)/libsonic.a 
/usr/lib/$(DEB_HOST_MULTIARCH)/libportaudio.a 
/usr/lib/$(DEB_HOST_MULTIARCH)/libjack.a -lm -lpthread -lasound -lrt
| UDEB_LDFLAGS += -u _Unwind_Resume -u __gcc_personality_v0 -u 
_Unwind_ForcedUnwind -u _Unwind_GetCFA -u _Unwind_GetBSP -lgcc_s

You'll probably need two separate builds anyway: one for the regular
deb packages, and one of the udeb.

Reassigning back, and bumping severity to serious.

Mraw,
KiBi.


PS: The fact the libgcc1 package can't be installed by the resolver
isn't fatal; it's actually ignored as one can see in the reporter's
log; the reference to a missing library at runtime is the culprit.


signature.asc
Description: Digital signature


Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb

2015-03-02 Thread Ritesh Raj Sarraf
On 03/03/2015 02:46 AM, Mauricio Faria de Oliveira wrote:
 Hi Ritesh,
 
 Thanks for looking into this.

Hello Mauricio,

Will you be in a position to try out the changes that Cyril has proposed ?

If you want, I can build the package with the changes he mentioned ?

-- 
Ritesh Raj Sarraf | http://people.debian.org/~rrs
Debian - The Universal Operating System



signature.asc
Description: OpenPGP digital signature


Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb

2015-03-02 Thread Mauricio Faria de Oliveira

Package: src:multipath-tools
Version: 0.5.0-5

During a multipath installation (disk-detect/multipath/enable=true),
the multipath binary fails to run because libgcc is missing:

	~ # grep 'multipath\|libgcc' /var/log/syslog | grep -v kernel | cut -d' 
' -f5-

anna-install: Installing multipath-udeb
anna[3505]: DEBUG: resolver (libgcc1): package doesn't exist (ignored)
	anna[3505]: DEBUG: retrieving multipath-modules-3.16.0-4-powerpc64le-di 
3.16.7-ckt4-3

anna[3505]: DEBUG: retrieving multipath-udeb 0.5.0-5
	disk-detect: /sbin/multipath: error while loading shared libraries: 
libgcc_s.so.1: cannot open shared object file: No such file or directory

disk-detect: No multipath devices detected
	main-menu[191]: (process:3777): multipath: error while loading shared 
libraries: libgcc_s.so.1: cannot open shared object file: No such file 
or directory

[snip; repeat]

This can be verified in d-i's Packages file [1]:

Package: multipath-udeb
Source: multipath-tools
Version: 0.5.0-5
[...]
Depends: [...], libgcc1, [...]

which has no such package:

	$ curl -s 
ftp://ftp.debian.org/debian/dists/sid/main/debian-installer/binary-amd64/Packages.xz 
| xzgrep '^Package: libgcc1' | wc -l

0


[1] 
ftp://ftp.debian.org/debian/dists/sid/main/debian-installer/binary-amd64/


--
Mauricio Faria de Oliveira
IBM Linux Technology Center


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



Bug#779579: installer broken: multipath-udeb depends on non-existent libgcc1 udeb

2015-03-02 Thread Ritesh Raj Sarraf
Control: reassign -1 debian-installer

On 03/02/2015 09:53 PM, Mauricio Faria de Oliveira wrote:
 Package: src:multipath-tools
 Version: 0.5.0-5

 During a multipath installation (disk-detect/multipath/enable=true),
 the multipath binary fails to run because libgcc is missing:

 ~ # grep 'multipath\|libgcc' /var/log/syslog | grep -v kernel |
 cut -d' ' -f5-
 anna-install: Installing multipath-udeb
 anna[3505]: DEBUG: resolver (libgcc1): package doesn't exist
 (ignored)
 anna[3505]: DEBUG: retrieving
 multipath-modules-3.16.0-4-powerpc64le-di 3.16.7-ckt4-3
 anna[3505]: DEBUG: retrieving multipath-udeb 0.5.0-5 

libgcc1 package is available in the archive. I'm not sure why it isn't
present in your install media.

-- 
Ritesh Raj Sarraf | http://people.debian.org/~rrs
Debian - The Universal Operating System



signature.asc
Description: OpenPGP digital signature