intltool-update do not like m4_esyscmd based package version

Bug #370847 reported by elmarco
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
intltool
Fix Released
Undecided
dobey

Bug Description

GNOME Media is using generated version based on git version (like git.git is doing). For that it uses a script coming from autoconf.git.

Unfortunately, intltool-update fails with it:

elmarco@pipo ~/git/gnome-media/po (master)$ intltool-update -m
Unmatched ( in regex; marked by <-- HERE in m/^gnome-media-m4_esyscmd( <-- HERE GNOME_TAG_PATTERN=GNOME_MEDIAbuild-aux/git-version-gen.tarball-version/.*$/ at /usr/local/bin/intltool-update line 313, <FILE> line 382.

the configure.ac looks like:
AC_INIT([gnome-media],
        m4_esyscmd([GNOME_TAG_PATTERN=GNOME_MEDIA build-aux/git-version-gen .tarball-version]),
        [http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-media])

build-aux/git-version-gen is in the dist, so is .tarball-version (hence it returns version outside of the git repo too)

thanks

Related branches

Revision history for this message
elmarco (marcandre-lureau) wrote :

Here is a quick patch that solves the issue for me.

Revision history for this message
elmarco (marcandre-lureau) wrote :

ping

Revision history for this message
dobey (dobey) wrote :

I'm proposing a branch based on a simplified version of the patch. However, I'd much prefer this to be done more generically and work for any m4_esyscmd occurances in the configure script.

Changed in intltool:
assignee: nobody → Rodney Dawes (dobey)
status: New → In Progress
Revision history for this message
elmarco (marcandre-lureau) wrote :

Rodney, thanks for checking the patch!

What do you mean by a generic m4_esyscmd handling? How is that better?

Have you checked that your version of the patch works with out-of-tree builds? (I remember I had to deal with that, and that's why the patch became slightly more complicated.

thanks

Revision history for this message
dobey (dobey) wrote :

Your patch uses "$SRCDIR/.." in all cases anyway. I dislike having to do the chdir() stuff, but based on the example, it looks like we have to.

As for a generic way being better, what if you wanted to use m4_esyscmd() in an argument for another m4 call that was parsed by intltool, either now or in the future. We'd have to keep adding checks like this. It would be better if all arguments to m4 calls handled by intltool, get handled in the same way in all cases. I think that is a general FIXME that can be done later though, rather than blocking this fix on it.

Revision history for this message
dobey (dobey) wrote :

This isn't working in the gnome-media example. For some reason all the spaces are getting stripped from the string. Any idea why?

Revision history for this message
dobey (dobey) wrote :

Nevermind. I see why.

dobey (dobey)
Changed in intltool:
status: In Progress → Fix Committed
milestone: none → 0.41.0
dobey (dobey)
Changed in intltool:
status: Fix Committed → 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.