diff options
author | Renato Botelho <renato@netgate.com> | 2016-05-12 17:20:40 -0300 |
---|---|---|
committer | Renato Botelho <renato@netgate.com> | 2016-05-12 17:20:53 -0300 |
commit | ac4645244f2ee3f4341e48f8eb4bb75217ec5775 (patch) | |
tree | c0c94eef6d349068350b9ec230027403d7375d61 /tools | |
parent | da249a00a3015c17f995e65a9830a7142b9f7356 (diff) | |
download | pfsense-ac4645244f2ee3f4341e48f8eb4bb75217ec5775.zip pfsense-ac4645244f2ee3f4341e48f8eb4bb75217ec5775.tar.gz |
Adjust build code to run with poudriere-devel, what have support to build jail from git and remove workaround used in the past to make it possible to build from svn applying patches
Diffstat (limited to 'tools')
-rw-r--r-- | tools/builder_common.sh | 57 | ||||
-rw-r--r-- | tools/builder_defaults.sh | 18 |
2 files changed, 26 insertions, 49 deletions
diff --git a/tools/builder_common.sh b/tools/builder_common.sh index 545c009..f94ff2a 100644 --- a/tools/builder_common.sh +++ b/tools/builder_common.sh @@ -423,7 +423,6 @@ print_flags() { printf " Source DIR: %s\n" $FREEBSD_SRC_DIR printf " FreeBSD repository: %s\n" $FREEBSD_REPO_BASE printf " FreeBSD-src branch: %s\n" $FREEBSD_BRANCH - printf " FreeBSD original branch: %s\n" $FREEBSD_PARENT_BRANCH printf " BUILD_KERNELS: %s\n" $BUILD_KERNELS printf " Git Branch or Tag: %s\n" $GIT_REPO_BRANCH_OR_TAG printf " MODULES_OVERRIDE: %s\n" $MODULES_OVERRIDE @@ -1959,34 +1958,6 @@ pkg_repo_rsync() { fi } -poudriere_create_patch() { - local _jail_patch="${SCRATCHDIR}/poudriere_jail.${POUDRIERE_BRANCH}.patch" - - if [ -z "${FREEBSD_PARENT_BRANCH}" ]; then - echo ">>> ERROR: FREEBSD_PARENT_BRANCH is not set" - fi - - LOGFILE=${BUILDER_LOGS}/poudriere.log - - # Get FreeBSD source and apply patches - update_freebsd_sources full - - [ -f "${_jail_patch}" ] && \ - rm -f "${_jail_patch}" - - # Create a big patch with all our changes to use on jail - ( \ - cd ${FREEBSD_SRC_DIR} && \ - git diff $(git merge-base origin/${FREEBSD_PARENT_BRANCH} ${FREEBSD_BRANCH}) > ${_jail_patch} - ) >/dev/null 2>&1 - - # Check if patch was created - if [ ! -s "${_jail_patch}" ]; then - echo ">>> ERROR: Patch does not exist or is empty, aborting..." | tee -a ${LOGFILE} - print_error_pfS - fi -} - poudriere_possible_archs() { local _arch=$(uname -m) local _archs="i386.i386" @@ -2110,7 +2081,7 @@ poudriere_create_ports_tree() { _branch="-B ${POUDRIERE_PORTS_GIT_BRANCH}" fi echo -n ">>> Creating poudriere ports tree, it may take some time... " | tee -a ${LOGFILE} - if ! script -aq ${LOGFILE} poudriere ports -c -p "${POUDRIERE_PORTS_NAME}" -m git ${_branch} >/dev/null 2>&1; then + if ! script -aq ${LOGFILE} poudriere ports -c -p "${POUDRIERE_PORTS_NAME}" -m git -U ${POUDRIERE_PORTS_GIT_URL} ${_branch} >/dev/null 2>&1; then echo "" | tee -a ${LOGFILE} echo ">>> ERROR: Error creating poudriere ports tree, aborting..." | tee -a ${LOGFILE} print_error_pfS @@ -2123,7 +2094,6 @@ poudriere_create_ports_tree() { poudriere_init() { local _error=0 local _archs=$(poudriere_possible_archs) - local _jail_patch="${SCRATCHDIR}/poudriere_jail.${POUDRIERE_BRANCH}.patch" LOGFILE=${BUILDER_LOGS}/poudriere.log @@ -2166,10 +2136,10 @@ poudriere_init() { fi # Make sure poudriere is installed - if ! pkg info --quiet poudriere; then - echo ">>> Installing poudriere..." | tee -a ${LOGFILE} - if ! pkg install poudriere >/dev/null 2>&1; then - echo ">>> ERROR: poudriere was not installed, aborting..." | tee -a ${LOGFILE} + if ! pkg info --quiet poudriere-devel; then + echo ">>> Installing poudriere-devel..." | tee -a ${LOGFILE} + if ! pkg install poudriere-devel >/dev/null 2>&1; then + echo ">>> ERROR: poudriere-devel was not installed, aborting..." | tee -a ${LOGFILE} print_error_pfS fi fi @@ -2201,10 +2171,6 @@ EOF [ ! -d /usr/local/etc/poudriere.d ] \ && mkdir -p /usr/local/etc/poudriere.d - cat <<EOF >/usr/local/etc/poudriere.d/${POUDRIERE_PORTS_NAME}-poudriere.conf -GIT_URL="${POUDRIERE_PORTS_GIT_URL}" -EOF - # Create DISTFILES_CACHE if it doesn't exist if [ ! -d /usr/ports/distfiles ]; then mkdir -p /usr/ports/distfiles @@ -2226,8 +2192,6 @@ EOF poudriere ports -d -p "${POUDRIERE_PORTS_NAME}" fi - poudriere_create_patch - local native_xtools="" # Now we are ready to create jails for jail_arch in ${_archs}; do @@ -2241,8 +2205,8 @@ EOF echo -n ">>> Creating jail ${jail_name}, it may take some time... " | tee -a ${LOGFILE} # XXX: Change -m to git when it's available in poudriere - if ! script -aq ${LOGFILE} poudriere jail -c -j "${jail_name}" -v ${FREEBSD_PARENT_BRANCH} \ - -a ${jail_arch} -m svn -P ${_jail_patch} ${native_xtools} >/dev/null 2>&1; then + if ! script -aq ${LOGFILE} poudriere jail -c -j "${jail_name}" -v ${FREEBSD_BRANCH} \ + -a ${jail_arch} -m git -U ${FREEBSD_REPO_BASE_POUDRIERE} ${native_xtools} >/dev/null 2>&1; then echo "" | tee -a ${LOGFILE} echo ">>> ERROR: Error creating jail ${jail_name}, aborting..." | tee -a ${LOGFILE} print_error_pfS @@ -2257,12 +2221,9 @@ EOF poudriere_update_jails() { local _archs=$(poudriere_possible_archs) - local _jail_patch="${SCRATCHDIR}/poudriere_jail.${POUDRIERE_BRANCH}.patch" LOGFILE=${BUILDER_LOGS}/poudriere.log - poudriere_create_patch - local native_xtools="" for jail_arch in ${_archs}; do jail_name=$(poudriere_jail_name ${jail_arch}) @@ -2271,7 +2232,7 @@ poudriere_update_jails() { local _create_or_update_text="Updating" if ! poudriere jail -i -j "${jail_name}" >/dev/null 2>&1; then echo ">>> Poudriere jail ${jail_name} not found, creating..." | tee -a ${LOGFILE} - _create_or_update="-c -v ${FREEBSD_PARENT_BRANCH} -a ${jail_arch} -m svn" + _create_or_update="-c -v ${FREEBSD_BRANCH} -a ${jail_arch} -m git -U ${FREEBSD_REPO_BASE_POUDRIERE}" _create_or_update_text="Creating" fi @@ -2282,7 +2243,7 @@ poudriere_update_jails() { fi echo -n ">>> ${_create_or_update_text} jail ${jail_name}, it may take some time... " | tee -a ${LOGFILE} - if ! script -aq ${LOGFILE} poudriere jail ${_create_or_update} -j "${jail_name}" -P ${_jail_patch} ${native_xtools} >/dev/null 2>&1; then + if ! script -aq ${LOGFILE} poudriere jail ${_create_or_update} -j "${jail_name}" ${native_xtools} >/dev/null 2>&1; then echo "" | tee -a ${LOGFILE} echo ">>> ERROR: Error ${_create_or_update_text} jail ${jail_name}, aborting..." | tee -a ${LOGFILE} print_error_pfS diff --git a/tools/builder_defaults.sh b/tools/builder_defaults.sh index 41a2698..3b256c7 100644 --- a/tools/builder_defaults.sh +++ b/tools/builder_defaults.sh @@ -143,7 +143,6 @@ GIT_REPO_BASE=$(git -C ${BUILDER_ROOT} config --get remote.origin.url | sed -e ' # This is used for using svn for retrieving src export FREEBSD_REPO_BASE=${FREEBSD_REPO_BASE:-"${GIT_REPO_BASE}/freebsd-src.git"} export FREEBSD_BRANCH=${FREEBSD_BRANCH:-"devel"} -export FREEBSD_PARENT_BRANCH=${FREEBSD_PARENT_BRANCH:-"stable/10"} export FREEBSD_SRC_DIR=${FREEBSD_SRC_DIR:-"${SCRATCHDIR}/FreeBSD-src"} if [ "${TARGET}" = "i386" ]; then @@ -152,6 +151,16 @@ else export BUILD_KERNELS=${BUILD_KERNELS:-"${PRODUCT_NAME}"} fi +# XXX: Poudriere doesn't like ssh short form +case "${FREEBSD_REPO_BASE}" in + git@*) + export FREEBSD_REPO_BASE_POUDRIERE="ssh://$(echo ${FREEBSD_REPO_BASE} | sed 's,:,/,')" + ;; + *) + export FREEBSD_REPO_BASE_POUDRIERE="${FREEBSD_REPO_BASE}" + ;; +esac + # Leave this alone. export SRC_CONF=${SRC_CONF:-"${FREEBSD_SRC_DIR}/release/conf/${PRODUCT_NAME}_src.conf"} export MAKE_CONF=${MAKE_CONF:-"${FREEBSD_SRC_DIR}/release/conf/${PRODUCT_NAME}_make.conf"} @@ -272,6 +281,13 @@ export POUDRIERE_BULK=${POUDRIERE_BULK:-"${BUILDER_TOOLS}/conf/pfPorts/poudriere export POUDRIERE_PORTS_GIT_URL=${POUDRIERE_PORTS_GIT_URL:-"${GIT_REPO_BASE}/freebsd-ports.git"} export POUDRIERE_PORTS_GIT_BRANCH=${POUDRIERE_PORTS_GIT_BRANCH:-"devel"} +# XXX: Poudriere doesn't like ssh short form +case "${POUDRIERE_PORTS_GIT_URL}" in + git@*) + POUDRIERE_PORTS_GIT_URL="ssh://$(echo ${POUDRIERE_PORTS_GIT_URL} | sed 's,:,/,')" + ;; +esac + # Host to rsync pkg repos from poudriere export PKG_RSYNC_HOSTNAME=${PKG_RSYNC_HOSTNAME:-${STAGING_HOSTNAME}} export PKG_RSYNC_USERNAME=${PKG_RSYNC_USERNAME:-"wwwsync"} |