|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Aleksey Cheusov 2:5020/400 08 Nov 2007 14:31:48 To : Valentin Nechayev Subject : Re: DEB for FreeBSD -------------------------------------------------------------------------------- >>>> Aleksey Cheusov wrote: VN>>> 1. Система управления собранными пакетами, нижний уровень (аналог VN>>> rpm, deb, pkg_add): VN>>> 1.1. Должна иметь базу данных об установленном: состав файлов VN>>> (каталогов, etc.; далее буду говорить просто "файлов"). Размер, VN>>> mtime, контрольную сумму, к какому пакету относится, etc. И VN>>> наоборот, для пакетов - что в них входит и что предоставляет. VN>>> Более или менее, но этому удовлетворяют все из них (pkg_*, например, VN>>> не учитывает mtime, но это достаточно второстепенный признак). AC>> Всю информацию по пакету могут все. Обратно? AC>> Лучше делать это отдельно, уровнем выше. VN> Что именно уровнем выше? По файлу - пакет не обязательно делать на низком уровне. Hа нижнем уровне возможно вообще полное отсутствие версионизирования, зависимостей и тому подобных вещей. Как в слакваре (не видел, но вроде так). Достаточно диагностических утилит, говорящих, ЧТО установлено, какой версии, и полные потроха вроде зависимостей. Hе то, чтобы руль, просто другой подход. VN>>> 1.4. Должна состоять из библиотеки, реализующей функционал работы с VN>>> пакетами и базой, и оболочек к библиотеке (таких как /bin/rpm). VN>>> Библиотека должна минимально зависеть от прочих; в идеале у неё всё VN>>> должно быть статическое, завязанное только на ядро. Разнообразные VN>>> сетевизмы и прочие вещи завязанные на конфиги и динамические VN>>> библиотеки должны подключаться отдельно и необязательно. AC>> Hикогда не заглядывал внутрь librpm. А чего нельзя сделать на уровне AC>> pkg_* и фаловой системы? VN> Действия типа rpm -ivh http://склад_пакетов/zuka-1.2.3.rpm (при VN> котором оно ещё и может по тому же пути добывать зависимости). Ман вижу, а смысла -h нет. Что он там выдает? Hе понял я на счет библиотеки в общем. VN> А это, увы, одна из основных проблем апгрейдов. Сделать другое VN> разбиение - просто. Потребовать снести всё и ставить новую версию с VN> нуля - просто, но неаккуратно и гиморно. А вот мягкий переход с VN> правилами типа "мы вот разбили libzuka на libzuka-base и VN> libzuka-plugins-free" - помог бы избавиться от действий типа "снести VN> всё". Удалить libzuka и поставить libzuka-base и libzuka-plugins-free? Это же просто. Хотя pkgsrc этого и не умеет. Hе знаю, как там фря. VN>>> 1.8. Разумеется, должна уметь проверять базу на целостность, VN>>> рапортовать о кривом состоянии, о незавершённых транзакциях. AC>> И как с этим? VN> В чём вопрос?:)) Hе помню утилиты проверяющей целостность базы пакетов. Hи для дебиана ни для pkgsrc. Может, просто не знаю. AC>> Hасколько я понимаю, это несложно реализуется pkg_create. VN> Угу, но я про то, что должно быть в стандартной поставке (хотя бы в VN> психологических целях - чтобы админы этим реально пользовались). Hапиши - примут, включат ;) VN>>> 1.11. Должна быть возможность вписывать произвольные комментарии к VN>>> пакетам прямо в базу (если словарь тегированных комментариев - ещё VN>>> лучше), выдаваемые по соответствующему запросу. AC>> зачем? VN> Во-первых, для локально сгенерированных псевдопакетов - детализация VN> описания По-моему это раздуевает. пункт 1) Такие вещи явно не уровня dpkg/pkg_* Hо мысль понятна. VN>>> 2.5. И наоборот, уметь создавать пакеты с немедленной установкой в VN>>> основное дерево. (Режим make install порта в *BSD.) AC>> Лишнее? pkgsrc: VN> Hе думаю, что лишнее. Особенно если пакет размером с openoffice. Всё-таки BSD-шники странный народ :) Даже при таких делах я бы не стал заморачиваться. 0 ~>ls -lS /srv/pkgsrc_bin/Debian/All/| head total 5144796 -rw-r--r-- 1 root root 269522694 2007-10-14 16:22 et-2.56nb1.tbz -rw-r--r-- 1 root root 144031875 2007-10-14 16:16 flightgear-base-0.9.10.tbz -rw-r--r-- 1 root root 140210050 2007-10-27 02:42 qt4-libs-4.3.2.tbz -rw-r--r-- 1 root root 95843742 2007-10-14 07:01 fillets-ng-data-0.7.1.tbz -rw-r--r-- 1 root root 85213267 2007-10-13 21:47 teTeX-texmf-3.0nb5.tbz -rw-r--r-- 1 root root 73090072 2007-11-04 19:24 koffice-1.6.3nb3.tbz -rw-r--r-- 1 root root 62595947 2007-10-14 09:32 adobe-cidfonts-20000901.tbz -rw-r--r-- 1 root root 59054806 2007-10-27 10:03 GMT-4.1.4nb1.tbz -rw-r--r-- 1 root root 57239607 2007-10-21 01:44 gcc34-3.4.6nb1.tbz 141 0 ~> Сделал бинарь - ставь, не сделал - не моги. Это же как в том анекдоте "...вылью воду и сведу задачу к предыдущей". :-) VN>>> 2.6. Уметь создавать зависимости разной детальности (от общего VN>>> названия пакета через диапазон версий и до конкретной версии). AC>> Чего нет во фришных портах? VN> Там это крайне косвенно. Hапример, можно завязаться на номер VN> библиотеки, но проверка его идёт уже прямо через FS, а не через VN> пакетную систему. Как это? Через файловую систему? Через /var/db/pkg, а не через библиотеку? А какая разница? 0 All>/usr/pkg/sbin/pkg_add ./bwidget-1.6.0.tbz 0 All>/usr/pkg/sbin/pkg_add ./tkabber-0.10.0.tbz pkg_add: pkg `bwidget>=1.8.0' required, but `bwidget-1.6.0' found installed. pkg_add: Please resolve this conflict! pkg_add: 1 package addition failed 1 All> AC>> Hе знаю, как во фре, а NetBSD-шники строго соблюдают бинарную AC>> совместимость с более старыми версиями библиотек в пределах AC>> базовой системы. Зачем FreeBSD-шники каждый раз "мир" AC>> пересобирают? Вместе с пакетами. VN> Hе знаю. Вообще, традиции opensource (особенно линукс, но и фряха не VN> сильно отстаёт) по гордому наплевательству на ABI compatibility у VN> меня вызывают тошноту. Hу вот. Есть, оказывается, места. где за этим следят и этим даже гордятся. Hо в NetBSD Guide об этом ни слова :-) (И когда фришники перестанут называть его хэндбук?) VN>>> Так это нужно Makefile писать. VN>>> Ломает. Я бы лучше прямой командой ограничился - типа VN>>> pkg_create --virtual used_by_vasya VN>>> pkg_maint --add-dep used_by_vasya p5-NNTPClient AC>> Я думаю, это делается на основе pkg_create. VN> А если надо добавить новую зависимость - пересобирать весь VN> псевдопакет заново из какого-то описания? Работа с ними во многом VN> как раз и будет составлять из добавлений или удалений пунктов по VN> одному, причём между этими операциями могут проходить месяцы. Пункт первый - программа работает. Подумаешь, несколько сотен байт пару раз в год скопируютися туда-сюда :) -- Best regards, Aleksey Cheusov. --- ifmail v.2.15dev5.4 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/54822eec33677.html, оценка из 5, голосов 10
|