LINUX.ORG.RU

Почему emerge --depclean удаляет nano?

 


0

1

И при этом ещё выдаёт сообщение, что nano является частью system и поэтому всё будет сломано?

Как исправить я нашел - [gentoo] --depclean хочет удалить nano

Мне непонятно почему такое изначально. Ну, допустим, что он не часть system. Почему тогда выдаётся предупреждение?

Перед удалением nano поставь что-нибудь еще, потом можешь смело nano сносить.

Пишет pinkbyte

А почему бы тогда в stage3 не запаковать world-файл по-умолчанию?

Если не хочется трогать world-файл, то можно ли это (тот факт что nano должен быть установлен) как-нибудь протащить через профиль?

Забанься уже почемучка, добавь пакет в world и не делай мозги людям.

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

добавь

Почему я? Вопрос уже не первый раз возникает, и никто не пофиксит никак.

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

Почему тогда выдаётся предупреждение?

он не часть system.

Сам ответил на свой вопрос.

Почему я?

Поэтому ты.

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

в том что надо делать. Компьютеры придумали для того, чтобы оно всё само.

Einstok_Fair ★★★ ()

Это он тебе так тонко намекает изучить нормальный текстовый редактор (vim).

EXL ★★★★★ ()

Очевидно - потому что ты не умеешь воспринимать то, что тебе пишут.

rtest1 ~ # emerge -1O nano -pv

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

[ebuild   R    ] app-editors/nano-4.6-r1::gentoo  USE="magic ncurses nls spell (split-usr) unicode -debug -justify -minimal -slang -static" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

rtest1 ~ # emerge --depclean nano

Calculating dependencies... done!
>>> No packages selected for removal by depclean
>>> To see reverse dependencies, use --verbose
Packages installed:   355
Packages in world:    22
Packages in system:   43
Required packages:    355
Number removed:       0

rtest1 ~ # grep nano /var/lib/portage/world

Итак, в world-файле nano нет, depclean его не удаляет. Вот и всё.

А теперь показывай свой world-файл. Спорим у тебя там есть что-то из списка зависимостей virtual/editor, НО не app-editors/nano ?

Дальше объяснять? Или всё же удосужишься почитать Package Manager Specification и осознать что это не баг? Реально смешно смотреть на теории, которые ты строишь в силу полного непонимания ситуации...

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

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

И нет, отмазка «я не понимаю эти ваши инструкции» не защитывается.

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

тогда gentoo явно не для тебя.

я вот например последние несколько дней пытаюсь заставить работать связку webrtc в firefox + pipewire + xdg-desktop-portal + xdg-desktop-portal-wlr + sway для того чтобы можно было расшаривать рабочий стол sway в видеочатах через webrtc. приходится много ковырять руками. но главное, гента позволяет мне это делать и даже делает удобным.

а твоя проблема это пфф

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

При наличии http/2 webrtc не нужен, тем более что некоторые банки блокируют websocket-ы.

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

показывай свой world-файл.

# cat /var/lib/portage/world
app-admin/sudo
app-editors/leafpad
app-eselect/eselect-repository
app-misc/aha
app-misc/mc
app-misc/screen
app-portage/gentoolkit
app-text/wgetpaste
dev-vcs/git
RDEPEND="|| (
	app-editors/nano
	app-editors/dav
	app-editors/e3
	app-editors/ee
	app-editors/elvis
	app-editors/emacs:*
	app-editors/emact
	app-editors/ersatz-emacs
	app-editors/fe
	app-editors/jasspa-microemacs
	app-editors/jed
	app-editors/joe
	app-editors/jove
	app-editors/kakoune
	app-editors/le
	app-editors/levee
	app-editors/lpe
	app-editors/mg
	app-editors/moe
	app-editors/ne
	app-editors/neovim
	app-editors/ng
	app-editors/nvi
	app-editors/qemacs
	app-editors/teco
	app-editors/uemacs-pk
	app-editors/vile
	app-editors/vim
	app-editors/gvim
	app-editors/vis
	app-editors/xemacs
	app-editors/zile
	app-misc/mc[edit]
	dev-lisp/cmucl
	mail-client/alpine[-onlyalpine]
)"

# Packages outside app-editors providing an editor:
#	app-misc/mc: mcedit (#62643)
#	dev-lisp/cmucl: hemlock
#	mail-client/alpine: pico
#	sys-apps/busybox: vi
Einstok_Fair ★★★ ()
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Спорим у тебя там есть что-то из списка зависимостей virtual/editor, НО не app-editors/nano ?

Я думаю, что это mc.

Но это же не повод удалять nano!

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

Это именно так.

Если ты не хочешь, чтобы удалялся редактор, который явно не задан в world-файле нужно... задать его в world-файле?

portage видит virtual/editor, видит установленный mc, видит что mc удалять нельзя, т.к. он записан в world-файле. Установленный mc с флагом edit удовлетворяет зависимость virtual/editor(и выбирается таковым, т.к. его запрещено удалять), следовательно nano из этой зависимости исключается. nano в world-файле отстутствует и не требуется никаким пакетом -> кандидат на удаление через --depclean.

Pinkbyte ★★★★★ ()

всё точно выше ребята написали, с virtual/editor, просто сделай --noreplace

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

нужно… задать его в world-файле?

Я согласен, согласен! Но почему это должен делать я, а не поставщики stage3? Ведь это они устанавливают туда nano, значит и в world прописывать должны они.

Вот почему не сделать этот world директорией, чтобы там можно было держать несколько файлов из разных источников, если проблема в перезаписывании? Для package.use ведь сделали

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

Я согласен, согласен! Но почему это должен делать я, а не поставщики stage3?

Потому что virtual/editor прописан как часть system. А уже он тянет nano как редактор по умолчанию в stage3. Прописывать nano в world-файл излишне, потому что он будет не нужен тем, кто использует другой редактор по умолчанию. Ситуация не расчитана на людей, которые ставят другой редактор не удосужившись закрепить интересующий их вариант в world-файле. И нет - это не может сделать сам portage автоматически, потому что он не может узнать какой редактор ты предпочитаешь, пока ты ему об этом не скажешь ЯВНО.

Вот почему не сделать этот world директорией, чтобы там можно было держать несколько файлов из разных источников

Предложи такое изменение в мэйллисте, делов-то... Видимо никому это было не нужно.

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

Если прописывать излишне, то и изначально ставить излишне. Если изначально ставить не излишне, то и прописывать не излишне. А те, кто выпендриваются и используют не дефолтный редактор, вот те как раз в состоянии этот nano и размёржить ЯВНО.

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

Ясно, ты опять ничего не понял. Объяснять одно и то же по-третьему кругу мне лень. Если ты считаешь это поведение багом - иди в багзиллу.

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

Объяснять одно и то же по-третьему кругу мне лень.

И это хорошо. Потому что нельзя быть таким упёртым.

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

При наличии http/2 webrtc не нужен

какое отношение одно к другому имеет? ты знаешь, что такое webrtc?

некоторые банки блокируют websocket-ы

и хрен на них

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

В системе должен присутствовать редактор, но каждый любит использовать свой редактор.

Я, например использую vim.

nano мне не нужен.

Но nano более дружелюбен к пользователям.

Если nano поместить в system, то его удалить будет несколько сложнее.

Поэтому сделан виртуальный пакет virtual/editor, в котором перечислены все редакторы. В том числе и nano.

И уже этот виртуальный пакет прописан в system и является зависимостью других пакетов.

Поэтому когда в систему устанавливается пакет с другим редактором и он прописан в world, то пакет с nano более не нужен, т.к. другой редактор в world удовлетворяет зависимость virtual/editor.

То, что nano нет в world это сделано для автоматической очистки системы от пакетов, которые дублируют функционал.

Поэтому как тебе уже сказали делай no replace или пиши баг репорт.

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

То, что nano нет в world это сделано для автоматической очистки системы от пакетов, которые дублируют функционал.

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

Я не просил такую фичу как автоматическая очистка системы от пакетов, независимо от того, дублируют ли они функционал. Система не должна делать неожиданные вещи. Если пакет уже установлен и я на рассчитываю на его наличие, он должен оставаться. Я думаю, что это сделано по другой причине. По причине того, что нельзя аппендить файл world при разворачивании stage3. А при перезаписывании теряется старое содержимое и это неудобно.

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

Потому что я не люблю nano и мне оно не нужно? А что там поставили поставщики stage3 мне фиолетово, это их предпочтения, не мои.

ЗЫ

neovim наше всё

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

Тогда тебе не Gentoo надо. Gentoo это про свободу, в том числе и набивать себе шишки.

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

Gentoo это про свободу

Вот именно, удалить nano должно быть моим решением, а не навязанным.

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

Мне неудобна система, сделанная по вашей версии.

Все что начинается со слов «мне …», «Я …» можешь запихнуть поглубже и не показывать.

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

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

По причине того, что нельзя аппендить файл world при разворачивании stage3

Можно

echo ... >> /var/lib/portage/world
infomeh ()
Ответ на: комментарий от infomeh

разберись как сделать, что бы тебе было удобно

Я уже писал, выше по треду - Почему emerge --depclean удаляет nano? (комментарий)

сообществу плевать на мнение одного единственного любого человека

Так я ничего не и требую, а высказать мнение - это называется «свобода слова».

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

Но почему это должен делать я, а не поставщики stage3?

Потому, что это нужно тебе.

Ведь это они устанавливают туда nano, значит и в world прописывать должны они.

В gentoo в world прописывается устанавливаемый пакет, а не его зависимость. В данном случае в system прописан virtual/editor, зависимостью которого является nano.

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

прописан virtual/editor, зависимостью которого является nano.

Не-не-не. Не nano. Почему не mcedit например? Потому что разработчики (сборщики) файла stage3 так решили. И вот это решение должно быть зафиксировано. Я считаю, что в файле world.

Einstok_Fair ★★★ ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей