LINUX.ORG.RU

Гибкость gentoo - миф?

 , ,


0

1

Не наброса ради, а понимания для.

Опустим форсирование включения кучи возможных LLVM_TARGETS, надо так надо.

Решил попробовать перейти на Gentoo, смутно озонавая, что USE хорошо, можно отрезать все лишнее и вообще. Поставил базу, начал обвешивать свистелками.

Я сторонник минимума, поэтому попробовал поставить pcmanfm-qt. А мне предлагается затянуть по зависимостям вот это:


These are the packages that would be merged, in order:

Calculating dependencies  ... done!
[ebuild  N     ] dev-libs/lzo-2.10:2::gentoo  USE="(split-usr) -examples -static-libs" 587 KiB
[ebuild  N     ] media-fonts/liberation-fonts-2.1.5::gentoo  USE="-X -fontforge" 2,330 KiB
[ebuild  N     ] dev-libs/libatomic_ops-7.6.14::gentoo  489 KiB
[ebuild  N     ] virtual/ttf-fonts-1-r2::gentoo  0 KiB
[ebuild  N     ] dev-libs/gobject-introspection-common-1.74.0::gentoo  1,020 KiB
[ebuild  N     ] dev-libs/vala-common-0.56.3::gentoo  3,877 KiB
[ebuild  N     ] x11-themes/hicolor-icon-theme-0.17::gentoo  52 KiB
[ebuild  N     ] media-libs/libpng-1.6.39:0/16::gentoo  USE="-apng -static-libs" CPU_FLAGS_X86="sse" 997 KiB
[ebuild  N     ] app-eselect/eselect-fontconfig-20220403::gentoo  2 KiB
[ebuild  N     ] dev-util/glib-utils-2.74.4::gentoo  PYTHON_SINGLE_TARGET="python3_10 -python3_8 -python3_9 -python3_11" 5,087 KiB
[ebuild  NS    ] app-text/docbook-xml-dtd-4.3-r2:4.3::gentoo [4.1.2-r7:4.1.2::gentoo, 4.2-r3:4.2::gentoo, 4.4-r3:4.4::gentoo, 4.5-r2:4.5::gentoo] 82 KiB
[ebuild  N     ] media-gfx/graphite2-1.3.14_p20210810-r2::gentoo  USE="-perl -test" 6,501 KiB
[ebuild  N     ] dev-libs/double-conversion-3.2.1:0/3::gentoo  USE="-test" 6,868 KiB
[ebuild  N     ] dev-libs/fribidi-1.0.12::gentoo  USE="-doc -test" 1,128 KiB
[ebuild  N     ] virtual/perl-File-Path-2.180.0-r1::gentoo  0 KiB
[ebuild  N     ] sys-apps/lsb-release-3.2::gentoo  16 KiB
[ebuild  N     ] dev-perl/IPC-System-Simple-1.300.0::gentoo  USE="-test" 32 KiB
[ebuild  N     ] dev-perl/File-BaseDir-0.90.0::gentoo  USE="-test" 22 KiB
[ebuild  N     ] media-libs/freetype-2.12.1-r1:2::gentoo  USE="adobe-cff bzip2 cleartype-hinting png -X -brotli -debug -doc -fontforge -harfbuzz (-infinality) -static-libs -svg -utils" 2,414 KiB
[ebuild  N     ] x11-libs/xcb-util-renderutil-0.3.10::gentoo  256 KiB
[ebuild  N     ] x11-libs/xcb-util-keysyms-0.4.1::gentoo  254 KiB
[ebuild  N     ] x11-libs/xcb-util-wm-0.4.2::gentoo  279 KiB
[ebuild  N     ] x11-apps/xprop-1.2.5::gentoo  148 KiB
[ebuild  N     ] x11-apps/xset-1.2.4-r1::gentoo  143 KiB
[ebuild  N     ] dev-perl/File-DesktopEntry-0.220.0-r1::gentoo  USE="-test" 18 KiB
[ebuild  N     ] media-libs/libexif-0.6.24::gentoo  USE="nls -doc" 1,946 KiB
[ebuild  N     ] dev-libs/boehm-gc-8.2.2-r1::gentoo  USE="large threads -cxx -static-libs" 1,172 KiB
[ebuild  N     ] x11-libs/libXcomposite-0.4.5::gentoo  USE="-doc" 310 KiB
[ebuild  N     ] x11-libs/libXcursor-1.2.1::gentoo  USE="-doc" 274 KiB
[ebuild  N     ] x11-libs/libXdamage-1.1.5::gentoo  297 KiB
[ebuild  N     ] x11-libs/libXi-1.8::gentoo  USE="-doc" 483 KiB
[ebuild  N     ] app-eselect/eselect-rust-20210703::gentoo  5 KiB
[ebuild  N     ] media-libs/fontconfig-2.14.0-r1:1.0::gentoo  USE="-doc -static-libs -test" 1,398 KiB
[ebuild  N     ] www-client/w3m-0.5.3_p20220429::gentoo  USE="nls ssl unicode -X -fbcon -gdk-pixbuf -gpm -imlib -lynxkeymap -nntp -xface" L10N="-ja" 2,259 KiB
[ebuild  N     ] dev-lang/rust-1.65.0:stable/1.65::gentoo  USE="-clippy -debug -dist -doc (-llvm-libunwind) (-miri) (-nightly) (-parallel-compiler) (-profiler) -rust-analyzer -rust-src -rustfmt (-system-bootstrap) (-system-llvm) -test -verify-sig -wasm" CPU_FLAGS_X86="sse2" LLVM_TARGETS="AMDGPU (X86) -AArch64 -ARM -AVR -BPF -Hexagon -Lanai -MSP430 -Mips -NVPTX -PowerPC -RISCV -Sparc -SystemZ -WebAssembly -XCore" 294,529 KiB
[ebuild  N     ] virtual/w3m-1::gentoo  0 KiB
[ebuild  N     ] virtual/rust-1.65.0-r1:0/llvm-15::gentoo  USE="-rustfmt" 0 KiB
[ebuild  N     ] dev-libs/glib-2.74.4:2::gentoo  USE="elf mime xattr -dbus -debug -gtk-doc (-selinux) -static-libs -sysprof -systemtap -test -utils" 0 KiB
[ebuild  N     ] x11-misc/shared-mime-info-2.2::gentoo  USE="-test" 6,899 KiB
[ebuild  N     ] dev-util/desktop-file-utils-0.26-r2::gentoo  USE="-emacs" 82 KiB
[ebuild  N     ] dev-qt/qtcore-5.15.7:5/5.15.7::gentoo  USE="-debug -icu -old-kernel -systemd -test" 49,866 KiB
[ebuild  N     ] x11-libs/cairo-1.17.6::gentoo  USE="X glib (-aqua) (-debug) (-gles2-only) -gles3 -gtk-doc -opengl -test" 42,676 KiB
[ebuild  N     ] dev-perl/File-MimeInfo-0.300.0::gentoo  USE="-test" 36 KiB
[ebuild  N     ] dev-util/lxqt-build-tools-0.12.0::gentoo  25 KiB
[ebuild  N     ] dev-qt/qtdbus-5.15.7:5/5.15::gentoo  USE="-debug -test" 0 KiB
[ebuild  N     ] dev-qt/qtxml-5.15.7:5/5.15::gentoo  USE="-debug -test" 0 KiB
[ebuild  N     ] dev-qt/linguist-tools-5.15.7:5::gentoo  USE="-debug -qml -test" 8,694 KiB
[ebuild  N     ] dev-util/gdbus-codegen-2.74.4::gentoo  PYTHON_SINGLE_TARGET="python3_10 -python3_8 -python3_9 -python3_11" 0 KiB
[ebuild   R    ] app-text/xmlto-0.0.28-r10::gentoo  USE="text* -latex" 0 KiB
[ebuild  N     ] x11-misc/xdg-utils-1.1.3_p20210805-r1::gentoo  USE="-dbus -doc -gnome" 287 KiB
[ebuild  N     ] dev-libs/gobject-introspection-1.74.0::gentoo  USE="-doctool -gtk-doc -test" PYTHON_SINGLE_TARGET="python3_10 -python3_8 -python3_9 -python3_11" 0 KiB
[ebuild  N     ] x11-libs/libxkbcommon-1.4.1::gentoo  USE="X -doc -static-libs -test -tools -wayland" 461 KiB
[ebuild  N     ] media-libs/harfbuzz-5.3.1-r1:0/4.0.0::gentoo  USE="cairo glib graphite introspection truetype -debug -doc -experimental -icu -test" 17,456 KiB
[ebuild  N     ] x11-libs/gdk-pixbuf-2.42.10-r1:2::gentoo  USE="introspection -gtk-doc -jpeg -test -tiff" 6,367 KiB
[ebuild  N     ] app-accessibility/at-spi2-core-2.46.0:2::gentoo  USE="introspection -X -gtk-doc -test" 528 KiB
[ebuild  N     ] dev-lang/vala-0.56.3:0.56::gentoo  USE="-test -valadoc" 0 KiB
[ebuild  N     ] dev-util/gtk-update-icon-cache-3.24.31::gentoo  91 KiB
[ebuild  N     ] x11-libs/pango-1.50.12::gentoo  USE="introspection -X -debug -sysprof -test" 4,173 KiB
[ebuild  N     ] gnome-base/librsvg-2.55.1:2::gentoo  USE="introspection vala -debug -gtk-doc" 31,455 KiB
[ebuild  N     ] lxde-base/lxmenu-data-0.1.5::gentoo  195 KiB
[ebuild  N     ] x11-libs/libfm-extra-1.3.2:0/5.3.1::gentoo  1,265 KiB
[ebuild  N     ] lxde-base/menu-cache-1.1.0-r1:0/2::gentoo  260 KiB
[ebuild  N     ] x11-libs/xcb-util-0.4.0-r2::gentoo  291 KiB
[ebuild  N     ] x11-libs/xcb-util-image-0.4.1::gentoo  283 KiB
[ebuild  N     ] x11-libs/xcb-util-cursor-0.1.4::gentoo  260 KiB
[ebuild  N     ] dev-qt/qtgui-5.15.7:5/5.15.7::gentoo  USE="X libinput png udev -accessibility -dbus -debug -egl -eglfs -evdev -gles2-only -ibus -jpeg -linuxfb -test -tslib -tuio -vnc -vulkan -wayland" 0 KiB
[ebuild  N     ] dev-qt/qtwidgets-5.15.7:5/5.15::gentoo  USE="X png -dbus -debug -gles2-only -gtk -test" 0 KiB
[ebuild  N     ] dev-qt/qtx11extras-5.15.7:5/5.15::gentoo  USE="-debug -test" 143 KiB
[ebuild  N     ] x11-libs/libfm-qt-1.2.0:0/7::gentoo  377 KiB
[ebuild  N     ] x11-libs/gtk+-3.24.35:3::gentoo  USE="X introspection (-aqua) -broadway -colord -cups -examples -gtk-doc -sysprof -test -vim-syntax -wayland -xinerama" 17,494 KiB
[ebuild  N     ] x11-themes/adwaita-icon-theme-43_p1::gentoo  USE="-branding" 26,880 KiB
[ebuild  N     ] virtual/freedesktop-icon-theme-0-r4::gentoo  0 KiB
[ebuild  N     ] x11-misc/pcmanfm-qt-1.2.0::gentoo  345 KiB

Total: 73 packages (71 new, 1 in new slot, 1 reinstall), Size of downloads: 552,137 KiB

В make.conf у меня

VIDEO_CARDS="amdgpu"
LLVM_TARGETS="AMDGPU X86"
INPUT_DEVICES="libinput"
USE="-ipv6 -man -debug -accessibility -policykit -samba -telemetry -systemd -bluetooth -wayland -cups -examples -gtk -gtk-doc -gnome"

Но плевать он хотел на всё это обрезание. Раз у всех все гибко, а у меня - нет, полагаю, что делаю я что-то не так.

Но что? Как может Qt прога тащить gtk, да еще и вон виртуальный пакет w3m затесался. Это же ни в какие ворота недопустимо.

@grem

★★★★★

Последнее исправление: gutaper (всего исправлений: 2)

при этом xserver уже есть, запускается и даже есть JWM. В той же openSUSE у меня было в той же самой комплектации сильно меньше в желаемом поставиться.

Предположу, что часть тут - сборочные зависимости. Но е-мае. Тогда выходит «поставить только то, что нужно» - это в @world? А в зависимостях ад и содомия с аргументом «тебе чего, места что-ли жалко»?

Объясните, пожалуйства. Может я концепцию не вкуриваю?

gutaper ★★★★★
() автор топика

virtual/freedesktop-icon-theme первым пакетом из списка доступных в нём тащит x11-themes/adwaita-icon-theme, который тащит gtk и остальное. Чтобы обойти это - попробуй поставить сначала какой-нибудь другой пакет, предоставляющий virtual/freedesktop-icon-theme, не зависящий от gtk - то есть что-то из иконок поставить то придётся.

Я не парюсь, у меня профиль desktop - он сразу тянет Qt и GTK, всё равно в итоге понадобится какая-нибудь прога зависящая либо от одного, либо от другого. Главное, чтобы какой-нибудь webeingine (для Qt или GTK) что-то не тащило за собой - они все долго собираются и память жрут сильно при сборке в несколько потоков.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от grem

Я не парюсь, у меня профиль desktop - он сразу тянет Qt и GTK,

Так-то я тоже тулкитофобией не сильно старадаю, так как и Qt и GTK софт использую. Но после openSUSE несколько неожиданно такие порятки зависимостей видеть на минимальной системе.

Там как-то гуманней все. Кодеки только заколебали, а васянорепу религия не позволяет исопользовать.

Да, ты прав оказался. Поставил иконки отдельно и гтк отпало. Хотя w3m остался. Тоже что-то где-то тащит.

В общем, надо признать, суть use-флагов я немного иначе представлял :)

gutaper ★★★★★
() автор топика
Последнее исправление: gutaper (всего исправлений: 1)
Ответ на: комментарий от gutaper

В других дистрах просто нарезка другая. А так всё просто — есть три типа зависимостей: сборочные, которые нужны только на этапе сборки пакета, обязательные зависимости, без которых пакет тупо не работает вообще, и необязательные, без которых пакет работает, но лишается части функционала. Последние как раз и регулируются USE флагами. Если ты когда либо руками собирал софт через configure и make то понимаешь концепцию — USE флаги как раз включают или отключают те или иные параметры configure определяющие функционал программы.

Это очень грубое описание, USE флаги ещё много чего делают, но вкратце суть такова — если разработчик использует некоторую зависимость так что без форка его софтины или жестокого патчинга отодрать её невозможно — флагами это не исправить и разработчик дистра тут бессилен. Например в коде некоторых пакетов KDE используется код из библиотек wayland, даже если у тебя иксы. И даже если ты отключил wayland для другого софта USE флагом и не желаешь его иметь — он к тебе приедет, так как тут зависимость от него «жесткая». Почему так, а не иначе — претензия не к разрабам генту в данном случае. Они не будут форкать кеды и отвязывать их от wayland ради «моральной чистоты», у них и так есть чем заняться.

Осиль утилиту equery — это «швейцарский нож» для препарирования зависимостей и многого другого, помогает в расследованиях на тему «а откуда взялась эта либа», «почему и отчего у меня вот это по зависимостям тянется» и «если я вот это снесу, что от этого пострадает и пострадает ли вообще».

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

Я не предъявляю претензий к разрабам генты. Я вообще ее поставил сегодня первый день.

Суть зависимостей жестких и рекомндованных я, конечно, понимаю. Просто сравнивая их с тем, как они прописаны в openSUSE у меня не сходится с вариантом «вот без этого прога не работает никак, поэтому зависимость жесткая».

В частности пример пояснили с xmlto. Который хочет что-то из консольных браузеров. Может ему это и надо, я не разибарлся.

Но в openSUSE, при наличии в системе Qt, GTK, pcmanfm-qt, geany smplayer, mpv, Firefox, Thunderbird намека на w3m, links, elinks нет.

Из чего я делаю вывод, что зависимость жеткая сделана не разработчиком софта.

Не поливая помоями, просто констатирую факт, что краткое ознакомление позволило мне понять, что для меня проще будет пересобрать вручную несколько rpm (благо в openSUSE спеки пишут так, что вернуть кодеки в ffmpeg или mesa - дело правки пары строчек).

По затратам времени на разбирание и сопровождение (компиляция - это хрен с ней) openSUSE оказывается для меня намного оптимальней.

gutaper ★★★★★
() автор топика
Последнее исправление: gutaper (всего исправлений: 1)
Ответ на: комментарий от gutaper

xmlto скорее всего сборочная зависимость, в бинарных дистрах этот пакет не нужен. точно так же как в бинарных дистрах нафиг большинству пользователей не нужен компилятор rust, а в gentoo - без него никак на десктопе.

eternal_sorrow ★★★★★
()

Просто есть пределы гибкости. Например, в идеале каждую версию каждой программы можно было бы ставить в отдельный слот. Но это этого не существует.

novus
()
Последнее исправление: novus (всего исправлений: 1)
Ответ на: комментарий от grem

было бы интересно, если бы можно было запрещать флаги. Например запретил какой-нибудь USE-флаг, и все пакеты либо собираются без него, либо ошибка при вычислении зависимостей.

Shushundr ★★★
()

Опустим форсирование включения кучи возможных LLVM_TARGETS, надо так надо.

AFAIR это для предотвращения потенциальных проблем при сборке педеRustа.

Но что? Как может Qt прога тащить gtk, да еще и вон виртуальный пакет w3m затесался. Это же ни в какие ворота недопустимо.

Тащит что-то другое от freedesktop. Ну и в догонку:

PCManFM-Qt is a Qt-based file manager which uses GLib for file management.

Вот это самый натуральный идиотизм.

Meyer ★★★★★
()

Гибкость Gentoo не в portage и USE–флагах — она в прямых руках и извилистых мозгах гентушника. Если нет желания разбираться, а хочется чтобы оно как–нибудь там само всё разрулилось — Gentoo, наверное, не самый удачный выбор.

Первый шаг — освоить флаг -t у emerge.

Второй — научиться пользоваться equery из app-portage/gentoolkit и eix из app-portage/eix.

Третий — не пытаться всё настроить волшебной комбинацией флагов в make.conf. Они применяются ко всем пакетам, при этом для разных пакетов один и тот же флаг может иметь разное значение (редко, но бывает). Разобраться с содержимым /etc/portage и как им пользоваться (man portage).

Quote
()
Ответ на: комментарий от Jameson

Есть ещё opt_feature - это зависимости, которые сами не ставятся, не управляются USE-флагами и не мешают работать проге, но если их поставить, то могут добавить какую-то фичу. О них просто после установке в логах сообщается.

grem ★★★★★
()
Ответ на: комментарий от Meyer

Вот это самый натуральный идиотизм.

Я, как всю дорогу пользователь бинарных дистров, не вникаю на чем, как и почему едет та или иная софтина. Максимум, на что обращал внимание - это то, что по зависимостям приезжает. Из-за них и вопрос задал.

В целом пояснили.

gutaper ★★★★★
() автор топика
Ответ на: комментарий от Silerus

это не совсем то, что я имею в виду. Например пакет можно сделать нестабильным, а можно замаскировать. Это разные операции. Вот и USE-флаг ты просто отключил глобально (но локально он может остаться включенным у каких-то пакетов). А я бы хотел флаг замаскировать, запретить насмерть.

Shushundr ★★★
()
Ответ на: комментарий от Shushundr

Флаги можно маскировать, хоть попакетно.

Если для сборки нужна зависимость с определённым флагом, который в данный момент не применяется, то portage об этом сообщает и просит/предлагает его включить, подправив конфиг в package.use.

grem ★★★★★
()
Ответ на: комментарий от Shushundr

теперь придётся.

С чего бы это? Я попробовал gentoo, мне не подошло. Героически жрать то, что для меня является бОльшим кактусом, нежели проблема отсутствия кодеков в основных репах openSUSE, я не буду.

Получил некий опыт. Принял к сведению. Например, понравилось, что можно firmware легко и просто вкомпилить в ядро, что ядро весит у меня 10 метров и т.п. Но минусов для меня оказалось больше. Просто ждать компиляцию я морально был бы готов. Но перед этим превозмогать хитросплетения зависимостей я не готов (а ставить «как есть» - так у меня в сусе с этим проблемы не было)

gutaper ★★★★★
() автор топика
Ответ на: комментарий от gutaper

Всё проще: о -t в emerge я не знаю; продвинутыми фичами eix не пользуюсь - только поиском пакетов, за очень редким исключением; в make.conf особо часто лучше не лазить - для тонкой настройки, если очень хочется, есть /etc/portage/package.use

У меня в виртуалку Ubuntu недавно как-то долго ставилась. Выбрал минимальную установку. Так он сначала, похоже, всё поставил, а затем удалял ненужное о_О И по окончании установки после загрузки рабочего стола ещё кучу обновлений скачал, хотя я выбирал «скачивать обновления в процессе». Дополнительная установка boost, gcc, g++, eigen, lapack тоже не быстрая. Для sundials всё разбито на кучу пакетов, предлагается скачать 500 мб зависимостей и нет варианта собранного с поддержкой lapack.

grem ★★★★★
()
Ответ на: комментарий от gutaper

превозмогать хитросплетения зависимостей я не готов

А как по-твоему система должна понимать, что ты от неё хочешь?

Не, ещё можно извратиться и добавить USE="-*" и дальше конкретно задавать флаги для каждого конкретного пакета.

// Какой у тебя профиль сборки задан был, кстати?

devl547 ★★★★★
()
Последнее исправление: devl547 (всего исправлений: 1)
Ответ на: комментарий от gutaper

Это всего лишь банальное «пожалуйста, прочтите документацию». И это для любого дистрибутива действительно, будь он бинарный или source–based.

> emerge -pvt pcmanfm-qt
…
These are the packages that would be merged, in reverse order:

[ebuild  N     ] x11-misc/pcmanfm-qt-1.2.0::gentoo  345 KiB
[ebuild  N     ]  x11-libs/libfm-qt-1.2.0:0/7::gentoo  377 KiB
[ebuild  N     ]   lxde-base/menu-cache-1.1.0-r1:0/2::gentoo  260 KiB
[ebuild  N     ]    x11-libs/libfm-extra-1.3.2:0/5.3.1::gentoo  1,265 KiB
[ebuild  N     ]  lxde-base/lxmenu-data-0.1.5::gentoo  195 KiB
[ebuild  N     ]  dev-util/lxqt-build-tools-0.12.0::gentoo  25 KiB

Total: 6 packages (6 new), Size of downloads: 2,464 KiB

Добавление флага -t к вызову emerge позволяет увидеть кто что тащит и вмешаться в процесс, если что–то не нравится.

> equery g pcmanfm-qt
 * Searching for pcmanfm-qt ...
…
 * dependency graph for x11-misc/pcmanfm-qt-1.2.0
 `--  x11-misc/pcmanfm-qt-1.2.0  amd64 
   `--  dev-libs/glib-2.74.4  (dev-libs/glib) ~amd64 
   `--  dev-qt/qtcore-5.15.8  (>=dev-qt/qtcore-5.15) ~amd64 
   `--  dev-qt/qtdbus-5.15.8  (>=dev-qt/qtdbus-5.15) ~amd64 
   `--  dev-qt/qtgui-5.15.8-r1  (>=dev-qt/qtgui-5.15) ~amd64 
   `--  dev-qt/qtwidgets-5.15.8  (>=dev-qt/qtwidgets-5.15) ~amd64 
   `--  dev-qt/qtx11extras-5.15.8  (>=dev-qt/qtx11extras-5.15) ~amd64 
   `--  sys-apps/util-linux-2.38.1  (sys-apps/util-linux) ~amd64 
   `--  virtual/freedesktop-icon-theme-0-r4  (virtual/freedesktop-icon-theme) ~amd64 
   `--  x11-libs/libfm-qt-1.2.0  (=x11-libs/libfm-qt-1.2*) amd64 
   `--  x11-libs/libxcb-1.15-r1  (x11-libs/libxcb) ~amd64 
   `--  x11-misc/xdg-utils-1.1.3_p20210805-r1  (x11-misc/xdg-utils) ~amd64 
   `--  lxde-base/lxmenu-data-0.1.5  (>=lxde-base/lxmenu-data-0.1.5) amd64 
   `--  dev-qt/linguist-tools-5.15.8  (>=dev-qt/linguist-tools-5.15) ~amd64 
   `--  dev-util/lxqt-build-tools-0.12.0  (>=dev-util/lxqt-build-tools-0.12.0) amd64 
   `--  dev-util/ninja-1.11.1-r2  (>=dev-util/ninja-1.8.2) amd64 
   `--  dev-util/cmake-3.25.1  (>=dev-util/cmake-3.20.5) ~amd64 
[ x11-misc/pcmanfm-qt-1.2.0 stats: packages (17), max depth (1) ]

Из вывода equery становится понятно, что непосредственные зависимости пакета куда как скромнее портянки выше.

Но virtual/freedesktop-icon-theme притаскивает первую попавшуюся тему — x11-themes/adwaita-icon-theme. А уже она тянет gtk+. Который до кучи тащит vala и прочее.

Далее, adwaita собирается из исходников, которые, внезапно, в svg. И чтобы произвести комплекты иконок разных размеров используется растеризатор librsvg — маленький, шустрый и не создававший особенных проблем до момента, пока текущий мэйнтэйнер не переписал его на Rust. В результате да, создалась парадоксальная ситуация, когда попытка поставить adwaita притягивает по зависимостям Rust со всей его инфраструктурой.

Сложно? Превозмогание? На мой взгляд — ничуть, надо просто один раз разобраться как устроена инфраструктура дистрибутива и работает пакетный менеджер.

Но, дело хозяйское, насильно мил не будешь.

Quote
()
Ответ на: комментарий от gutaper

Suse хороший дистрибутив же.

Я вон просто с Gentoo начинал, а теперь это скорее как хобби :) хотя времени на ментейнинг пакетов много иногда уходит и не со всем получается быстро разобраться. А так работает и ладно, как и все другие дистрибутивы.

grem ★★★★★
()
Ответ на: комментарий от Jameson

претензия не к разрабам генту в данном случае

Претензий к ним хватает. Иначе не приходилось бы править ебилды. Которые просто слеплены на отцепись. Как вспомню, так вздрогну

utanho ★★★★★
()
Ответ на: комментарий от gutaper

Я вообще ее поставил сегодня первый день.

Ну и зря. Я вот наоборот на сюсю перешел. Сделал то, что хотел без всяких компеляний. Щас вот думаю дернуть оформление мате из редос и прикрутить в сюсю.

utanho ★★★★★
()
Ответ на: комментарий от Meyer

which uses GLib for file management

Так кути давно на глибе завязаны. Меня как-то даже пытались убедить, что глиб - ни разу не гномолиба, а общесистемная библиотека.

utanho ★★★★★
()
Ответ на: комментарий от grem

Я убунту не пользуюсь, сравниваю только с openSUSE. Я не говорю, что решить нельзя в gentoo, я говорю, что для решения натаскивания мусора (в моем понимании) в систему надо слишком много и активно приседать в сравнении с.

gutaper ★★★★★
() автор топика
Последнее исправление: gutaper (всего исправлений: 1)
Ответ на: комментарий от devl547

А как по-твоему система должна понимать, что ты от неё хочешь?

Как openSUSE :) zypper in –no-recommends и мои волосы мягкие и шелковистые с небольшими исключениями. Но чтобы не превращать топик в рекламу суси, я уже несколько раз написал, что лично мне джента не подошла. Кому-то может и в радость иметь в системе «только то, что нужно», но это «то, что нужно» совсем не то, о чем я думал.

Профиль no-multilib (stable)

gutaper ★★★★★
() автор топика
Последнее исправление: gutaper (всего исправлений: 1)
Ответ на: комментарий от Quote

В результате да, создалась парадоксальная ситуация, когда попытка поставить adwaita притягивает по зависимостям Rust со всей его инфраструктурой.

Ну вот ты все разобрал, молодец. Хотя то, что оно зависимостями зависимостей до такой потянки наросло - это понятно.

А делать-то что с этим? Это и есть «только самое необходимое в системе»? Ну технически оно, конечно, может и так. Но на практике у меня голая почти система уже 4.5 ГБ занимает. А в ней нет кроме исков и JWM еще ничего.

gutaper ★★★★★
() автор топика
Последнее исправление: gutaper (всего исправлений: 1)
Ответ на: комментарий от utanho

Меня openSUSE усраивает всем, кроме кодеков. Вообще это мой первый дистр (на постоянной основе). Так и прижился.

Но вот эта вот политика с кодеками в васянорепе - прям достала. И с кодеками в mesa стало как-то тоскливо, что захотелось «минимализма, но с кодеками искаропки». И не старья.

gutaper ★★★★★
() автор топика
Последнее исправление: gutaper (всего исправлений: 1)
Ответ на: комментарий от gutaper

В большинстве дистров кодеки отдельно, ибо патенты. В генте просто нет репозитория, там есть список ебилдов. А сырцы тянет со всего мира.

Если нравятся кеды - пробуйте Росу. Там репы по типу дебиана.

utanho ★★★★★
()
Последнее исправление: utanho (всего исправлений: 1)
Ответ на: комментарий от gutaper

А делать-то что с этим?

Общий ответ — ставить то что нравится. То что не нравится — не ставить. =)
Да, иногда для «не ставить» придётся предпринять дополнительные шаги.

В данном конкретном случае — выбрать другую тему иконок, удовлетворяющую зависимость virtual/freedesktop-icon-theme.

 > equery g virtual/freedesktop-icon-theme
 * Searching for freedesktop-icon-theme in virtual ...

 * dependency graph for virtual/freedesktop-icon-theme-0-r4
 `--  virtual/freedesktop-icon-theme-0-r4  ~amd64 
   `--  x11-themes/adwaita-icon-theme-43_p1  (x11-themes/adwaita-icon-theme) ~amd64 
   `--  x11-themes/faenza-icon-theme-1.3.1-r1  (x11-themes/faenza-icon-theme) amd64 
   `--  lxde-base/lxde-icon-theme-0.5.1-r1  (lxde-base/lxde-icon-theme) ~amd64 
   `--  x11-themes/tango-icon-theme-0.8.90-r1  (x11-themes/tango-icon-theme) amd64 
   `--  kde-frameworks/breeze-icons-5.101.0  (kde-frameworks/breeze-icons) ~amd64 
   `--  kde-frameworks/oxygen-icons-5.101.0  (kde-frameworks/oxygen-icons) ~amd64 
   `--  x11-themes/mate-icon-theme-1.26.0  (x11-themes/mate-icon-theme) amd64 
   `--  x11-themes/elementary-xfce-icon-theme-0.17  (x11-themes/elementary-xfce-icon-theme) ~amd64

Но на практике у меня голая почти система уже 4.5 ГБ занимает.

Это вместе с distfiles, или без?

Это и есть «только самое необходимое в системе»?

Штука в том, что хотелки у всех разные. У кого–то и gtk+ и Rust и так уже установлены и он эти зависимости просто не заметит. Но в целом, Gentoo — это не про минималистичность и не для слабых машин. Компиляторы и библиотеки к ним весят прилично, требуют памяти и мощный процессор.

Quote
()
Ответ на: комментарий от Quote

Это вместе с distfiles, или без?

Наверное, с. Я просто df -h глянул.

Но в целом, Gentoo — это не про минималистичность и не для слабых машин

Для меня «в системе только то, что нужно» == «минималистичность». Оказалось, есть нюанс.

gutaper ★★★★★
() автор топика
Ответ на: комментарий от gutaper

Gentoo даёт минимальность при использовании, а не при установке. Можно собрать все бинарники таким образом, что при работе они будут требовать меньше ресурсов или вести себя так, как тебе нужно. Но на этапе сборки тебе понадобятся исходники всех включённых зависимостей и инструменты для их сборки.

shell-script ★★★★★
()
Ответ на: комментарий от Quote

Это всего лишь банальное «пожалуйста, прочтите документацию». И это для любого дистрибутива действительно

Нет. Минт можно ставить, не читая никакой документации, если был до этого хоть какой-то опыт с линуксом.

tiinn ★★★★★
()
Ответ на: комментарий от shell-script

Можно собрать все бинарники таким образом, что при работе они будут требовать меньше ресурсов

На 5%, в среднем?

или вести себя так, как тебе нужно.

Вот это, безусловно, ценно.

tiinn ★★★★★
()

Гибкость генту не в экономии места на жестком диске, а в возможности держать нужные версии пакетов, собранные с нужными версиями библиотек, с нужными флагами сборки. Плюс возможность с минимумом усилий обновлять софт со своими патчами или ядро со своим конфигом.

Если цель держать как можно меньше лишнего багажа на жестком диске, то генту - один из худших дистрибутивов.

altwazar ★★★★
()
Ответ на: комментарий от tiinn

На 5%, в среднем?

Я не говорил про оптимизацию под процессор и подобное. На современном железе этим можно пренебречь. Я говорил про отключение ненужных лично мне утяжеляющих работу модулей на этапе компиляции, благодаря чему тяжёлый софт запускается и работает шустрее. Самый наглядный пример - semantic-desktop в KDE. Менее наглядные - mplayer(актуальных данных у меня нет, но лет пять-шесть назад я сравнивал нагрузку и потребление памяти на одном и том же железе при проигрывании одного и того же файла собранным в дебиане и собранным в gentoo - разница почтив. два раза была), отключение того же pulseaudio на отзывчивость множества пакетов в системе влияет.

Но, да. Это всё действительно мелочи по сравнению с поведением софта.

shell-script ★★★★★
()

Да, есть гораздо более оправданные причины греть планету.

Если в ковыряниях гентущников был реальный смысл, то по сети ходили бы удачные рецепты и прочие писькомерялки типа «собери такую де систему как у меня и зацени как быстро!!!»

R_He_Po6oT ★★★★
()
Ответ на: комментарий от R_He_Po6oT

Бывают такие люди, которые ставят операционную систему для того, чтобы она работала, а не для того, чтобы потом в интернетах перед анонимусами меряться всякими органами.

shell-script ★★★★★
()