Как лучше всего создать порт версии, доступной только в более новой версии FreeBSD?

В настоящее время я поддерживаю устройства, на которых работает FreeBSD 9.2, а также 10. И я необходимо каким-то образом установить более новую версию архиваторов / libarchive, чем та, которая доступна для этих версий FreeBSD (похоже, что 3.2.1 впервые стала доступна в 11.0). Я также не могу ничего изменить в / usr / ports (то есть мне нужно оставить новый порт libarchive в совершенно другом каталоге). Кроме того, сценарий сборки, собирающий устройство ' Насколько я знаю, среда может использовать только make для компиляции портов.

Моя собственная идея построения libarchive 3.2.1:

  1. проверить дерево портов из ports / tags / RELEASE_11_0_0 / из SVN, оставьте только libarchive и его зависимости, а также содержимое каталога ports / Mk.

  2. cd path / to / new / ports / arhivers / libarchive и запустите make , возможно, указав альтернативный путь поиска для .include d .mk-файлов через -I . Возможно также изменить значение переменной PORTSDIR ?

Я что-то упускаю (действителен ли мой подход…?)? Есть ли лучший способ сделать это?

0
задан 27 October 2016 в 18:13
1 ответ

1) Канонический способ без обновления базовой системы. снимок zfs старых портов, проверьте новый из главы . Попробуйте построить это. К сожалению, вероятность сбоя составляет 80%, потому что дерево портов FreeBSD сильно изменилось с 9.x на 10.x. Откатить дерево портов в случае сбоя.

2) Путь Solaris. Встраивать из исходных текстов в пользовательский ПРЕФИКС . Получите архив с исходным кодом, распакуйте его в ~ / src / libarchive , установите devel / gmake , lang / gcc48 , devel / autoconf269 ] если необходимо, tar xvzf или что-то еще, затем cwd на извлеченный путь, ./ configure --prefix / usr / local / libarchive && gmake all install (краткая беседа). Затем таким же образом используйте двоичные файлы или свяжите их с локально установленными библиотеками.

4) Создайте собственную версию порта для дерева портов 9.2. Скопируйте порт в ~ / ports / libarchive , замените версию tarball на 3.2.1, отредактируйте версию порта в Makefile (и, возможно, CONFIGURE_ARGS ) и pkg-plist соответственно. Это займет некоторое время и, скорее всего, не удастся с первой или второй попытки, но кажется выполнимым (я бегло посмотрел на порт).

5) Самый удобный способ. Обновить ваше наследие от 9.2 до 10.3, потому что единственная причина иметь этот музейный антиквариат - это наличие набора специально созданных двоичных файлов с закрытым кодом, которые, как было доказано, дают сбой при новом ABI, даже с установленным портом misc / compat9x . И я такого не видел.

0
ответ дан 5 December 2019 в 09:24

Теги

Похожие вопросы