CTF bsd.pbi.mk

Kris Moore kris at pcbsd.org
Mon Nov 7 20:24:31 UTC 2011


On 11/07/2011 09:46, Kris Moore wrote:
> On 11/06/2011 17:47, Raphael Kubo da Costa wrote:
>> Kris Moore <kris at pcbsd.org> writes:
>>
>>> 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 ;)
>> I tried misc/hello, which was supposed to be quite simple too :)
>>
>> My first attempt was with sudo, and that gave me the same results avilla
>> got. And if I su -, cd to /usr/ports/misc/hello and call `make pbi', I
>> also only get a usage message for pbi_makeport (I need to call `make
>> clean-pbi' to be able to do anything).
>>
>> So after calling `make clean-pbi' as root I tried `make pbi' again. It's
>> been "building the PBI chroot environment" for a while, as it is
>> checking out stable/8 from svn, even though I have it in /usr/src (as a
>> csup checkout, not an svn one). Is there a way to make this part of the
>> process faster? I ended up just hitting Ctrl+C and rm -fr'ing /usr/pbi.
>>
>> _______________________________________________
>> freebsd-desktop at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-desktop
>> To unsubscribe, send any mail to "freebsd-desktop-unsubscribe at freebsd.org"
> I'm looking into adding some code to make it work with a pre-existing
> /usr/src environment. It should be in the next port update. I'll also
> try to fix the sudo issue :)
>
Attached is an updated bsd.pbi.mk, which fixes the sudo issues. Please
give this a whirl after updating your pbi-manager to the 0.9.6 version
in ports now. It also improves support on FreeBSD to use /usr/src
sources for the initial buildworld.


-- 
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}
PBIPWD=		`pwd`
_PBIPORT=		`pwd | cut -d '/' -f4-`

.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 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 ${PBIPWD}/pbi -o ${PBIPWD} ${_PBIPORT}

clean-pbi:
	@${ECHO_MSG} "===> Cleaning PBI for ${PORTNAME}"
	@${RM} -rf ${_PBIDIR}


More information about the freebsd-desktop mailing list