LINUX.ORG.RU

Две версии одного пакета, как установить?

 ,


1

1

Обновился dev-python/setuptools с версии 46 до версии 50. Ну и сломался мой acestream (у него в зависимостях setuptools). Пока временно я его задаунгрейдил обратно на 46 версию.

Как одновременно установить setuptools обеих версий?

Вариант обновить acestream не прокатывает, сейчас установлена максимально доступная версия.

★★★★

Как одновременно установить setuptools обеих версий?

никак. просто пропиши у своего ебилда зависимость с указанием максимальной версии setuptools (или напиши багрепорт, если это не твой ебилд)

eternal_sorrow ★★★★★
()

Моя рекомендация - заблеклистить dev-python/setuptools версии 50 и откатиться до 46. Это самый простой способ.

То, что установилась версия которая что-то ломает, - уже неправильно (по-хорошему нужно баг завести на Gentoo).

Установить несколько версий - слоты - можно для тех пакетов, для которых это реализовали. Как это сделать для произвольного пакета я не знаю.

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

Как это сделать для произвольного пакета я не знаю.

в общем случае никак. но вообще - добиться чтобы не было коллизий файлов между слотами.

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

Проблема в том, что это не баг, и пакет acestream не был установлен из репы. Где-то в сторонних репах он есть, но ebuild там нерабочий. Поэтому я его установил вручную из deb пакета (в /opt).

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

Ну хорошо, если нельзя установить две версии setuptools на законных основаниях, может есть вариант установить setuptools 46 версии тем же макаром, как и acesteam, из deb пакета? Типа как в винде, в папку с программой (или ещё где) и как-то указать путь к этой директории в PATH?

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

Вариант с отдельным «оверлеем» с 46 версией уже предлагали?

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

может есть вариант установить setuptools 46 версии тем же макаром, как и acesteam, из deb пакета

так делать не надо. но можно создать venv, и pip’ом поставить нужную версию

или просто замаскировать все версии выше 46 в package.mask

eternal_sorrow ★★★★★
()

Как вариант, можно попробовать отдебажить acestream и сделать патч под 50 версию setuptools

Crocodoom ★★★★★
()

пропатчить acestream до совместимости с новой версией setuptools.

сообщить разработчику acestream о проблеме совместимости с новым setuptools.

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

а зачем тебе новый setuptools?

grem ★★★★★
()

а ещё можно попробовать написать @megabaks’у (но не здесь на ЛОРе, а где то ещё), чтобы он обновил ебилд asestream в оверлее

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

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

сообщить разработчику acestream о проблеме совместимости с новым setuptools

сильно сомневаюсь, что они прям сразу начнут пилить новый acestream под новый setuptools, а смотреть хочется прям сейчас

а зачем тебе новый setuptools?

он мне не нужен, он нужен системе как один из элементов экосистемы питона. Меня старый устраивал, но экосистема обновилась и теперь это ломает мой acestream.

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

pip search показывает только наличие версии 50, версии 46 нету. Инсталл говорит, что:

pip install setuptools-46.4.0 --user
ERROR: Could not find a version that satisfies the requirement setuptools-46.4.0 (from versions: none)
ERROR: No matching distribution found for setuptools-46.4.0
Chord ★★★★
() автор топика
Ответ на: комментарий от Chord

если это то, что я нахожу, от у них форум ж есть - по крайней мере сообщить им о проблеме стоит.

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

он мне не нужен

Так замаскируй версию, которая тебе не нужна. Ты ж не обязан последнюю устанавливать. В этом-то и плюс Gentoo, что ты можешь миксовать версии как тебе заблагорассудится.

pip search показывает только наличие версии 50

По возможности не пользуйся pip и др пакетными менеджерами. Разные пакетные менеджеры между собой не общаются, зависимости между собой не резолвят, а потому сломать совместимость легко. Есть системный пакетный менеджер - emerge - вот им и пользуйся. Там отлично есть 46 версия.
http://gpo.zugaina.org/dev-python/setuptools

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

так его и в дереве не нахожу, нечего фиксить
Ну и сломался мой acestream (у него в зависимостях setuptools).

Тогда как ты его ставил, и где прописывались зависимости?

P. S. Ты ж не ТС!

Kroz ★★★★★
()
Последнее исправление: Kroz (всего исправлений: 1)

Обновился dev-python/setuptools с версии 46 до версии 50. Ну и сломался мой acestream

Acestream использует python-2.7, который отовсюду выпиливают.

Использую консольный клиент, распакованный из tar.gz, который запускаю venv с python-2.7

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

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

Если бы я сам установил setuptools, я бы его замаскировал, но он был установлен как зависимость каких-то других пакетов, и они могут перестать работать. Вот в чем проблема и почему я хотел 2 версии установить.

Тогда как ты его ставил, и где прописывались зависимости?

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

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

если setuptools ставится в только в site-packages, ,то можешь попытаться в локальном оверлее создать ebuild старой версии, поменять там slot и оставить для пакета только python2

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

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

Если таковые найдутся ты можешь понизить и заморозить их версии тоже. А тем временем глядишь и асястрим обновится. А не обновится - это абандонваре, ищи замену.

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

Если бы я сам установил setuptools, я бы его замаскировал, но он был установлен как зависимость каких-то других пакетов, и они могут перестать работать. Вот в чем проблема и почему я хотел 2 версии установить.

Нет, не могут - если emerge проглотит это.
emerge контроллирует совместимость версий (это описывается в пакетах).
И если оно найдет несовместимые версии, оно тебе откажется установить такую версию (даунгрейдить в данном случае), и подробно опишет почему.
Так что не волнуйся на этот счет.

я ж там сверху уже указывал, что устанавливал acestream вручную из deb пакета.

Вот никогда так не делай. Установка софта - только посредством emerge.
Если ты не нашел пакета в основном дереве и в оверлеях (надеюсь, знаешь про http://gpo.zugaina.org/ ), тогда лучше самому написать пакет, и положить в локальное дерево. Это не сложно, особенно если взять за пример какой-то из существующих и открыть документацию.

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

И если оно найдет несовместимые версии, оно тебе откажется установить такую версию (даунгрейдить в данном случае)

ну раз даунгрейд прошел, будем надеяться, что всё нормально, можно без 50-й версии.

Если ты не нашел пакета в основном дереве и в оверлеях (надеюсь, знаешь про http://gpo.zugaina.org/ ), тогда лучше самому написать пакет

В оверлеях где-то была старая версия acestream, которая не работает. Новой (рабочей) версии в оверлеях нет, новая есть только в виде deb пакета. Самому лепить ebuild для разовой установки смысла нет. Это имело бы смысл, если бы я распространял acestream как майнтейнер. А для себя вполне достаточно распаковать deb в /opt

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

а причем тут setuptools? Если ребята в acestream не хотят обновляться?

ggrn ★★★★★
()

Пакетным менеджером с поддержкой подсовывания разных либ разным приложениям.

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

и сделать патч под 50 версию setuptools

с этой версией вообще есть проблемы, плюс новые зависимости.

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

Это имело бы смысл, если бы я распространял acestream как майнтейнер. А для себя вполне достаточно распаковать deb в /opt

Лучше так не делать.

Во-первых, это выпадает из списка установленных пакетов. Не будешь видеть всей картины.

Во-вторых, ты уверен что сможешь чисто удалить пакет когда понадобится? Чтобы не осталось рудиментов?

В-третих, вот ты столкнулся с проблемой зависимостей. Добавил новую версию setuptools в глобальную маскировку. И, поверь, ты про это забудешь скоро. Даже когда обновишь acestream до новой версии или удалишь его. А если бы ты создал ebuild, то дописал бы зависимость на версию туда, тогда при апдейте или удалении acestream, система бы автоматически определила что теперь новую версию setuptools ничего не блокирует, можно обновляться.

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

Да, кстати, в ebuild ты можешь точно так же устанавливать из .deb, хотя это и странно.

Короче: будь мужиком, напиши ebuild :)

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