summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2015-11-26 17:46:40 -0200
committerRenato Botelho <renato@netgate.com>2015-11-26 17:46:40 -0200
commita3bb036b90e99b028a5fd3f1fdbd24f783e04a88 (patch)
treeecd63bc1d6619f91f5cc70c2f201808651a0ab47 /tools
parent75b167425dfd1af434a3f1dad0840b044e91d292 (diff)
downloadpfsense-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.sh62
-rw-r--r--tools/builder_defaults.sh1
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"
OpenPOWER on IntegriCloud