summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2016-04-05 19:50:10 -0300
committerRenato Botelho <renato@netgate.com>2016-04-05 19:50:10 -0300
commita90f1c9b12c4d31ea845fa04188e599ba28dbaf1 (patch)
treec7332c7aef82031cac8a9ce8d7dea3d1e5bf9611 /tools
parenta35bf546b57558535e3fc1958cf3fb2b4d18ade7 (diff)
downloadpfsense-a90f1c9b12c4d31ea845fa04188e599ba28dbaf1.zip
pfsense-a90f1c9b12c4d31ea845fa04188e599ba28dbaf1.tar.gz
Rework the way repo packages work
- Distribute only a single pfSense-repo package containing all templates - Create a symlink pointing to selected repo - Do not limit it only to pfSense-repo and pfSense-repo-devel
Diffstat (limited to 'tools')
-rw-r--r--tools/builder_common.sh67
-rw-r--r--tools/builder_defaults.sh3
2 files changed, 29 insertions, 41 deletions
diff --git a/tools/builder_common.sh b/tools/builder_common.sh
index 759a1fc..65635b7 100644
--- a/tools/builder_common.sh
+++ b/tools/builder_common.sh
@@ -1136,17 +1136,10 @@ clone_to_staging_area() {
# Include a sample pkg stable conf to base
setup_pkg_repo \
+ ${PKG_REPO_DEFAULT} \
${STAGE_CHROOT_DIR}${PRODUCT_SHARE_DIR}/${PRODUCT_NAME}-repo.conf \
${TARGET} \
${TARGET_ARCH} \
- ${PKG_REPO_CONF_BRANCH} \
- "release"
-
- # Include a sample pkg devel conf to base
- setup_pkg_repo \
- ${STAGE_CHROOT_DIR}${PRODUCT_SHARE_DIR}/${PRODUCT_NAME}-repo-devel.conf \
- ${TARGET} \
- ${TARGET_ARCH} \
${PKG_REPO_CONF_BRANCH}
mtree \
@@ -1161,20 +1154,26 @@ clone_to_staging_area() {
-X ${_exclude_files} \
.
- mkdir -p $(dirname ${STAGE_CHROOT_DIR}${PKG_REPO_PATH}) >/dev/null 2>&1
-
- # Create repo and repo-devel packages
+ local _share_repos_path="${SCRATCHDIR}/repo-tmp/${PRODUCT_SHARE_DIR}/pkg/repos"
+ rm -rf ${SCRATCHDIR}/repo-tmp >/dev/null 2>&1
+ mkdir -p ${_share_repos_path} >/dev/null 2>&1
cp -f ${STAGE_CHROOT_DIR}${PRODUCT_SHARE_DIR}/${PRODUCT_NAME}-repo.conf \
- ${STAGE_CHROOT_DIR}${PKG_REPO_PATH}
+ ${_share_repos_path}
+ cp -f ${PKG_REPO_DEFAULT%%.conf}.descr ${_share_repos_path}
- core_pkg_create repo "" ${CORE_PKG_VERSION} ${STAGE_CHROOT_DIR}
-
- cp -f ${STAGE_CHROOT_DIR}${PRODUCT_SHARE_DIR}/${PRODUCT_NAME}-repo-devel.conf \
- ${STAGE_CHROOT_DIR}${PKG_REPO_PATH}
-
- core_pkg_create repo-devel "" ${CORE_PKG_VERSION} ${STAGE_CHROOT_DIR}
+ # Add additional repos
+ for _template in ${PKG_REPO_BASE}/${PRODUCT_NAME}-repo-*.conf; do
+ _template_filename=$(basename ${_template})
+ setup_pkg_repo \
+ ${_template} \
+ ${_share_repos_path}/${_template_filename} \
+ ${TARGET} \
+ ${TARGET_ARCH} \
+ ${PKG_REPO_CONF_BRANCH}
+ cp -f ${_template%%.conf}.descr ${_share_repos_path}
+ done
- rm -f ${STAGE_CHROOT_DIR}${PKG_REPO_PATH}
+ core_pkg_create repo "" ${CORE_PKG_VERSION} ${SCRATCHDIR}/repo-tmp
core_pkg_create rc "" ${CORE_PKG_VERSION} ${STAGE_CHROOT_DIR}
core_pkg_create base "" ${CORE_PKG_VERSION} ${STAGE_CHROOT_DIR}
@@ -1277,11 +1276,7 @@ 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
+ pkg_chroot_add ${FINAL_CHROOT_DIR} repo
if [ "${_image_type}" = "iso" -o \
"${_image_type}" = "memstick" -o \
@@ -1510,17 +1505,11 @@ setup_pkg_repo() {
return
fi
- local _target="${1}"
- 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
+ local _template="${1}"
+ local _target="${2}"
+ local _arch="${3}"
+ local _target_arch="${4}"
+ local _branch="${5}"
if [ -z "${_template}" -o ! -f "${_template}" ]; then
echo ">>> ERROR: It was not possible to find pkg conf template ${_template}"
@@ -1554,11 +1543,11 @@ builder_setup() {
local _arch=$(uname -m)
setup_pkg_repo \
+ ${PKG_REPO_DEFAULT} \
${PKG_REPO_PATH} \
${_arch} \
${_arch} \
- ${PKG_REPO_CONF_BRANCH} \
- ${IS_RELEASE}
+ ${PKG_REPO_CONF_BRANCH}
# Use fingerprint keys from repo
sed -i '' -e "/fingerprints:/ s,\"/,\"${BUILDER_ROOT}/src/," \
@@ -1671,11 +1660,11 @@ pkg_bootstrap() {
local _root=${1:-"${STAGE_CHROOT_DIR}"}
setup_pkg_repo \
+ ${PKG_REPO_DEFAULT} \
${_root}${PKG_REPO_PATH} \
${TARGET} \
${TARGET_ARCH} \
- ${PKG_REPO_CONF_BRANCH} \
- ${IS_RELEASE}
+ ${PKG_REPO_CONF_BRANCH}
pkg_chroot ${_root} bootstrap -f
}
diff --git a/tools/builder_defaults.sh b/tools/builder_defaults.sh
index b8f4bb6..6f32a7c 100644
--- a/tools/builder_defaults.sh
+++ b/tools/builder_defaults.sh
@@ -312,8 +312,7 @@ export CORE_PKG_REAL_PATH="${CORE_PKG_PATH}/.real_${DATESTRING}"
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_DEVEL_TEMPLATE:-"${PKG_REPO_BASE}/${PRODUCT_NAME}-devel.conf.template"}
+export PKG_REPO_DEFAULT=${PKG_REPO_DEFAULT:-"${PKG_REPO_BASE}/${PRODUCT_NAME}-repo.conf"}
export PKG_REPO_PATH=${PKG_REPO_PATH:-"/usr/local/etc/pkg/repos/${PRODUCT_NAME}.conf"}
export PRODUCT_SHARE_DIR=${PRODUCT_SHARE_DIR:-"/usr/local/share/${PRODUCT_NAME}"}
OpenPOWER on IntegriCloud