Import of pkgsrc-2013Q2

This commit is contained in:
2013-09-26 17:14:40 +02:00
commit 785076ae39
74991 changed files with 4380255 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
This package installs an unprivileged user for the sysbuild utility
provided by the sysutils/sysbuild package. This unprivileged user is
automatically configured to perform daily NetBSD builds.

View File

@@ -0,0 +1,23 @@
#! /bin/sh
EGDIR="@EGDIR@"
SYSBUILD_HOME="@SYSBUILD_HOME@"
SYSBUILD_USER="@SYSBUILD_USER@"
case "${STAGE}" in
POST-INSTALL)
if [ ! -e "${SYSBUILD_HOME}/.sysbuild/default.conf" ]; then
echo "${PKGNAME}: Installing default configuration file"
${MKDIR} -p "${SYSBUILD_HOME}/.sysbuild"
( cd "${SYSBUILD_HOME}/.sysbuild" && ln -s ../default.conf . )
fi
if crontab -u "${SYSBUILD_USER}" -l >/dev/null 2>/dev/null; then
echo "${PKGNAME}: ${SYSBUILD_USER} already has a crontab;" \
"not installing"
else
echo "${PKGNAME}: Installing default crontab for ${SYSBUILD_USER}"
crontab -u "${SYSBUILD_USER}" "${EGDIR}/crontab"
fi
;;
esac

View File

@@ -0,0 +1,17 @@
===========================================================================
$NetBSD: MESSAGE,v 1.1 2012/07/25 12:20:08 jmmv Exp $
A new system user has been set up to perform daily rebuilds of NetBSD for
the current platform. Please take the time to review the following file:
${SYSBUILD_HOME}/default.conf
And make sure that the installed cron job runs at appropriate times:
crontab -u ${SYSBUILD_USER} -e
Lastly, remember that you can trigger manual sysbuild operations by doing:
su - ${SYSBUILD_USER} ${PREFIX}/bin/sysbuild <arguments>
===========================================================================

View File

@@ -0,0 +1,55 @@
# $NetBSD: Makefile,v 1.3 2013/03/08 17:49:30 jmmv Exp $
DISTNAME= sysbuild-user-1.1
CATEGORIES= sysutils
MASTER_SITES= # empty
DISTFILES= # empty
MAINTAINER= jmmv@NetBSD.org
COMMENT= Runs sysbuild periodically under a dedicated user
LICENSE= modified-bsd
PKG_INSTALLATION_TYPES= overwrite pkgviews
DEPENDS= sysbuild>=2.5:../../sysutils/sysbuild
WRKSRC= ${WRKDIR}
NO_CONFIGURE= YES
SYSBUILD_USER?= sysbuild
SYSBUILD_GROUP?= sysbuild
SYSBUILD_HOME?= /home/sysbuild
PKG_GROUPS= ${SYSBUILD_GROUP}
PKG_GROUPS_VARS= PKG_GROUPS
PKG_USERS= ${SYSBUILD_USER}:${SYSBUILD_GROUP}
PKG_USERS_VARS= PKG_USERS
PKG_GECOS.${SYSBUILD_USER}= Unprivileged user for NetBSD builds
PKG_HOME.${SYSBUILD_USER}= ${SYSBUILD_HOME}
PKG_SHELL.${SYSBUILD_USER}= /bin/sh
EGDIR= ${PREFIX}/share/examples/sysbuild-user
OWN_DIRS_PERMS= ${SYSBUILD_HOME} ${SYSBUILD_USER} ${SYSBUILD_GROUP} 755
CONF_FILES= ${EGDIR}/default.conf ${SYSBUILD_HOME}/default.conf
BUILD_SUBST+= -e 's,@PREFIX@,${PREFIX},g'
FILES_SUBST+= EGDIR=${EGDIR}
FILES_SUBST+= SYSBUILD_HOME=${SYSBUILD_HOME}
FILES_SUBST+= SYSBUILD_USER=${SYSBUILD_USER}
MESSAGE_SUBST+= SYSBUILD_HOME=${SYSBUILD_HOME}
MESSAGE_SUBST+= SYSBUILD_USER=${SYSBUILD_USER}
INSTALLATION_DIRS= share/examples/sysbuild-user
do-build:
.for file in crontab default.conf
${SED} ${BUILD_SUBST} <${FILESDIR}/${file} >${WRKSRC}/${file}
.endfor
do-install:
.for file in crontab default.conf
${INSTALL_DATA} ${WRKSRC}/${file} ${DESTDIR}${EGDIR}/
.endfor
.include "../../mk/bsd.pkg.mk"

View File

@@ -0,0 +1,3 @@
@comment $NetBSD: PLIST,v 1.1 2012/07/25 12:20:08 jmmv Exp $
share/examples/sysbuild-user/crontab
share/examples/sysbuild-user/default.conf

View File

@@ -0,0 +1,8 @@
# $NetBSD: crontab,v 1.1 2012/07/25 12:20:08 jmmv Exp $
# crontab(5) file for the unprivileged sysbuild user.
PATH=@PREFIX@/bin:@PREFIX@/sbin:/usr/bin:/usr/sbin:/bin:/sbin
SHELL=/bin/sh
# Cheatsheet: minute hour day-of-month month day-of-week(0,7=Sun)
@daily @PREFIX@/bin/sysbuild4cron -l "${HOME}/log" -- build

View File

@@ -0,0 +1,38 @@
# $NetBSD: default.conf,v 1.3 2013/03/08 19:37:17 jmmv Exp $
# Configuration file for the unprivileged sysbuild user.
#
# Because the unprivileged user's purpose is solely to peform NetBSD
# system builds, we can assume that its home directory is dedicated to
# us and thus can keep a simpler directory layout.
# Place all files in the user's home directory.
BUILD_ROOT="${HOME}"
RELEASEDIR="${HOME}/release"
SRCDIR="${HOME}/src"
[ ! -f /etc/mtree/set.xbase ] || XSRCDIR="${HOME}/xsrc"
# Build for the current machine only.
MACHINES="$(uname -m)"
# What to build for every machine.
BUILD_TARGETS="release"
# Take advantage of update builds.
INCREMENTAL_BUILD="yes"
# Set CVS-related settings.
CVSROOT=":ext:anoncvs@anoncvs.NetBSD.org:/cvsroot"
if ! head -n 1 /etc/release | grep 99 >/dev/null; then
CVSTAG="$(head -n 1 /etc/release | cut -d . -f 1 \
| tr '[A-Z] ' '[a-z]-')"
fi
# Use as many CPUs as are available.
NJOBS="$(/sbin/sysctl -n hw.ncpuonline)"
# Push the build results to a file server.
#post_build_hook() {
# rsync -acv --delete-after "${RELEASEDIR}/" \
# "server.example.com:/pub/NetBSD/release"
#}