Как установить удаленный порт на FreeBSD

Я поддерживаю базу кода, которая зависит от Postgis 1.5. Моя локальная виртуальная машина работает под управлением FreeBSD 9.2. Недавно я возился с пакетами и случайно удалил postgis, поэтому я попытался переустановить его, но обнаружил, что порт 1.5 postgis был удален из дерева портов. Как я могу вернуть этот порт? Я знаю, что могу просто установить из исходного кода, но я бы предпочел, чтобы он контролировался pkg.

3 ответа

Решение

TLDR: svn co svn://svn.freebsd.org/ports/head /usr/ports

Я предполагаю, что вы только что удалили каталог дерева портов. В этом случае вам нужно будет использовать svn для извлечения соответствующего раздела дерева портов из центрального репозитория FreeBSD. Этот учебник поможет вам достичь этого, наиболее актуальным для вас, вероятно, являются разделы "Частичная проверка". Если это занимает слишком много времени, просто просмотрите все дерево портов и возьмите то, что вам нужно, и убедитесь, что у вас достаточно места на диске для его хранения.

Важные уроки жизни:

  1. Не "возиться" с системами, которые имеют значение.
  2. Если вы собираетесь игнорировать (1) и "повозиться" с ВМ, то из любви к котятам сделайте снимок!

Как вы обнаружили, Postgis 1.x больше не отображается в дереве портов, и я также не вижу пакетов для него (это с 2012 года, так что вы не должны удивляться этому! Он предшествует операционной системе, в которой вы работаете) Бег...).

Если вы хотите построить этот порт самостоятельно, вам нужно извлечь дерево портов из SVN и проверить ревизию, которая все еще содержит порт postgis 1.5. Инструкции по этому поводу можно найти в руководстве FreeBSD и документации svn (RELEASE_8_4_0 кажется, содержит postgis 1.5.3).

Если порт был удален, вы можете вытащить его из мусорной корзины через SVN, но он не гарантированно будет работать. Большинство портов в FreeBSD теперь "подготовлены", что является изменением инфраструктуры для улучшения сборки пакетов.

В любом случае, вы можете увидеть историю порта здесь:

http://www.freshports.org/databases/postgis/

Вы можете видеть, что он был удален в ревизии 340004, поэтому проверьте последнюю ревизию перед этим

svn co -r 340003 svn://svn.freebsd.org/ports/head/databases/postgis /usr/ports/database /

И скомпилировать как обычно. Это может сломаться, тем более что это может зависеть от более старых версий таких вещей, как Perl и Postgres.

Возможно, вам лучше проверить целое дерево портов того времени и использовать его, но тогда вам не хватает всех обновлений безопасности.

Другие вопросы по тегам