LINUX.ORG.RU

RPM и зависимость


0

0


# rpm -Uhv /home/Vasiliy/oss-linux-v4.2-2003.i386.rpm
error: failed dependencies:
kernel-devel is needed by oss-linux-v4.2-2003

Но в дистре нет такого пакета, есть например kernel-headers-common.
Дистр - Альт. Соответственно если ставить с --nopedps, будут проблемы с apt.

Как лучше поступить?
Как варианты:
1) Где-то видел небольшую статью о сборке пустого фейкового rpm-пакета (например с с названием kernel-devel и зависящего от kernel-headers-common). Но нагуглить не получается.
2) Может можно то же самое грамотно сделать средствами apt?

Варианты вроде «поставить oss из tar.gz» (сейчас пока так и сделано) или «написать майнтейнеру, чтобы добавил в provides» не подходят, хочется найти именно общий рецепт для таких случаев.

★★

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

Мне кажется собрать oss из исходников - это лучший вариант чем убивать дистрибутив.

gRAyNDEr
()

вообще бы, да, из исходников, или может, в исходниках есть уже спек файл. поправь под себя и собери rpm из него.
а так - на!
#cat ./fake-kernel-devel.spec
Summary: fake kernel-devel
Name: kernel-devel
Version: 1.0.0
Release: 1
Requires: kernel-headers-common

%files

ну, и корми его потом rpmbuild-у.
набросал по памяти, так что, может, не хватить чего из параметров в спек-файле. rpmbuild подскажет, если че. :)
но лучше так не делать без особой нужны, ящитаю.. (с) ;))

aol ★★★★★
()

Общий рецепт для таких случаев: не ставить в систему левые пакеты.

nnz ★★★★
()

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

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

Проблема в том, что это особый случай:
1) Можно было б поставить в /opt, поставил бы. Но это oss, там собственные скрипты установки, он прописывается в /etc/init.d и т.п.
2) Спека нет. Только готовый rpm (тоже с исходниками кстати, там модули ядра) и tar.gz.

Пока поставил fake (aol, спасибо) Конечно не очень красивое решение, но вроде вполне безопасное. Если альтовцы выпустят такой пакет, то он очевидно будет версии большей, чем 0.0.1, и обновит этот. Минимальный спек получился таким:

Summary: fake kernel-devel
Group: System/Kernel and hardware
Name: kernel-devel
Version: 0.0.1
Release: 1
Requires: kernel-headers-common
License: GPL

%files

%description
Fake empty kernel-devel rpm. Requires: kernel-headers-common.

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

Вроде у apt была опция --ignore-missing, может вам это надо? Или из сорцов собрать правильный rpm-пакет.

И, kernel-devel не обязательно должен быть пакетом, долен быть пакет, у которого в свойствах прописано, что он «provides kernel-devel», хотя вам от этого не легче.

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

> Вроде у apt была опция --ignore-missing, может вам это надо?
Спасибо, посмотрю.
Тем не менее, хотелось бы долговременное решение.
Например, по аналогии с «заморозкой» версий пакетов,
прописать в /etc/apt/preferences «A provides B».
Но, похоже, так нельзя.

И, kernel-devel не обязательно должен быть пакетом, долен быть

пакет, у которого в свойствах прописано, что он «provides kernel


devel», хотя вам от этого не легче.


Об этом я в курсе. В принципе, если kernel-devel очень распространенное название, то можно в багзилуу повесить майнтейнеру реквест, чтобы он добавил его в «Provides». Однако это опять же только к частному случаю относится.

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

Относительно распространённости kernel-devel не знаю, в RH это содержит *.h, Makefile и Kconfig файлы от ядра, что должно позволять собирать модуль без установки исходников ядра. Есть ли аналогичный пакет в Alt'е я не знаю. То, что лежит в /usr/include/linux входит в пакет kernel-headers-...rpm.

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

>Относительно распространённости kernel-devel не знаю, в RH это

содержит *.h, Makefile и Kconfig файлы от ядра, что должно позволять

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


пакет в Alt'е я не знаю. То, что лежит в /usr/include/linux входит в


пакет kernel-headers-...rpm.


Хм. В Альте, как я понимаю, прямого аналога нет.

Отмечу тему как «решенную».
Так или иначе фиктивный rpm разрулил проблему.
Всем спасибо)

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