poudriere 3.2.0 vs. "local" ports

Bryan Drewery bdrewery at FreeBSD.org
Tue Nov 14 23:41:31 UTC 2017


On 11/13/2017 1:32 PM, Craig Leres wrote:
> I have a number of "local" ports I use for various purposes. For example
> one use is to build packages locally written software. Another is to
> keep a private copy of ports I maintain under source control.
> Historically I've put these in /usr/ports/lbl, e.g. lbl/lbl-acld which
> might start out with:
> 
>     PORTNAME=       acld
>     PORTVERSION=    2.1
>     CATEGORIES=     lbl
>     [...]
>     VALID_CATEGORIES+= lbl
> 
> This has worked well for years.

That should continue to work.  I do this as well.

> 
> The other common case is a port that I maintain such as security/bro. I
> keep my local dev version in /usr/ports/lbl/lbl-bro. This allows a
> private log history and testing without modifying normal
> /usr/ports/security/bro version until I'm ready to file a PR or commit
> changes.
> 
> poudriere 3.2.0 breaks this practice:
> 
>     [00:00:01] Warning: (lbl/lbl-bro): [00:00:01] Error: lbl/lbl-bro has
> incorrect CATEGORIES, first should be 'lbl'.  Please contact maintainer
> of the port to fix this.
> 
> I assume it's picking up "lbl" from the directory path.

If you are building 'lbl/lbl-bro' then it picks it up from that.  The
reason this assertion was added is that the package will end up with an
improper origin of security/bro even though it was built from
lbl/lbl-bro if using a MASTERDIR.  This would cause incremental rebuild
issues since they package wouldn't match the origin you built with.

> 
> I don't want to/can't put "lbl" in the individual Makefile CATEGORIES.
> Otherwise I can't do things like:
> 
>     diff --exclude=.svn /usr/ports/lbl/lbl-bro /usr/ports/security/bro

I don't understand what you're doing.  What exactly is
lbl/lbl-bro/Makefile? Is it a full copy of security/bro/Makefile or is
it using security/bro as a MASTERDIR?

What is the CATEGORIES value for lbl/lbl-bro/Makefile?

> 
> and I definitely can't just copy Makefiles from lbl/lbl-bro to
> security/bro.
> 
> I tried to find a way to insert lbl at the front of CATEGORIES in
> ../Makefile.inc:
> 
>     .if "$(CATEGORIES:Mlbl)" == ""
>      CATEGORIES=    lbl $(CATEGORIES)
>     .endif
> 
> but I'm not sure it's possible; make appears to considers it recursive
> even when it's protected by a conditional.
> 
> Is there a solution to or a better way of doing this?
> 
>         Craig
> 


By the way a better place for ports questions is ports at .  For Poudriere
there is #poudriere on freenode,
https://github.com/freebsd/poudriere/issues, or you can mail me.

-- 
Regards,
Bryan Drewery

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20171114/092db8f0/attachment.sig>


More information about the freebsd-hackers mailing list