LINUX.ORG.RU

Как вывести пакеты только самого верхнего уровня?

 


0

1

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

Как вывести только самостоятельные пакеты (виртуальные пакеты не должны заменять собой реальные)?

Вроде есть команда equery depgraph категория/имя-пакета но нужно что-то более высокоуровневое.

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

у меня есть мёртвая виртуалка. Запускаться она не хочет. emerge.log я с неё вытащил. Мне нужны не установленные пакеты, а ранее удалённые, я писал в предыдущем топике. Но не та длинная портянка, которая получается, а только пакеты верхнего уровня.

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

emerge.log хранит инфу о том, какой командой начата установка, с фразы «Started emerge on», следом идёт команда, которая запускает установку и в ней может быть указан пакет или цель

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

и в ней может быть указан пакет или цель

это не поможет выделить топовые пакеты, потому что промежуточные пакеты могли тоже устанавливаться командами с ключём -1

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

Тогда поможет только astral.so. Определись с тем, что ты считаешь топовым для начала и отсей установку, например, с «@» и «--oneshot» и что ещё тебе не нравится.

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

Определись с тем, что ты считаешь топовым для начала

То, на что не ссылаются другие пакеты в их Depend. Исключение - если есть виртуальный пакет, на который никто не ссылается, то топовым считается не только он, но и программа, которая реализовывает.

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

То, на что не ссылаются другие пакеты в их Depend.

Каким образом это стало «топовое»?

Если ты ставил пакеты с -1, специально выключая запись его в world, то ты ссзб.

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

Если ты ставил пакеты с -1, специально выключая запись его в world, то ты ссзб.

Я не ставил. Но возможно ставил ты. Тогда ссзб не я, а ты. Клоун, блин.

Но даже если никто из нас не ставил, это не мешает таким пакетам оказаться в логе. Потому что людей на планете 10 миллиардов.

Каким образом это стало «топовое»?

По воле моей, по мысли моей, по слову моему.

А у тебя мысли есть? Выписывай тогда словами развёрнуто.

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

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

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

Вот equery depgraph работает для пакетов конкретной системы, а готовой тулзы, которая выведет все деревья для сферических условий в вакууме, скорее всего нет. Имхо способ @grem самый реальный.

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

Ну packages.gentoo.org как-то же строит Reverse Dependencies - https://packages.gentoo.org/packages/dev-libs/libpcre2/reverse-dependencies

А например у firefox такой вкладки нет - https://packages.gentoo.org/packages/www-client/firefox/dependencies

то есть первый пакет не топовый, второй - топовый

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

The reverse dependencies are regularly parsed from the qa-reports.

Вот, пожалуйста, апи) https://qa-reports.gentoo.org/output/genrdeps/rindex/dev-libs/libpcre2

А например у firefox такой вкладки нет

Есть же https://packages.gentoo.org/packages/www-client/firefox/reverse-dependencies. Там кстати есть какая-то capybara. Упс, файрфокс тогда не топовый пакет)

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

Парсить emerge.log )

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

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

если хочется утилиту всему миру, то надо рассматривать все дикие возможности. Мало ли что захотят 10 миллиардов людей? Кто-то из них наверняка хорошо разбирается и специально захочет повыпендриваться.

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