Bug#808183: icedove: FTPFS on hurd-i386 and enable successive builds

2016-04-28 Thread Carsten Schoenert
Hello Svante,

On Wed, Mar 30, 2016 at 10:20:30AM +0200, Svante Signell wrote:
 
> Noted!
> But the rules:
> ifneq ($(DEB_BUILD_ARCH),ia64)
> LDFLAGS += -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
> endif
> ifneq ($(DEB_BUILD_ARCH),alpha)
> LDFLAGS += -Wl,--no-keep-memory
> endif
> would set LDFLAGS --no-keep-memory twice and --reduce-memory-overheads once 
> for
> all architectures not matching ia64,alpha, right?

correct.
We will probably drop this two checks, IA64 isn't alive for a longer
time and Alpha is broken since 31.4.0 and wont refited without help.
 
> It does not work for me either. However the debian/rules is not OK, see below:
> 
> dpkg-buildpackage: host architecture hurd-i386
>  fakeroot debian/rules clean
> dh clean
>    dh_testdir
>    dh_auto_clean
>    dh_clean
>  debian/rules build
> make: 'build' is up to date. <- This i not correct, the build hasn't even
> started

This is fixed by Christoph in
http://anonscm.debian.org/cgit/pkg-mozilla/icedove.git/commit/?id=54ed88d1a5c27fa08cbb18ebc89408812ef60377

>  fakeroot debian/rules binary <- Never build a package under fakeroot, this is
> not necessary and can can cause serious problems. I've seen this for other
> packages too, it is probably a bug in the dh_* tools.
> dh binary
>    dh_testdir
>    dh_update_autotools_config
>    debian/rules override_dh_auto_configure
> ... 

I haven't looked at this issue in detail. We don't call anythere
fakeroot $foo so I assume this is a bug in debhelper.

> Additionally: debian/rules binary does not restart the build from scratch 
> after
> a failure. All built files e.g. under  obj-icedove and obj- are
> still present, i.e. not cleaned out!

This is also been fixed by Christoph in
http://anonscm.debian.org/cgit/pkg-mozilla/icedove.git/commit/?id=54ed88d1a5c27fa08cbb18ebc89408812ef60377

Regards
Carsten



Bug#808183: icedove: FTPFS on hurd-i386 and enable successive builds

2016-03-30 Thread Svante Signell
On Thu, 2015-12-24 at 22:24 -0500, Christoph Goehre wrote:
> Hi Svante,
> 
> On Mi, Dez 16, 2015 at 10:33:07 +0100, Svante Signell wrote:
> > 
> > Currently icedove FTBFS on GNU/Hurd due to memory problems when linking
> > large
> > libraries. The attached patch fixes this problem by giving the --no-keep-
> > memory
> > flag to the linker as for alpha and ia64.
> I use 'ifneq' instead of 'ifeq', so everything EXCEPT alpha and ia64 build
> with
> 'LDFLAGS += -Wl,--no-keep-memory'. If I apply your patch, hurd wouldn't get
> -Wl,--no-keep-memory.

Noted!
But the rules:
ifneq ($(DEB_BUILD_ARCH),ia64)
LDFLAGS += -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
endif
ifneq ($(DEB_BUILD_ARCH),alpha)
LDFLAGS += -Wl,--no-keep-memory
endif
would set LDFLAGS --no-keep-memory twice and --reduce-memory-overheads once for
all architectures not matching ia64,alpha, right?

> > 
> > Additionally, since dh_clean does not enable building a second time after a
> > build failure, add an override target for sh_auto_clean:
> > override_dh_auto_clean:
> > make -f client.mk distclean
> Have you try to add this to debian/rules and build icedove from scratch?
> For me, it's not working, see:
> 

It does not work for me either. However the debian/rules is not OK, see below:

dpkg-buildpackage: host architecture hurd-i386
 fakeroot debian/rules clean
dh clean
   dh_testdir
   dh_auto_clean
   dh_clean
 debian/rules build
make: 'build' is up to date. <- This i not correct, the build hasn't even
started
 fakeroot debian/rules binary <- Never build a package under fakeroot, this is
not necessary and can can cause serious problems. I've seen this for other
packages too, it is probably a bug in the dh_* tools.
dh binary
   dh_testdir
   dh_update_autotools_config
   debian/rules override_dh_auto_configure
...

Additionally: debian/rules binary does not restart the build from scratch after
a failure. All built files e.g. under  obj-icedove and obj- are
still present, i.e. not cleaned out!



Bug#808183: icedove: FTPFS on hurd-i386 and enable successive builds

2015-12-24 Thread Christoph Goehre
Hi Svante,

On Mi, Dez 16, 2015 at 10:33:07 +0100, Svante Signell wrote:
> Currently icedove FTBFS on GNU/Hurd due to memory problems when linking large
> libraries. The attached patch fixes this problem by giving the 
> --no-keep-memory
> flag to the linker as for alpha and ia64.

I use 'ifneq' instead of 'ifeq', so everything EXCEPT alpha and ia64 build with
'LDFLAGS += -Wl,--no-keep-memory'. If I apply your patch, hurd wouldn't get
-Wl,--no-keep-memory.

> Additionally, since dh_clean does not enable building a second time after a
> build failure, add an override target for sh_auto_clean:
> override_dh_auto_clean:
>   make -f client.mk distclean

Have you try to add this to debian/rules and build icedove from scratch?
For me, it's not working, see:

--8<--
root@machine:/tmp/buildd/icedove-38.4.0# dpkg-buildpackage -b
dpkg-buildpackage: source package icedove
dpkg-buildpackage: source version 38.4.0-1.1
dpkg-buildpackage: source distribution UNRELEASED
dpkg-buildpackage: source changed by root 
dpkg-buildpackage: host architecture amd64
 dpkg-source --before-build icedove-38.4.0
 debian/rules clean
dh clean
   dh_testdir
   debian/rules override_dh_auto_clean
make[1]: Entering directory '/tmp/buildd/icedove-38.4.0'
make -f client.mk distclean
make[2]: Entering directory '/tmp/buildd/icedove-38.4.0'
Specified MOZCONFIG "/tmp/buildd/icedove-38.4.0/mozconfig.icedove" does not 
exist!
client.mk:116: *** Fix above errors before continuing..  Stop.
make[2]: Leaving directory '/tmp/buildd/icedove-38.4.0'
debian/rules:86: recipe for target 'override_dh_auto_clean' failed
make[1]: *** [override_dh_auto_clean] Error 2
make[1]: Leaving directory '/tmp/buildd/icedove-38.4.0'
debian/rules:46: recipe for target 'clean' failed
make: *** [clean] Error 2
dpkg-buildpackage: error: debian/rules clean gave error exit status 2
-->8--

BTW: I'm able to build a second time after a build failure. Just use
'debian/rules binary'. It works for me.

Cheers,
Christoph



Bug#808183: icedove: FTPFS on hurd-i386 and enable successive builds

2015-12-16 Thread Svante Signell
Source: icedove
Version: 38.4.0-1
Severity: important
Tags: patch
Usertags: hurd
User: debian-h...@lists.debian.org

Hi,

Currently icedove FTBFS on GNU/Hurd due to memory problems when linking large
libraries. The attached patch fixes this problem by giving the --no-keep-memory
flag to the linker as for alpha and ia64.

Additionally, since dh_clean does not enable building a second time after a
build failure, add an override target for sh_auto_clean:
override_dh_auto_clean:
make -f client.mk distclean--- a/debian/rules.orig	2015-11-27 18:55:34.0 +0100
+++ b/debian/rules	2015-12-16 14:58:00.0 +0100
@@ -35,6 +35,9 @@
 ifneq ($(DEB_BUILD_ARCH),alpha)
 	LDFLAGS += -Wl,--no-keep-memory
 endif
+ifneq ($(DEB_BUILD_ARCH),hurd-i386)
+	LDFLAGS += -Wl,--no-keep-memory
+endif
 # Also add execution time and memory usage stats in the logs
 LDFLAGS += -Wl,--stats
 
@@ -82,6 +85,9 @@
 	# building the stuff
 	make -f client.mk build
 
+override_dh_auto_clean:
+	make -f client.mk distclean
+
 override_dh_auto_install:
 	make -f client.mk install DESTDIR=$(CURDIR)/debian/tmp