From 9c63784ebfdd637df22c0f7866b2267033909f5e Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Sun, 25 Feb 2018 10:53:06 +0000 Subject: [PATCH] make: update target, some cleanups --- Makefile | 73 +++++++++++++++++++++++++++----------------------- Mk/defaults.mk | 7 ----- Mk/tree.mk | 4 +-- README.md | 12 ++++++--- 4 files changed, 50 insertions(+), 46 deletions(-) diff --git a/Makefile b/Makefile index ccb92892a..f347776ad 100644 --- a/Makefile +++ b/Makefile @@ -23,23 +23,21 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -.include "Mk/defaults.mk" - all: @cat ${.CURDIR}/README.md | ${PAGER} -WANTS= git p5-File-Slurp pear-PHP_CodeSniffer phpunit6 +.include "Mk/defaults.mk" + +WANTS= p5-File-Slurp pear-PHP_CodeSniffer phpunit6 .for WANT in ${WANTS} -want-${WANT}: force +want-${WANT}: @${PKG} info ${WANT} > /dev/null .endfor -.if ${GIT} != true CORE_COMMIT!= ${.CURDIR}/Scripts/version.sh CORE_VERSION= ${CORE_COMMIT:C/-.*$//1} CORE_HASH= ${CORE_COMMIT:C/^.*-//1} -.endif CORE_ABI?= 18.1 CORE_ARCH?= ${ARCH} @@ -143,7 +141,7 @@ WRKDIR?=${.CURDIR}/work WRKSRC?=${WRKDIR}/src PKGDIR?=${WRKDIR}/pkg -mount: want-git +mount: @if [ ! -f ${WRKDIR}/.mount_done ]; then \ echo -n "Enabling core.git live mount..."; \ echo "${CORE_COMMIT}" > \ @@ -154,7 +152,7 @@ mount: want-git service configd restart; \ fi -umount: force +umount: @if [ -f ${WRKDIR}/.mount_done ]; then \ echo -n "Disabling core.git live mount..."; \ umount -f ":${.CURDIR}/src"; \ @@ -164,7 +162,7 @@ umount: force service configd restart; \ fi -manifest: want-git +manifest: @echo "name: \"${CORE_NAME}\"" @echo "version: \"${CORE_VERSION}\"" @echo "origin: \"${CORE_ORIGIN}\"" @@ -188,17 +186,17 @@ manifest: want-git done @echo "}" -name: force +name: @echo ${CORE_NAME} -depends: force +depends: @echo ${CORE_DEPENDS} PKG_SCRIPTS= +PRE_INSTALL +POST_INSTALL \ +PRE_UPGRADE +POST_UPGRADE \ +PRE_DEINSTALL +POST_DEINSTALL -scripts: want-git +scripts: .for PKG_SCRIPT in ${PKG_SCRIPTS} @if [ -e ${.CURDIR}/${PKG_SCRIPT} ]; then \ cp -v -- ${.CURDIR}/${PKG_SCRIPT} ${DESTDIR}/; \ @@ -209,49 +207,50 @@ scripts: want-git fi .endfor -install: force +install: @${MAKE} -C ${.CURDIR}/contrib install DESTDIR=${DESTDIR} @${MAKE} -C ${.CURDIR}/src install DESTDIR=${DESTDIR} \ CORE_NAME=${CORE_NAME} CORE_ABI=${CORE_ABI} \ CORE_PACKAGESITE=${CORE_PACKAGESITE} \ CORE_REPOSITORY=${CORE_REPOSITORY} -bootstrap: force +bootstrap: @${MAKE} -C ${.CURDIR}/src install-bootstrap DESTDIR=${DESTDIR} \ NO_SAMPLE=please CORE_PACKAGESITE=${CORE_PACKAGESITE} \ CORE_NAME=${CORE_NAME} CORE_ABI=${CORE_ABI} \ CORE_REPOSITORY=${CORE_REPOSITORY} -plist: force +plist: @(${MAKE} -C ${.CURDIR}/contrib plist && \ ${MAKE} -C ${.CURDIR}/src plist) | sort -plist-fix: force +plist-fix: @${MAKE} DESTDIR=${DESTDIR} plist > ${.CURDIR}/plist -plist-check: force +plist-check: @${MAKE} DESTDIR=${DESTDIR} plist > ${WRKDIR}/plist.new @cat ${.CURDIR}/plist > ${WRKDIR}/plist.old @if ! diff -uq ${WRKDIR}/plist.old ${WRKDIR}/plist.new > /dev/null ; then \ diff -u ${WRKDIR}/plist.old ${WRKDIR}/plist.new || true; \ echo ">>> Package file lists do not match. Please run 'make plist-fix'." >&2; \ + rm ${WRKDIR}/plist.*; \ exit 1; \ fi + @rm ${WRKDIR}/plist.* -metadata: force +metadata: @mkdir -p ${DESTDIR} @${MAKE} DESTDIR=${DESTDIR} scripts @${MAKE} DESTDIR=${DESTDIR} manifest > ${DESTDIR}/+MANIFEST @${MAKE} DESTDIR=${DESTDIR} plist > ${DESTDIR}/plist -package-check: force +package-check: @if [ -f ${WRKDIR}/.mount_done ]; then \ echo ">>> Cannot continue with live mount. Please run 'make umount'." >&2; \ exit 1; \ fi -package: package-check - @rm -rf ${WRKSRC} +package: package-check clean-work .for CORE_DEPEND in ${CORE_DEPENDS} @if ! ${PKG} info ${CORE_DEPEND} > /dev/null; then ${PKG} install -yA ${CORE_DEPEND}; fi .endfor @@ -260,18 +259,20 @@ package: package-check @PORTSDIR=${.CURDIR} ${PKG} create -v -m ${WRKSRC} -r ${WRKSRC} \ -p ${WRKSRC}/plist -o ${PKGDIR} -upgrade-check: force +upgrade-check: @if ! ${PKG} info ${CORE_NAME} > /dev/null; then \ echo ">>> Cannot find package. Please run 'opnsense-update -t ${CORE_NAME}'" >&2; \ exit 1; \ fi - @rm -rf ${PKGDIR} upgrade: plist-check upgrade-check package @${PKG} delete -fy ${CORE_NAME} @${PKG} add ${PKGDIR}/*.txz @/usr/local/etc/rc.restart_webgui +update: + @${GIT} pull + lint: plist-check find ${.CURDIR}/src ${.CURDIR}/Scripts \ -name "*.sh" -type f -print0 | xargs -0 -n1 sh -n @@ -285,7 +286,7 @@ lint: plist-check ! -name "*.tgz" ! -name "*.xml.dist" \ -type f -print0 | xargs -0 -n1 php -l -sweep: force +sweep: find ${.CURDIR}/src -type f -name "*.map" -print0 | \ xargs -0 -n1 rm if grep -nr sourceMappingURL= ${.CURDIR}/src; then \ @@ -303,17 +304,17 @@ sweep: force STYLEDIRS?= src/etc/inc/plugins.inc.d src/opnsense style: want-pear-PHP_CodeSniffer - @: > ${.CURDIR}/.style.out + @: > ${WRKDIR}/style.out .for STYLEDIR in ${STYLEDIRS} @(phpcs --standard=ruleset.xml ${.CURDIR}/${STYLEDIR} \ - || true) >> ${.CURDIR}/.style.out + || true) >> ${WRKDIR}/style.out .endfor @echo -n "Total number of style warnings: " - @grep '| WARNING' ${.CURDIR}/.style.out | wc -l + @grep '| WARNING' ${WRKDIR}/style.out | wc -l @echo -n "Total number of style errors: " - @grep '| ERROR' ${.CURDIR}/.style.out | wc -l - @cat ${.CURDIR}/.style.out - @rm ${.CURDIR}/.style.out + @grep '| ERROR' ${WRKDIR}/style.out | wc -l + @cat ${WRKDIR}/style.out | ${PAGER} + @rm ${WRKDIR}/style.out style-fix: want-pear-PHP_CodeSniffer .for STYLEDIR in ${STYLEDIRS} @@ -325,16 +326,22 @@ license: want-p5-File-Slurp dhparam: .for BITS in 1024 2048 4096 - openssl dhparam -out ${.CURDIR}/src/etc/dh-parameters.${BITS} ${BITS} + ${OPENSSL} dhparam -out \ + ${.CURDIR}/src/etc/dh-parameters.${BITS} ${BITS} .endfor test: want-phpunit6 @cd ${.CURDIR}/src/opnsense/mvc/tests && \ phpunit --configuration PHPunit.xml -clean: want-git +clean-src: @${GIT} reset -q ${.CURDIR}/src && \ ${GIT} checkout -f ${.CURDIR}/src && \ ${GIT} clean -xdqf ${.CURDIR}/src -.PHONY: license +clean-work: + @rm -rf ${WRKSRC} ${PKGDIR} + +clean: clean-src clean-work + +.PHONY: license plist diff --git a/Mk/defaults.mk b/Mk/defaults.mk index 22e5a063f..66a326751 100644 --- a/Mk/defaults.mk +++ b/Mk/defaults.mk @@ -31,10 +31,3 @@ OPENSSL?= ${LOCALBASE}/bin/openssl PKG!= which pkg || echo true GIT!= which git || echo true ARCH!= uname -p - -all-stub: all - @echo "Nothing to do." - -force: - -.PHONY: force diff --git a/Mk/tree.mk b/Mk/tree.mk index 284436230..aff661ded 100644 --- a/Mk/tree.mk +++ b/Mk/tree.mk @@ -48,7 +48,7 @@ ROOT_${TARGET}=${ROOT} # fixup root target dir ROOT_${TARGET}:=${ROOT_${TARGET}:S/^\/$//} -install-${TARGET}: force +install-${TARGET}: .for TREE in ${TREES_${TARGET}} @REALTARGET=/$$(dirname ${TREE}); \ mkdir -p ${DESTDIR}${ROOT_${TARGET}}$${REALTARGET}; \ @@ -81,7 +81,7 @@ install-${TARGET}: force done .endfor -plist-${TARGET}: force +plist-${TARGET}: .for TREE in ${TREES_${TARGET}} @(cd ${TREE}; find * -type f ${_IGNORES} -o -type l) | while read FILE; do \ FILE="$${FILE%%.in}"; PREFIX=""; \ diff --git a/README.md b/README.md index d27f490b2..809469854 100644 --- a/README.md +++ b/README.md @@ -71,13 +71,17 @@ Options are passed in the following form: # make package CORE_NAME=my_new_name +make update +----------- + +Update will pull the latest commits from the current branch from the +upstream repository. + make upgrade ------------ -Upgrade will run the package build and attempt to replace the currently -installed package in the system. Safety measures may prevent the target -from succeeding. Instructions on how to proceed in case of failures are -given inline. +Upgrade will run the package build and replace the currently installed +package in the system. make lint ---------