pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/54850: lang/lua5.3 uses incorrect `install` program



>Number:         54850
>Category:       pkg
>Synopsis:       lang/lua5.3 uses incorrect `install` program
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jan 09 23:35:00 +0000 2020
>Originator:     Michael Forney
>Release:        
>Organization:
>Environment:
Linux oasis 5.4.7+ #103 SMP Fri Jan 3 16:39:41 PST 2020 x86_64
>Description:
The lang/lua53 Makefile has `MAKE_ENV+=INSTALL_DATA=${INSTALL_DATA:Q}`, however the upstream lua Makefile has its own definition of `INSTALL_DATA`, so the one in the environment has no effect.

The result is that the upstream INSTALL_DATA definition is used instead of pkgsrc's. My system's install(1) program (sbase) does not support some of the options used, so this causes an error:

$ bmake
=> Bootstrap dependency digest>=20010302: found digest-20190127
===> Skipping vulnerability checks.
WARNING: No /pkg/pkgdb/pkg-vulnerabilities file found.
WARNING: To fix run: `/pkg/sbin/pkg_admin -K /pkg/pkgdb fetch-pkg-vulnerabilities'.
===> Installing for lua53-5.3.5
=> Generating pre-install file lists
=> Creating installation directories
cd src && mkdir -p /src/pkgsrc/lang/lua53/work/.destdir/pkg/bin /src/pkgsrc/lang/lua53/work/.destdir/pkg/include/lua-5.3 /src/pkgsrc/lang/lua53/work/.destdir/pkg/lib /src/pkgsrc/lang/lua53/work/.destdir/pkg/man/man1 /src/pkgsrc/lang/lua53/work/.destdir/pkg/share/lua/5.3 /src/pkgsrc/lang/lua53/work/.destdir/pkg/lib/lua/5.3
cd src && /src/pkgsrc/lang/lua53/work/.cwrapper/bin/libtool  --tag=CC --mode=install /bin/install -c -s -o michael -g michael -m 755 lua5.3 luac5.3 /src/pkgsrc/lang/lua53/work/.destdir/pkg/bin
libtool: install: /bin/install -c -o michael -g michael -m 755 -s .libs/lua5.3 /src/pkgsrc/lang/lua53/work/.destdir/pkg/bin/lua5.3
libtool: install: /bin/install -c -o michael -g michael -m 755 -s luac5.3 /src/pkgsrc/lang/lua53/work/.destdir/pkg/bin/luac5.3
cd src && install -p -m 0644 lua.h luaconf.h lualib.h lauxlib.h lua.hpp /src/pkgsrc/lang/lua53/work/.destdir/pkg/include/lua-5.3
usage: install [-g group] [-o owner] [-m mode] (-d dir ... | [-D] (-t dest source ... | source ... dest))
make: *** [Makefile:63: install] Error 1
*** Error code 2

Stop.
bmake[1]: stopped in /src/pkgsrc/lang/lua53
*** Error code 1

Stop.
bmake: stopped in /src/pkgsrc/lang/lua53
$

>How-To-Repeat:
Change your system install program to one that does not support the -p flag (for example from sbase), then attempt to build the lang/lua53 package.
>Fix:
Since patches/patch-Makefile is already patching the install target, it could just replace $(INSTALL_DATA) with $(BSD_INSTALL_DATA) while it's at it (like it already does for BSD_INSTALL_PROGRAM and BSD_INSTALL_LIB).

Another option (which is used by lang/lua52 and lang/lua51) is to just comment out the upstream INSTALL_DATA definition, so the one set by pkgsrc in the environment is used instead.

A third option is to replace `MAKE_ENV+=INSTALL_DATA=${INSTALL_DATA:Q}` with `MAKE_FLAGS+=INSTALL_DATA=${INSTALL_DATA:Q}` to override the INSTALL_DATA in the upstream Makefile.


Home | Main Index | Thread Index | Old Index