I am making my first attempt at constructing a FreeBSD port. The port in question is for Perl extension Devel-Platform_Info (http://search.cpan.org/dist/Devel-Platform-Info/). Devel-Platform-Info, AFAICT, has not yet been ported and has no prerequisites outside the Perl 5 core distribution. Hence, it should not be difficult to port. I have constructed and submitted a port for this CPAN distribution to OpenBSD; now I would like to do so as well for FreeBSD.

I have tried to follow the guidance in the Porters Handbook starting here:

https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/index.html

... particularly the discussion in Chapter 3, "Quick Porting":

https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/quick-porting.html

I have successfully tested the port with both 'portlint' (https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/testing-portlint.html) and 'port test' (https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/testing-porttools.html).

The one place where I have not gotten the desired results is found at "Procedure 3.1: Recommended Test Ordering" (https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/porting-testing.html). Step 6 of that process is to invoke 'make package' as a regular, non-root user. When I attempted to do so, I was told that I lacked permission to create a directory. That didn't surprise me, since the '/usr/ports/' tree has permissions 'drwxr-xr-x' and I, as a member of group 'wheel', lack 'write' permission for that tree. Hence, I'm puzzled by this advice:

"Make sure that make package can be run as a normal user (that is, not as root). If that fails, the software may need to be patched. See also Section 17.18, “fakeroot” and Section 17.84, “uidfix”." I installed the 'fakeroot' package but had no better luck when I ran 'fakeroot make package' as a non-root user.

1. Can someone offer guidance as to how to proceed?

2. I found that to create/edit the Makefile and pkg-descr I had to become root. That's a style of work that is contrary to my regular software development practices. With some guidance from an experienced OpenBSD committer I was able to learn how to prepare ports on that platform without becoming root. Is there any way to do that in FreeBSD?

Makefile for this port attached for reference.

Thank you very much.
Jim Keenan
# Created by: James E Keenan <jkee...@cpan.org>
# $FreeBSD$

PORTNAME=       Devel-Platform-Info
PORTVERSION=    0.16
CATEGORIES=     devel perl5
MASTER_SITES=   CPAN
PKGNAMEPREFIX=  p5-

MAINTAINER=     jkee...@cpan.org
COMMENT=        Unified framework for obtaining common platform metadata

LICENSE=        ART20

USES=           perl5
USE_PERL5=      configure

OPTIONS_DEFINE= DOCS

PORTDOCS=       Changes README

.include <bsd.port.options.mk>

post-install:
        ${MKDIR} ${STAGEDIR}${DOCSDIR}
        ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}

.include <bsd.port.mk>
_______________________________________________
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to