Patching? Probably a trivial question, but...
Mel Flynn
mel.flynn+fbsd.questions at mailing.thruhere.net
Wed May 27 18:55:19 UTC 2009
On Wednesday 27 May 2009 17:21:42 Kurt Buff wrote:
> All,
>
> I've gotten a patch for a program in the ports tree from one of the
> authors of the program - not the port maintainer - to fix a small
> problem, but don't know how to install the updated port.
>
> I cd'ed into the
> /usr/ports/%CATEGORY%/%PROGRAM%/work/%PROGRAM-VERSION% directory, then
> performed 'patch <patch-name' successfully, AFAICT.
>
> Then I did a make, but got no output.
>
> So - I'm obviously lacking clue here. Anyone have a spare set?
Don't feel like reading the entire thread atm, but for reference:
- Patches need to have relative paths, where the root of the path corresponds
to the port's notion of $PATCH_WRKSRC
- You can find out this directory by running:
% make -C /usr/ports/category/portname -V PATCH_WRKSRC
The default is $WRKSRC which is $WRKDIR/$DISTNAME by default.
Example:
% make -C /usr/ports/sysutils/nagios-statd -V PATCH_WRKSRC
/stable/usr/obj/usr/ports/sysutils/nagios-statd/work/nagios-statd-3.12
- Patches are automatically applied if they reside in the port's notion of
PATCHDIR and are named patch-*
- You can find out this directory by running:
%make -C /usr/ports/category/portname -V PATCHDIR
The default is $.CURDIR/files.
Example:
% make -C /usr/ports/sysutils/nagios-statd -V PATCHDIR
/usr/ports/sysutils/nagios-statd/files
- In order to apply a new patch after you have previously gone past the patch
stage (configure, build, install), either run make clean or:
% rm $(make -C /usr/ports/category/portname -V PATCH_COOKIE)
The above can cause problems, with the build. The normal course of action is
to make clean.
--
Mel
More information about the freebsd-questions
mailing list