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 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