Каков предпочтительный способ управления локальными патчами в дереве портов FreeBSD? В качестве примера посмотрите на textproc/urlview
. Этот порт устанавливает скрипт url_handler.sh
. Этот скрипт определяет приложения, которые будут использоваться для разных типов URL. Приложения по умолчанию не соответствуют моей системе.
Так что делать? В прошлом я использовал два довольно неудовлетворительных способа:
- Создайте и установите ванильный порт и отредактируйте `/usr/local/bin/url_handler.sh` напрямую. Это портит удаление установленного порта, поскольку контрольная сумма изменилась. Этого можно избежать, напрямую связавшись с файлами в `/var/db/pkg`, но это настолько хакерски, насколько это возможно.
- Создайте файл патча в `/usr/ports/textproc/urlview/files`, который соответствующим образом исправит скрипт в фазе` patch`. Однако это не работает, если вы используете `portsnap`, поскольку он очищает каталог перед обновлением дерева портов.
Как вы, ребята, справляетесь с такими вещами?