cdbs requires aclocal.m4 to be present in order to generate it

Bug #162015 reported by Morten Kjeldgaard
8
Affects Status Importance Assigned to Milestone
cdbs (Debian)
Incomplete
Unknown
cdbs (Ubuntu)
Fix Released
Wishlist
Unassigned

Bug Description

Binary package hint: cdbs

My version of cdbs is the standard for Ubuntu 7.10 (0.4.49ubuntu2). When wanting to run aclocal from cdbs, for example by setting:

DEB_AUTO_UPDATE_ACLOCAL = 1.10

it is required that the file aclocal.m4 is already present, otherwise aclocal does not run. I find that behaviour quite strange, because the purpose of calling aclocal is to generate that file. This piece of logic is found in the file /usr/share/cdbs/1/class/autotools-files.mk:

 if [ -e $(DEB_SRCDIR)/aclocal.m4 ]; then cd $(DEB_SRCDIR) && aclocal-$(DEB_AUTO_UPDATE_ACLOCAL) $$m4; fi

I consider this a mis-behaviour if not a bug.

Revision history for this message
Morten Kjeldgaard (mok0) wrote :

This patch changes the above described behaviour.

However, after the patch, aclocal will only be run if aclocal.m4 does not exist. If the user has changed other m4 macros, and wish to rebuild an already existing aclocal.m4, it will have to be deleted for the macro to work.

Therefore, there is no way that this macro can be brought to function intelligently.

Revision history for this message
Martin Pitt (pitti) wrote :

Please see the Debian bug: "Note that the variable is called DEB_AUTO_UPDATE_ACLOCAL, not DEB_AUTO_CREATE_ACLOCAL, so the feature works as designed.". However, it would be nice to fix the macro to do that as well.

I won't apply the patch for now, since it changes existing behaviour which is prone to break packages.

Changed in cdbs:
importance: Undecided → Wishlist
status: New → Confirmed
Changed in cdbs:
status: Unknown → New
Changed in cdbs:
status: New → Incomplete
Revision history for this message
Evan Broder (broder) wrote :

What about this patch? I honestly can't come up with a good reason for aclocal to ever /not/ be run if DEB_AUTO_UPDATE_ACLOCAL is set - like I said on the Debian bug, this is clearly overriding the intent of the package maintainer, and that seems wrong.

This patch will /always/ run aclocal if DEB_AUTO_UPDATE_ACLOCAL is set, regardless of whether aclocal.m4 already exists or not.

Revision history for this message
Martin Pitt (pitti) wrote :

As I said in the previous comment, I really don't want to apply this to Ubuntu without applying it in Debian as well. The autotools break often enough already, having a diverging build tool chain like cdbs in Debian/Ubuntu is a source of hard-to-debug problems. Personally I'm all for it, but please argue on mailto:<email address hidden> about this.

Thanks!

Martin Pitt (pitti)
Changed in cdbs (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
Evan Broder (broder) wrote :

The existence check for aclocal.m4 was actually dropped in version 0.4.60 of cdbs; Jonas just forgot to include a debbugs closer so nobody noticed. Ubuntu picked up the patch, so this has also been fixed in Ubuntu since Lucid.

Changed in cdbs (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.