What is the preferred way to manage local patches in the FreeBSD ports tree. As an example look at textproc/urlview
. This port installs the url_handler.sh
script. This script defines applications to be used for different url types. The default applications do not match my system.
So, what to do? I used two rather unsatisfying ways in the past:
- Build and install the vanilla port and edit `/usr/local/bin/url_handler.sh` directly. This messes up the deletion of the installed port as the checksum has changed. This can be avoided by messing with the files in `/var/db/pkg` directly but that's as hackish as it can get.
- Create a patch file in `/usr/ports/textproc/urlview/files` that patches the script in the `patch` phase accordingly. However this fails if you are using `portsnap` as it wipes the directory clean before updating the ports tree.
How are you guys handling this kind of things?