[solved] Пересборка установленного пакета (package-only USE changing), но ebuild'а уже нет в актуальном дереве

Коллеги добрый день!

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

Преамбула:
Есть сервак. Его обновления далеко не очень частые. За новшествами не гонимся.
Главное в использовании сервака - это стабильность работы (keyword="amd64").
Но новшества случаются и дерево время от времени приходится обновлять.
И случислось так, что установленный пакет (некоторой версии), уже исчез из текущего дерева (ebuild исчез).
Я не буду говорить название пакета, для моего вопроса это не имеет значение.
Однако, текущей функциональности пакета (ну и что, что старый) на данный момент достаточно.
Чтобы обновиться, нужно много чего останавливать, а это, будем считать, пока невозможно.

Вопрос:
Как ПРАВИЛЬНО пересобрать старый (установленный и работающий) пакет, если его ebuild выведен из актуального дерева?
Пересборка пакета связана с изменением в USE-ах этого пакета.

Мои планируемые действия:
1. Естественно прямой emerge пошлет обновляться. Другого я и не жду. (собственно, этот вариант я испробовал).
2. Можно использовать старый ebuild, который лежит в /var/db/pkg. Можно его встроить в текущее дерево или засунуть оверлеем. Это приберегаю как запасной вариант и мне больше кажется, что это скорее обход в решении проблемы, чем ее нормальное решение.
3. По n-му разу перечитывать man-ы по emerge (+portage-utils +gentoolkit), может что-то добавили. После каждого обновления дерева, пакеты portage, portage-utils и gentoolkit в первую очередь обновляются до актуального состояния.

Подскажите правильное решение
Заранее благодарен

Да, лучше всего будет

Да, лучше всего будет восстановить ебилд из /var/db/pkg и собрать его с помощью emerge =foo-0.5.4

Цитата: Можно использовать

Цитата:
Можно использовать старый ebuild, который лежит в /var/db/pkg. Можно его встроить в текущее дерево или засунуть оверлеем. Это приберегаю как запасной вариант и мне больше кажется, что это скорее обход в решении проблемы, чем ее нормальное решение.

Это и есть решение проблемы(если пакет ну сильно прям нужен) - положить ебилд из /var/db/pkg в локальный оверлей

Нейтральность - высшее достижение сознания!

И тут засада от инфры - амы

И тут засада от инфры - удалили тарбoллы и патчи ;)

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

slepnoga написал(а): И тут

slepnoga написал(а):
И тут засада от инфры - удалили тарбoллы и патчи ;)

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

По теме: есть проект Graveyard - специально для таких случаев...

Нейтральность - высшее достижение сознания!

Коллеги, Спасибо!Буду

Коллеги, Спасибо!
Буду считать 3 из 3 выбрали пункт 2. Собственно по нему и буду действовать.

2slepnoga: как всегда в точку и по существу.
1. Про патчи я не беспокоюсь, уже накалывался, когда только начинал осваивать gentoo. Теперь перед каждым sync'ом (который кстати осознанный) делается бакап дерева на дату из emerge --info.
2. А вот с исходниками да... Можно попасть в неприятную ситуацию. В данном случае мне повезло, но надо подумать... Может особо важные пакеты тоже бакапировать, чтобы не терзать потом гугль?!

Коллеги, еще раз спасибо!
p.s. не знаю как пометить тему - РЕШЕНО ?

А с исходниками еще проще -

А с исходниками еще проще - если вы пакет ставили, то они уже лежат в /usr/portage/distfiles - Простo не надо его чистить.
Для пущей надежности можете одновременно с каждым sync'ом (который осознанный :)) делать подгрузку исходников

emerge -ef world

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".