poudriere with custom packages

Matthew Seaman matthew at FreeBSD.org
Thu Jul 16 07:09:59 UTC 2015


On 16/07/2015 04:49, Aristedes Maniatis wrote:
> I have a custom built package which I'm building outside the FreeBSD
> ports system (using pkg-create commands). How can I add that package
> to a poudriere managed repository so that it appears in the package
> index and can be easily installed like any other package?
> 
> Thanks for any help

I can think of two ways to handle this:

1) Manually build your own repo containing just your custom package.
Simply copy the package .txz to a directory accessible from your
webserver (or however you want to publish the repo.)  Then run
'pkg repo' in that directory.  See pkg-repo(8) for the gory details.

This fails on your 'poudriere managed' requirement, but it's pretty
simple.  You could even add your own package to the directory that
poudriere creates and then use pkg repo to rebuild the catalogue there.

2) Integrate your custom package into the ports tree.  You can add a
'Makefile.local' in /usr/ports containing something like:

   SUBDIR += myports

which adds 'myports' as a new category for your custom stuff.  Then just
mimic the layout from any of the other categories.  This obviously works
best if your custom stuff uses the standard ports machinery to build
your package.  You can then add 'myports/mypackage' to the list of what
poudriere should build.

I'd be interested to hear about how you are creating packages outside
the ports tree.  This is something we'd like to facilitate, but at the
moment pkg(8) and the ports are deeply entwined and there isn't much
useable documentation or prior art for how to do it 'by hand'.

	Cheers,

	Matthew

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 971 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20150716/3ad0a6dc/attachment.bin>


More information about the freebsd-ports mailing list