make: update target, some cleanups

This commit is contained in:
Franco Fichtner 2018-02-25 10:53:06 +00:00
parent c8052a87fb
commit 9c63784ebf
4 changed files with 50 additions and 46 deletions

View File

@ -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 "<above>:${.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

View File

@ -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

View File

@ -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=""; \

View File

@ -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
---------