How to fix/patch hardcoded values
Mathieu Arnold
mat at freebsd.org
Tue Dec 29 08:07:38 UTC 2020
On Sun, Dec 27, 2020 at 09:58:13PM +0000, Nuno Teixeira wrote:
> Hello I've just submited a new port net/gitup
> <https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252220> and I used a
> simple workaround to help program find its config in /usr/local/etc instead
> of (hardcoded) ./
>
> --- gitup.c.orig 2020-12-27 21:16:22 UTC
> +++ gitup.c
> @@ -2030,7 +2030,7 @@ main(int argc, char **argv)
> ...
> - const char *configuration_file = "./gitup.conf";
> + const char *configuration_file = "/usr/local/etc/gitup.conf";
>
> Now I'm thinking that this might not be the best fix in case PREFIX is a
> different one.
>
> Could I have an opinion on this?
You need to change the patch to use %%PREFIX%% or %%LOCALBASE%%
depending on whether this is a reference to a path/file installed by the
software or by one of its dependency. Then, in a post-patch target, you
need to use REINPLACE_CMD to replace those to by they variables
equivalent, something like:
post-patch:
${REINPLACE_CMD} -e 's,%%PREFIX%%,${PREFIX}' ${WRKSRC}/githup.c
--
Mathieu Arnold
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 963 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20201229/8001ca65/attachment.sig>
More information about the freebsd-ports
mailing list