Elegant way to hack port source

Paul Schmehl pschmehl_lists at tx.rr.com
Tue Mar 23 15:16:51 UTC 2010

--On Friday, March 19, 2010 19:02:45 -0400 Greg Larkin <glarkin at FreeBSD.org> 
> Here's something else that I've found really useful as a port creator,
> maintainer and troubleshooter.  If I want to make some additional
> changes to a source file that is patched by a file stored in
> files/patch-...., I'll do this:
> make patch          # extracts source and patches files
> cd work/foobar/...
># Now make additional edits in patched file, leaving the
># .orig file alone
> cd ../back/to/port/directory
> make makepatch
> The makepatch target recurses through the work/foobar directory and
> creates diffs for all file.ext/file.ext.orig pairs.  It writes them to
> the files/ directory with the patch- prefix on each so the patch target
> processes them.
> The only thing to watch out for here, is that makepatch has its own file
> naming convention that doesn't always mirror the port creator's.  For
> instance, some ports have patch files named "patch-aa", "patch-ab", etc.
>  The makepatch target will recreate them with filenames based on the
> directory and filename of the file to be patched during the build.
> Hope that helps,

Man, does it ever.  Thanks for that.

Which brings me to an obvious question.  Where can I go to find out what all of 
the make targets are?  Is it in /usr/ports/Mk/?

Paul Schmehl, Senior Infosec Analyst
As if it wasn't already obvious, my opinions
are my own and not those of my employer.
"It is as useless to argue with those who have
renounced the use of reason as to administer
medication to the dead." Thomas Jefferson

More information about the freebsd-questions mailing list