build: add versioning support for core

This commit is contained in:
Franco Fichtner 2014-12-11 15:23:35 +01:00
parent 03e988548b
commit 982ab90cb7
2 changed files with 32 additions and 3 deletions

View File

@ -53,9 +53,22 @@ export ISOPATH="${IMAGESDIR}/${PRODUCT_NAME}-LiveCD-${ARCH}-`date '+%Y%m%d-%H%M'
export MEMSTICKPATH="${IMAGESDIR}/${PRODUCT_NAME}-memstick-${ARCH}-`date '+%Y%m%d-%H%M'`.img"
export MEMSTICKSERIALPATH="${IMAGESDIR}/${PRODUCT_NAME}-memstick-serial-${ARCH}-`date '+%Y%m%d-%H%M'`.img"
# must clear lingering configs to be safe
rm -f /etc/make.conf
# print environment to showcase all of our variables
env
git_bootstrap()
{
if which git > /dev/null; then
# All's good in the State of Denmark
else
ASSUME_ALWAYS_YES=yes pkg bootstrap
pkg install -y git
fi
}
git_clear()
{
# Reset the git repository into a known state by
@ -73,6 +86,22 @@ git_clear()
set -e
}
git_describe()
{
git_bootstrap
VERSION=$(git -C ${1} describe --abbrev=0)
REVISION=$(git -C ${1} rev-list ${VERSION}.. --count)
COMMENT=$(git -C ${1} rev-list HEAD --max-count=1)
if [ "${REVISION}" != "0" ]; then
# must construct full version string manually
VERSION=${VERSION}_${REVISION}
fi
export REPO_VERSION=${VERSION}
export REPO_COMMENT=${COMMENT}
}
setup_base()
{
echo ">>> Setting up world in ${1}"
@ -100,7 +129,6 @@ setup_packages()
mkdir -p ${1}/${PACKAGESDIR}
cp ${PACKAGESDIR}/* ${1}/${PACKAGESDIR}
pkg -c ${1} add ${PACKAGESDIR}/pkg-*.txz
# opnsense has all required ports embedded as dependencies
pkg -c ${1} add ${PACKAGESDIR}/opnsense-*.txz

View File

@ -36,6 +36,7 @@ mkdir -p ${PACKAGESDIR}
setup_stage ${STAGEDIR}
git_clear ${COREDIR}
git_describe ${COREDIR}
# no compiling needed; simply install
make -C ${COREDIR} DESTDIR=${STAGEDIR} install
@ -77,9 +78,9 @@ EOF
cat > ${STAGEDIR}/+MANIFEST <<EOF
name: opnsense
version: current
version: ${REPO_VERSION}
origin: opnsense/opnsense
comment: "XXX needs versioning"
comment: "${REPO_COMMENT}"
desc: "OPNsense core package"
maintainer: franco@opnsense.org
www: https://opnsense.org