aboutsummaryrefslogtreecommitdiff
path: root/release
diff options
context:
space:
mode:
authorGlen Barber <gjb@FreeBSD.org>2013-11-18 15:22:55 +0000
committerGlen Barber <gjb@FreeBSD.org>2013-11-18 15:22:55 +0000
commit042a51f641253b1e9e93badf3c0ca773d2ba4a14 (patch)
treee5217d0efe52949c735a626585249f72b68330fa /release
parent849861d03f87c0cb6a4e9d0319b667b6ad12244c (diff)
downloadsrc-042a51f641253b1e9e93badf3c0ca773d2ba4a14.tar.gz
src-042a51f641253b1e9e93badf3c0ca773d2ba4a14.zip
Add a script and configuration files to fetch pre-built packages
from pkg.FreeBSD.org for inclusion on release medium (dvd1.iso). The script sources ${.CURDIR}/${TARGET}/pkg-stage.conf, which sets several environment variables, such as the pkg(8) ABI, PACKAGESITE, PKG_DBDIR, and PKG_CACHEDIR. PKG_CACHEDIR is set to the directory on the release medium used by bsdconfig(8) (/packages/${ABI}). ABI is determined by output of 'make -C /usr/src/release -V REVISION'. See pkg.conf(5) for descripton on other variables set here. The list of packages to include are set within the configuration file. The script and configuration files are intended to be run by the 'make dvd' target within the release directory, and assume the release is built within a chroot environment (such as by using release.sh). Relevant updates to release/Makefile will follow. Sponsored by: The FreeBSD Foundation
Notes
Notes: svn path=/head/; revision=258307
Diffstat (limited to 'release')
-rwxr-xr-xrelease/amd64/pkg-stage.conf36
-rwxr-xr-xrelease/i386/pkg-stage.conf36
-rwxr-xr-xrelease/scripts/pkg-stage.sh39
3 files changed, 111 insertions, 0 deletions
diff --git a/release/amd64/pkg-stage.conf b/release/amd64/pkg-stage.conf
new file mode 100755
index 000000000000..d3172bc923c4
--- /dev/null
+++ b/release/amd64/pkg-stage.conf
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+export PKG_ABI="freebsd:$(echo ${REVISION} | tr -d '.0'):x86:64"
+export ASSUME_ALWAYS_YES=1
+export __PKG_CONF="/etc/pkg/FreeBSD.conf"
+export PACKAGESITE="http://pkg.FreeBSD.org/${PKG_ABI}/latest"
+export MIRROR_TYPE="SRV"
+export REPO_AUTOUPDATE="NO"
+export PKG_DBDIR="/tmp/pkg"
+export PKG_CACHEDIR="release/packages/${PKG_ABI}"
+export PERMISSIVE="YES"
+export PKGCMD="/usr/sbin/pkg -d -C ${__PKG_CONF}"
+
+DVD_PACKAGES="archivers/unzip
+devel/subversion
+devel/subversion-static
+emulators/linux_base-f10
+misc/freebsd-doc-all
+net/mpd5
+net/rsync
+ports-mgmt/pkg
+ports-mgmt/portaudit
+ports-mgmt/portmaster
+shells/bash
+shells/zsh
+security/sudo
+sysutils/screen
+www/firefox
+www/links
+x11-drivers/xf86-video-vmware
+x11/gnome2
+x11/kde4
+x11/xorg"
diff --git a/release/i386/pkg-stage.conf b/release/i386/pkg-stage.conf
new file mode 100755
index 000000000000..d2138c4f3f0e
--- /dev/null
+++ b/release/i386/pkg-stage.conf
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+export PKG_ABI="freebsd:$(echo ${REVISION} | tr -d '.0'):x86:32"
+export ASSUME_ALWAYS_YES=1
+export __PKG_CONF="/etc/pkg/FreeBSD.conf"
+export PACKAGESITE="http://pkg.FreeBSD.org/${PKG_ABI}/latest"
+export MIRROR_TYPE="SRV"
+export REPO_AUTOUPDATE="NO"
+export PKG_DBDIR="/tmp/pkg"
+export PKG_CACHEDIR="release/packages/${PKG_ABI}"
+export PERMISSIVE="YES"
+export PKGCMD="/usr/sbin/pkg -d -C ${__PKG_CONF}"
+
+DVD_PACKAGES="archivers/unzip
+devel/subversion
+devel/subversion-static
+emulators/linux_base-f10
+misc/freebsd-doc-all
+net/mpd5
+net/rsync
+ports-mgmt/pkg
+ports-mgmt/portaudit
+ports-mgmt/portmaster
+shells/bash
+shells/zsh
+security/sudo
+sysutils/screen
+www/firefox
+www/links
+x11-drivers/xf86-video-vmware
+x11/gnome2
+x11/kde4
+x11/xorg"
diff --git a/release/scripts/pkg-stage.sh b/release/scripts/pkg-stage.sh
new file mode 100755
index 000000000000..348e1530dda6
--- /dev/null
+++ b/release/scripts/pkg-stage.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+set -e
+
+usage() {
+ echo "$(basename ${0}) /path/to/pkg-stage.conf revision"
+ exit 1
+}
+
+if [ ! -e "${1}" ]; then
+ echo "Configuration file not specified."
+ echo
+ usage
+fi
+
+if [ "$#" -lt 2 ]; then
+ usage
+fi
+
+# Source config file for this architecture.
+REVISION="${2}"
+. "${1}" || exit 1
+
+if [ ! -x /usr/local/sbin/pkg ]; then
+ /usr/sbin/pkg bootstrap
+fi
+
+/bin/mkdir -p ${PKG_CACHEDIR}
+
+${PKGCMD} update -f
+${PKGCMD} fetch -d ${DVD_PACKAGES}
+
+${PKGCMD} repo ${PKG_CACHEDIR}
+
+# Always exit '0', even if pkg(8) complains about conflicts.
+exit 0