Naming a locally-built version of a package

Wim Lewis wiml at
Tue Jul 14 18:23:56 UTC 2015

On 14 Jul 2015, at 09:50 AM, Matthew Seaman <matthew at> wrote:
> As I said above, usually people just use the original port name with
> their own modifications, and it's mostly because of dependency tracking
> like this.

That makes sense (and in my case is what I'd want to do anyway; my local version of Foo *is* Foo, just with some local tweaks).

Is $PORTREVISION a good place to note the presence and revision of my local changes (e.g., as "o3" since only one letter is allowed)? Is pkg's version-number-comparison behavior documented somewhere--- how it orders alphabetics and what it does with the VERSION and REVISION parts of the version string?

> it is certainly possible to tell pkg(8) not to mess with locally customized packages.  See pkg-lock(8)

That looks useful, thanks for the pointer!

> The mechanism is not
> entirely as smooth as we would like it to be, and pkg(8) should grow the
> intelligence to understand that replacing a package 'Foo with option
> bar' with a package 'Foo without option bar' is something that should be
> avoided wherever possible.

Would it be reasonable to treat local patches as options? That is, my local variant of Foo-1.3_5 would still be named Foo-1.3_5.o3, but would have the option SPIFFY_LOCAL_PATCH. I've noticed that pkg records the build options of packages but it's not clear to me what it does with that information (if anything; is this just there to support future behavior that hasn't been implemented yet?).

More information about the freebsd-questions mailing list