[root@Work-PC ~]# apt-get remove rpm-build-python3 Чтение списков пакетов... Завершено Построение дерева зависимостей... Завершено Следующие пакеты будут УДАЛЕНЫ: LibreOffice LibreOffice-common LibreOffice-extensions [...] [root@Work-PC ~]# rpm -e rpm-build-python3 ошибка: Неудовлетворенные зависимости: rpm-build-python3 >= 0.1.9 нужен для (установлен) python3-3.6.5-alt1.1.x86_64
Маленький пакет, который не должен ничему мешать. Даже от rpm-build не должен зависеть. Это так по https://www.altlinux.org/RPM_Macros_Packaging_Policy
(В ответ на комментарий №1) > Маленький пакет, который не должен ничему мешать. Даже от rpm-build не должен > зависеть. > > Это так по https://www.altlinux.org/RPM_Macros_Packaging_Policy В таком случае почему зависимости установлены у обоих пакетов (python3 и python3-dev), если policy требует наличия зависимости только у python3-dev?
python3-3.6.8-alt1 -> sisyphus: Tue Jan 29 2019 Aleksei Nikiforov <darktemplar@altlinux> 3.6.8-alt1 - Updated to upstream version 3.6.8 - Removed dependency on rpm-build-python3 from python3 package (Closes: #35992) - Applied security fix (Fixes: CVE-2019-5010)
(In reply to comment #3) > python3-3.6.8-alt1 -> sisyphus: > > Tue Jan 29 2019 Aleksei Nikiforov <darktemplar@altlinux> 3.6.8-alt1 > - Updated to upstream version 3.6.8 > - Removed dependency on rpm-build-python3 from python3 package (Closes: #35992) > - Applied security fix (Fixes: CVE-2019-5010) Ну а зачем? Кто-то может потерять автозависимости при сборке, прочие радости. В чём может быть вред пакета, у которого в зависимостях ничего нет: $ apt-cache depends rpm-build-python3 rpm-build-python3-0.1.13.1-alt2 Depends: file >= 4.26-alt11 Depends: </usr/lib/rpm/python3-site-packages-files.req.list> python3-base-3.6.8-alt1 Depends: </usr/lib/rpm/functions> rpm-4.13.0.1-alt5 Depends: </usr/lib/rpm/macros.d> rpm-4.13.0.1-alt5 Depends: coreutils Depends: cpio Depends: diffutils Depends: grep Depends: perl-base Depends: <python3(os)> python3-base-3.6.8-alt1 Depends: <python3(py_compile)> python3-base-3.6.8-alt1 Depends: <python3(subprocess)> python3-base-3.6.8-alt1 Depends: <python3(sysconfig)> python3-base-3.6.8-alt1 Depends: sed Depends: tests-for-installed-python3-pkgs = 0.1.13.1-alt2 Conflicts: rpm-build < 4.0.4-alt100.91 Conflicts: binutils < 1:2.20.51.0.7 Conflicts: python3 < 3.5 $ Лучше как раньше.
(В ответ на комментарий №4) > (In reply to comment #3) > Ну а зачем? Кто-то может потерять автозависимости при сборке, прочие радости. > > В чём может быть вред пакета, у которого в зависимостях ничего нет: > > $ apt-cache depends rpm-build-python3 ... skipped ... > > Лучше как раньше. А как могут потеряться автозависимости? Насколько я знаю, для генерации автозависимостей обычно требуется либо положить файлы в %python3_sitelibdir, либо в %python3_sitelibdir_noarch, либо для другой директории использовать макрос %add_python3_path. Иначе это считается скриптами для python2. Если я ничего не пропустил, то для всех этих случаев нужен пакет rpm-build-python3 при сборке, и его отсутствие при сборке приведёт к ошибке. После данного изменения вылезло 4 пакета, которые не пересобирались с такой ошибкой, и все они уже исправлены. Конечно, большого вреда от данного пакета нет, но и пользы нет, а зависеть от rpm-{build,macros}-*, я считаю, почти тоже самое, что и зависеть от *-devel пакетов.
Ну и если я что-то пропустил и rpm-build-python3 действительно всегда нужно в сборочном окружении, то может в сборочное окружение его и добавить, а не в зависимости для python3? Так же, как там сейчас всегда есть пакет rpm-build-python, от которого пакет python не зависит.
(In reply to comment #5) > (В ответ на комментарий №4) > > (In reply to comment #3) > > Ну а зачем? Кто-то может потерять автозависимости при сборке, прочие радости. > > > > В чём может быть вред пакета, у которого в зависимостях ничего нет: > > > > $ apt-cache depends rpm-build-python3 > ... skipped ... > > > > Лучше как раньше. > > А как могут потеряться автозависимости? Насколько я знаю, для генерации > автозависимостей обычно требуется либо положить файлы в %python3_sitelibdir, > либо в %python3_sitelibdir_noarch, либо для другой директории использовать > макрос %add_python3_path. Иначе это считается скриптами для python2. Если я > ничего не пропустил, то для всех этих случаев нужен пакет rpm-build-python3 при > сборке, и его отсутствие при сборке приведёт к ошибке. Если при сборке не написали BuildRequires: rpm-build-python3 ни python3-dev python3-dev не всегда всем так уж необходим для сборки пакета с python3. А rpm-build-python3 тоже никто не заставляет в спеки писать. (Хотя в большинстве спеков написали по тем или иным причинам.) Оно как бы должно незаметно приезжать. Хотя, кажется, я понял твой аргумент: раз макрос %python3_sitelibdir использовали, он должен быть определён. Иначе бы они не смогли так написать в спеке. Помимо автозависмостей там ещё немного других вещей делается (типа байт-компиляции). В целом, не уверен, что при сборке что-то у нас сейчас сломается, но это требует исследования. А заставлять писать такой BuildRequires -- скорее такого правила не подразумевалось. > После данного изменения > вылезло 4 пакета, которые не пересобирались с такой ошибкой, и все они уже > исправлены. > > Конечно, большого вреда от данного пакета нет, но и пользы нет, а зависеть от > rpm-{build,macros}-*, я считаю, почти тоже самое, что и зависеть от *-devel > пакетов. Ну поменьше ручной работы при сборке.
(In reply to comment #6) > Ну и если я что-то пропустил и rpm-build-python3 действительно всегда нужно в > сборочном окружении, то может в сборочное окружение его и добавить, а не в > зависимости для python3? Так же, как там сейчас всегда есть пакет > rpm-build-python, от которого пакет python не зависит. Да нет, эо историческое уродство. Тем, кто не работает с python (2), он не нужен в сборочной среде. Только перегружает своими зависимостями от python (потому что написан на python).
Так он нужен или не нужен? Давайте закроем багу?
*** Bug 31393 has been marked as a duplicate of this bug. ***
В текущем python3 такая зависимость имеется: Requires: rpm-build-python3 >= 0.1.9
(В ответ на комментарий №11) > В текущем python3 такая зависимость имеется: > > Requires: rpm-build-python3 >= 0.1.9 А её быть не должно. См. историю изменений (изменение от 2019-02-05 17:55:41)
Вернул состояние обратно
На всякий случай поясню, что я про зависимость в пакете python3 (которую уже убрал darktemplar@), а не зависимость в пакете python3-dev, которую требует policy
(In reply to comment #14) > На всякий случай поясню, что я про зависимость в пакете python3 (которую уже > убрал darktemplar@), а не зависимость в пакете python3-dev, которую требует > policy Спасибо. Вы распутали узелок непонимания. Зависимость в python3-dev есть, больше нигде нет. Бага действительно решена, верно?
(В ответ на комментарий №15) > (In reply to comment #14) > > На всякий случай поясню, что я про зависимость в пакете python3 (которую уже > > убрал darktemplar@), а не зависимость в пакете python3-dev, которую требует > > policy > > Спасибо. Вы распутали узелок непонимания. Зависимость в python3-dev есть, > больше нигде нет. Бага действительно решена, верно? Верно