diff options
author | Renato Botelho <renato@netgate.com> | 2016-04-05 19:50:10 -0300 |
---|---|---|
committer | Renato Botelho <renato@netgate.com> | 2016-04-05 19:54:59 -0300 |
commit | db8621d8f4d6e36d1d6c14346dfd0afaff7903c3 (patch) | |
tree | ad1411cfa955ed29d29ecf976523f3eaf653eb73 /tools | |
parent | 0f03b62a47cf2971778c58481cb6e8cc9ff7bc9c (diff) | |
download | pfsense-db8621d8f4d6e36d1d6c14346dfd0afaff7903c3.zip pfsense-db8621d8f4d6e36d1d6c14346dfd0afaff7903c3.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
(cherry picked from commit a90f1c9b12c4d31ea845fa04188e599ba28dbaf1)
Diffstat (limited to 'tools')
-rw-r--r-- | tools/builder_common.sh | 67 | ||||
-rw-r--r-- | tools/builder_defaults.sh | 3 |
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 9299228..a3d47bc 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}"} |