LINUX.ORG.RU

Как пересобрать пакет со всеми зависимостями?

 ,


0

1

После вчерашних обновлений, а именно ncurses, которые разрбаы пофиксили отвалился звук в skype. Одной из зависимостей skype как раз и был ncurses, ну еще и alsa-utls и alsa-sound. Если просто сделать emerge skype, то получается

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

Calculating dependencies... done!
[ebuild   R   ~] net-im/skype-4.3.0.37-r5
А надо переустановить все зависимости skype, а это 65 пакетов, даже 67 пакетов. Это получается emerge ... и поехал копипастить, это оч долго и утомительно. Можно конечно вручную указывать зависимости, но есть ли способ с помощью emerge? Не могу найти в manе. Мож кто-то знает как?
Сразу скажу, что звук был до обновлений. Pinkbyte помоги с сабжем, хорошо если пакетов 6, а если их 166? Можно как то автоматизировать процесс пересборки пакета с зависимостями. Кста, это касается и удаления пакета с зависимостями.



Последнее исправление: akhmylin (всего исправлений: 4)
Ответ на: комментарий от x0r

Ну может быть есть и другое решение данной проблемы, так подумал потому что в зависимостях skype есть ncurses с которым были проблемы. Думаю что переустановка поможет.

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

Да запускался, неоднократно. Никаких ошибок он не находит.
Вчера установил ncurses6.0, затем сделал emerge@preserved-rebuild и пересобралось оч много программ, в том числе и mariadb, alsa-utils и еще что-то что имеет отношение к skype, вот и грешу на это вчерашнее обновление.

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

затем сделал emerge@preserved-rebuild

А именно 'revdep-rebuild' запускался? Попробуй:

revdep-rebuild -i

А так, если не поможет, то запускай skype в эмуляторе терминала и смотри что в него выводится.

Skype работает через pulseaudio или apulse?

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

revdep-rebuild -i не дал положительных результатов на наличие ошибки. Скайп работает через apulse. И все таки, как с помощь emerge пересобрать все зависимости пакета, оч неохота вручную, это все таки 67 пакетов, может поможет.

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

kostik87, вы ювелир. Спасибо большое, помогло. Запустил скайп через терминал, звук появился. Далее, закрыл и запустил через ярлык скайпа, звук работает, ура. Спасибо за помощь.

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

спасибо большое за помощь, обошлось без переустановки, команда работает.

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

Хотя нет.
emerge --with-bdeps=y skype

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

Calculating dependencies... done!
[ebuild   R   ~] net-im/skype-4.3.0.37-r5 
Не дало ожидаемых результатов. Зависимости не вытянулись.
emerge -auvDN --with-bdeps=y skype
emerge -auvDN --with-bdeps=y skype

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

Calculating dependencies... done!

Total: 0 packages, Size of downloads: 0 KiB
Тоже не дало ожидаемого результата.
Получается что? Надо писать все зависимости вручную? Неужели нет способа?

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

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

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

По идее должно сработать

emerge --deep --with-bdeps=y

А для удаления пакета с зависимостями разве что так:
emerge --depclean skype
emerge --depclean

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

Аналогично этому как удалить пакет со всеми зависимостями?

Просто удаляешь пакет:

emerge -avc skype
или
emerge -avС skype
далее запускаешь проверку:
emerge -avc
будут удалены все пакеты, которые не являются чьими-либо зависимостями и не занесены в world.

как все таки переустановить пакет со всеми зависимостями

Можно сделать:

emerge -ae skype
но тут потянутся и xorg-server и gcc и вообще почти все пакеты системы.

Либо можно использовать equery

equery d skype
будут выведены непосредственные зависимости пакета. Тут придётся разбирать вывод equery.

UPD:
Да вон выше правильно про '--with-bdeps=y' сказали.

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

Total: 244 packages (2 upgrades, 1 new, 1 in new slot, 240 reinstalls

сурово как-то. Почему мне ни разу не приходилось пересобирать пакет с зависимостями? может я чего не понимаю

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

Потому что обычно нужно пересобирать сам пакет. Очень редко - пакет со всеми зависимостями «первого уровня»(непосредственными). ТС же жаждет пересобрать всё(лично мне непонятно зачем) - его право. Команду для этого я ему дал.

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

Точнее даже так:

emerge -1 `equery -qC g skype | awk '{print "="$3}' | awk 'length($0) > 1'`

немного велосипед получился, ну тебе он и нужен был)

haku ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.