> Это теория или практика? Я давно в это всё уже не лазил,
> тем не менее, такого (метапакетов в базе) не было, ЕМНИП. А
> в теории-то по всякому можно, да. Было бы желание и, в
> идеале, смысл.Это обычная практика с метапакетами. Тот же xorg-minimal или gnome/gnome-light.
Объединить много маленьких в большие с помошью метапакетов намного проще, чем выдрать из большого пакета куски софта. Нет, в pkgbase этого нет, но скорее потому что им, судя по активности в списке рассылок, так почти никто и не пользуется. И скорее, из-за других проблем, как обновление конфигов, автоматическая установка новых компонентов и прочее, упомянутое в вики.
>> И куча ПО там "чисто на всякий случай"
> И это замечательно.
>> раздувает базу
> Даже по меркам 10-15летней давности это копейки.
2GB дефолта против 400GB кастома (при сохранении в базе компилятора) на пишку с 4GB памяти копейки?
283,0 MiB [##########] /usr
8,0 MiB [ ] /lib
8,0 MiB [ ] /lib
7,8 MiB [ ] /rescue
5,2 MiB [ ] /sbin
Total disk usage: 315,5 MiB
Может и вру про 2GB, но близко - в основном урезан компилятор, вынесено всякое разное вида zfsтулз, mlxtools, bluetooth, профайл и дебагсимволы и оно этими 315МiB размером в пожатый релизный образ FreeBSD-12.0-RELEASE-arm-armv7-RPI2.img.xz
Ну и при создании виртуалок/джейлов хочется иметь как можно меньшую исходную базу.
>> добавляет потенциальных уязвимостей
> И что? Варианта всё равно два: или ты используешь уязвимое ПО и
> тебе нужно обновляться, или ты не используешь уязвимое ПО и можешь
> ничего не делать.
Либо оно не используется, но им может воспользоваться нападающий. Тоже классика жанра.
>> А чтобы убрать, нужно пересобрать с кучей WITHOUT_ в scr.conf со всеми вытекающими - невозможностью пользоваться бинарными обновлениеми или зарепортить баг без отсылки "собери стандартно".
> Всё логично. Разработчики поставляют систему в такой комплектации, которую считают правильной. Тебе дают возможность собрать иначе. Это круто, но очевидно, это в первую очередь _твои_ проблемы и никто не должен за тебя их решать.
Вообще-то это делается в первую очередь для отсева деятелей "50 ответов спустя: а да, забыл сказать, что я прописал еще тучу опций в make.conf и собрал часть c помошью дев-версии кланга, а другую с GCC".
Возможность поставить нужную конфигурацию из кирпичиков оф. сборки, без заимения всех этих "_твоих проблем_" на ровном месте - это как раз в плюс.
Скажите, зачем на одноплатнике или в базе джейла держать с гигабайт дебагсимволов? Который к тому же достаточно легко ставятся пакетом (но только тогда и туда, когда и где есть потребность, а не на всем подряд). Или этот мерзкий и бибикающий vi?
И вообще, вы так говорите, как будто для этого нужно перепахать пол-базы. Посмотрите файлы *.ucl d /usr/src/release
там уже скоро 4 года, как все есть.
И пакетов на самом деле не так уж и много, просто для каждого пакета есть еще вариации "-profile, -development, -lib32, -lib32-developement, -lib32-profile"
pkg search -r FreeBSD-base unbound
FreeBSD-unbound-12.0.s20190120181149 Unbound DNS Resolver
FreeBSD-unbound-development-12.0.s20190120181149 Unbound DNS Resolver (Development Files)
FreeBSD-unbound-lib32-12.0.s20190120181149 Unbound DNS Resolver (32-bit Libraries)
FreeBSD-unbound-lib32-development-12.0.s20190120181149 Unbound DNS Resolver (32-bit Libraries, Development Files)
FreeBSD-unbound-lib32-profile-12.0.s20190120181149 Unbound DNS Resolver (32-bit Libraries, Profiling)
FreeBSD-unbound-profile-12.0.s20190120181149 Unbound DNS Resolver (Profiling Libraries