diff options
author | Renato Botelho <renato@netgate.com> | 2015-11-26 17:46:40 -0200 |
---|---|---|
committer | Renato Botelho <renato@netgate.com> | 2015-11-26 17:46:40 -0200 |
commit | a3bb036b90e99b028a5fd3f1fdbd24f783e04a88 (patch) | |
tree | ecd63bc1d6619f91f5cc70c2f201808651a0ab47 /tools | |
parent | 75b167425dfd1af434a3f1dad0840b044e91d292 (diff) | |
download | pfsense-a3bb036b90e99b028a5fd3f1fdbd24f783e04a88.zip pfsense-a3bb036b90e99b028a5fd3f1fdbd24f783e04a88.tar.gz |
Rename ports and upgrade script when product is not called pfSense
Diffstat (limited to 'tools')
-rw-r--r-- | tools/builder_common.sh | 62 | ||||
-rw-r--r-- | tools/builder_defaults.sh | 1 |
2 files changed, 63 insertions, 0 deletions
diff --git a/tools/builder_common.sh b/tools/builder_common.sh index c6b869d..15ddc36 100644 --- a/tools/builder_common.sh +++ b/tools/builder_common.sh @@ -1020,6 +1020,11 @@ clone_to_staging_area() { tar -C ${PRODUCT_SRC} -c -f - . | \ tar -C ${STAGE_CHROOT_DIR} -x -p -f - + if [ "${PRODUCT_NAME}" != "pfSense" ]; then + mv ${STAGE_CHROOT_DIR}/usr/local/sbin/pfSense-upgrade \ + ${STAGE_CHROOT_DIR}/usr/local/sbin/${PRODUCT_NAME}-upgrade + fi + if [ -f ${STAGE_CHROOT_DIR}/etc/master.passwd ]; then chroot ${STAGE_CHROOT_DIR} cap_mkdb /etc/master.passwd chroot ${STAGE_CHROOT_DIR} pwd_mkdb /etc/master.passwd @@ -1794,6 +1799,61 @@ poudriere_jail_name() { echo "${PRODUCT_NAME}_${GIT_REPO_BRANCH_OR_TAG}_${_jail_arch}" } +poudriere_rename_ports() { + if [ "${PRODUCT_NAME}" = "pfSense" ]; then + return; + fi + + LOGFILE=${BUILDER_LOGS}/poudriere.log + + local _ports_dir="/usr/local/poudriere/ports/${POUDRIERE_PORTS_NAME}" + + echo -n ">>> Renaming product ports on ${POUDRIERE_PORTS_NAME}... " | tee -a ${LOGFILE} + for d in $(find ${_ports_dir} -depth 2 -type d -name '*pfSense*'); do + local _pdir=$(dirname ${d}) + local _pname=$(echo $(basename ${d}) | sed "s,pfSense,${PRODUCT_NAME},") + + if [ -e ${_pdir}/${_pname} ]; then + rm -rf ${_pdir}/${_pname} + fi + + cp -r ${d} ${_pdir}/${_pname} + + sed -i '' -e "s,pfSense,${PRODUCT_NAME},g" \ + -e "s,https://www.pfsense.org,${PRODUCT_URL},g" \ + -e "/^MAINTAINER=/ s,^.*$,MAINTAINER= ${PRODUCT_EMAIL}," \ + ${_pdir}/${_pname}/Makefile \ + ${_pdir}/${_pname}/pkg-descr + + # PHP module is special + if echo "${_pname}" | grep -q "^php[0-9]*-${PRODUCT_NAME}-module"; then + local _product_capital=$(echo ${PRODUCT_NAME} | tr '[a-z]' '[A-Z]') + sed -i '' -e "s,PHP_PFSENSE,PHP_${_product_capital},g" \ + -e "s,PFSENSE_SHARED_LIBADD,${_product_capital}_SHARED_LIBADD,g" \ + -e "s,pfSense,${PRODUCT_NAME},g" \ + -e "s,${PRODUCT_NAME}\.c,pfSense.c,g" \ + ${_pdir}/${_pname}/files/config.m4 + + sed -i '' -e "s,COMPILE_DL_PFSENSE,COMPILE_DL_${_product_capital}," \ + -e "s,pfSense_module_entry,${PRODUCT_NAME}_module_entry,g" \ + -e "/ZEND_GET_MODULE/ s,pfSense,${PRODUCT_NAME}," \ + -e "/PHP_PFSENSE_WORLD_EXTNAME/ s,pfSense,${PRODUCT_NAME}," \ + ${_pdir}/${_pname}/files/pfSense.c \ + ${_pdir}/${_pname}/files/php_pfSense.h + fi + + if [ -d ${_pdir}/${_pname}/files ]; then + for fd in $(find ${_pdir}/${_pname}/files -type d -name '*pfSense*'); do + local _fddir=$(dirname ${fd}) + local _fdname=$(echo $(basename ${fd}) | sed "s,pfSense,${PRODUCT_NAME},") + + mv ${fd} ${_fddir}/${_fdname} + done + fi + done + echo "Done!" | tee -a ${LOGFILE} +} + poudriere_create_ports_tree() { LOGFILE=${BUILDER_LOGS}/poudriere.log @@ -1813,6 +1873,7 @@ poudriere_create_ports_tree() { print_error_pfS fi echo "Done!" | tee -a ${LOGFILE} + poudriere_rename_ports fi } @@ -1978,6 +2039,7 @@ poudriere_update_ports() { echo -n ">>> Updating ports tree ${POUDRIERE_PORTS_NAME}... " | tee -a ${LOGFILE} script -aq ${LOGFILE} poudriere ports -u -p "${POUDRIERE_PORTS_NAME}" >/dev/null 2>&1 echo "Done!" | tee -a ${LOGFILE} + poudriere_rename_ports fi } diff --git a/tools/builder_defaults.sh b/tools/builder_defaults.sh index 4d1b448..97c13cc 100644 --- a/tools/builder_defaults.sh +++ b/tools/builder_defaults.sh @@ -107,6 +107,7 @@ fi export PRODUCT_NAME=${PRODUCT_NAME:-"nonSense"} export PRODUCT_URL=${PRODUCT_URL:-""} export PRODUCT_SRC=${PRODUCT_SRC:-"${BUILDER_ROOT}/src"} +export PRODUCT_EMAIL=${PRODUCT_EMAIL:-"coreteam@pfsense.org"} if [ "${PRODUCT_NAME}" = "pfSense" -a "${BUILD_AUTHORIZED_BY_ELECTRIC_SHEEP_FENCING}" != "yes" ]; then echo ">>>ERROR: According the following license, only Electric Sheep Fencing can build genuine pfSense® software" |