pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/42494: wm/piewm uses unsupported -s option when calling m4, then dies when m4 errors out
>Number: 42494
>Category: pkg
>Synopsis: wm/piewm uses unsupported -s option when calling m4, then dies
>when m4 errors out
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Dec 21 22:05:01 +0000 2009
>Originator: Philippe Crama
>Release: 5.0.1
>Organization:
Private person
>Environment:
NetBSD new-host 5.0.1 NetBSD 5.0.1 (GENERIC) #0: Thu Jul 30 01:39:11 UTC 2009
builds%b8.netbsd.org@localhost:/home/builds/ab/netbsd-5-0-1-RELEASE/i386/200907292356Z-obj/home/builds/ab/netbsd-5-0-1-RELEASE/src/sys/arch/i386/compile/GENERIC
i386
>Description:
wm/piewm uses m4 to process the user initialization file. The program
name is hardcoded (m4) and looked up in the current $PATH. wm/piewm
passes the `-s' option to m4, however, in the stock m4 under NetBSD,
this option is unsupported and m4 reports it on stderr, doing nothing
else. This prevents wm/piewm from processing the initialization file
properly.
The `-s' option to m4 isn't absolutely necessary, I edited the piewm
binary to replace the `-s' by `-g' (thus enabling some GNU m4 extensions)
and was able to successfully run piewm.
>How-To-Repeat:
Build (or install the binary package) wm/piewm and try to setup
your own configuration file: notice that the configuration changes
don't affect piewm
>Fix:
Workaround:
Open the produced piewm binary in a text editor, search for -s close to
m4 and replace -s by -g
Simple fix:
Add patch-ae to the patches directory:
$NetBSD: patch-ae,v 1.1 2007/12/10 11:35:09 obache Exp $
--- parse.c.orig 2009-12-17 18:17:53.000000000 +0100
+++ parse.c
@@ -1376,7 +1376,7 @@
dup2(fids[1], 1); /* stdout = pipe to parent */
/* get_defs("m4", dpy, display_name) */
tmp_file = m4_defs(dpy, display_name);
- execlp("m4", "m4", "-s", tmp_file, "-", NULL);
+ execlp("m4", "m4", tmp_file, "-", NULL);
/* If we get here we are screwed... */
perror("Can't execlp() m4");
exit(124);
Update distinfo (see diff below):
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/wm/piewm/distinfo,v
retrieving revision 1.3
diff -u -r1.3 distinfo
--- distinfo 10 Dec 2007 11:35:08 -0000 1.3
+++ distinfo 21 Dec 2009 21:50:02 -0000
@@ -6,3 +6,4 @@
SHA1 (patch-ab) = 38d8407cb4d40425db0cf998a08e75d4218cad41
SHA1 (patch-ac) = 62b7491e7658db8ac0c00bf691ba4e0e270a7b70
SHA1 (patch-ad) = 1a6e9c24771d5c3d339a2ecd7e92472be09bb6a4
+SHA1 (patch-ae) = 5bca5c2069a85b981e964a2cac89afea1f2a6972
then build as usual
More complicated fix:
(this is more than I can do) make an option to use devel/m4,
and include the -s option when devel/m4 is used (with the
appropriate prefix, ie gm4 instead of plain m4)
Home |
Main Index |
Thread Index |
Old Index