Bug 46584
| Summary: | gear-update-tag: semver support in version | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Sisyphus | Reporter: | Anton Farygin <rider> | ||||
| Component: | gear | Assignee: | Dmitry V. Levin <ldv> | ||||
| Status: | NEW --- | QA Contact: | qa-sisyphus | ||||
| Severity: | normal | ||||||
| Priority: | P5 | CC: | arseny, dshein, glebfm, ldv, legion, placeholder, rider | ||||
| Version: | unstable | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| URL: | https://git.altlinux.org/tasks/431714 | ||||||
| Attachments: |
|
||||||
https://dep-team.pages.debian.net/deps/dep14/ When a Git tag needs to refer to a specific version of a Debian package, the Debian version needs to be mangled to cope with Git's restrictions. This mangling is deterministic and reversible: * Each colon (:) is replaced with a percent (%) * Each tilde (~) is replaced with an underscore (_) * A hash (#) is inserted between each pair of adjacent dots (..) * A hash (#) is appended if the last character is a dot (.) * If the version ends in precisely .lock (dot l o c k, lowercase, at the end of the version), a hash (#) is inserted after the dot, giving .#lock. This can be expressed concisely in the following Perl5 statements: y/:~/%_/; s/\.(?=\.|$|lock$)/.#/g; The reverse transformation is: * Each percent (%) is replaced with a colon (:) * Each underscore (_) is replaced with a tilde (~) * Each hash (#) is deleted Довольно удачный, IMHO, набор правил, мы можем `y/:~/%_/;` спокойно забирать. Если мы исправим эту багу, то из известных мне блокеров размещать в Sisyphus и p11 пакеты с версиями в духе 2.6.1~rc1 останется только sisyphus-check, выступающий последним gate для момента, когда всё остальное будет готово. Created attachment 22116 [details] demo for https://git.altlinux.org/tasks/431714 наверняка есть ещё где-то инструменты, которые сравнивают версии пакетов без учёта ~ и надо конечно выявить такие. лучше заранее. (In reply to Arseny Maslennikov from comment #3) > Created attachment 22116 [details] > demo for https://git.altlinux.org/tasks/431714 Мне кажется, стоит написать в rpm %changelog (может и в коммите тоже) подробнее, что значит это изменение на практике, и какие символы на что заменяются. Потому что сейчас это можно понять только из исходного кода. |

Description
Anton Farygin 2023-06-19 10:24:17 MSK