summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2015-11-17 16:04:36 -0200
committerRenato Botelho <renato@netgate.com>2015-11-17 16:19:15 -0200
commit52efc840044a23bdae3f54de95b2d25cf567eb66 (patch)
tree25a6871e7081fa77292ce9cd5003cbc36bab3c81 /tools
parenta088bcb5537b0680fba619da6bd96652ac08c0c2 (diff)
downloadpfsense-52efc840044a23bdae3f54de95b2d25cf567eb66.zip
pfsense-52efc840044a23bdae3f54de95b2d25cf567eb66.tar.gz
Create pfSense-repo and pfSense-repo-devel package. Ticket #5335
Diffstat (limited to 'tools')
-rw-r--r--tools/builder_common.sh51
-rw-r--r--tools/builder_defaults.sh5
-rw-r--r--tools/templates/core_pkg/base-nanobsd/exclude_files1
-rw-r--r--tools/templates/core_pkg/base/exclude_files1
-rw-r--r--tools/templates/core_pkg/repo-devel/metadir/+DESC3
-rw-r--r--tools/templates/core_pkg/repo-devel/metadir/+MANIFEST15
-rw-r--r--tools/templates/core_pkg/repo-devel/pkg-plist1
-rw-r--r--tools/templates/core_pkg/repo/metadir/+DESC3
-rw-r--r--tools/templates/core_pkg/repo/metadir/+MANIFEST15
-rw-r--r--tools/templates/core_pkg/repo/pkg-plist1
10 files changed, 89 insertions, 7 deletions
diff --git a/tools/builder_common.sh b/tools/builder_common.sh
index 603f933..6e5c62a 100644
--- a/tools/builder_common.sh
+++ b/tools/builder_common.sh
@@ -1060,6 +1060,24 @@ clone_to_staging_area() {
-X ${_exclude_files} \
.
+ setup_pkg_repo \
+ ${STAGE_CHROOT_DIR}${PKG_REPO_PATH} \
+ ${TARGET} \
+ ${TARGET_ARCH} \
+ ${PKG_REPO_CONF_BRANCH} \
+ "release"
+
+ core_pkg_create repo "" ${CORE_PKG_VERSION} ${STAGE_CHROOT_DIR}
+
+ setup_pkg_repo \
+ ${STAGE_CHROOT_DIR}${PKG_REPO_PATH} \
+ ${TARGET} \
+ ${TARGET_ARCH} \
+ ${PKG_REPO_CONF_BRANCH}
+
+ core_pkg_create repo-devel "" ${CORE_PKG_VERSION} ${STAGE_CHROOT_DIR}
+ rm -f ${STAGE_CHROOT_DIR}${PKG_REPO_PATH}
+
core_pkg_create rc "" ${CORE_PKG_VERSION} ${STAGE_CHROOT_DIR}
core_pkg_create base "" ${CORE_PKG_VERSION} ${STAGE_CHROOT_DIR}
core_pkg_create base-nanobsd "" ${CORE_PKG_VERSION} ${STAGE_CHROOT_DIR}
@@ -1139,6 +1157,12 @@ customize_stagearea_for_image() {
pkg_chroot_add ${FINAL_CHROOT_DIR} base
fi
+ if [ -n "${IS_RELEASE}" ]; then
+ pkg_chroot_add ${FINAL_CHROOT_DIR} repo
+ else
+ pkg_chroot_add ${FINAL_CHROOT_DIR} repo-devel
+ fi
+
if [ "${1}" = "iso" -o \
"${1}" = "memstick" -o \
"${1}" = "memstickserial" -o \
@@ -1384,6 +1408,18 @@ setup_pkg_repo() {
local _arch="${2}"
local _target_arch="${3}"
local _branch="${4}"
+ local _release="${5}"
+
+ if [ -n "${_release}" ]; then
+ local _template="${PKG_REPO_TEMPLATE}"
+ else
+ local _template="${PKG_REPO_DEVEL_TEMPLATE}"
+ fi
+
+ if [ -z "${_template}" -o ! -f "${_template}" ]; then
+ echo ">>> ERROR: It was not possible to find pkg conf template ${_template}"
+ print_error_pfS
+ fi
mkdir -p $(dirname ${_target}) >/dev/null 2>&1
@@ -1392,7 +1428,7 @@ setup_pkg_repo() {
-e "s/%%GIT_REPO_BRANCH_OR_TAG%%/${_branch}/g" \
-e "s,%%PKG_REPO_SERVER%%,${PKG_REPO_SERVER},g" \
-e "s/%%PRODUCT_NAME%%/${PRODUCT_NAME}/g" \
- ${FREEBSD_SRC_DIR}/release/pkg_repos/${PRODUCT_NAME}.conf.template \
+ ${_template} \
> ${_target}
}
@@ -1404,15 +1440,15 @@ builder_setup() {
return
fi
- if [ ! -f /usr/local/etc/pkg/repos/${PRODUCT_NAME}.conf ]; then
- [ -d /usr/local/etc/pkg/repos ] \
- || mkdir -p /usr/local/etc/pkg/repos
+ if [ ! -f ${PKG_REPO_PATH} ]; then
+ [ -d $(dirname ${PKG_REPO_PATH}) ] \
+ || mkdir -p $(dirname ${PKG_REPO_PATH})
update_freebsd_sources
local _arch=$(uname -m)
setup_pkg_repo \
- /usr/local/etc/pkg/repos/${PRODUCT_NAME}.conf \
+ ${PKG_REPO_PATH} \
${_arch} \
${_arch} \
${PKG_REPO_CONF_BRANCH}
@@ -1524,10 +1560,11 @@ pkg_bootstrap() {
local _root=${1:-"${STAGE_CHROOT_DIR}"}
setup_pkg_repo \
- ${_root}/usr/local/etc/pkg/repos/${PRODUCT_NAME}.conf \
+ ${_root}${PKG_REPO_PATH} \
${TARGET} \
${TARGET_ARCH} \
- ${PKG_REPO_CONF_BRANCH}
+ ${PKG_REPO_CONF_BRANCH} \
+ ${IS_RELEASE}
pkg_chroot ${_root} bootstrap -f
}
diff --git a/tools/builder_defaults.sh b/tools/builder_defaults.sh
index 18556d0..ac96c31 100644
--- a/tools/builder_defaults.sh
+++ b/tools/builder_defaults.sh
@@ -305,6 +305,11 @@ export CORE_PKG_VERSION="${PRODUCT_VERSION%%-*}${CORE_PKG_DATESTRING}"
export CORE_PKG_PATH=${CORE_PKG_PATH:-"${SCRATCHDIR}/${PRODUCT_NAME}_${GIT_REPO_BRANCH_OR_TAG}_${TARGET}_${TARGET_ARCH}-core"}
export CORE_PKG_TMP=${CORE_PKG_TMP:-"${SCRATCHDIR}/core_pkg_tmp"}
+export PKG_REPO_BASE=${PKG_REPO_BASE:-"${FREEBSD_SRC_DIR}/release/pkg_repos"}
+export PKG_REPO_TEMPLATE=${PKG_REPO_TEMPLATE:-"${PKG_REPO_BASE}/${PRODUCT_NAME}.conf.template"}
+export PKG_REPO_DEVEL_TEMPLATE=${PKG_REPO_TEMPLATE:-"${PKG_REPO_BASE}/${PRODUCT_NAME}-devel.conf.template"}
+export PKG_REPO_PATH=${PKG_REPO_PATH:-"/usr/local/etc/pkg/repos/${PRODUCT_NAME}.conf"}
+
# Package overlay. This gives people a chance to build product
# installable image that already contains certain extra packages.
#
diff --git a/tools/templates/core_pkg/base-nanobsd/exclude_files b/tools/templates/core_pkg/base-nanobsd/exclude_files
index 8228dc9..3ad5816 100644
--- a/tools/templates/core_pkg/base-nanobsd/exclude_files
+++ b/tools/templates/core_pkg/base-nanobsd/exclude_files
@@ -27,3 +27,4 @@
./tmp
./usr/local/share/%%PRODUCT_NAME%%/base.mtree
./usr/local/share/%%PRODUCT_NAME%%/base.txz
+./usr/local/etc/pkg/repos/%%PRODUCT_NAME%%.conf
diff --git a/tools/templates/core_pkg/base/exclude_files b/tools/templates/core_pkg/base/exclude_files
index d21c093..b323acb 100644
--- a/tools/templates/core_pkg/base/exclude_files
+++ b/tools/templates/core_pkg/base/exclude_files
@@ -24,3 +24,4 @@
./tmp
./usr/local/share/%%PRODUCT_NAME%%/base.mtree
./usr/local/share/%%PRODUCT_NAME%%/base.txz
+./usr/local/etc/pkg/repos/%%PRODUCT_NAME%%.conf
diff --git a/tools/templates/core_pkg/repo-devel/metadir/+DESC b/tools/templates/core_pkg/repo-devel/metadir/+DESC
new file mode 100644
index 0000000..4196161
--- /dev/null
+++ b/tools/templates/core_pkg/repo-devel/metadir/+DESC
@@ -0,0 +1,3 @@
+%%PRODUCT_NAME%% pkg repository configuration (devel)
+
+WWW: %%PRODUCT_URL%%
diff --git a/tools/templates/core_pkg/repo-devel/metadir/+MANIFEST b/tools/templates/core_pkg/repo-devel/metadir/+MANIFEST
new file mode 100644
index 0000000..745383a
--- /dev/null
+++ b/tools/templates/core_pkg/repo-devel/metadir/+MANIFEST
@@ -0,0 +1,15 @@
+name: "%%PRODUCT_NAME%%-repo-devel"
+version: "%%VERSION%%"
+origin: "security/%%PRODUCT_NAME%%-repo-devel"
+comment: <<EOD
+%%PRODUCT_NAME%% pkg repository configuration (devel)
+EOD
+maintainer: development@pfsense.org
+prefix: /usr/local
+deps: {
+
+}
+categories [ security, ]
+licenselogic: single
+licenses: [ BSD2CLAUSE, ]
+options: { }
diff --git a/tools/templates/core_pkg/repo-devel/pkg-plist b/tools/templates/core_pkg/repo-devel/pkg-plist
new file mode 100644
index 0000000..e1184e0
--- /dev/null
+++ b/tools/templates/core_pkg/repo-devel/pkg-plist
@@ -0,0 +1 @@
+etc/pkg/repos/pfSense.conf
diff --git a/tools/templates/core_pkg/repo/metadir/+DESC b/tools/templates/core_pkg/repo/metadir/+DESC
new file mode 100644
index 0000000..ec6bbc5
--- /dev/null
+++ b/tools/templates/core_pkg/repo/metadir/+DESC
@@ -0,0 +1,3 @@
+%%PRODUCT_NAME%% pkg repository configuration (stable)
+
+WWW: %%PRODUCT_URL%%
diff --git a/tools/templates/core_pkg/repo/metadir/+MANIFEST b/tools/templates/core_pkg/repo/metadir/+MANIFEST
new file mode 100644
index 0000000..9487b7b
--- /dev/null
+++ b/tools/templates/core_pkg/repo/metadir/+MANIFEST
@@ -0,0 +1,15 @@
+name: "%%PRODUCT_NAME%%-repo"
+version: "%%VERSION%%"
+origin: "security/%%PRODUCT_NAME%%-repo"
+comment: <<EOD
+%%PRODUCT_NAME%% pkg repository configuration (stable)
+EOD
+maintainer: development@pfsense.org
+prefix: /usr/local
+deps: {
+
+}
+categories [ security, ]
+licenselogic: single
+licenses: [ BSD2CLAUSE, ]
+options: { }
diff --git a/tools/templates/core_pkg/repo/pkg-plist b/tools/templates/core_pkg/repo/pkg-plist
new file mode 100644
index 0000000..e1184e0
--- /dev/null
+++ b/tools/templates/core_pkg/repo/pkg-plist
@@ -0,0 +1 @@
+etc/pkg/repos/pfSense.conf
OpenPOWER on IntegriCloud