build: streamline version derivation/override
This commit is contained in:
parent
e45319b5a9
commit
4336b0210d
9
Makefile
9
Makefile
|
@ -155,7 +155,7 @@ VERBOSE_FLAGS= -x
|
|||
VERBOSE_HIDDEN= @
|
||||
.endif
|
||||
|
||||
.for _VERSION in ABI LUA PERL PHP PYTHON RUBY
|
||||
.for _VERSION in ABI LUA PERL PHP PYTHON RUBY VERSION
|
||||
VERSIONS+= PRODUCT_${_VERSION}=${${_VERSION}}
|
||||
.endfor
|
||||
|
||||
|
@ -168,7 +168,7 @@ VERSIONS+= PRODUCT_CRYPTO=${FLAVOUR:[1]:tl}
|
|||
${STEP}: lint-steps
|
||||
${VERBOSE_HIDDEN} cd ${.CURDIR}/build && \
|
||||
sh ${VERBOSE_FLAGS} ./${.TARGET}.sh -a ${ARCH} -F ${KERNEL} \
|
||||
-f "${FLAVOUR}" -n ${NAME} -v ${VERSION} -s ${_CONFIGDIR} \
|
||||
-f "${FLAVOUR}" -n ${NAME} -v "${VERSIONS}" -s ${_CONFIGDIR} \
|
||||
-S ${SRCDIR} -P ${PORTSDIR} -p ${PLUGINSDIR} -T ${TOOLSDIR} \
|
||||
-C ${COREDIR} -R ${PORTSREFDIR} -t ${TYPE} -k "${PRIVKEY}" \
|
||||
-K "${PUBKEY}" -l "${SIGNCHK}" -L "${SIGNCMD}" -d ${DEVICE} \
|
||||
|
@ -177,9 +177,8 @@ ${STEP}: lint-steps
|
|||
-g ${TOOLSBRANCH} -E ${COREBRANCH} -G ${PORTSREFBRANCH} \
|
||||
-H "${COREENV}" -u "${UEFI:tl}" -U "${SUFFIX}" -i ${COMPORT} \
|
||||
-V "${ADDITIONS}" -O "${GITBASE}" -r "${SERVER}" \
|
||||
-q "${VERSIONS}" -h "${PLUGINSENV}" -I "${UPLOADDIR}" \
|
||||
-D "${EXTRABRANCH}" -A "${PORTSREFURL}" -J "${PORTSENV}" \
|
||||
${${STEP}_ARGS}
|
||||
-h "${PLUGINSENV}" -I "${UPLOADDIR}" -D "${EXTRABRANCH}" \
|
||||
-A "${PORTSREFURL}" -J "${PORTSENV}" ${${STEP}_ARGS}
|
||||
.endfor
|
||||
|
||||
.for SCRIPT in ${SCRIPTS}
|
||||
|
|
|
@ -39,10 +39,7 @@ if [ -f "${BASESET}" -a -z "${1}" ]; then
|
|||
fi
|
||||
|
||||
git_branch ${SRCDIR} ${SRCBRANCH} SRCBRANCH
|
||||
if [ -z "${VERSION}" ]; then # XXX
|
||||
git_describe ${SRCDIR}
|
||||
PRODUCT_VERSION=${REPO_VERSION}
|
||||
fi
|
||||
git_version ${SRCDIR}
|
||||
|
||||
BASESET=${SETSDIR}/base-${PRODUCT_VERSION}-${PRODUCT_ARCH}${PRODUCT_DEVICE+"-${PRODUCT_DEVICE}"}.txz
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
set -e
|
||||
|
||||
OPTS="A:a:B:b:C:c:D:d:E:e:F:f:G:g:H:h:I:i:J:K:k:L:l:m:n:O:o:P:p:q:R:r:S:s:T:t:U:u:v:V:"
|
||||
OPTS="A:a:B:b:C:c:D:d:E:e:F:f:G:g:H:h:I:i:J:K:k:L:l:m:n:O:o:P:p:R:r:S:s:T:t:U:u:v:V:"
|
||||
|
||||
while getopts ${OPTS} OPT; do
|
||||
case ${OPT} in
|
||||
|
@ -131,11 +131,6 @@ while getopts ${OPTS} OPT; do
|
|||
p)
|
||||
export PLUGINSDIR=${OPTARG}
|
||||
;;
|
||||
q)
|
||||
for _VERSION in ${OPTARG}; do
|
||||
eval "export ${_VERSION}"
|
||||
done
|
||||
;;
|
||||
R)
|
||||
export PORTSREFDIR=${OPTARG}
|
||||
;;
|
||||
|
@ -169,7 +164,9 @@ while getopts ${OPTS} OPT; do
|
|||
export PRODUCT_UEFI=${OPTARG}
|
||||
;;
|
||||
v)
|
||||
export PRODUCT_VERSION=${OPTARG}
|
||||
for _VERSION in ${OPTARG}; do
|
||||
eval "export ${_VERSION}"
|
||||
done
|
||||
;;
|
||||
V)
|
||||
export PRODUCT_ADDITIONS=${OPTARG}
|
||||
|
@ -366,28 +363,34 @@ git_pull()
|
|||
fi
|
||||
}
|
||||
|
||||
git_describe()
|
||||
git_version()
|
||||
{
|
||||
HEAD=${2:-"HEAD"}
|
||||
if [ -z "$(echo ${PRODUCT_VERSION} | tr -d 0-9)" ]; then
|
||||
git_describe ${1}
|
||||
export PRODUCT_VERSION=${REPO_VERSION}
|
||||
fi
|
||||
|
||||
VERSION=$(git -C ${1} describe --abbrev=0 --always ${HEAD})
|
||||
REVISION=$(git -C ${1} rev-list --count ${VERSION}..${HEAD})
|
||||
COMMENT=$(git -C ${1} rev-list --max-count=1 ${HEAD} | cut -c1-9)
|
||||
BRANCH=$(git -C ${1} rev-parse --abbrev-ref ${HEAD})
|
||||
|
||||
if [ -z "${VERSION%%*/*}" ]; then
|
||||
echo ">>> Tag '${VERSION}' of ${1} must not contain slashes" >&2
|
||||
if [ -z "${PRODUCT_VERSION%%*/*}" ]; then
|
||||
echo ">>> Invalid product version: ${PRODUCT_VERSION}" >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
git_describe()
|
||||
{
|
||||
local VERSION=$(git -C ${1} describe --abbrev=0 --always HEAD)
|
||||
local REVISION=$(git -C ${1} rev-list --count ${VERSION}..HEAD)
|
||||
local COMMENT=$(git -C ${1} rev-list --max-count=1 HEAD | cut -c1-9)
|
||||
local BRANCH=$(git -C ${1} rev-parse --abbrev-ref HEAD)
|
||||
|
||||
if [ "${REVISION}" != "0" ]; then
|
||||
# must construct full version string manually
|
||||
VERSION=${VERSION}_${REVISION}
|
||||
fi
|
||||
|
||||
export REPO_VERSION=${VERSION}
|
||||
export REPO_COMMENT=${COMMENT}
|
||||
export REPO_BRANCH=${BRANCH}
|
||||
export REPO_COMMENT=${COMMENT}
|
||||
export REPO_VERSION=${VERSION}
|
||||
}
|
||||
|
||||
git_branch()
|
||||
|
@ -962,10 +965,7 @@ bundle_packages()
|
|||
|
||||
REDOS=${@}
|
||||
|
||||
if [ -z "${VERSION}" ]; then # XXX
|
||||
git_describe ${PORTSDIR}
|
||||
PRODUCT_VERSION=${REPO_VERSION}
|
||||
fi
|
||||
git_version ${PORTSDIR}
|
||||
|
||||
# clean up in case of partial run
|
||||
rm -rf ${BASEDIR}${PACKAGESDIR}-new
|
||||
|
|
|
@ -60,6 +60,7 @@ fi
|
|||
|
||||
git_branch ${SRCDIR} ${SRCBRANCH} SRCBRANCH
|
||||
git_branch ${PORTSDIR} ${PORTSBRANCH} PORTSBRANCH
|
||||
git_version ${PORTSDIR}
|
||||
|
||||
setup_stage ${STAGEDIR}
|
||||
setup_base ${STAGEDIR}
|
||||
|
@ -70,11 +71,6 @@ setup_distfiles ${STAGEDIR}
|
|||
|
||||
extract_packages ${STAGEDIR} || true
|
||||
|
||||
if [ -z "${VERSION}" ]; then # XXX
|
||||
git_describe ${PORTSDIR}
|
||||
PRODUCT_VERSION=${REPO_VERSION}
|
||||
fi
|
||||
|
||||
sh ./make.conf.sh > ${STAGEDIR}/etc/make.conf
|
||||
echo "CLEAN_FETCH_ENV=yes" >> ${STAGEDIR}/etc/make.conf
|
||||
|
||||
|
|
|
@ -39,10 +39,7 @@ if [ -f "${KERNELSET}" -a -z "${1}" ]; then
|
|||
fi
|
||||
|
||||
git_branch ${SRCDIR} ${SRCBRANCH} SRCBRANCH
|
||||
if [ -z "${VERSION}" ]; then # XXX
|
||||
git_describe ${SRCDIR}
|
||||
PRODUCT_VERSION=${REPO_VERSION}
|
||||
fi
|
||||
git_version ${SRCDIR}
|
||||
|
||||
KERNEL_DEBUG_SET=${SETSDIR}/kernel-dbg-${PRODUCT_VERSION}-${PRODUCT_ARCH}${PRODUCT_DEVICE+"-${PRODUCT_DEVICE}"}.txz
|
||||
KERNEL_RELEASE_SET=${SETSDIR}/kernel-${PRODUCT_VERSION}-${PRODUCT_ARCH}${PRODUCT_DEVICE+"-${PRODUCT_DEVICE}"}.txz
|
||||
|
|
|
@ -44,10 +44,7 @@ if [ -f "${XTOOLSET}" -a -z "${1}" ]; then
|
|||
fi
|
||||
|
||||
git_branch ${SRCDIR} ${SRCBRANCH} SRCBRANCH
|
||||
if [ -z "${VERSION}" ]; then # XXX
|
||||
git_describe ${SRCDIR}
|
||||
PRODUCT_VERSION=${REPO_VERSION}
|
||||
fi
|
||||
git_version ${SRCDIR}
|
||||
|
||||
XTOOLSET=${SETSDIR}/xtools-${PRODUCT_VERSION}-${PRODUCT_ARCH}.txz
|
||||
|
||||
|
|
Loading…
Reference in New Issue