Is staging a port really this simple?
Fbsd8
fbsd8 at a1poweruser.com
Sun May 25 08:14:52 UTC 2014
Perry Hutchison wrote:
> Some months ago, Baptiste Daroussin <bapt at freebsd.org> wrote:
>
>> ... if you need any help staging your ports I can provide reviews.
>
> I have a couple of ports that need staging support added, and I've
> finally managed to find time to look into it. Having read such
> documentation as I could easily find using Google, and looked at
> the ports, I am feeling as if I must have overlooked something
> -- because the only changes that seem to be needed are to insert
> ${STAGEDIR} into a few lines in the Makefiles.
>
> Granted these are not complex ports, but if it really is this easy
> I have to wonder what all the uproar has been about :)
>
> What-all have I missed?
>
> --- misc/gtkfind/Makefile
> +++ misc/gtkfind/Makefile-staged
> @@ -26,7 +26,7 @@
> ${REINPLACE_CMD} -e "s,-O2,${CFLAGS}," ${WRKSRC}/configure ${WRKSRC}/Makefile.in
>
> do-install:
> - ${INSTALL_PROGRAM} ${WRKSRC}/gtkfind ${PREFIX}/bin
> - ${INSTALL_MAN} ${WRKSRC}/gtkfind.1 ${MANPREFIX}/man/man1
> + ${INSTALL_PROGRAM} ${WRKSRC}/gtkfind ${STAGEDIR}${PREFIX}/bin
> + ${INSTALL_MAN} ${WRKSRC}/gtkfind.1 ${STAGEDIR}${MANPREFIX}/man/man1
>
> .include <bsd.port.mk>
> --- sysutils/diskcheckd/Makefile
> +++ sysutils/diskcheckd/Makefile-staged
> @@ -19,7 +19,6 @@
> MAKEFILE= /usr/share/mk/bsd.prog.mk
> MAKE_ARGS= PROG=diskcheckd MAN8=${MAN8}
>
> -NO_STAGE= yes
> do-extract:
> @${MKDIR} ${WRKSRC}
> .for f in diskcheckd.c diskcheckd.8
> @@ -30,13 +29,14 @@
> @${REINPLACE_CMD} -e 's|/usr/local/etc/diskcheckd.conf|${PREFIX}/etc/diskcheckd.conf|g' ${WRKSRC}/diskcheckd.8
>
> do-install:
> - ${INSTALL_PROGRAM} ${WRKSRC}/diskcheckd ${PREFIX}/sbin
> - ${INSTALL_DATA} ${FILESDIR}/diskcheckd.conf ${PREFIX}/etc/diskcheckd.conf.sample
> - ${INSTALL_MAN} ${WRKSRC}/diskcheckd.8 ${MAN8PREFIX}/man/man8
> + ${INSTALL_PROGRAM} ${WRKSRC}/diskcheckd ${STAGEDIR}${PREFIX}/sbin
> + ${INSTALL_DATA} ${FILESDIR}/diskcheckd.conf \
> + ${STAGEDIR}${PREFIX}/etc/diskcheckd.conf.sample
> + ${INSTALL_MAN} ${WRKSRC}/diskcheckd.8 ${STAGEDIR}${MAN8PREFIX}/man/man8
>
> post-install:
> - @[ -f ${PREFIX}/etc/diskcheckd.conf ] \
> - || ${CP} -p ${PREFIX}/etc/diskcheckd.conf.sample \
> - ${PREFIX}/etc/diskcheckd.conf
> + @[ -f ${STAGEDIR}${PREFIX}/etc/diskcheckd.conf ] \
> + || ${CP} -p ${STAGEDIR}${PREFIX}/etc/diskcheckd.conf.sample \
> + ${STAGEDIR}${PREFIX}/etc/diskcheckd.conf
>
> .include <bsd.port.mk>
Other things to do is "pkg install portlint porttools"
then from the ports tree location do
portlint -a
port test
make stage
make check-plist
make install clean
make deinstall
More information about the freebsd-ports
mailing list