pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc Simplify unprivileged builds by adding a new variable,...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/4c703bd20e25
branches:  trunk
changeset: 494757:4c703bd20e25
user:      jmmv <jmmv%pkgsrc.org@localhost>
date:      Sun May 29 17:12:15 2005 +0000

description:
Simplify unprivileged builds by adding a new variable, UNPRIVILEGED, that,
when set to YES, changes multiple defaults to let this work properly.

diffstat:

 doc/CHANGES        |   4 ++-
 mk/bsd.pkg.mk      |   5 +++-
 mk/unprivileged.mk |  56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 63 insertions(+), 2 deletions(-)

diffs (94 lines):

diff -r be6a1bc86b45 -r 4c703bd20e25 doc/CHANGES
--- a/doc/CHANGES       Sun May 29 16:11:49 2005 +0000
+++ b/doc/CHANGES       Sun May 29 17:12:15 2005 +0000
@@ -1,4 +1,4 @@
-$NetBSD: CHANGES,v 1.10241 2005/05/29 16:11:49 jschauma Exp $
+$NetBSD: CHANGES,v 1.10242 2005/05/29 17:12:15 jmmv Exp $
 
 Changes to the packages collection and infrastructure in 2005:
        
@@ -2650,3 +2650,5 @@
        Added net/autonet version 0.13 [abs 2005-05-29]
        Updated lang/python21 to 2.1.3nb7 [minskim 2005-05-29]
        Updated mail/sylpheed-devel to 1.9.12 [chris 2005-05-29]
+       mk/bsd.pkg.mk: Added support for unprivileged builds through the
+               UNPRIVILEGED variable [jmmv 2005-05-29]
diff -r be6a1bc86b45 -r 4c703bd20e25 mk/bsd.pkg.mk
--- a/mk/bsd.pkg.mk     Sun May 29 16:11:49 2005 +0000
+++ b/mk/bsd.pkg.mk     Sun May 29 17:12:15 2005 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: bsd.pkg.mk,v 1.1678 2005/05/26 11:15:30 rillig Exp $
+#      $NetBSD: bsd.pkg.mk,v 1.1679 2005/05/29 17:12:16 jmmv Exp $
 #
 # This file is in the public domain.
 #
@@ -890,6 +890,9 @@
 # Tools
 .include "../../mk/tools/bsd.tools.mk"
 
+# Unprivileged builds
+.include "../../mk/unprivileged.mk"
+
 # If NO_BUILD is defined, default to not needing a compiler.
 .if defined(NO_BUILD)
 USE_LANGUAGES?=                # empty
diff -r be6a1bc86b45 -r 4c703bd20e25 mk/unprivileged.mk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/mk/unprivileged.mk        Sun May 29 17:12:15 2005 +0000
@@ -0,0 +1,56 @@
+# $NetBSD: unprivileged.mk,v 1.1 2005/05/29 17:12:16 jmmv Exp $
+#
+# Ease configuration of unprivileged (non-root) builds.
+#
+# UNPRIVILEGED         If set to 'yes', enable unprivileged builds.
+#                      Disabled by default.
+#
+# UNPRIVILEGED_GROUP   Specifies the group name (or gid) that will be used
+#                      to install files.  Guessed if empty.
+#
+# UNPRIVILEGED_USER    Specifies the user name (or uid) that will be used
+#                      to install files.  Guessed if empty.
+
+.if defined(UNPRIVILEGED) && !empty(UNPRIVILEGED:M[Yy][Ee][Ss])
+
+# Guess which user/group has to be used.
+.  if !defined(UNPRIVILEGED_USER) || empty(UNPRIVILEGED_USER)
+UNPRIVILEGED_USER!=    ${ID} -n -u
+.  endif
+.  if !defined(UNPRIVILEGED_GROUP) || empty(UNPRIVILEGED_GROUP)
+UNPRIVILEGED_GROUP!=   ${ID} -n -g
+.  endif
+
+# Override super-user account.
+ROOT_GROUP=            ${UNPRIVILEGED_GROUP}
+ROOT_USER=             ${UNPRIVILEGED_USER}
+
+# Override user/group pairs used to install files.
+BINGRP=                        ${UNPRIVILEGED_GROUP}
+BINOWN=                        ${UNPRIVILEGED_USER}
+GAMEGRP=               ${UNPRIVILEGED_GROUP}
+GAMEOWN=               ${UNPRIVILEGED_USER}
+MANGRP=                        ${UNPRIVILEGED_GROUP}
+MANOWN=                        ${UNPRIVILEGED_USER}
+SHAREGRP=              ${UNPRIVILEGED_GROUP}
+SHAREOWN=              ${UNPRIVILEGED_USER}
+
+# Override installation modes.  As a regular user, we may have problems
+# when overwriting files if they are not writable.
+BINMODE=               755
+NONBINMODE=            644
+
+# mtree is useless as a regular user because it won't set directory
+# ownerships correctly.
+NO_MTREE=              # defined
+
+# As a regular user, creation of other users and groups won't work, so
+# disable this step by default.
+PKG_CREATE_USERGROUP?= NO
+
+# Override commands that won't work as a regular user.
+CHGRP=                 ${TRUE}
+CHOWN=                 ${TRUE}
+SU_CMD=                        ${SH} -c
+
+.endif



Home | Main Index | Thread Index | Old Index