Add a "make pbi" and "make clean-pbi" target to the ports build system.

PR:		ports/167825
Submitted by:	kmoore
This commit is contained in:
Mark Linimon 2012-09-05 04:32:25 +00:00
parent 21a0d84ad7
commit c0d91f37b3
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=303683
2 changed files with 53 additions and 0 deletions

51
Mk/bsd.pbi.mk Normal file
View file

@ -0,0 +1,51 @@
# $FreeBSD$
#
# Creates a PBI file from a port with just 'make pbi'
#
PBI_MAINTAINER= kmoore@FreeBSD.org
_PBIMAKEPORT= pbi_makeport
_PBICREATE= pbi_create
_PBIDIR= pbi
_PBICONF= ${_PBIDIR}/pbi.conf
.PHONY: check-pbimanager pbi pbi-makeport pbi-generate pbi-create \
clean-pbi clean-pbibuild
check-pbimanager:
@set -- chk=""; \
if [ -z "`which pbi_info`" ] ; then \
cd ${PORTSDIR}/ports-mgmt/pbi-manager && make install clean; \
fi
pbi: pbi-generate
pbi-generate: check-pbimanager
@_PBIPORT=`pwd | cut -d "/" -f4-`; \
if [ ! -d ${PWD}/pbi ] ; then \
${ECHO_MSG} "===> Generating meta-data for ${PORTNAME}"; \
${MKDIR} ${_PBIDIR}; \
${MKDIR} ${_PBIDIR}/resources ${_PBIDIR}/scripts \
${_PBIDIR}/xdg-desktop ${_PBIDIR}/xdg-menu \
${_PBIDIR}/xgd-mime; \
${ECHO_CMD} "PBI_PROGNAME=\"${PORTNAME}\"" > ${_PBICONF};\
${ECHO_CMD} "PBI_MAKEPORT=\"$${_PBIPORT}\"" >> ${_PBICONF};\
PROGWEB=`cat ${DESCR} | awk '/^WWW:/ { print $$2; }'`; \
${ECHO_CMD} "PBI_PROGWEB=\"$${PROGWEB}\"" >> ${_PBICONF};\
${ECHO_CMD} "PBI_PROGAUTHOR=\"The ${PORTNAME} team\"" \
>> ${_PBICONF}; \
${ECHO_CMD} "PBI_UPDATEURL=\"http://update.pbidir.com\""\
>> ${_PBICONF}; \
${ECHO_CMD} "export PBI_PROGNAME PBI_MAKEPORT " \
"PBI_PROGWEB " \
"PBI_PROGAUTHOR PBI_UPDATEURL " \
"PBI_MKPORTBEFORE PBI_MKPORTAFTER PBI_MAKEOPTS" \
>> ${_PBICONF}; \
fi
@${ECHO_MSG} "==> Generating PBI file"
@${_PBIMAKEPORT} -c ${PWD}/pbi -o ${PWD} $${_PBIPORT}
clean-pbi:
@${ECHO_MSG} "===> Cleaning PBI for ${PORTNAME}"
@${RM} -rf ${_PBIDIR}

View file

@ -1496,6 +1496,8 @@ PKGCOMPATDIR?= ${LOCALBASE}/lib/compat/pkg
.include "${PORTSDIR}/Mk/bsd.ncurses.mk"
.endif
.include "${PORTSDIR}/Mk/bsd.pbi.mk"
# You can force skipping these test by defining IGNORE_PATH_CHECKS
.if !defined(IGNORE_PATH_CHECKS)
.if (${PREFIX:C,(^.).*,\1,} != "/")