aboutsummaryrefslogtreecommitdiff
path: root/release/scripts/pkg-stage.sh
diff options
context:
space:
mode:
Diffstat (limited to 'release/scripts/pkg-stage.sh')
-rwxr-xr-xrelease/scripts/pkg-stage.sh39
1 files changed, 39 insertions, 0 deletions
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