pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pkg/44163: misc/gkrellm-weather compiles in incorrect path for GrabWeather (+FIX)
The following reply was made to PR pkg/44163; it has been noted by GNATS.
From: David Holland <dholland-pbugs%netbsd.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: pkg-manager%netbsd.org@localhost, gnats-admin%netbsd.org@localhost,
pkgsrc-bugs%netbsd.org@localhost
Subject: Re: pkg/44163: misc/gkrellm-weather compiles in incorrect path for
GrabWeather (+FIX)
Date: Sun, 28 Nov 2010 20:40:18 +0000
On Sun, Nov 28, 2010 at 01:35:00PM +0000, kre%munnari.OZ.AU@localhost wrote:
> misc/gkrellm-weather references the (included) GrabWeather script
> twice, and in two completely different ways. One of those is
> patched (by patches/patch-aa) to remove the path, and so rely
> upon the user's PATH setting (that's OK, if not ideal). The other
> uses
> PREFIX "/bin/GrabWeather"
> which if PREFIX were correct would be perfect (GrabWeather gets
> installed in ${PREFIX}/bin).
In an ideal world packages should not have PREFIX compiled into them
when they don't need to. However that's a long way from reality, so I
think I'll use PREFIX for both.
> However, while gkrellm-weather's pkgsrc Makefile includes
> MAKE_ENV+= PREFIX=${PREFIX:Q}
>
> it uses gmake, and for that (it seems) the explicit setting of
> PREFIX in the Makefile
> PREFIX = /usr/local
>
> overrides the one that pkgsrc is putting in the environment.
That's odd because the makefile also uses PREFIX for installing and I
don't see how it could possibly have worked at all the way it is.
...oh, I see, the pkgsrc makefile has its own install rules. bleh.
Anyway, clearly PREFIX should not be getting set explicitly to the
wrong thing, so we'll fix that.
> There must be a dozen different ways to fix this one, I chose the
> version with minimal impact on pkgsrc itself (ie: modify the
> Makefile and only the Makefile - this change requires a revbump,
> so the Makefile is going to get modified, keeping the entire
> fix there means only one modified cvs file...
That's not the primary consideration :-) but I guess it does make
sending the patch easier. Dealing with patches of patches is always a
pain.
> Alternatives would be to simply modify patch-aa so it corrects
> this problem as well as the other (more obviously incorrect)
> reference to GrabWeather (it would probably make sense for both
> references to be implemented the same way, but ...)
>
> Or, the Makefile (the gkrellm-weather Makefile, rather than pkgsrc's)
> could be modified (patch-ab is already touching it) by simply
> removing the setting of PREFIX from there, then the one from the
> environment would be used (I assume.)
I'm doing the latter. Having that in there is clearly wrong, so I may
as well fix it.
> Also, I have no way to test it, as I have no idea what it is
> used for, but this stuff claims to use nls (locales) and the
> setting of the locale directory is based upon the (I think)
> incorrect version fo PREFIX - again, pkgsrc attempts to
> override that by putting a setting for LOCALEDIR in gmake's
> environment, but if that doesn't work for PREFIX, I doubt it
> works for LOCALEDIR either.
This should be fixed now also.
> +SUBST_CLASSES+= pfx
> +SUBST_MESSAGE.pfx= PREFIX replacement
> +SUBST_STAGE.pfx= post-patch
> +SUBST_FILES.pfx= gkrellweather.c
> +SUBST_SED.pfx= -e 's,PREFIX,"${PREFIX}",'
It's usually not a good idea to do SUBST on a file that's also
patched, because sooner or later someone accidentally rolls the subst
into the patch and that eventually causes at least confusion if not
overt problems. :-/
--
David A. Holland
dholland%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index