Нужно обновить в Сизифе libpaper до версии 2.x вместе с пакетом paper https://github.com/rrthomas/paper
При попытке обновить libpaper с пакетами от него зависимыми: 324637 FAILED #6 [test-only] sisyphus libpaper.git=2.1.1-alt1 boomaga.git=3.0.0-alt1.1 cups.git=2.4.2-alt3 enscript.git=1.6.6-alt2 a2ps.git=4.14-alt3 ghostscript.git=10.01.1-alt1 ghostscript9.git=9.54.0-alt4 srpm=poster-1.0.1-alt3.20050907.qa1.src.rpm ted.git=2.23-alt2.1 srpm=texlive-2021-alt3_3.src.rpm tuxpaint.git=0.9.29-alt1 srpm=tuxpaint-config-0.0.12-alt1.3.src.rpm srpm=xmlto-0.0.28-alt2.src.rpm xpdf.git=4.04-alt1 Лог сборки: https://git.altlinux.org/tasks/324637/logs/events.6.1.log Падает на: The following packages have unmet dependencies: ImageMagick-tools: Depends: libImageMagick6.7 (= 6.9.12.73-alt1:sisyphus+314149.100.1.1) ghostscript-utils: Depends: texlive Depends: ghostscript-classic (= 10.01.1-alt1:sisyphus+318450.100.1.1) gv: Depends: ghostscript-module-X (>= 7.05) E: Broken packages Багу по пересборке пакета texlive создал: https://bugzilla.altlinux.org/46864
Обновлено в задании: 325166 https://git.altlinux.org/tasks/archive/done/_317/325166/logs/events.15.2.log
А зачем переносить старый soname в другой пакет?
(Ответ для Gleb F-Malinovskiy на комментарий #3) > А зачем переносить старый soname в другой пакет? Совместив статью https://www.altlinux.org/Shared_Libs_Policy и примеры пакетов: libwlroots10 libwlroots11 получил libpaper1 и libpaper2. Вижу что вы уже пакеты пересобрали. Изучаю изменения.
очень плохо когда библиотека из одного пакета перезжает в другой без смены soname - обычно это приводит к проблемам при обновлении из-за сложностей с зависимостями и поведения apt
(In reply to Mikhail Tergoev from comment #4) > (Ответ для Gleb F-Malinovskiy на комментарий #3) > > А зачем переносить старый soname в другой пакет? > > Совместив статью > https://www.altlinux.org/Shared_Libs_Policy > и примеры пакетов: > libwlroots10 libwlroots11 > получил libpaper1 и libpaper2. Я спрашивал про бинарный пакет, конечно. Один или оба исходных неизбежно должны были получить цифру в названии. В wlroots можно увидеть, что был переименован исходный пакет, а имя бинарного пакета осталось то же самое, так что там нет такой проблемы и такого вопроса.
(Ответ для Gleb F-Malinovskiy на комментарий #3) > А зачем переносить старый soname в другой пакет? На мой взгляд, из основного пакета после его обновления до новой версии уже нельзя собрать старый soname, поэтому этот старый soname собирается в стороне, отдельно и временно.
c(Ответ для Anton Farygin на комментарий #5) > очень плохо когда библиотека из одного пакета перезжает в другой без смены > soname - обычно это приводит к проблемам при обновлении из-за сложностей с > зависимостями и поведения apt Не очень понимаю, было бы лучше собрать libpaper.so.1 в пакет libpaper? То есть бинарный libpaper2 собирался бы из libpaper а бинарный libpaper собирался бы из libpaper1 Так лучше?
(Ответ для Vitaly Lipatov на комментарий #8) > c(Ответ для Anton Farygin на комментарий #5) > > очень плохо когда библиотека из одного пакета перезжает в другой без смены > > soname - обычно это приводит к проблемам при обновлении из-за сложностей с > > зависимостями и поведения apt > Не очень понимаю, было бы лучше собрать libpaper.so.1 в пакет libpaper? > То есть бинарный libpaper2 собирался бы из libpaper > а бинарный libpaper собирался бы из libpaper1 > Так лучше? Лучше сделать так, что бы пакет с библиотекой не менял имя. Я обычно просто переименовываю исходник, бинарник не трогаю. А как назвать исходный пакет с новым бинарным не имеет значения, но для сохранения истории лучше его назвать libpaper.
(Ответ для Anton Farygin на комментарий #9) > (Ответ для Vitaly Lipatov на комментарий #8) > > c(Ответ для Anton Farygin на комментарий #5) > > > очень плохо когда библиотека из одного пакета перезжает в другой без смены > > > soname - обычно это приводит к проблемам при обновлении из-за сложностей с > > > зависимостями и поведения apt > > Не очень понимаю, было бы лучше собрать libpaper.so.1 в пакет libpaper? > > То есть бинарный libpaper2 собирался бы из libpaper > > а бинарный libpaper собирался бы из libpaper1 > > Так лучше? > > Лучше сделать так, что бы пакет с библиотекой не менял имя. > Я обычно просто переименовываю исходник, бинарник не трогаю. > А как назвать исходный пакет с новым бинарным не имеет значения, но для > сохранения истории лучше его назвать libpaper. Да, так понимаю. Но мне казалось, что проблемы с аптом (при переезде библиотеки в пакет с другим названием) уже и нет на самом деле. Спасибо.
(In reply to Vitaly Lipatov from comment #10) > Да, так понимаю. Но мне казалось, что проблемы с аптом (при переезде > библиотеки в пакет с другим названием) уже и нет на самом деле. > Спасибо. Я (как автор того изменения в apt, которое улучшило положение дел) всегда был уверен, что просто сильно уменьшилась вероятность.
Создал страницу на Вики, для упрощения понимания как поступать в такой ситуации: https://www.altlinux.org/ExampleOfPacketPeparation Прошу проверить информацию и скорректировать при необходимости. После чего могу расписать более подробно каждый шаг.
Вот это зачем нужно ? Было бы неплохо межпактные зависимости в статье хорошенько откомментировать. Provides: libpaper1 = %EVR Obsoletes: libpaper1 < %EVR
Conflicts: libpaper < 1.1.28-alt3 Таких конфликтов не должно быть. Основная цель смены имени - дать возможность одновременной установки библиотеки _старой_ версии и новой в одну систему.
(Ответ для Anton Farygin на комментарий #14) > Conflicts: libpaper < 1.1.28-alt3 > Таких конфликтов не должно быть. Основная цель смены имени - дать > возможность одновременной установки библиотеки _старой_ версии и новой в > одну систему. Из истории изменений: - libpaper2: добавлено 'Conflicts: libpaper < 1.1.28-alt3' из-за конфликтующих версии утилиты /usr/bin/paperconf. Но в пакете libpaper1 версия бинарника libpaper 1.1.28-alt4 в котором нет /usr/bin/paperconf в следствии чего совместная установка обоих пакетов возможна. (Ответ для Anton Farygin на комментарий #13) > Вот это зачем нужно ? > > Provides: libpaper1 = %EVR > Obsoletes: libpaper1 < %EVR Смотрим историю изменений libpaper1: - Изменил имя пакета libpaper1 на libpaper, чтобы предотвратить ненужное перемещение поставщика имен файлов libpaper.so.1. - libpaper: добавлено Provides: libpaper1 и Obsoletes: libpaper1, потому что он уже загружен в репозиторий Sisyphus. Про последнее - если бы бинарника libpaper1 я изначально не создал, то и добавлять не было бы смысла. Если ошибаюсь, то поправьте. И да, в следствии вышесказанного, пример из libpaper получается не очень хороший. Provides: libpaper1 = %EVR Obsoletes: libpaper1 < %EVR по идеи и не должно было быть.