Волею случая приходится ковыряться в портах и создавать свои. Для портов с большим количеством устанавливаемых файлов собирать pkg-plist занятие утомительное и потому я написал для себя скриптик, упрощающий данный процесс.
Скрипт создаёт временную директорию, которую монтирует поверх /usr/local посредством unionfs, запускает установку порта, после чего размонтирует временную директорию в которой и остаются все установленные файлы. Дальше остаётся сделать их листинг в pkg-plist и подчистить содержимое. После чего временный каталог удаляется.
Надо только не забыть что после размонтирования unionfs установленные файлы "исчезают" из системы, а в /var/db/pkg остаётся запись об установленном порте. Её можно (и нужно) просто удалить руками.
А ещё надо не забыть перед экзекуцией оставить мучаемый порт в состоянии после build, т.е. просто собранный, но не установленный.
Данный скрипт не является серебрянной пулей. Он лишь упрощает процесс сбора информации для генерации pkg-plist, делая попытку чуток его причесать. Впрочем в будущем возможно он станет более автоматизированным.
В качестве параметров принимает единственное значение - путь до порта относительно дерева портов, например:
./mkplist multimedia/mplayer
Брать тут:
mkplist