Thursday, July 26, 2018

Re: issue with fake target with LOCALBASE

IMHO you are opening a can of worms. I always wondered why we even wanted to support that. Even if you get this fixed I am pretty sure you'll end up in other weird cases. I'm part of the 'let us just hardcode /usr/local and be done with it' gang.
Too much magic for me. I think it's more interesting to work on having pkg_add being able to install under a different prefix.


On July 26, 2018 10:34:18 PM GMT+02:00, Solene Rapenne <solene@perso.pw> wrote:
>Hello,
>
>I'm currently trying to build ports with another LOCALBASE
>then the usual /usr/local
>
>I get an error while compiling some ports, I took devel/help2man
>as an example.
>
>===> devel/help2man
>===> Faking installation for help2man-1.47.6
>/tmp/pobj/help2man-1.47.6/bin/install -c -m 755
>/tmp/pobj/help2man-1.47.6/build-amd64/help2man
>/tmp/pobj/help2man-1.47.6/fake-amd64/foo/bar/bin
>install: /tmp/pobj/help2man-1.47.6/fake-amd64/foo/bar/bin: No such file
>or directory
>*** Error 1 in devel/help2man (Makefile:33 'do-install')
>*** Error 1 in devel/help2man
>(/usr/ports/infrastructure/mk/bsd.port.mk:2770
>'/tmp/pobj/help2man-1.47.6/fake-amd64/.fake_done')
>*** Error 1 in devel/help2man
>(/usr/ports/infrastructure/mk/bsd.port.mk:1918
>'/openbsd/data/packages/amd64/all/help2man-1.47.6.tgz')
>*** Error 1 in devel/help2man
>(/usr/ports/infrastructure/mk/bsd.port.mk:2387 '_internal-package')
>*** Error 1 in devel/help2man
>(/usr/ports/infrastructure/mk/bsd.port.mk:2366 'package')
>===> Exiting devel/help2man with an error
>*** Error 1 in /usr/ports (infrastructure/mk/bsd.port.subdir.mk:147
>'package')
>Error: job failed with 256 on localhost at 1532597967
>
>
>I can fix this error with the following patch. Same issue with
>devel/metaauto
>can be fixed with same kind of diff. I think that something is missing
>in
>pre-fake? I tried to find out in infrastructure/mk/bsd.port.mk but this
>is
>really obscure in it...
>
>in fake-amd64 folder of the pobj folder, there is a /usr/local tree
>(the
>same as in the jail). I assume it's hardcoded somewhere but can't
>figure
>out where.
>
>
>Index: Makefile
>===================================================================
>RCS file: /cvs/ports/devel/help2man/Makefile,v
>retrieving revision 1.24
>diff -u -p -r1.24 Makefile
>--- Makefile 2 Apr 2018 08:42:31 -0000 1.24
>+++ Makefile 26 Jul 2018 18:30:14 -0000
>@@ -27,6 +27,11 @@ CONFIGURE_ARGS= --disable-nls
> do-build:
> cd ${WRKBUILD} && perl ${WRKSRC}/help2man.PL
>
>+pre-fake:
>+ ${INSTALL_DATA_DIR} ${PREFIX}/bin
>+ ${INSTALL_MAN_DIR} ${PREFIX}/info
>+ ${INSTALL_MAN_DIR} ${PREFIX}/man/man1
>+
> do-install:
> ${INSTALL_SCRIPT} ${WRKBUILD}/help2man ${PREFIX}/bin
> ${INSTALL_DATA} ${WRKSRC}/help2man.info ${PREFIX}/info

--
Antoine

No comments:

Post a Comment