Issue868

Title [PATCH] mawk is ok for compilation - not for devel
Priority minor Status resolved
Assigned To fluzz Keywords
Linked issues Watchers fluzz

Submitted on 2016-11-11 08h39 by Snark, last changed by fluzz.

Files
File name Uploaded Type Edit Remove
02_accept_mawk.diff Snark, 2016-11-11.08:39:24 text/x-patch
02_accept_mawk.diff Snark, 2020-02-20.14:24:10 text/x-patch
Messages
Author: Snark Date: 2016-11-11   08h39
I'm trying to un-orphan the Debian package for freedroidrpg, and discovered that 
contrary to what the comment in configure.ac says, gawk isn't the only option: 
mawk compiles things perfectly.
Author: fluzz Date: 2016-11-11   09h59
That's great news, Snark ! Debian is so left behind the latest release...
None of us is a Debian user, so we just encourage you to become the official
debian packager.

Please, use our ReviewBoard (http://rb.freedroid.org) to submit your patches.
Author: fluzz Date: 2016-11-11   10h27
About your patch : Well, adding mawk into configure.ac is not enough.

Look at po/*/Makevars. There is a hardcoded reference to gawk.
I do not remember exactly why the full path of awk is mandatory in one of the 2
scripts using it: po/update-potfiles and po/xgettext-wrapper.

If you get an other working solution, without the harcoded reference to gawk, we
take it !

Thx.
Author: fluzz Date: 2016-11-11   14h01
Snart, please update your git clone.

With the just pushed 80c449e commit, the path of the awk tool found by configure
is diffused to po Makefiles.

With that patch applied, I changed configure.ac to search for mawk instead of
gawk. I now have an error when running 'make update-po' in a po subdir, because
of incompatibility with mawk.

Can you please confirm ?
Author: Snark Date: 2018-04-27   13h42
Hi, sorry I didn't see this thread : I just rediscover it while reporting 
something else...

Perhaps I saw mawk as working because I didn't see gawk was used in my back?
Author: Snark Date: 2020-02-20   06h52
Hmmm... I fell on it again, and indeed with mawk, there are errors but "make update-po" doesn't report that there was a failure.

It's still working for compiling freedroid though, so the Debian package will go on with my patch.
Author: Snark Date: 2020-02-20   14h24
New version of the patch : dropping the awk call... if all files need to be treated anyway, why does the order matter?

Now I can run "make update-po" in the po/ directory, and it just works.

The patch is against 1.0rc2, so should be pretty current.
Author: fluzz Date: 2020-02-21   11h03
"if all files need to be treated anyway, why does the order matter?"

The sort is to ensure that the same list is produced whatever the OS/git version is used.

Previously, POTFILES were sometimes recreated with a different content order, even if there was no changes in the source files. That implied regeneration of .pot files, and so possible modifications of git tracked files.

mawk is lacking two features used in the update-potfiles.
I can get around one of them (match()), but I do not really want to implement a sort() in mawk.

So, the question is : what prevent gawk to be used on Debian ?

We could possibly replace the awk script, but only if that's the only solution.
Author: Snark Date: 2020-02-23   19h00
Well, I can do that... but I don't like when something relies on something too specific : I like when a code path gets tested by competing implementations.

Oh, well, let's close.
Author: fluzz Date: 2020-02-24   10h19
Well, we only need gawk for one single script, and it can be replaced by a more 'conservative' bash script. We will only loose a bit of 'smartness', but given that the whole gettext stuff is not the prettier code of the universe, we can accept it.

I'll submit a patch to replace the awk script in the days to come.
Author: fluzz Date: 2020-02-28   17h06
Fixed in commit 48311506d

(the problematic awk script is replaced by a bash script)
History
Date User Action Args
2020-02-28 17:07:13fluzzsetstatus: open -> resolved
2020-02-28 17:06:56fluzzsetmessages: + msg3678
2020-02-24 10:19:49fluzzsetstatus: rejected -> open
messages: + msg3675
2020-02-23 19:00:55Snarksetstatus: open -> rejected
2020-02-23 19:00:43Snarksetmessages: + msg3674
2020-02-21 11:03:25fluzzsetmessages: + msg3673
2020-02-20 14:24:10Snarksetfiles: + 02_accept_mawk.diff
messages: + msg3671
2020-02-20 06:57:17Snarksettitle: [PATCH] mawk is ok -> [PATCH] mawk is ok for compilation - not for devel
2020-02-20 06:52:46Snarksetmessages: + msg3670
2018-04-27 13:42:24Snarksetmessages: + msg3587
2016-11-11 14:01:42fluzzsetmessages: + msg3380
2016-11-11 10:27:39fluzzsetmessages: + msg3379
2016-11-11 09:59:09fluzzsetassignedto: fluzz
messages: + msg3378
nosy: + fluzz
2016-11-11 08:39:25Snarkcreate