From 52efc840044a23bdae3f54de95b2d25cf567eb66 Mon Sep 17 00:00:00 2001 From: Renato Botelho Date: Tue, 17 Nov 2015 16:04:36 -0200 Subject: Create pfSense-repo and pfSense-repo-devel package. Ticket #5335 --- tools/builder_common.sh | 51 +++++++++++++++++++--- tools/builder_defaults.sh | 5 +++ .../templates/core_pkg/base-nanobsd/exclude_files | 1 + tools/templates/core_pkg/base/exclude_files | 1 + tools/templates/core_pkg/repo-devel/metadir/+DESC | 3 ++ .../core_pkg/repo-devel/metadir/+MANIFEST | 15 +++++++ tools/templates/core_pkg/repo-devel/pkg-plist | 1 + tools/templates/core_pkg/repo/metadir/+DESC | 3 ++ tools/templates/core_pkg/repo/metadir/+MANIFEST | 15 +++++++ tools/templates/core_pkg/repo/pkg-plist | 1 + 10 files changed, 89 insertions(+), 7 deletions(-) create mode 100644 tools/templates/core_pkg/repo-devel/metadir/+DESC create mode 100644 tools/templates/core_pkg/repo-devel/metadir/+MANIFEST create mode 100644 tools/templates/core_pkg/repo-devel/pkg-plist create mode 100644 tools/templates/core_pkg/repo/metadir/+DESC create mode 100644 tools/templates/core_pkg/repo/metadir/+MANIFEST create mode 100644 tools/templates/core_pkg/repo/pkg-plist (limited to 'tools') 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: <