LINUX.ORG.RU

Перспективы RPM


0

0

Max Spevack ответил на популярный вопрос о том, что же светит RPM, который сейчас фактически не поддерживается в единой точке, но скорее в форках по дистрибутивам. Краткая суть плана — организация нового сообщества вокруг проекта и для начала — расчистка его кода.

>>> Подробности



Проверено: Teak ()
Ответ на: комментарий от YesSSS

> Делается пакет <имя_почтовика>-palm-plugin, зависящий от <имя_почтовика> и от <тулзы_для_palm>.

Ну просто наглядная демонстрация того, как делать не надо. Как я вообще должен догадаться о существовании этого второго пакета? Вот dpkg мне просто предложит его доставить при установке основного, а здесь как?

Приведу ещё один пример. Вот есть в Дебиане пакет sendmail, который suggests другой пакет - sendmail-doc. Как такое сделать в rpm? Либо вообще не прописывать никакой связи между пакетами, либо опять же городить какие-нибудь метапакеты типа sendmail-with-doc и sendmail-without-doc. :)

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

Imo зависимости rpm - описывают технические зависимости(не будет работать без ...), а не смысловые. Для смысловых можно использовать yum (группы).

<offtop>Не смогу продолжить обсуждение, ухожу в институт</offtop>

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

С yum знаком шапочно, но над dpkg тоже есть аналогичная тулза, и не одна (dselect, apt, aptitude), и все они пользуются зависимостями, прописанными в самих пакетах. Мне это представляется более логичным путём, чем держать базу "смысловых" зависимостей ещё где-то отдельно, тем более что она тогда станет зависеть от конкретного выбора утилиты уровня apt. При использовании dpkg всё, что нам надо - это сами пакеты (просто свалка файликов), а из них мы можем простой командой создать полноценный репозитарий. И лишних сущностей в дополнение к самим пакетам вводить не надо.

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

>При использовании dpkg всё, что нам надо - это сами пакеты (просто >свалка файликов), а из них мы можем простой командой создать >полноценный репозитарий

А что мешает из папки с набором RPM сделать репозитарий командой createrepo ?

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

> dpkg мне просто предложит его доставить при установке основного

Справедливости ради стоит заметить, что dpkg ничего не предложит - он может или поставить пакет, или не поставить. Спрашивает apt.

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

> А что мешает из папки с набором RPM сделать репозитарий командой createrepo ?

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

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

> Вот есть в Дебиане пакет sendmail, который suggests другой пакет - sendmail-doc. Как такое сделать в rpm?

В RPM тоже есть Suggests :-P

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

Где ж ты раньше-то был! Правда что ли? А то тут весь спор идёт из предположения, что этого нет. :)

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

> Где ж ты раньше-то был!

Читал соседний тред :)

> Правда что ли?

4.3.3 -> 4.4: .... - define Suggests:/Enhances: and Priority: tag values.

> А то тут весь спор идёт из предположения, что этого нет. :)

Только поддержки их в менеджере пакетов мало - нужно, чтобы их 1) использовали 2) поддерживали в yum и прочих. Насколько я знаю, и с тем, и с другим - проблемы. Почему-то разработчикам Федоры такой тип зависимости не нравится :/

P.S. apt-rpm - отличная штука.

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

Ну, я просто неоднократно читал прямые утверждения, что единственный тип зависимостей, поддерживаемый rpm - это обычные жёсткие зависимости. Повсюду обман. :)

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

> неоднократно читал прямые утверждения, что единственный тип зависимостей, поддерживаемый rpm - это обычные жёсткие зависимости. Повсюду обман. :)

До относительно недавнего времени так и было. А пакетов с Suggests: я еще не встречал.

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

> Повсюду обман. :)

Ага, я тоже не знал =(

Кстати, раз зашел разговор об RPM, скажите pls в spec-ах есть флаги(вроде %define debug 0). Как их задавать через rpmbuild(не нагуглилось =( ).

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

> Кстати, раз зашел разговор об RPM, скажите pls в spec-ах есть флаги(вроде %define debug 0). Как их задавать через rpmbuild(не нагуглилось =( ).

Рулить через

--with/--without и --enable/--disable

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

> Рулить через

> --with/--without и --enable/--disable

Спасибо.

Прикрутить это к yum и вообще гента получится =)))

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

> Кстати, раз зашел разговор об RPM, скажите pls в spec-ах есть

> флаги(вроде %define debug 0). Как их задавать через rpmbuild(не

> нагуглилось =( ).

В хоумдире юзера, из-под которого ведешь сборку пакетов, в файл .rpmmacros добавь:

%debug_package %{nil}

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

> > Делается пакет <имя_почтовика>-palm-plugin, зависящий от <имя_почтовика> и от <тулзы_для_palm>.

> Ну просто наглядная демонстрация того, как делать не надо. Как я вообще должен догадаться о существовании этого второго пакета?

Точно также, как узнал о существовании первого.

> Приведу ещё один пример. Вот есть в Дебиане пакет sendmail, который suggests другой пакет - sendmail-doc. Как такое сделать в rpm? Либо вообще не прописывать никакой связи между пакетами, либо опять же городить какие-нибудь метапакеты типа sendmail-with-doc и sendmail-without-doc. :)

Еще не забудь "doc-without-sendmail".

Ето что же - ясли я захочу поставить пакет которому нужно 50 либ и каждая либа имеет еще пакет -dev и -doc, то я 100 раз должен давить кнопку "НЕТ"?

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

> P.S. apt-rpm - отличная штука.

Только медленно индексы читает в сравнении с apt/dpkg. Но таки да, у нас и система зависимостей ... побольше будет :-)

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

> Кстати, раз зашел разговор об RPM, скажите pls в spec-ах есть флаги(вроде %define debug 0). Как их задавать через rpmbuild(не нагуглилось =( ).

(Пожимая плечами) есть. В спеке -

%define debug 0

снаружи, при сборке

rpmbuild --define 'debug 0' ...

В альте еще стандартно определяются чуть более удобные "надстроечные" макросы вида

%def_with feature
или
%def_without feature

с возможностью переопределить заданный таким образом дефолт из командной строки или rc-файла (по сути, аналог гентушного USE).

В спеке затем можно использовать

%if_with feature
или
прямой подстановкой в аргументы ./configure:

%{subst_with feature}.

Аналогично для enable.

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