[devel] libpaper update (was: [#325166] DONE (try 15) libpaper.git=2.1.1-alt1 boomaga.git=3.0.0-alt1.2 xmlto.git=0.0.28-alt3 ...)
Gleb Fotengauer-Malinovskiy
glebfm на altlinux.org
Вт Июл 25 11:16:13 MSK 2023
On Tue, Jul 25, 2023 at 01:21:01AM +0300, Vitaly Lipatov wrote:
> Gleb Fotengauer-Malinovskiy писал(а) 24.7.23 23:18:
> > Hi,
> >
> > On Mon, Jul 24, 2023 at 09:01:00AM +0000, Girar pender (fidel) wrote:
> >> #102 build 2.1.1-alt1 from /people/fidel/packages/libpaper.git fetched
> >> at 2023-Jul-21 12:41:18
> >> #500 build 3.0.0-alt1.2 from /people/fidel/packages/boomaga.git
> >> fetched at 2023-Jul-19 13:45:01
> >> #600 build 0.0.28-alt3 from /gears/x/xmlto.git fetched at 2023-Jul-19
> >> 17:28:11 from sisyphus
> >> #620 build 1.1.28-alt2 from /people/fidel/packages/libpaper1.git
> >> fetched at 2023-Jul-21 09:41:37
> >
> > К сожалению, качество этого обновления оказалось очень низким. От
> > кандидата, проходящего join, конечно, не ожидается, что он не будет
> > делать
> > таких ошибок, но для этого и нужен ментор.
> Спасибо за иллюстрацию того, что простое обновление
Я вот считаю, что это была довольно сложная задача.
> пакета со сменой
> soname библиотеки выглядит невразумительно и неоправданно сложным
> благодаря Shared Policy Libs.
Shared Libs Policy всегда была связана с необходимостью. Вообще, практика
показывает, что если библиотека сразу собрана с учётом существования
Shared Libs Policy и опыта обновления библиотек со сменой soname, то и
обновление происходит проще.
> Тут даже лучше начинаешь понимать те
> апстримы, которые делают несовместимые изменения, не меняя soname.
Я не понимаю связи.
> > Я исправил всё, что увидел плохого, потому что очень не хотел видеть
> > это в
> > Сизифе, который будет опубликован этой ночью.
> Спасибо за исправления! Попробуем сделать для Shared Libs Policy пример
> на основе этой сиутации.
>
> >> - libpaper2: removed the 'Provides: libpaper' because it doesn't
> >> make any
> >> sense either.
> Если что, libpaper был нужен для тех пакетов, которые указывали
> Requires: libpaper ради того, чтобы получить /usr/bin/paperconf. Если вы
> его убрали, видимо, такие пакеты лишатся нужной им команды.
Частичный Provides: это тоже неправильно. Тут можно только исправить
все такие пакеты.
Вообще, эту утилиту нужно паковать отдельно, так не делалось раньше, но
при обновлении libpaper стоило это исправить, я даже скажу, что всё ещё
не поздно.
> >> [...]
> > - libpaper2: added 'Conflicts: libpaper < 1.1.28-alt3' due to
> > conflicting
> > versions of the /usr/bin/paperconf utility.
> > - Enabled strict mode for the verify-elf check.
> > - Enabled rpm-build checks for unpackaged files and stripped files.
> >> #200 libpaper1 1.1.28-alt2 -> 1.1.28-alt3
> >> Mon Jul 24 2023 Gleb F-Malinovskiy <glebfm на altlinux> 1.1.28-alt3
> >> - NMU:
> >> - Reverted the libpaper1 package name to libpaper to prevent an
> >> unnecessary
> >> relocation of the libpaper.so.1 soname provider.
> >> - libpaper: added Provides: libpaper1 and Obsoletes: libpaper1
> >> because
> >> it has already been uploaded into the Sisyphus repository.
> >> - Fixed the License: tag (GPL -> GPL-2.0-only).
> >> - Fixed libpaper Group: tag (System/Libraries -> System/Legacy
> >> libraries).
> >
> > 1. Переименование бинарного пакета libpaper в libpaper1 было ошибкой
> > потому что таким образом soname libpaper.so.1 переезжает в другой
> > пакет.
> А что плохого в том, что библиотека переезжает в другой пакет? Выглядит
> как тайное знание.
https://www.altlinux.org/Shared_Libs_Policy
«...можно столкнуться с багофичей apt: он плохо переносит переименования
пакетов в случае, когда содержимое старой версии пакета переносится в
пакет с новым именем, но при этом пакет со старым именем остаётся
существовать».
> Я вот считаю, что вообще плохо пакеты переименовывать, и бинарный
> libpaper должен был и остаться libpaper.
Тем не менее, ты заапрувил такое переименование.
> > К тому же, переименованный пакет даже не содержит Provides+Obsoletes,
> > т.е.
> > не будет обновлён, а при установке будет конфликтовать со старым
> > пакетом.
> Вообще-то обновление проверялось, и старый пакет успешно заменялся:
> $ sudo apt-repo test 325166
> Получено: 1 http://git.altlinux.org repo/325166/i586 release [1672B]
> Получено: 2 http://mirror.yandex.ru altlinux/Sisyphus/i586 release
> [4238B]
> Получено 5910B за 0s (115kB/s).
> Найдено http://git.altlinux.org repo/325166/i586/task pkglist
> Найдено http://git.altlinux.org repo/325166/i586/task release
> Найдено http://mirror.yandex.ru altlinux/Sisyphus/i586/debuginfo pkglist
> Найдено http://mirror.yandex.ru altlinux/Sisyphus/i586/debuginfo release
> Чтение списков пакетов... Завершено
> Построение дерева зависимостей... Завершено
> Чтение списков пакетов... Завершено
> Построение дерева зависимостей... Завершено
> Последняя версия boomaga уже установлена.
> Последняя версия xmlto уже установлена.
> Следующие дополнительные пакеты будут установлены:
> libpaper-devel texlive-dist texlive-fonts-sources texlive-texmf
> Следующие пакеты будут ОБНОВЛЕНЫ:
> libpaper-devel
> Следующие пакеты будут ЗАМЕНЕНЫ:
> libpaper (by libpaper2)
> Следующие НОВЫЕ пакеты будут установлены:
> libpaper1 libpaper2 paper texlive-dist texlive-fonts-sources
> texlive-texmf xmlto-tex
> 1 будет обновлено, 7 новых установлено, 1 пакетов будет заменено, 0
> пакетов будет удалено и 315 не будет обновлено.
> Необходимо получить 65,5kB/746MB архивов.
> После распаковки потребуется дополнительно 1976MB дискового
> пространства.
> Продолжить? [Y/n]
Да, если устанавливать оба пакета одновременно, то проблема, конечно, не
проявится.
> > 2. Между пакетами libpaper2 и libpaper < 1.1.28-alt1 отсутствовал явный
> > конфликт, хотя эти пакеты содержат разные версии /usr/bin/paperconf.
> +1
>
> > 3. '%set_verify_elf_method rpath=relaxed' из-за попадания %_libdir в
> > RPATH
> > это просто стыдно, мне сложно даже как-то комментировать.
> А кому стыдно?
К сожалению, ты аппрувишь халтуру и заметание проблем под ковёр, я считаю,
что это категорически неправильный подход для ментора.
> Тому, кто не написал, почему %_libdir в RPATH это плохо
> на странице
> https://www.altlinux.org/ProblemWithVerifyELFAndRPATH
> ?
Похоже, эта статья по большей части была написана вообще до появления
проверки про стандартные пути. Хороший повод её обновить.
> Возможно, что это я один не знаю, что такого в %_libdir в RPATH, а
> возможно, что знает только 3 человека из Тим. Проверять будем?
Те или иные проверки rpath существуют в Альте с 2002 года, а проверка на
наличие стандартных каталогов с 2011 года. Я удивлён, что ты не
поинтересовался за столько времени, но учить кандидата в Team не
интересоваться такими вещами это совсем другое дело.
В 2011 году при добавлении этой проверки было письмо с иллюстрацией того,
почему это плохо:
https://lore.altlinux.org/devel/20111212145709.GE24413@altlinux.org/
--
glebfm
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : signature.asc
Тип : application/pgp-signature
Размер : 801 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20230725/8afa5e86/attachment-0001.bin>
Подробная информация о списке рассылки Devel