Hi Dave.

I have just noticed that for config.guess and config.sub to be updated, no
autoreconf or dh_autotools-dev is needed, because of how Makefile was made.

In Makefile, @row 80:

 LIBTOOLIZE_INSTALL = `libtoolize -n -i >/dev/null 2>/dev/null && echo -i`

 configure:
         libtoolize -c $(LIBTOOLIZE_INSTALL) -f
         cp include/install-sh .
         aclocal -I m4
         autoconf

This runs libtoolize -c -i which updates those files.

The file debian/rules runs `make default`, which at some point calls the target
above (`make configure`). But the file configure already exists, so it does not
run.

Curiously, running `dpkg-buildpackage` twice, causes configure file to be
deleted, and the build completes without errors.

So, answering to your question:

> Nowdays, the generated files in the 3.2.4 tarball created via a
> 'make dist' rule. I run that on an up to date debian unstable box
> with autoconfig 2.69 installed to generate the files, so the
> question I have is this: why is an up-to-date build box generating
> "out of date" configure/m4 scripts? What, exactly, is out of date,
> and how do I ensure that the pre-build config files are correctly
> up-to-date?

The configure file comes shipped with the debian package, so that specific file
is not re-generated and is always out of date.
By the looks of the Makefile, there is no need to include autoreconf or autotools-dev in debian/rules, but to force `make distclean` to `rm configure`.

Attached is a patch that summarizes that, but for some reason it does not work
when running with parallel jobs enabled. But you can get the idea :)

Regards.
--

Fernando Seiti Furusato
IBM Linux Technology Center
diff -Nru xfsprogs-3.2.4/debian/changelog 
xfsprogs-3.2.4ppc64el1/debian/changelog
--- xfsprogs-3.2.4/debian/changelog     2015-07-30 03:45:12.000000000 -0400
+++ xfsprogs-3.2.4ppc64el1/debian/changelog     2015-08-04 11:07:37.000000000 
-0400
@@ -1,3 +1,10 @@
+xfsprogs (3.2.4ppc64el1) UNRELEASED; urgency=medium
+
+  * debian/rules: removed usage of dh_autoreconf since it is not necessary.
+  * Makefile: change distclean target to remove configure every time. 
+
+ -- Fernando Seiti Furusato <ferse...@br.ibm.com>  Tue, 04 Aug 2015 11:07:01 
-0400
+
 xfsprogs (3.2.4) unstable; urgency=low
 
   * New upstream release
diff -Nru xfsprogs-3.2.4/debian/rules xfsprogs-3.2.4ppc64el1/debian/rules
--- xfsprogs-3.2.4/debian/rules 2014-11-09 19:51:18.000000000 -0500
+++ xfsprogs-3.2.4ppc64el1/debian/rules 2015-08-04 11:06:56.000000000 -0400
@@ -35,7 +35,6 @@
 .census:
        @echo "== dpkg-buildpackage: configure" 1>&2
        $(checkdir)
-       AUTOHEADER=/bin/true dh_autoreconf
        $(options) $(MAKE) include/platform_defs.h
        touch .census
 
@@ -58,7 +57,6 @@
        $(MAKE) distclean
        -rm -rf $(dirme) $(dirdev) $(dirdi)
        -rm -f debian/*substvars debian/files* debian/*.debhelper
-       dh_autoreconf_clean
        dh_clean
 
 binary-indep:
diff -Nru xfsprogs-3.2.4/Makefile xfsprogs-3.2.4ppc64el1/Makefile
--- xfsprogs-3.2.4/Makefile     2013-10-10 17:07:16.000000000 -0400
+++ xfsprogs-3.2.4ppc64el1/Makefile     2015-08-04 11:06:40.000000000 -0400
@@ -116,7 +116,7 @@
        $(Q)$(MAKE) $(MAKEOPTS) -C $* install-qa
 
 distclean: clean
-       $(Q)rm -f $(LDIRT)
+       $(Q)rm -f $(LDIRT) $(CONFIGURE)
 
 realclean: distclean
        $(Q)rm -f $(CONFIGURE) .gitcensus

Reply via email to