k001
k001
:...

April 2032
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

k001 [userpic]
rpm, rpm, rpm

Второй день сижу и смотрю, как компилируется rpm. Конечно, не только сижу и смотрю, но и прикладываю к нему наших 10 патчиков. Забил крохотный баг [Red Hat bug #191480] на распоследний rpm.

Зато скоро в OpenVZ пекедж тулзы (vzpkg/vzyum) будут поддерживать x86_64. Наконец-то! Сейчас пока приходится пользоваться предварительно созданными темплейтами для x86_64, а можно будет делать свои.

Проблема связана с тем, что разные версии rpm несовместимы по формату базы данных. И если с помощью rpm-4.4 можно поставить пакеты в chroot (в VE), то потом "внутренний" rpm-4.3 сильно расстроится и не станет там работать. Обратная проблема тоже есть -- если "снаружи" использовать rpm-4.3, а внутри rpm-4.4, то всё будет поначалу хорошо, но после того, как внутренний rpm-4.4 потрогает базу (хоть бы rpm -q rpm), наружний rpm-4.3 уже ничего с ней сделать не может.

Существует много разных способов решения этой проблемы. Мы делаем "свои" внешние rpmы разных версий, которые по мажорной версии соответствуют тому, что внутри. Чтобы эти наши rpmы работали на разных платформах, мы их компиляем статикой. Но, как оказалось, откомпилять статикой rpm-python — занятие не для слабонервных. Если на ix86 этого ещё можно достичь (правда, в процессе мы обнаружили и исправили баг в binutils, тому препятствующий), то на x86_64 лучше даже и не пытаться.

Поэтому я плюнул и компиляю rpm-python динамически. Придётся провайдить две версии каждого rpm-4.x — для python-2.3 и для python 2.4. Забавная матрица получается.

Никто ничего, конечно, не понял, но я хотя бы высказался.

Comments

Поняли, поняли :)

Кстати, а не было идеи перенести некий db-зависимый код в некую либу, чтобы потом пользовать один rpm по мажору, линкующийся на эту либу?

(Anonymous)

Совершенно нет желания копаться в rpm сверх необходимого минимума :-\

О, поддержка 64-хразрядных платформ - это наше все. : ))) Кстати, можно Вас помучать на предмет OpenVZ (по почте или еще как)?

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

Можно и нужно, но лучше не лично, а в форуме (там есть и русский), в мейлинг листе (English only) или в IRC (тоже только английский). Все эти средства общения на http://openvz.org/communication

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

А вообще можно сначала почитать http://openvz.org/documentation/

;)

Ну, с документацией-то понятно... Хорошо, буду через форум : )