The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Инициатива по созданию форка проекта RPM5, opennews (?), 03-Май-11, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


29. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от Nxxemail (ok), 03-Май-11, 21:42 
в dpkg зависимости прописываются вручную, по именам пакетов. в rpm - автоматически по именам линкуемых библиотек (то есть, по именам файлов, входящийх в пакет).
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

51. "Инициатива по созданию форка проекта RPM5"  –1 +/
Сообщение от Anonym (?), 04-Май-11, 00:23 
> в dpkg зависимости прописываются вручную, по именам пакетов. в rpm - автоматически
> по именам линкуемых библиотек (то есть, по именам файлов, входящийх в
> пакет).

вот за это я бы rpm-щикам ручонки бы то пооторвал! За использование *прямых* имен либ в депендинсах вместо имен пакетов в которых они живут.

Ответить | Правка | Наверх | Cообщить модератору

52. "Инициатива по созданию форка проекта RPM5"  +1 +/
Сообщение от anonymous (??), 04-Май-11, 00:34 
>вот за это я бы rpm-щикам ручонки бы то пооторвал! За использование *прямых* имен либ в депендинсах вместо имен пакетов в которых они живут.

Отрывать надо тебе. За незнание ldd.

Ответить | Правка | Наверх | Cообщить модератору

59. "Инициатива по созданию форка проекта RPM5"  –1 +/
Сообщение от Anonym (?), 04-Май-11, 01:28 
>>вот за это я бы rpm-щикам ручонки бы то пооторвал! За использование *прямых* имен либ в депендинсах вместо имен пакетов в которых они живут.
> Отрывать надо тебе. За незнание ldd.

ты хоть фразу то мою понял, о чем она?
видимо нет, раз такую хрень несешь.

Ответить | Правка | Наверх | Cообщить модератору

84. "Инициатива по созданию форка проекта RPM5"  +1 +/
Сообщение от anonymous (??), 04-Май-11, 10:37 
>ты хоть фразу то мою понял, о чем она?

Ты хоть сам-то понял, что сказать хотел? Иногда лучше жевать.

Ответить | Правка | Наверх | Cообщить модератору

60. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от Michael Shigorinemail (ok), 04-Май-11, 01:30 
Да нет, просто сослать на рудники зависимости и дальше руками прописывать.
А там, глядишь, осознает. :)
Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

70. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от ананим (?), 04-Май-11, 05:03 
а вот тут не соглашусь.
вижу из примера соурсбэйзед дистров. к примеру на моей генте - имени пакета (порой виртуального) достаточно для того чтобы не привязываться ни к конкретной библе/ам, ни к её/их версии/ям.
опять же учитывая то, что все пакеты происходят от сырцов разработчиков, а мэнтейнеры их только собирают (да-да, и патчат тоже. но это всё же не разработка ни по объёму, ни функциональности)
зыж
и почему руками то? неужели есть сложности по имени либы узнать имя пакета автоматом?
если чё, то в дебиане/убунте собрать из сырцов деб не в пример легче, чем в большинстве рпм-дистров.
Ответить | Правка | Наверх | Cообщить модератору

75. "Инициатива по созданию форка проекта RPM5"  –1 +/
Сообщение от Nxxemail (ok), 04-Май-11, 07:00 
> а вот тут не соглашусь.
> вижу из примера соурсбэйзед дистров. к примеру на моей генте - имени
> пакета (порой виртуального) достаточно для того чтобы не привязываться ни к
> конкретной библе/ам, ни к её/их версии/ям.

Если пакет уже собран, то ему нужна конкретная либа. А не просто либа с похожим названием, или даже теми же фунциями, но .so.1 а не .so.0

> опять же учитывая то, что все пакеты происходят от сырцов разработчиков, а
> мэнтейнеры их только собирают (да-да, и патчат тоже. но это всё
> же не разработка ни по объёму, ни функциональности)
> зыж
> и почему руками то? неужели есть сложности по имени либы узнать имя
> пакета автоматом?
> если чё, то в дебиане/убунте собрать из сырцов деб не в пример
> легче, чем в большинстве рпм-дистров.

В rpm-дистрах просто устанавливается .src.rpm пакет. он автоматом собирается и компилируется. Все в одном файле. А в Дебиане три файла: тарболл с исходниками, огромный дифф со всеми патчами, собранными в кучу, и инструкция по сборке. И что проще?

Ответить | Правка | Наверх | Cообщить модератору

79. "Инициатива по созданию форка проекта RPM5"  +1 +/
Сообщение от анонимус (??), 04-Май-11, 09:23 
и там и там все просто (у rpm  к тому же не очевидно, когда src-пакет поставлен надо натравливать на спеку, у dpkg - одна команда в дереве сырцов). и там и там предварительно надо ставить сборочные зависимости. таки слухи о трех файлах преувеличены, если хочется свежий софт - подрубается сырцовая репа для unstable/experimental и оно таки все делает автоматически (три файла сами мержатся в один каталог для сборки) в одну команду. еще одна приятная фича - автоматическая установка зависимостей (я про apt-get build-dep имя пакета). а если уже зашла речь о том, как лучше софт опакетить - то тут лучше дебьяна нету: делаешь dh_make и потом получаешь все что надо. а есть ли у rpm чтото похожее (задача: собрать сырцы в пакет при отсутствии спеки.) checkinstall - не катит (он есть и для деба тоже)
Ответить | Правка | Наверх | Cообщить модератору

104. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от Nxxemail (ok), 04-Май-11, 19:10 
По-твоему, в rpm нет установки сборочных зависимостей? Ну ты насмешил.
Ответить | Правка | Наверх | Cообщить модератору

140. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от Michael Shigorinemail (ok), 05-Май-11, 15:09 
> в rpm нет установки сборочных зависимостей?

Нету: он же не занимается репозиториями, а только пакетами и их множествами.

Ответить | Правка | Наверх | Cообщить модератору

110. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от Nxxemail (ok), 04-Май-11, 19:26 
> таки слухи о трех файлах преувеличены, если
> хочется свежий софт - подрубается сырцовая репа для unstable/experimental и оно
> таки все делает автоматически (три файла сами мержатся в один каталог
> для сборки)

Если тебе надо собрать из сорцов один-единственный пакет, не подрубая репозиторий, то тебе таки придется качать три файла.

Ответить | Правка | К родителю #79 | Наверх | Cообщить модератору

113. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от Клыкастый (?), 04-Май-11, 20:34 
> Если тебе надо собрать из сорцов один-единственный пакет, не подрубая репозиторий, то
> тебе таки придется качать три файла.

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

Ответить | Правка | Наверх | Cообщить модератору

114. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от Nxxemail (ok), 05-Май-11, 00:03 
Речь шла и идет о формате пакетов rpm. С форматом rpm ты качаешь один файл c исходниками .src.rpm и собираешь его. С deb ты качаешь 3 файла: .tar.gz, .diff, и .dsc.
Ответить | Правка | Наверх | Cообщить модератору

116. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от Клыкастый (?), 05-Май-11, 00:59 
> Речь шла и идет о формате пакетов rpm. С форматом rpm ты
> качаешь один файл c исходниками .src.rpm и собираешь его. С deb
> ты качаешь 3 файла: .tar.gz, .diff, и .dsc.

Вы выдумываете какой-то экзотический случай. Ну или я не догоняю суть. Менеджер пакетов качает и собирает. Если он этого не делает, это либо хреновый менеджер пакетов, либо хреново выбранный дистрибутив. Если акция разовая - 1 файл качать или 3 - неважно. Если сборка руками - вещь постоянная, где-то кто-то промахнулся с выбором дистра. Опять-таки, я могу ошибаться, ибо rpm использовал давненько (Fedora/ALT), но как раз при частом наличии экзотических сборок софта регулярно выбираем FreeBSD/gentoo. Сколько файлов качает emerge/portinstall абсолютно по барабану.

Ответить | Правка | Наверх | Cообщить модератору

132. "(offtopic) rpm 'vs' dpkg и т.д."  +/
Сообщение от Michael Shigorinemail (ok), 05-Май-11, 12:38 
Дядьки, да не спорьте :)

Давайте лучше на wiki.opennet.ru нарисуем страничку по пакетным менеджерам да отрихтуем, если кто в чём вдруг ошибся.  По rpm постараюсь помочь, но прямщас с дороги не обещаюсь (так что буду благодарен за лишнее уведомление письмом, если кто всё же доберётся).

И в категорию "Сравнение" её.

Ответить | Правка | Наверх | Cообщить модератору

88. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от ананим (?), 04-Май-11, 11:29 
>Если пакет уже собран, то ему нужна конкретная либа. А не просто либа с похожим названием, или даже теми же фунциями, но .so.1 а не .so.0

угу, и при чём такая есть точно во-о-он в том пакете конкретной версии. :D
но НЕ во-о-н в том пакете, где есть точно такая же библа с тем же именем, но в 3-и раза меньше по размеру.
не слышали про конфликтующие пакеты? не?
>В rpm-дистрах просто устанавливается .src.rpm пакет.

а кто ж создает то эти .src.rpm пакеты?

Ответить | Правка | К родителю #75 | Наверх | Cообщить модератору

106. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от Nxxemail (ok), 04-Май-11, 19:13 
>>Если пакет уже собран, то ему нужна конкретная либа. А не просто либа с похожим названием, или даже теми же фунциями, но .so.1 а не .so.0
> угу, и при чём такая есть точно во-о-он в том пакете конкретной
> версии. :D
> но НЕ во-о-н в том пакете, где есть точно такая же библа
> с тем же именем, но в 3-и раза меньше по размеру.

Если либа имеет другой API, то и имя файла с либой будет другимм. Будет .so.1 а не .so.0. Две либы с разным API но одним именем файла не бывает.

> не слышали про конфликтующие пакеты? не?
>>В rpm-дистрах просто устанавливается .src.rpm пакет.
> а кто ж создает то эти .src.rpm пакеты?

Служба сборки?

Ответить | Правка | Наверх | Cообщить модератору

55. "Инициатива по созданию форка проекта RPM5"  +2 +/
Сообщение от Stax (ok), 04-Май-11, 01:17 
Ты можешь прописывать и имена пакетов, в дополнение. Просто без них - по одним либам - портабельнее, и дистрибутив в целом разивать удобнее.

Например, очень типичная ситуация - есть пакет megaproga, он собран с библиотекой megaliba.so, которую предоставляет пакет usefulstuff. В какой-то момент мейнтейнер пакета usefulstuff решил, что многим оттуда нужны только библиотеки, и бинари и доки - только иногда, и разделил его на usefulstuff-libs, usefulstuff-progs и usefulstuff-docs. Если зависимости были прописаны только rpm'ом автоматически, то по зависимости megaproga: megaliba.so пакетный менеджер вроде yum или apt автоматически найдет, что эта библиотека предоставляется пакетом usefulstuff-libs. Или, скажем, можно обновить usefulstuff -> usefulstuff-libs + usefulstuff-progs при установленной megaproga; зависимости соблюдены, ведь megaliba.so в системе.

А вот если мейнтейнер megaproga решил с дуру продублировать зависимость на имя пакета вручную (хотя иногда, конечно, это имеет смысл, например зависимости к megaproga-data), то опаньки, обновиться с usefulstuff на usefulstuff-libs при установленной megaproga не выйдет, завимости будут нарушены. Нужно пересобирать megaproga. (хотя в реальной ситуации у usefulstuff-libs может быть прописано provides: usefulstuff и obsoletes: usefulstuff < x.y, и все пройдет нормально). Профита от ручных зависимостей никакого, а недостатки есть.

Ну а то, что rpm при попытке установить в обход yum напишет об отсутствии зависимости "megaliba.so", а не "megaliba.so и usefulstuff" - это сущие мелочи. Да и если приспичит, yum можно вручную попросить найти имя пакета по библиотеке - актуальное для текущей базы, а не в момент сборки megaproga. А до популяризации yum это делалось средствами rpm, по базе comps.

Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

62. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от Anonym (?), 04-Май-11, 01:34 
ваше описание совершенно справедливо, если оно относиться к бардачно-ориентрированному дистрибутиву.

есть другие сложности с либами - трудно заранее выяснить, какому src.rpm принадлежит либа (и не обязательно либа!) прямо указанная в спеке. Это нужно для постороения однопроходного дерева для сборки всего репоза. Потому то всякие вендоры и портят стандарт и сидят на старом RPM ни с кем не совместимом, что решают такие проблемы.

вопросы сборки 1го или 10ти пакетов - не проблема.

Ответить | Правка | Наверх | Cообщить модератору

67. "Инициатива по созданию форка проекта RPM5"  +1 +/
Сообщение от Stax (ok), 04-Май-11, 04:07 
Почему это трудно?
Можно как внешними средствами, так и голым рпм. Пример с rpm:

Шаг 1. Создаете базу, аналогичную comps - rpmdb, где отмечены все пакеты
Шаг 2. rpm --dbpath /путь/к/comps -q  --whatprovides <хитрая либа или не обязательно либа> --queryformat "%{sourcerpm}\n"

Вот и все. Работает в ЛЮБОМ rpm 4 и, подозреваю, в rpm 3 тоже.

Ответить | Правка | Наверх | Cообщить модератору

71. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от anonym (?), 04-Май-11, 06:24 
дада, когда есть нормальный бинарный репоз - все смелые)

а когда в репозе у тебя бинарий которому сорец не соответствует, или вообще отсутствует - вот тут приплыли. говорю же - проблема не надумана. совсем невозможно - когда у тебя *только* сорцевый репоз + гцц и пара либ. как тебе бутстрапом раскрутить дерево сборки всего репоза если еще метаданных для несобранных бинариев не существует, потому что их еще не собрали?? в дебиане таких проблем физически быть не может, потому что чрут для сборки пакета формируется на основе только имен пакетов, а не файлов о которых пока не известно из какого пакета они *потом* родятся.

ваш пример из серии - откуда деньги? из тумбочки! ;) - на основе УЖЕ кем то и когда то подготовленного репоза.

Ответить | Правка | Наверх | Cообщить модератору

77. "Инициатива по созданию форка проекта RPM5"  +1 +/
Сообщение от Nxxemail (ok), 04-Май-11, 07:13 
> а когда в репозе у тебя бинарий которому сорец не соответствует, или
> вообще отсутствует - вот тут приплыли.

Это где такие чудеса бывают? В каком дистрибутиве?

Ответить | Правка | Наверх | Cообщить модератору

134. "Инициатива по созданию форка проекта RPM5"  +1 +/
Сообщение от Michael Shigorinemail (ok), 05-Май-11, 13:30 
Вероятно, в помойке под руками.  В альте-то все _символы_ с 2005 года как минимум учтены, не то что сонеймы: http://lists.altlinux.org/pipermail/devel/2008-December/1650...
Ответить | Правка | Наверх | Cообщить модератору

96. "Инициатива по созданию форка проекта RPM5"  +2 +/
Сообщение от Stax (ok), 04-Май-11, 15:28 
Пожалуйста, не выдумывайте проблем там, где их нет. В rpm их, во всяком случае, нет.

Ваша задача для одного пакета решается с помошью mock, который автоматизирует данную операцию - собирает chroot для сборки данного пакета, ставя внутрь все необходимые зависимости (и ему, сюрприз, вообще без разницы, что стоит в базовой системе - можно хоть i386 внутри чистой x86_64 собирать - он собирает информацию о том, что где находится прямо из метаданных по репозиторию). Для сборки ВСЕГО дистрибутива создана (конечно, монстрообразная. А вы что хотели, дистрибутивы массово клепать на коленке? это можно, но другими инструментами, которые не пересобирают все с нуля) система koji. Которая используется, в частности, для сборки всех версий fedora и redhat - и ни-ког-да ни у кого не было тех проблем, о которых вы пишете.

koji - это не система сборки "из ничего вообще", потому что это не имеет смысла. Это система непрерывной сборки, когда новое собирается на пакетной базе старого. "начала", из которого прямо получается результат как такового нет, вы можете как начало взять все, что вам нравится, через несколько итераций - примерно как двойная пересборка gcc самим себя - все версии зафиксируются в то, что нужно.

Вы, наверное, скажете, что это не то, что вы хотели - ну что ж, извините. В плане сборки дистрибутивов (да и не только их, тот же gcc+glibc+etc в пример, когда рекомендуется пересобрать все снова и снова при изначальной сборке) обычно делают именно так. Даже LFS начинает собираться на хост-системе - но благодаря итерационной пересборке становится самостоятельным и _независимым_ от нее. Koji реализует то же самое, только вместо хост-системы у нас постоянно устаревающая пакетная база.

"Подготовленного кем-то репоза"? Да поймите вы, это не имеет значения :) Совершенно новая и независимая сборка нового дистрибутива просто ИСПОЛЬЗУЕТ старый репозиторий вначале, как LFS использует хост-систему, а потом выходит на самоподдержку. А что у вас там было в начале, вообще неважно.

Кстати, у центоса не было бы таких жутких проблем со сборкой RHEL6, если бы у них был koji или его аналог; но для них это слишком тяжелая система, а по ресурсам они ограничены (koji требует много места для нескольких поколений пакетов и много ресурсов при итерационной пересборке), поэтому и них своя простенькая система, но им тяжело собрать в ней дистрибутив, рассчитанный на принципиально другую систему создания с нуля. Кстати, у них тоже нет бустраппинга - у них тоже итерационный метод, но начинался от с базы centos 5, которая слишком стара. Но все-таки она намного примитивнее koji, и адаптировать сборку к ней довольно сложно

Ответить | Правка | К родителю #71 | Наверх | Cообщить модератору

107. "Инициатива по созданию форка проекта RPM5"  –1 +/
Сообщение от Anonym (?), 04-Май-11, 19:14 
> Пожалуйста, не выдумывайте проблем там, где их нет. В rpm их, во
> всяком случае, нет.
> Ваша задача для одного пакета решается с помошью mock, который автоматизирует данную
> операцию - собирает chroot для сборки данного пакета, ставя внутрь все
> необходимые зависимости

Ох! А мужики то и не знали :) Но вы не внимательно читаете - я сказал следующее: Есть только сорцевый репоз и базовый минимальный инструментарий для его сборки. НЕТУ большого бинарного репоза откуда по зависимостям формируются чруты для сборки пакетов. НЕ-ТУ. И постоить однозначно граф для однопроходной сборки достаточно тяжело, т.к. НЕТУ возможности вычилить заранее - в каком бинарном пакете родится либа, которая указана явно как файл в депендинсах. Для деб-репоза такой проблемы не существует. Для рпм - существует. Они решаются конечно, но криво и без самогенерации на основании только сорцевого репоза. Приходиться где-то брать метаданные от ранее собранного бинарного. А это уже подлог.


Молодей человек, я уже не 1й раз готовлю систему для ФСТЕК. Я не умаляю познания местной публики в мантейнинге, но у вас совсем другие задачи стоят, где проблемы рпм-а не видны.

Ответить | Правка | Наверх | Cообщить модератору

111. "Инициатива по созданию форка проекта RPM5"  +2 +/
Сообщение от Stax (ok), 04-Май-11, 19:55 
> НЕТУ возможности вычилить заранее - в каком бинарном пакете родится либа, которая указана явно как файл в депендинсах

Что-то вы тут явно не договариваете.
Зависимости _для сборки_ в rpm прописаны явно, по именам пакетов. (не припоминаю, чтобы кто-либо прописывал либы). Соответственно, чтобы собрать, информации о том, что надо доставить в srpm достаточно. Где вы видели зависимость сборки *от либы*?? Граф однопроходной сборки замечательно строится на основе build-requires (+ подразумеваемый rpm-build со своими зависимостями - но тут уж извиняйте, инструмент для сборки кроме как итерационной сборкой вначале в хост-системе, потом в вашей не получить никак). Зачем вам вообще метаданные от бинарного, если ваша задача - собрать дистрибутив? И какое вам дело до автоматических зависимостей к либам у уже собранных пакетов, вы же говорите, что начинаете только с исходников??

(центосу они нужны, т.к. у них в отличие от SL и большинства rpm-based дистрибутивов вообще очень специфическая цель - собрать таким хитрым образом, чтобы у свежесобранного пакета ссылки на библиотеки были идентичными тому rpm, который они пытаются повторить - это действительно нетривиальная задача в rpm, но тут не думаю, что в deb тут чем-то легче, да и очень специфическая задача, с которой обычно никто не сталкивается).

Ответить | Правка | Наверх | Cообщить модератору

115. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от Nxxemail (ok), 05-Май-11, 00:08 
> Ох! А мужики то и не знали :) Но вы не внимательно
> читаете - я сказал следующее: Есть только сорцевый репоз и базовый
> минимальный инструментарий для его сборки. НЕТУ большого бинарного репоза откуда по
> зависимостям формируются чруты для сборки пакетов. НЕ-ТУ. И постоить однозначно граф
> для однопроходной сборки достаточно тяжело, т.к. НЕТУ возможности вычилить заранее -
> в каком бинарном пакете родится либа, которая указана явно как файл
> в депендинсах.

По либам автоматически зависимости прописываются уже ПОСЛЕ сборки. На основании вывода линковщика. Devel-пакеты, нужные для сборки перечислены явно в спеке в теге "BuildRequires:".

Ответить | Правка | К родителю #107 | Наверх | Cообщить модератору

137. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от Michael Shigorinemail (ok), 05-Май-11, 14:59 
Думаю, он о том, что "надо собрать пакет A -- как выяснить, сколько ещё чего придётся рекурсивно собрать поверх минимально забутстрапленого репозитория, чтоб это стало возможно с учётом BuildRequires".

Куда смотреть -- _этим_ красавцам не скажу.

Ответить | Правка | Наверх | Cообщить модератору

76. "Инициатива по созданию форка проекта RPM5"  –2 +/
Сообщение от Nxxemail (ok), 04-Май-11, 07:12 
Или например, есть пакет libmegalib-1.0 с либой libmegalib.so.0 и более новая версия libmegalib-2.0 с либой libmegalib.so.1. Пакетный менеджер rpm знает, что в новом пакете старой либы нет, и не станет обновлять, если старая либа используется какой-ито программой. А Дебиан сразу обновит, потому что название то же, а версия новее. Результат - неработающие пакеты, которым нужна libmegalib.so.0.
Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

80. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от анонимус (??), 04-Май-11, 09:27 
данная ситуация настолько редкая, что возникает чуть чаще чем никогда (я говорю о debian stable + backports, а не о красноглазом sid+experimental, где данное событие таки может иметь место, но это же не продакшен...)


Ответить | Правка | Наверх | Cообщить модератору

97. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от Stax (ok), 04-Май-11, 15:31 
> данная ситуация настолько редкая, что возникает чуть чаще чем никогда (я говорю
> о debian stable + backports, а не о красноглазом sid+experimental, где
> данное событие таки может иметь место, но это же не продакшен...)

Это означает, что людям вручную это приходится контролировать.. стараются контролировать в stable получше, в sid не так сильно.. это, как бы, фейл. С автоматической системой зависимостей ничего само не сломается, пакетный менеджер контролирует автоматически.

Ответить | Правка | Наверх | Cообщить модератору

109. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от Nxxemail (ok), 04-Май-11, 19:24 
> данная ситуация настолько редкая, что возникает чуть чаще чем никогда (я говорю
> о debian stable + backports, а не о красноглазом sid+experimental, где
> данное событие таки может иметь место, но это же не продакшен...)

Вот смотри, я могу подключить на openSUSE репозиторий Федоры и не бояться ни за что. И знаешь почему? Потому что я знаю, то система не обновит пакеты, в которых поменялся API. Не удалит ни одну либу, на которую что-то слинковано.

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

Ответить | Правка | К родителю #80 | Наверх | Cообщить модератору

139. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от Michael Shigorinemail (ok), 05-Май-11, 15:06 
В альте сделали следующий шаг и реализовали зависимости на библиотеки по слепку ABI (хэшу предоставляемых символов): http://ftp.linux.kiev.ua/pub/conference/peers/pereslavl/2010... ("Комплементарное хеширование подмножеств", с.63).

Т.е. если в апстриме де-факто сломали ABI, но не сменили soname, то всё равно пакетная база не сломается незаметно.

PS: Вы тоже говорите про бинарный, а не программный, интерфейс. :)  API -- гругря, build time.

Ответить | Правка | Наверх | Cообщить модератору

136. "Инициатива по созданию форка проекта RPM5"  +1 +/
Сообщение от Michael Shigorinemail (ok), 05-Май-11, 14:53 
> А Дебиан сразу обновит, потому что название то же, а версия новее.

Там для этого стали soname втаскивать в название пакета -- в pool будут _пакеты_ libmegalib0 и libmegalib1, пока хоть какой-то пакет там же будет ещё требовать старый сонейм.

PS 2 Stax по поводу mock и koji: в альте давно есть hasher и mkimage (когда-то был интегрированный sandman, а ещё с тех пор появился gear; см. странички на вики) -- интересно, что в нынешней федоре является аналогом альтовского http://www.altlinux.org/buildreq? (хотя это, пожалуй, тоже уже офтопик совсем)

Ответить | Правка | К родителю #76 | Наверх | Cообщить модератору

141. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от Michael Shigorinemail (ok), 05-Май-11, 15:14 
> хотя в реальной ситуации у usefulstuff-libs может быть прописано
> provides: usefulstuff и
> obsoletes: usefulstuff < x.y, и все пройдет нормально

Не помню точно, но Provides: лучше прописывать с точным версионированием, e.g.
Provides: usefulstuff = %version-%release
(иначе можно ненароком напороться на self obsoletes при пересечении версий, особенно если это не порезка/переименование пакета с продолжением монотонного роста версии, а смена альтернативных источников)

Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

74. "Инициатива по созданию форка проекта RPM5"  –2 +/
Сообщение от Nxxemail (ok), 04-Май-11, 06:56 
>> в dpkg зависимости прописываются вручную, по именам пакетов. в rpm - автоматически
>> по именам линкуемых библиотек (то есть, по именам файлов, входящийх в
>> пакет).
> вот за это я бы rpm-щикам ручонки бы то пооторвал! За использование
> *прямых* имен либ в депендинсах вместо имен пакетов в которых они
> живут.

Почему? Так получается гарантия, что все нужные либы для пакета будут установлены, не зависимо от названия и версии пакета. Если в новой версии нужной либы нет, пакет не будет обновляться. Не то, что на Дебиане.

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

Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

81. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от zamir (??), 04-Май-11, 09:37 
В rpm так же указываются зависимости к пакетам. Зависимость к библиотекам - это доп. фитча.
Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

108. "Инициатива по созданию форка проекта RPM5"  +/
Сообщение от Nxxemail (ok), 04-Май-11, 19:18 
> В rpm так же указываются зависимости к пакетам. Зависимость к библиотекам -
> это доп. фитча.

Зависимости по именам пакетов ставятся только если нужный пакет не слинкован, а например, содержит какие-то скрипты или данные и т.д. В 90% случаев (Си, Питон и т.д.) зависимости проставляются автоматом и туда лучше не вмешиваться.

Ответить | Правка | Наверх | Cообщить модератору

129. "Инициатива по созданию форка проекта RPM5"  +1 +/
Сообщение от Michael Shigorinemail (ok), 05-Май-11, 12:23 
> вот за это я бы rpm-щикам ручонки бы то пооторвал! За использование
> *прямых* имен либ в депендинсах вместо имен пакетов в которых они живут.

Вы никогда не сталкивались с тем, что один и тот же soname/ABI может предоставляться разными пакетами?  DSO HOWTO хоть читали?  Теорию множеств проходили?

Видимо, нет.  А туда же -- ляпать языком по форумам то, что в лицо сказать струсите.

Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру