Step 0: minix category

This contains MINIX specific packages, configuration and (PKGSRC) build
scripts.
This commit is contained in:
Lionel Sambuc 2014-04-09 10:55:26 +02:00 committed by Lionel Sambuc
parent 8ae4103124
commit 5f9af68f96
7 changed files with 799 additions and 0 deletions

14
minix/Makefile Normal file
View File

@ -0,0 +1,14 @@
# $NetBSD: $
#
COMMENT= Minix specific packages
# The following needs to be re-imported and fixed.
# For current state, please see branch 3.3.0-dev
#SUBDIR+= dde-linux26
#SUBDIR+= dde-linux26-usb-drivers
#SUBDIR+= git-review
#SUBDIR+= netdrv_tg3
#SUBDIR+= stp
.include "../mk/misc/category.mk"

View File

@ -0,0 +1,8 @@
pkgtools/pkgin
devel/git-base
devel/binutils
lang/clang
lang/gcc45
devel/bmake
editors/vim
security/openssh

View File

@ -0,0 +1,49 @@
x11/pixman
textproc/libxml2
textproc/icu
print/web2c
print/poppler
print/ghostscript-gpl
x11/tk
lang/tcl
lang/hugs
lang/gcc45
graphics/netpbm
graphics/gdk-pixbuf2
graphics/gdk-pixbuf
graphics/cairo
fonts/harfbuzz
emulators/suse131_linux
emulators/suse121_linux
emulators/suse100_linux
devel/ncurses
devel/mk-configure
devel/glib2
devel/boehm-gc
database/sqlite3
databases/gdbm
minix/git-review
lang/clang
lang/python27
devel/cmake
devel/binutils
security/openssh
devel/git-base
www/curl
security/heimdal
devel/bison
devel/m4
security/p5-IO-Socket-SSL
devel/libidn
devel/pkg-config
converters/libiconv
pkgtools/pkgin
security/openssl
devel/gettext
lang/perl5
devel/pth
devel/libtool
pkgtools/digest
pkgtools/pkg_install
devel/bmake
pkgtools/bootstrap-mk-files

14
minix/minibootstrap.sh Normal file
View File

@ -0,0 +1,14 @@
#!/bin/sh
# This .sh script can be executed by the base system to let
# the pkgsrc system put things right. Currently only needed
# for mk.conf.
MKCONF=mk.conf.minix
if [ ! -f $MKCONF ]
then echo "No $MKCONF. Please run me from pkgsrc/minix/."
exit 1
fi
cp $MKCONF /usr/pkg/etc/mk.conf

136
minix/mk.conf.minix Normal file
View File

@ -0,0 +1,136 @@
# We ensure this Makefile is only seen during pkgsrc builds
.ifdef BSD_PKG_MK
# Allow local overrides:
.-include "${.PARSEDIR}/local.mk.conf"
#######################################################################
# Settings which differs from platform/NetBSD.mk
unix= We run Minix.
OS= Minix
OS_VARIANT= Minix
NOLINT= 1
MKCATPAGES?= yes
ROOT_GROUP?= operator
BINGRP?= operator
MANGRP?= operator
INFOGRP?= operator
DOCGRP?= operator
NLSGRP?= operator
NOLOGIN?= /bin/false
ULIMIT_CMD_datasize?= ulimit -d
ULIMIT_CMD_stacksize?= ulimit -s
ULIMIT_CMD_memorysize?= ulimit -m
ULIMIT_CMD_cputime?= ulimit -t
PS?= /usr/bin/ps
# Our nroff can't handle -mandoc correctly
NROFF?= mandoc
PREFER_NATIVE_PTHREADS= no
X11_TYPE= native
# In some cases, MACHINE_GNU_PLATFORM get set back to i386--netbsdelf,
# make sure the correct triple is set.
# LSC: Still required?
MACHINE_GNU_PLATFORM= ${MACHINE_ARCH}-elf32-minix
#######################################################################
# Download URLs for sources and packages
MASTER_SITE_LOCAL?= \
http://www.minix3.org/pkgsrc/distfiles/minix/${OS_VERSION}/
MASTER_SITE_MINIX?= \
http://www.minix3.org/pkgsrc/distfiles/local/${OS_VERSION}/
MASTER_SITE_BACKUP?= \
ftp://ftp.netbsd.org/pub/pkgsrc/distfiles/ \
ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/ \
http://ftp.jp.netbsd.org/pub/pkgsrc/distfiles/
MASTER_SITE_OVERRIDE?= \
${MASTER_SITE_MINIX}
#######################################################################
# PKGSRC Paths
# defaults to /var, which is too small on MINIX
VARBASE?= /usr/pkg/var
PKG_DBDIR?= /usr/pkg/var/db/pkg
PKG_TOOLS_BIN?= /usr/pkg/sbin
# By default builds within pkgsrc, we don't want that
WRKOBJDIR?= ${PKGSRCDIR}/work
# Defaults to ${PKGSRCDIR}/packages, seems we don't want either.
PACKAGES?= ${PKGSRCDIR}/packages/${OS_VERSION}/${MACHINE_ARCH}
#######################################################################
# PKGSRC tools
PKGSRC_COMPILER?= clang
.if ${PKGSRC_COMPILER} == "clang"
# Check if the clang package is available
.if exists(/usr/pkg/bin/clang)
CLANGBASE?= /usr/pkg
.else
CLANGBASE?= /usr
.endif
HAVE_LLVM?= 36
CC?= clang
CXX?= clang++
CPP?= clang -E
.else
AS?= gas
CC?= gcc
CXX?= g++
.endif
.if exists(/usr/pkg/bin/strip)
TOOLS_PLATFORM.strip?= /usr/pkg/bin/strip
.endif
#######################################################################
# Compilation Flags for all packages
CFLAGS+= -march=i586
# Headers are available, but not yet fully supported.
CONFIGURE_ENV+= ac_cv_func_msync=no
CONFIGURE_ENV+= gl_have_pthread=no
IMAKEOPTS+= -DBuildHtmlManPages=NO
#######################################################################
# PKGSRC Build Options
SKIP_LICENSE_CHECK?= yes
ALLOW_VULNERABLE_PACKAGES?= yes
PKG_DEFAULT_OPTIONS?= -inet6 -threads -kqueue
PKG_RCD_SCRIPTS?= yes
RCD_SCRIPTS_DIR?= ${LOCALBASE}/etc/rc.d
#LSC: the following packages are not yet part of the base system, as expected
# on NetBSD
PREFER_PKGSRC+= groff
PYTHON_VERSION_DEFAULT?= 27
PYPACKAGE?= python27
RUBY_USE_PTHREAD?= no
RUBY_ARCH?= i386-minix
#LSC: Otherwise fails on missing files when generating the tarball
ZSH_STATIC?= yes
#######################################################################
# Package-specific default options
PKG_OPTIONS.gcc45?= -gcc-java -gcc-fortran
.endif # BSD_PKG_MK

433
minix/pbulk-ng.sh Executable file
View File

@ -0,0 +1,433 @@
#!/bin/sh
# This script tries to optimise time building for jailed pbulk builds
# at the expense of disk space.
#
# A full (all packages) build requires currently about:
# - 1.0GB pkgsrc itself
# - 0.3GB chroot-minix
# - 1.3GB chroot-bootstrap
# - 1.3GB chroot-pbulk (w/o distfiles)
# - 24.0GB distfiles (sources of the packages)
# - 20.0GB during build, to store temporary files and produced packages
# ==========
# ~48.0GB total
#
# I (LSC) recommend a partition of at least 100GB for a full build.
#
# this will create the following hierarchy (assuming defaults) :
# /usr/bbuild
# /usr/bbuild/chroot-minix Pristine minix rootfs
# /usr/bbuild/chroot-bootstrap Pristine minix + bootstrapped pbulk tools
# /usr/bbuild/chroot-pbulk Root system with build pkgsrc.
#
# Upon successful completion the following will be copied into:
# /usr/bbuild/save/YYYYMMDD-HHmmss.logs pbulk-log files
# /usr/bbuild/save/YYYYMMDD-HHmmss.packages generated packages
# /usr/bbuild/save/YYYYMMDD-HHmmss.disfiles fetched distfiles
#
# Exit at the first error
set -e
# Some useful constant
YES="yes"
NO="no"
# Defaults
: ${TOPDIR=/usr/bbuild}
: ${SAVEDIR=/usr/bbuild/save}
: ${TOOLDIR=/usr/bbuild/tooldir.$(uname -p)}
: ${OBJDIR=/usr/bbuild/obj.$(uname -p)}
: ${MINIXSRCDIR=/usr/src}
: ${PKGSRCDIR=/usr/pkgsrc}
: ${DISTFILESDIR=/usr/pkgsrc/distfiles}
: ${USETOOLS=yes}
: ${ROOT_MINIX=${TOPDIR}/chroot-minix}
: ${ROOT_BOOTSTRAP=${TOPDIR}/chroot-bootstrap}
: ${ROOT_PBULK=${TOPDIR}/chroot-pbulk}
# By default copy the local pkgsrc repository
: ${PKGSRC_COPY=${YES}}
: ${PKGSRC_REMOTE=pkgsrc}
: ${PKGSRC_URL=git://git.minix3.org/pkgsrc.git}
: ${PKGSRC_BRANCH=minix-master}
# Destination pkgsrc git, absolute path, has to contain ROOT_BOOTSTRAP!
: ${PKGSRC_GIT=${ROOT_BOOTSTRAP}/usr/pkgsrc/.git}
# By default re-use root FS if available
: ${BUILD_ROOT_BOOTSTRAP=${NO}}
: ${BUILD_ROOT_MINIX=${NO}}
: ${BUILD_ROOT_PBULK=${NO}}
# By default copy to a safe place the generated packages, distfiles and logs
: ${SAVE_PACKAGES=${YES}}
: ${SAVE_DISTFILES=${YES}}
: ${SAVE_LOGS=${YES}}
# Use tools through variables, ease the debug process
: ${DRY_RUN=${NO}}
# Some private variables which may used from within the chroots
: ${CMD_BOOTSTRAP=./bootstrap/bootstrap}
: ${CMD_BOOTSTRAP_CLEANUP=./bootstrap/cleanup}
# This cannot be changed without updating pbulk.conf
: ${BOOTSTRAP_PREFIX=/usr/pbulk}
: ${PKGSRC_PREFIX=/usr/pkgsrc}
# Generate a clean PATH for the jails.
CHROOT_PATH=""
for d in ${BOOTSTRAP_PREFIX} /usr/pkg /usr/X11R7 /usr ''
do
CHROOT_PATH=${CHROOT_PATH}:${d}/bin:${d}/sbin
done
CHROOT_PATH=${CHROOT_PATH}:/usr/games
LD_CHROOT_PATH=/usr/pkg/lib:/usr/X11R7/lib:/usr/lib:/lib
if [ ! -d $MINIXSRCDIR ]
then
echo Please install the minix sources in $MINIXSRCDIR.
exit 1
fi
#============================================================================
if [ ${DRY_RUN} = ${YES} ]
then
RM='echo ##: rm '
MV='echo ##: mv '
CP='echo ##: cp '
CD='echo ##: cd '
LN='echo ##: ln '
SED='echo ##: sed '
CHROOT='echo ##: chroot '
MKDIR='echo ##: mkdir '
TAR='echo ##: tar '
EXPORT='echo ##: export '
PKG_ADD='echo ##: pkg_add '
SYNCTREE='echo ##: synctree '
GIT='echo ##: git '
BMAKE='echo ##: bmake '
CMD_RELEASE="echo ##: ${CMD_RELEASE} "
CMD_BOOTSTRAP="echo ##: ${CMD_BOOTSTRAP} "
CMD_BOOTSTRAP_CLEANUP="echo ##: ${CMD_BOOTSTRAP_CLEANUP} "
CMD_RESET_ERRORS="echo ##: test ! -f /usr/pbulk-logs/meta/error || rm /usr/pbulk-logs/meta/error "
CMD_BULKBUILD="echo ##: bulkbuild "
CMD_BULKBUILD_RESTART="echo ##: bulkbuild-restart "
DIRNAME='echo _dirname_ '
# Kind of an exception, but as it used to collect
# all the output of a phase, we want it to be echoed,
# instead of saved in a log file
TEE="cat - "
else
RM='rm '
MV='mv '
CP='cp '
CD='cd '
LN='ln '
SED='sed '
DIRNAME='dirname '
CHROOT='chroot '
MKDIR='mkdir '
TAR='tar '
EXPORT='export '
PKG_ADD='pkg_add '
SYNCTREE='synctree '
GIT='git '
BMAKE='bmake '
TEE='tee '
CMD_RESET_ERRORS="test ! -f /usr/pbulk-logs/meta/error || rm /usr/pbulk-logs/meta/error "
CMD_BULKBUILD="bulkbuild "
CMD_BULKBUILD_RESTART="bulkbuild-restart "
fi
# Check at which step which should start :
[ ! -d "${ROOT_MINIX}" ] && BUILD_ROOT_MINIX=${YES}
[ ! -d "${ROOT_BOOTSTRAP}" ] && BUILD_ROOT_BOOTSTRAP=${YES}
[ ! -d "${ROOT_PBULK}" ] && BUILD_ROOT_PBULK=${YES}
# Ensure that all the steps following the first to be generated
# are also re-generated.
[ ${BUILD_ROOT_MINIX} = ${YES} ] && BUILD_ROOT_BOOTSTRAP=${YES}
[ ${BUILD_ROOT_BOOTSTRAP} = ${YES} ] && BUILD_ROOT_PBULK=${YES}
#============================================================================
build_minix() {
echo ":-> Building minix chroot in ${ROOT_MINIX}"
(
exec 2>&1
set -e
echo ":--> Building minix sources [${BUILD_START}]"
${CD} ${MINIXSRCDIR}
HOST_CC=clang HOST_CXX=clang++ ./build.sh \
-m i386 \
-O ${OBJDIR} \
-T ${TOOLDIR} \
-D ${ROOT_MINIX} \
-V SLOPPY_FLIST=yes \
-V MKX11=yes \
-V MKUPDATE=yes \
-V MKLLVM=yes \
-V MKLIBCXX=yes \
-V MKGCCCMDS=no \
-V MKLIBSTDCXX=no \
-V MKKYUA=no \
-V MKATF=no \
distribution
echo ":--> Copying config files"
for f in hosts resolv.conf
do
[ -f /etc/${f} ] && ${CP} /etc/${f} ${ROOT_MINIX}/etc/${f}
done
) | ${TEE} ${TOPDIR}/1-build_minix.log
echo ":-> Building minix chroot done"
return 0
}
build_bootstrap() {
echo ":-> Building bootstrapped chroot"
(
exec 2>&1
set -e
echo ":--> Initializing chroot in ${ROOT_BOOTSTRAP} [${BUILD_START}]"
if [ ${PKGSRC_COPY} = ${YES} ]
then
echo ":--> Copying from ${PKGSRCDIR}"
# Copy and use our local pkgsrc repository as it is
${MKDIR} -p ${ROOT_BOOTSTRAP}${PKGSRC_PREFIX}
${SYNCTREE} -f ${PKGSRCDIR} ${ROOT_BOOTSTRAP}${PKGSRC_PREFIX} >/dev/null
else
echo ":--> Cloning from ${PKGSRC_URL}/${PKGSRC_BRANCH}"
# Copy our own pkgsrc repository there so the new
# repository does not have to retrieve objects we
# already have locally.
${MKDIR} -p ${PKGSRC_GIT}
${SYNCTREE} -f ${PKGSRCDIR}/.git ${PKGSRC_GIT} >/dev/null
${GIT} --git-dir ${PKGSRC_GIT} remote rm ${PKGSRC_REMOTE}
${GIT} --git-dir ${PKGSRC_GIT} remote add ${PKGSRC_REMOTE} ${PKGSRC_URL}
${GIT} --git-dir ${PKGSRC_GIT} fetch ${PKGSRC_REMOTE}
${GIT} --git-dir ${PKGSRC_GIT} checkout -f ${PKGSRC_REMOTE}/${PKGSRC_BRANCH}
fi
# Bonus distfiles
echo ":--> Copying prefetched distfiles from ${DISTFILESDIR}"
${MKDIR} -p ${ROOT_BOOTSTRAP}${PKGSRC_PREFIX}/distfiles
${SYNCTREE} -f ${DISTFILESDIR} ${ROOT_BOOTSTRAP}${PKGSRC_PREFIX}/distfiles >/dev/null
# Ensure that the package directoy is clean and exists
${RM} -rf ${ROOT_BOOTSTRAP}${PKGSRC_PREFIX}/packages/$(uname -r)/
${MKDIR} -p ${ROOT_BOOTSTRAP}${PKGSRC_PREFIX}/packages/$(uname -r)/$(uname -p)/All
echo ":--> Bootstrapping pbulk"
${CHROOT} ${ROOT_BOOTSTRAP} sh -c \
"(
set -e
${EXPORT} PATH=${CHROOT_PATH}
${EXPORT} LD_LIBRARY_PATH=${LD_CHROOT_PATH}
${CD} ${PKGSRC_PREFIX}
# First stage, PBULK bootstrap & installation
# Trim the .ifdef BSD_PKG_MK and .endif lines to make a 'fragment'
# and adapt a few path to the ones expected for pbulk
${SED} \
-e '/.*BSD_PKG_MK/d' \
-e 's@VARBASE?=.*@VARBASE= '${BOOTSTRAP_PREFIX}'/var@' \
-e 's@PKG_DBDIR?=.*@PKG_DBDIR= '${BOOTSTRAP_PREFIX}'/pkgdb@' \
-e 's@WRKOBJDIR?=.*@WRKOBJDIR= '${BOOTSTRAP_PREFIX}'/work@' \
./minix/mk.conf.minix \
> ./minix/mk.conf.minix.pbulk.frag
echo ':--> Building pbulk kit'
${CMD_BOOTSTRAP} \
--prefix=${BOOTSTRAP_PREFIX} \
--varbase=${BOOTSTRAP_PREFIX}/var \
--pkgdbdir=${BOOTSTRAP_PREFIX}/pkgdb \
--workdir=${BOOTSTRAP_PREFIX}/work \
--mk-fragment=./minix/mk.conf.minix.pbulk.frag
# Install pbulk into /usr/pbulk
echo ':--> Building and installing pbulk'
${BMAKE} -C ./devel/pth package-install
${BMAKE} -C ./pkgtools/pbulk package-install
${SED} -e 's/OP_SYS_VER/'$(uname -r)'/g' ./minix/pbulk.conf > ${BOOTSTRAP_PREFIX}/etc/pbulk.conf
# First stage: done
echo ':--> Bootstrap cleanup'
${CMD_BOOTSTRAP_CLEANUP}
# Second stage, pkgsrc bootstrap & installation
# Trim the .ifdef BSD_PKG_MK and .endif lines to make a 'fragment'
${SED} -e '/.*BSD_PKG_MK/d' \
./minix/mk.conf.minix \
> ./minix/mk.conf.minix.frag
echo ':--> Building binary pkgsrc kit'
${CMD_BOOTSTRAP} \
--varbase=/usr/pkg/var \
--pkgdbdir=/usr/pkg/var/db/pkg \
--mk-fragment=./minix/mk.conf.minix.frag \
--workdir=${PKGSRC_PREFIX}/work \
--gzip-binary-kit=${BOOTSTRAP_PREFIX}/bootstrap.tar.gz
${RM} -rf ./packages/$(uname -r)/
${MKDIR} -p ./packages/$(uname -r)/$(uname -p)/All
# Use the same mk.conf that our users instead of the hybrid
# auto-generated mk.conf from bootstrap.
${TAR} -C /tmp -xzf ${BOOTSTRAP_PREFIX}/bootstrap.tar.gz
${CP} ./minix/mk.conf.minix /tmp/usr/pkg/etc/mk.conf
${TAR} -C /tmp -hzcf ${BOOTSTRAP_PREFIX}/bootstrap.tar.gz usr
${RM} -rf /tmp/usr
# Second stage: done
)"
echo ":--> Bootstrapping pbulk done"
) | ${TEE} ${TOPDIR}/2-build_bootstrap.log
echo ":-> Building bootstrapped chroot done"
return 0
}
pbulk_start() {
echo ":-> Building packages from scratch"
(
exec 2>&1
set -e
${CHROOT} ${ROOT_PBULK} sh -c \
"(
set -e
${EXPORT} PATH=${CHROOT_PATH}
${EXPORT} LD_LIBRARY_PATH=${LD_CHROOT_PATH}
${CD} ${PKGSRC_PREFIX}
echo ':--> Starting build ['${BUILD_START}']'
${CMD_BULKBUILD}
)"
) | ${TEE} ${TOPDIR}/3-pbulk.log
echo ":-> Building packages from scratch done"
return 0
}
pbulk_restart() {
echo ":-> Building packages from previous build"
(
exec 2>&1
set -e
${CHROOT} ${ROOT_PBULK} sh -c \
"(
set -e
${EXPORT} PATH=${CHROOT_PATH}
${EXPORT} LD_LIBRARY_PATH=${LD_CHROOT_PATH}
${CD} ${PKGSRC_PREFIX}
echo ':--> Resetting error file'
${CMD_RESET_ERRORS}
echo ':--> Restarting build ['${BUILD_START}']'
${CMD_BULKBUILD_RESTART}
)"
) | ${TEE} ${TOPDIR}/3-pbulk.log
echo ":-> Building packages from previous build done"
}
#============================================================================
# Initializations are done, start applying the requested actions on the system
BUILD_START=$(date)
echo -e "\n:: pbulk started on ${BUILD_START}"
if [ ${BUILD_ROOT_MINIX} = ${YES} ]
then
echo -e "\n:> Generating minix root fs."
${RM} -rf ${ROOT_MINIX}
# Ensure presence of destination directory
${MKDIR} -p ${ROOT_MINIX}
build_minix
fi
if [ ${BUILD_ROOT_BOOTSTRAP} = ${YES} ]
then
echo -e "\n:> Bootstrapping pkgsrc."
# Ensure the new chroot is clean.
${MKDIR} -p ${ROOT_BOOTSTRAP}
${SYNCTREE} -f ${ROOT_MINIX} ${ROOT_BOOTSTRAP} >/dev/null
build_bootstrap
fi
if [ ${BUILD_ROOT_PBULK} = ${YES} ]
then
echo -e "\n:> Initializing pbulk root."
# Ensure the new chroot is clean.
${MKDIR} -p ${ROOT_PBULK}
${SYNCTREE} -f ${ROOT_BOOTSTRAP} ${ROOT_PBULK} >/dev/null
echo -e "\n:> Building packages from scratch."
pbulk_start
else
# We want to re-use a previous pbulk.
# Just make sure that any modification within the pkgsrc tree is visible
# find param to make synctree keep files in packages and distfiles
# Also requires regenerating the bootstrap tarball, as well as updating
# ROOT_PBULK/usr/pbulk/etc/pbulk.conf
#${SYNCTREE} -f ${PKGSRCDIR} ${ROOT_PBULK}${PKGSRC_PREFIX} >/dev/null
echo -e "\n:> Restarting build of packages."
pbulk_restart
fi
_build_end=$(date '+%Y%m%d%H%M.%S')
BUILD_END=$(date -j ${_build_end})
# We have to do this here, otherwise the date field would be empty
: ${TIMESTAMP=$(date -j '+%Y%m%d-%H%M%S' ${_build_end})}
: ${ROOT_LOGS=${SAVEDIR}/${TIMESTAMP}.logs}
: ${ROOT_DISTFILES=${SAVEDIR}/${TIMESTAMP}.distfiles}
: ${ROOT_PACKAGES=${SAVEDIR}/${TIMESTAMP}.packages}
if [ ${SAVE_LOGS} = ${YES} ]
then
${MKDIR} -p ${ROOT_LOGS}
${CP} -pfr ${TOPDIR}/1-build_minix.log ${ROOT_LOGS}/
${CP} -pfr ${TOPDIR}/2-build_bootstrap.log ${ROOT_LOGS}/
${CP} -pfr ${TOPDIR}/3-pbulk.log ${ROOT_LOGS}/
${SYNCTREE} -uf ${ROOT_PBULK}/usr/pbulk-logs ${ROOT_LOGS}/pbulk-logs
fi
if [ ${SAVE_DISTFILES} = ${YES} ]
then
${SYNCTREE} -uf ${ROOT_PBULK}${PKGSRC_PREFIX}/distfiles ${ROOT_DISTFILES}
fi
if [ ${SAVE_PACKAGES} = ${YES} ]
then
${SYNCTREE} -uf ${ROOT_PBULK}${PKGSRC_PREFIX}/packages ${ROOT_PACKAGES}
fi
echo -e "\n:: pbulk finished:"
echo ":> started on : ${BUILD_START}"
echo ":> finished on : ${BUILD_END}"
echo ":> Build logs : ${ROOT_LOGS}"
echo ":> Distfiles : ${ROOT_DISTFILES}"
echo ":> Packages : ${ROOT_PACKAGES}"

145
minix/pbulk.conf Normal file
View File

@ -0,0 +1,145 @@
# $NetBSD: pbulk.conf,v 1.21 2015/09/13 11:45:37 joerg Exp $
# Version of the configuration file. This is bumped whenever the default
# config changes to notify the administrator about updates.
#
config_version=0.54
# The URL where the build report will be made available. This is only
# used in the .txt version of the report.
#
base_url=http://www.minix3.org/
# If yes, keep the last scan results in ${bulklog}.old and try to reuse them.
reuse_scan_results=no
# The pbulk framework can use multiple machines to build the packages.
# On a single-processor, non-distributed build, you may want to say "no"
# here.
#
master_mode=no
has_nfs=no
master_ip=192.168.75.10
scan_clients="192.168.75.21 192.168.75.22 192.168.75.23 192.168.75.24"
build_clients="192.168.75.21 192.168.75.22 192.168.75.23 192.168.75.24"
master_port_scan=${master_ip}:2001
master_port_build=${master_ip}:2002
# Some flags for the programs that publish the binary packages and the
# build report. If you want to disable the publishing at all, see below.
#
pkg_rsync_args="-av --delete-excluded -e ssh"
pkg_rsync_target="pkgsrc@192.168.75.1:/public/packages/current/DragonFly-1.8"
report_rsync_args="-avz --delete-excluded -e ssh"
report_rsync_target="pkgsrc@192.168.75.1:/public/reports/current/DragonFly-1.8"
report_subject_prefix="pkgsrc"
report_recipients="pkgsrc-bulk@netbsd.org"
# An archive containing the pkgsrc binary tree after bootstrapping.
#
bootstrapkit=/usr/pbulk/bootstrap.tar.gz
# Optionally build a subset of the available packages and their dependencies.
# The file is a newline separated list of package locations (e.g. lang/perl5).
limited_list=/usr/pkgsrc/minix/limited_list.minimal
limited_list=/usr/pkgsrc/minix/limited_list.patched
limited_list=
# Optionally ignore unresolvable dependencies for a full build (e.g.
# a build without limited_list set). Default behavior is to bail out.
#
ignore_missing_dependencies=no
# If yes, consider a package up-to-date, if the dependency list matches
# the existing binary package and the recorded RCS IDs match the pkgsrc
# tree. Otherwise, additionally require that the package is not older
# than any of the dependencies.
#
skip_age_check=yes
report_graph_script_limit=512
# Account used for user-destdir builds. This account should have
# no special permissions.
#
unprivileged_user=root
# If yes, run the checksum phase as unprivileged user.
# Note: requires DISTDIR to be writeable for the unprivileged user.
use_unprivileged_checksum=no
# Variables used for the optional cross-compiling of packages.
#
cross_compile=no
target_arch=i386
target_destdir=/usr/src/destdir.${target_arch}
# The directories where the various files are created.
#
bulklog=/usr/pbulk-logs
packages=/usr/pkgsrc/packages/OP_SYS_VER/i386/
prefix=/usr/pkg
pkgsrc=/usr/pkgsrc
pkgdb=/usr/pkg/var/db/pkg
varbase=/usr/pkg/var
# The following programs must NOT be inside ${prefix}
pkg_info=/usr/pbulk/sbin/pkg_info
pkg_add=/usr/pbulk/sbin/pkg_add
pkg_delete=/usr/pbulk/sbin/pkg_delete
# The tools that are used for building the packages. If you do not want
# to publish anything at all, set rsync=: and mail=:.
#
bzip2=/usr/bin/bzip2
digest=/usr/pbulk/bin/digest
gzip="/usr/bin/gzip -nf -9"
# On non-NetBSD, this should usually point at the bmake in ${prefix}, not the
# make used to build pbulk itself.
make=${prefix}/bin/bmake
mail=: #/usr/bin/mail
neato=/usr/pbulk/bin/neato
rsync=: #/usr/pbulk/bin/rsync
sed=/usr/bin/sed
tar=/bin/tar
loc=${bulklog}/meta
pbuild=/usr/pbulk/bin/pbulk-build
presolve=/usr/pbulk/bin/pbulk-resolve
pscan=/usr/pbulk/bin/pbulk-scan
# When a package build fails, it is often necessary to have a look at
# the working directory or the installed files. When these options are
# set to "yes", they will be archived in the log directory.
#
keep_wrkdir=no
keep_prefix=no
pkg_up_to_date_script=/usr/pbulk/libexec/pbulk/pkg-up-to-date
pbuild_script=/usr/pbulk/libexec/pbulk/pkg-build
pbuild_start_script=/usr/pbulk/libexec/pbulk/build-client-start
pscan_prepare=/usr/pbulk/libexec/pbulk/client-clean
pscan_start_script=/usr/pbulk/libexec/pbulk/scan-client-start
report_script=/usr/pbulk/libexec/pbulk/create-report
report_html_script=/usr/pbulk/libexec/pbulk/create-report-html
report_txt_script=/usr/pbulk/libexec/pbulk/create-report-txt
report_graph_script=/usr/pbulk/libexec/pbulk/create-broken-graph
packages_script=/usr/pbulk/libexec/pbulk/compute-packages
script_phase_pre_build=/usr/pbulk/libexec/pbulk/pre-build
script_phase_build=/usr/pbulk/libexec/pbulk/build
script_phase_report=/usr/pbulk/libexec/pbulk/report
script_phase_scan=/usr/pbulk/libexec/pbulk/scan
script_phase_upload=/usr/pbulk/libexec/pbulk/upload
# Arguments are buildlog and pkgname
sync_buildlog=:
# Arguments are path to the temporary package file, the package name
# and categories. The default handler just copies the file to ${packages}
# and creates the symlinks.
sync_package=default_sync_package
# PKG_SUFX as set in mk.conf
pkg_sufx=.tgz