Local patches to ports?

Greg Larkin glarkin at FreeBSD.org
Tue Sep 9 19:58:48 UTC 2008

Hash: SHA1

Linda Messerschmidt wrote:
> Hello,
> We use Apache 1.3 on FreeBSD and for a long time, we have maintained our own
> build process separate from the ports collection because we have some local
> patches.
> These are accounting patches, of interest to no one but us, so I have no
> chance of getting anyone upstream to ever adopt them, but they are very
> important to us.
> After our last upgrade to 7-STABLE (7.1-PRERELEASE) our local build process
> started producing broken binaries but the port has patches and one of them
> makes it work.  So, this seems like a good time to replace our build process
> with the ports collection.
> What's the best way to preserve our local patches and our custom
> configuration flags, and get them to apply to each new update of the port?
> Thanks!
> -LM

Hi Linda,

I would recommend setting up a local Tinderbox installation:

Once you get it installed, you can configure it to call user-defined
hook scripts at various points, such as after a ports tree update.  When
fired, your script can patch in your changes before the build starts.

Before I knew about Tinderbox, I once set up a local ports tree in
/usr/ports/local.  In that directory, I created whatever port directory
I needed, such as /usr/ports/local/www/apache13, and created a small
Makefile to override some settings and then include the base port
Makefile.  That worked reasonably well, but I don't think I ever tested
whether a local port upgraded cleanly.

I'm leaning more and more toward the Tinderbox methodology, especially
as I work on a process for auto-provisioning FreeBSD virtual machines.
I like the fact that it builds all dependent ports and you can keep
multiple build trees for different purposes.  All of the packages live
in a well-defined area, and portupgrade -PP should work for performing
binary upgrades.

Hope that helps,
- --
Greg Larkin

http://www.FreeBSD.org/       - The Power To Serve
http://www.sourcehosting.net/ - Ready. Set. Code.
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


More information about the freebsd-questions mailing list