Path: freenews.gu.net!glukr!mash.minjust.gov.ua!ubik.vicotec.com.ua!carrier.kiev.ua!ddt.demos.su!f400.n5020!f4441.n5020!f52.n5020!not-for-mail
Newsgroups: fido7.ru.unix.bsd
From: Sergey Matveychuk <Sergey.Matveychuk__AT__f52.n5020.z2.fidonet.org>
Date: Mon, 07 Jul 2003 04:02:34 +0400
Subject: Улучшения в bsd.port.mk
Message-ID: <813969222%8nfhgvcrk13l4ieonh29b8d1q1f6so61qs@4ax.com>
Что бы не прошло не замеченым анонсирую тут некоторые изменения,
которые были сделаны в последнее время в систему сборки портов
(ports/Mk/bsd.port.mk):
для разработчиков:
- Добавлена переменная CONFLICTS, куда можно прописывать имена портов,
с которыми конфликтует данный порт. Допускается указание шаблонов
shell.
- Добавлена цель update-patches, которая действует со скриптом
Tools/scripts/update-patches и облегчает разработчикам обновлять патчи
для своих портов. make update-patches будет пытаться применить
существующие патчи и в случае не удачи запускать редактор (vi, как
правило, поскольку все разработчика используют vi :))
для пользователей:
- Добавлена цель package-recursive. Как ясно из названия - создает
packages для текущего порта и всех, от которых тот зависит.
- Hаконец реализовано нормальное поведение install/deinstall. При
установке проверяется, существует ли предыдущая версия, а не ставит
порт втихаря, затирая файлы предыдущей версии и оставляя порт-зомби,
как это было раньше (причем для удобства разработчиков распознается
ситуация, когда новая версия устанавливается с другим PREFIX).
deinstall теперь тоже умеет удалять предыдущую версию порта (причем не
тронет его, если у него другой PREFIX, но выдаст предупреждение). Для
того, что бы удалить все версии порта с любым PREFIX добавлена цель
deinstall-all. (думаю, что это самое значимое изменение, но оно имеет
побочный эффект для разработчиков - если PLIST генерируется
динамически, то это должно происходить до do-install. Возможность
генерации PLIST в do/post-install теперь не поддерживается).
- Попытка установить порт, который был собран с другим PREFIX, не
удастся - эта ситуация распознается и будет произведена пересборка
порта с новым PREFIX. (Это произойдет без запросов, так что берегитесь
опечаток!)
- Возможность сборки портов не root'ом. Теперь можно собирать порт
простым пользователем и в таком случае при установке, будет
запрашиваться пароль рута (su).