build: add versioning support for core
This commit is contained in:
parent
03e988548b
commit
982ab90cb7
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue