>> Никогда не понимал людей, которые пишут такие вещи на С
> насколько я понимаю, pkgng - не надстройка, а полная замена всех pkg_*
> утилей, причем на уровне базовой системы. На чем это может быть
> написано кроме С - не представляю.Судя по ману это не столько замена pkg_install, сколько претензия на yum/apt.
В одном флаконе так сказать.
В pkgsrc pkg_install написан на С и кода примерно 14000 строк,
то есть в 3 раза меньше, это если не считать совершенно неуместного
здесь sqlite3. Если с ним, то получается в 13(!!!) раз меньше кода.
pkgsrc-ый pkg_install -- это примерный аналог dpkg/rpm, (только лучше :-) )
Этой базы достаточно для написания поверх нормального high-level менеджера пакетов.
Свой NIH я написал на шеле, это примерно 4000 строк, функций больше, чем в pkgng
и pkgin (тоже для pkgsrc, но написан на С).
http://github.com/cheusov/pkgnih
Такой подход мне кажется более правильным, при условии, конечно,
что обновление самого себя не является проблемой.
База -- на С, обертка -- на шеле. По-моему так правильнее.
>> К тому же с этой штукой пропадает разделение на два уровня:
>> низкоуровневое управление пакетами и высокоуровневое
>> (a la rpm / yum|apt или dpkg / apt|aptitude).
> Гммм... что Вы понимаете под словами "низко" и "высоко"-уровневое управление пакетами?
> Разделение на подсистемы сборки и дистрибуции? Так вот, последняя как раз
> и появляется. Не ущемляя первую, которая уже давно была.
Нет. Сборку я вообще не трогаю, это отдельная песня.
Высокоуровневый -- это когда одной командой
обеспечивается согласованность установленных пакетов.
К dpkg/rpm/pkg_{add,delete} это не относится, и не должно относится.