NetBSD Problem Report #1458
From gnats Wed Sep 13 09:33:29 1995
Received: from minotaur.labyrinth.net.au (minotaur.labyrinth.net.au [203.9.148.2]) by sun-lamp.pc.cs.cmu.edu (8.6.11/8.6.10) with ESMTP id JAA24124 for <gnats-bugs@gnats.netbsd.org>; Wed, 13 Sep 1995 09:31:41 -0400
Message-Id: <199509131329.XAA06039@zen.void.oz.au>
Date: Wed, 13 Sep 1995 23:29:38 +1000
From: "Simon J. Gerraty" <sjg@zen.void.oz.au>
Reply-To: sjg@zen.void.oz.au
To: gnats-bugs@gnats.netbsd.org
Subject: Use $(INSTALL) rather than install in *.mk
X-Send-Pr-Version: 3.2
>Number: 1458
>Category: misc
>Synopsis: it should be possible to use a different installer
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: misc-bug-people
>State: closed
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Wed Sep 13 09:35:01 +0000 1995
>Closed-Date: Fri Oct 18 02:32:43 +0000 1996
>Last-Modified: Fri Oct 18 02:34:56 +0000 1996
>Originator: Simon J. Gerraty
>Release: 95-08-18
>Organization:
Zen Programming...
>Environment:
System: NetBSD zen.void.oz.au 1.0A NetBSD 1.0A (ZEN) #0: Fri Aug 18 18:59:14 EST 1995 root@zen.void.oz.au:/f1/usr.src/sys/arch/i386/compile/ZEN i386
>Description:
It is often nice to be able to use something other than /usr/bin/install
I usually use my own install.sh which avoids a lot of problems such
as running binaries, and problems installing as non-root:
install: /d2/users/sjg/nhack/testaddr/../bin/testaddr: chown/chgrp:
Operation not permitted
The patch below makes /usr/share/mk/* use $(INSTALL) instead.
It would be NICE if BINOWN etc we defined as:
BINOWN= -oroot
so that non root users could simply put
BINOWN=
in their Makefile and avoid all the errors (forcing them to install as
root or by hand).
If the above is ok, I can easily do the needed patches (to the whole
tree). Or supply the shell script to do it.
>How-To-Repeat:
>Fix:
Index: bsd.doc.mk
===================================================================
RCS file: /local/src/master/usr.src/share/mk/bsd.doc.mk,v
retrieving revision 1.1.1.1
diff -c -b -r1.1.1.1 bsd.doc.mk
*** bsd.doc.mk 1995/04/11 08:44:00 1.1.1.1
--- bsd.doc.mk 1995/09/13 13:16:57
***************
*** 42,48 ****
FILES?= ${SRCS}
install:
! install -c -o ${BINOWN} -g ${BINGRP} -m 444 \
Makefile ${FILES} ${EXTRA} ${DESTDIR}${BINDIR}/${DIR}
spell: ${SRCS}
--- 42,48 ----
FILES?= ${SRCS}
install:
! $(INSTALL) -c -o ${BINOWN} -g ${BINGRP} -m 444 \
Makefile ${FILES} ${EXTRA} ${DESTDIR}${BINDIR}/${DIR}
spell: ${SRCS}
Index: bsd.lib.mk
===================================================================
RCS file: /local/src/master/usr.src/share/mk/bsd.lib.mk,v
retrieving revision 1.1.1.5
diff -c -b -r1.1.1.5 bsd.lib.mk
*** bsd.lib.mk 1995/07/10 09:02:31 1.1.1.5
--- bsd.lib.mk 1995/09/13 13:18:34
***************
*** 155,184 ****
realinstall:
# ranlib lib${LIB}.a
! install ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m 600 lib${LIB}.a \
${DESTDIR}${LIBDIR}
${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}.a
chmod ${LIBMODE} ${DESTDIR}${LIBDIR}/lib${LIB}.a
.if !defined(NOPROFILE)
# ranlib lib${LIB}_p.a
! install ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m 600 \
lib${LIB}_p.a ${DESTDIR}${LIBDIR}
${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
chmod ${LIBMODE} ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
.endif
.if !defined(NOPIC)
# ranlib lib${LIB}_pic.a
! install ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m 600 \
lib${LIB}_pic.a ${DESTDIR}${LIBDIR}
${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
chmod ${LIBMODE} ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
.endif
.if !defined(NOPIC) && defined(SHLIB_MAJOR) && defined(SHLIB_MINOR)
! install ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} ${DESTDIR}${LIBDIR}
.endif
.if !defined(NOLINT)
! install ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
llib-l${LIB}.ln ${DESTDIR}${LINTLIBDIR}
.endif
.if defined(LINKS) && !empty(LINKS)
--- 155,184 ----
realinstall:
# ranlib lib${LIB}.a
! $(INSTALL) ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m 600 lib${LIB}.a \
${DESTDIR}${LIBDIR}
${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}.a
chmod ${LIBMODE} ${DESTDIR}${LIBDIR}/lib${LIB}.a
.if !defined(NOPROFILE)
# ranlib lib${LIB}_p.a
! $(INSTALL) ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m 600 \
lib${LIB}_p.a ${DESTDIR}${LIBDIR}
${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
chmod ${LIBMODE} ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
.endif
.if !defined(NOPIC)
# ranlib lib${LIB}_pic.a
! $(INSTALL) ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m 600 \
lib${LIB}_pic.a ${DESTDIR}${LIBDIR}
${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
chmod ${LIBMODE} ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
.endif
.if !defined(NOPIC) && defined(SHLIB_MAJOR) && defined(SHLIB_MINOR)
! $(INSTALL) ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} ${DESTDIR}${LIBDIR}
.endif
.if !defined(NOLINT)
! $(INSTALL) ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
llib-l${LIB}.ln ${DESTDIR}${LINTLIBDIR}
.endif
.if defined(LINKS) && !empty(LINKS)
Index: bsd.man.mk
===================================================================
RCS file: /local/src/master/usr.src/share/mk/bsd.man.mk,v
retrieving revision 1.1.1.2
diff -c -b -r1.1.1.2 bsd.man.mk
*** bsd.man.mk 1995/06/27 01:08:32 1.1.1.2
--- bsd.man.mk 1995/09/13 13:16:58
***************
*** 22,28 ****
MANALL= ${MAN:S/.1$/.cat1/g:S/.2$/.cat2/g:S/.3$/.cat3/g:S/.4$/.cat4/g:S/.5$/.cat5/g:S/.6$/.cat6/g:S/.7$/.cat7/g:S/.8$/.cat8/g}
.endif
! MINSTALL= install ${COPY} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE}
.if defined(MANZ)
# chown and chmod are done afterward automatically
MCOMPRESS= gzip -cf
--- 22,28 ----
MANALL= ${MAN:S/.1$/.cat1/g:S/.2$/.cat2/g:S/.3$/.cat3/g:S/.4$/.cat4/g:S/.5$/.cat5/g:S/.6$/.cat6/g:S/.7$/.cat7/g:S/.8$/.cat8/g}
.endif
! MINSTALL= $(INSTALL) ${COPY} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE}
.if defined(MANZ)
# chown and chmod are done afterward automatically
MCOMPRESS= gzip -cf
Index: bsd.nls.mk
===================================================================
RCS file: /local/src/master/usr.src/share/mk/bsd.nls.mk,v
retrieving revision 1.1.1.1
diff -c -b -r1.1.1.1 bsd.nls.mk
*** bsd.nls.mk 1995/05/02 05:55:58 1.1.1.1
--- bsd.nls.mk 1995/09/13 13:16:58
***************
*** 31,38 ****
@for msg in ${NLSALL}; do \
NLSLANG=`basename $$msg .cat`; \
dir=${DESTDIR}${NLSDIR}/$${NLSLANG}; \
! install -d $$dir; \
! install ${COPY} -o ${NLSOWN} -g ${NLSGRP} -m ${NLSMODE} $$msg $$dir/${NLSNAME}.cat; \
done
.endif
--- 31,38 ----
@for msg in ${NLSALL}; do \
NLSLANG=`basename $$msg .cat`; \
dir=${DESTDIR}${NLSDIR}/$${NLSLANG}; \
! $(INSTALL) -d $$dir; \
! $(INSTALL) ${COPY} -o ${NLSOWN} -g ${NLSGRP} -m ${NLSMODE} $$msg $$dir/${NLSNAME}.cat; \
done
.endif
Index: bsd.own.mk
===================================================================
RCS file: /local/src/master/usr.src/share/mk/bsd.own.mk,v
retrieving revision 1.1.1.4
diff -c -b -r1.1.1.4 bsd.own.mk
*** bsd.own.mk 1995/08/09 09:57:10 1.1.1.4
--- bsd.own.mk 1995/09/13 13:21:42
***************
*** 43,48 ****
--- 43,49 ----
NLSOWN?= bin
NLSMODE?= ${NONBINMODE}
+ INSTALL?= install
COPY?= -c
STRIP?= -s
Index: bsd.prog.mk
===================================================================
RCS file: /local/src/master/usr.src/share/mk/bsd.prog.mk,v
retrieving revision 1.1.1.3
diff -c -b -r1.1.1.3 bsd.prog.mk
*** bsd.prog.mk 1995/06/27 01:08:30 1.1.1.3
--- bsd.prog.mk 1995/09/13 13:19:42
***************
*** 103,109 ****
.if !target(realinstall)
realinstall:
.if defined(PROG)
! install ${COPY} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
${PROG} ${DESTDIR}${BINDIR}
.endif
.if defined(HIDEGAME)
--- 103,109 ----
.if !target(realinstall)
realinstall:
.if defined(PROG)
! $(INSTALL) ${COPY} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
${PROG} ${DESTDIR}${BINDIR}
.endif
.if defined(HIDEGAME)
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed
State-Changed-By: thorpej
State-Changed-When: Thu Oct 17 19:32:43 PDT 1996
State-Changed-Why:
Implemented suggested change. thanks!
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.49 2026/05/14 01:52:41 riastradh Exp $
$NetBSD: gnats_config.sh,v 1.10 2026/05/13 22:00:09 riastradh Exp $
Copyright © 1994-2026
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.