Например вам нужно внести изменить в какой нибудь порт FreeBSD, что бы исправить или что то добавить в программу, для этого нужно скачать и распаковать порты в систему командами:
portsnap fetch
portsnap extract
Или обновит порты
portsnap update
Также можно одной командой
portsnap auto
Следующим этапом переходим в папку порта и смотрим, затем скачиваем исходной код:
cd /usr/ports/.../...
cat Makefile
В строке MASTER_SITES= вы найдете путь к архиву с кодом который нужно скачать
После того как скачаете архив распакуйте его куда-нибудь, сделайте нужные вам изменения в коде и снова заархивируйте его с тем же именем.
Для сборки измененного порта нужно узнать его контрольные суммы и размер файла:
sha256 edit.tar.gz
stat edit.tar.gz
После чего редактируем файл distinfo прописав нужные контрольные суммы и размер:
ee distinfo
SHA256 (edit.tar.gz) = 2b45ced81fe460f984464e28d9a283e6f1c67c97d4a293dd026aee013d330c9c
SIZE (edit.tar.gz) = 24505
Для сборки порта выполним следующую команду:
make MAKE_JOBS_UNSAFE=yes install
Если возникнут ошибки исправляем их в коде и повторяем весь процесс сборки порта.
BSD это так просто, а главное увлекательно.