CTF bsd.pbi.mk
Kris Moore
kris at pcbsd.org
Thu Nov 3 20:08:11 UTC 2011
Since we are so close to 9.0, I wanted to get some initial public
testing on the "make pbi" functionality of the ports tree. Attached is
the bsd.pbi.mk file, put that into /usr/ports/Mk/ and then edit
/usr/ports/Mk/bsd.port.mk. Look for the line:
.include "${PORTSDIR}/Mk/bsd.perl.mk
and add above it:
.include "${PORTSDIR}/Mk/bsd.pbi.mk"
After doing this, you should be able to use the commands "make pbi" &
"make clean-pbi". I would suggest starting on some small CLI app for
testing, like cabextract, instead of trying libreoffice on the first go ;)
After the build is finished, you will end up with a pbi file in the port
directory ready to be installed with pbi_add. You'll also see a pbi/
directory created in your ports dir, which contains the structure for
additional meta-data that I would love to find a way to integrate into
the ports tree down the road, such as mime/desktop/menu/icons, etc.
--
Kris Moore
PC-BSD Software
iXsystems
-------------- next part --------------
# $Id$
#
# Creates a PBI file from a port with just 'make pbi'
#
#
_PBIMAKEPORT= pbi_makeport
_PBICREATE= pbi_create
_PBIDIR= pbi
_PBICONF= ${_PBIDIR}/pbi.conf
_PBIBUILDDIR= /usr/local/pbi/${PORTNAME}-${ARCH}
.PHONY: check-pbimanager pbi pbi-makeport pbi-generate pbi-create \
clean-pbi clean-pbibuild
_PBIMANAGER_PKG!=which pbi_info || ${TRUE}
check-pbimanager:
.if empty(_PBIMANAGER_PKG)
@(cd ${PORTSDIR}/ports-mgmt/pbi-manager && ${MAKE} install clean)
.endif
pbi: pbi-generate
pbi-generate: check-pbimanager
@if [ ! -d ${PWD}/pbi ]; then \
${ECHO_MSG} "===> Generating PBI 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=\"`echo ${PWD} | cut -d '/' -f4-`\"" >> ${_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 `echo ${PWD}/${_PBIDIR}` -o `echo ${PWD}` `echo ${PWD} | cut -d '/' -f4-`
clean-pbi:
@${ECHO_MSG} "===> Cleaning PBI for ${PORTNAME}"
@${RM} -rf ${_PBIDIR}
More information about the freebsd-desktop
mailing list