[devel] Вмешательство в пакеты других мантейнеров

Vitaly Lipatov lav на altlinux.ru
Сб Авг 5 22:22:01 MSK 2023


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

Я вижу несколько причин, по которым не стоит так делать в пакетах, 
которые ведёт другой мантейнер:
1. Не всегда урезанный репозиторий, выложенный в /gears после сборки, 
позволяет вести сопровождение пакета с прежним удобством (никто не 
воссоздаст все эти веточки, которые мержат или создают из них патчи).

2. Иногда обновление становится просто сложным и запутанным, см.
https://lists.altlinux.org/pipermail/devel/2023-July/217702.html

3. Вообще неправильно вторгаться в то, как устроены пакеты. При этом, 
конечно, помощь в сборке новых версий это прекрасно.

4. Ничего сложного нет в том, чтобы запустить
$ rpmrb <новая версия>
и тем самым обновить пакет.


Конкретный пакет conan, который вызвал это письмо:

%changelog
* Wed Jul 19 2023 Stanislav Levin <slev на altlinux.org> 2.0.8-alt1
- 2.0.4 -> 2.0.8.

* Thu May 11 2023 Vitaly Lipatov <lav на altlinux.ru> 2.0.4-alt1
- new version 2.0.4 (with rpmrb script)
- update requires


В данном случае за лаконичным описанием 2.0.4 -> 2.0.8 кроется большая 
работа, проделанная Станиславом, и, очевидно, теперь он мантейнер этого 
пакета, хотя по ACL это никак не скажешь.
Мне кажется, произведённые изменения заслуживают более обширного 
описание в changelog, ведь там столько интересного:

     spec: Enable testing

     spec: Apply a cumulative patch

     spec: Package conan-server

     conan-server is built from the same repo and ships exactly the
     same Python modules/packages as conan (client) + conans.server
     package.

     spec: Enable auto provides back
     It's unclear why it was disabled previously.

     spec: Map PyPI name to distro's one
     See 
https://www.altlinux.org/Management_of_Python_dependencies_sources#Mapping_project_names_to_distro_names
     for details.

     spec: Drop no longer needed sedding of node-semver
     Backported from 793dfaecf07381e993b84d3b82c157ccf50a6399 (2.0.0).

     spec: Deduplicate packaging of common license
     See https://www.altlinux.org/Spec#License for details.

     packaging: Make use of external source of upstream's dependencies
     See 
https://www.altlinux.org/Management_of_Python_dependencies_sources
     for details.

     spec: Switch to PEP517 build
     Build Python project with modern PEP517 interface instead of legacy
     setuptools' one.

     See 
https://www.altlinux.org/Python_packaging_guide#Migration_to_PEP517_in_RPM_specfile
     for details.

     spec: Don't allow implicit unpackaged files
     In general, it's a common error to have implicit unpackaged files.

     spec: Fill in RPM VCS tag
     It can be used by external tools.

     spec: Drop obsolete RPM Packager tag
     spec: Reorder RPM tags according to recommended order

     See 
https://www.altlinux.org/%D0%9E%D0%B1%D1%89%D0%B8%D0%B5_%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0_%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D1%8F_%D1%81%D0%BF%D0%B5%D0%BA_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2_%D0%B2>
     for details.

     Merge tag '2.0.5' into sisyphus




Заодно могу ответить на
commit 8c385d9ee9390630e10ede70f231e1275afc6825
Author: Stanislav Levin <slev на altlinux.org>
Date:   Wed May 24 13:13:40 2023 +0300

     spec: Enable auto provides back

     It's unclear why it was disabled previously.

Ничего хорошего нет в том, что пакет с программой провайдит какие-то 
модули или библиотеки. Поэтому я считаю хорошим правилом делать 
AutoProv: no для пакетов с программами.

-- 
С уважением,
Виталий Липатов,
ALT Linux Team


Подробная информация о списке рассылки Devel