From a90f1c9b12c4d31ea845fa04188e599ba28dbaf1 Mon Sep 17 00:00:00 2001 From: Renato Botelho Date: Tue, 5 Apr 2016 19:50:10 -0300 Subject: 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 --- tools/builder_common.sh | 67 +++++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 39 deletions(-) (limited to 'tools/builder_common.sh') 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 } -- cgit v1.1