[devel] disttag и rebuild
Vladimir D. Seleznev
vseleznv на altlinux.org
Вт Мар 26 13:45:46 MSK 2019
On Mon, Mar 25, 2019 at 04:10:52PM +0300, Ivan Zakharyaschev wrote:
> On Mon, 25 Mar 2019, Anton Farygin wrote:
>
> > Вопрос в первую очередь к тем, кто придумывал disttag.
> >
> > Хотелось бы понять, что будет с пакетом после того, как у нас появится p9 (на
> > базе sisyphus) и этому пакету сделаем rebuild в task'е.
> >
> > Ведь sisyphus-<таск> будет точно больше, чем p9-<таск>.
> >
> > Соответственно у нас отломается обновление этого пакета ?
> >
> > Или я ошибаюсь ?
>
> Я сконцентрировался на rpm-4.0.4 и пока реализовал такую штуку.
>
> Пердполагаю перенести на rpm-4.13 и собирать в p9 rpm с %def_enable
> default_priority_distbranch
Зачем rpm'у default_priority_distbranch? Мне кажется, эти лишнее
усложнение. Ведь для того, чтобы это работало, надо научить ещё apt
понимать default_priority_distbranch. Иначе они не договорятся. И это
также потребует ручного переключения distbranch при dist-upgrade.
Это похоже на перенос логики apt_preferences в rpm. Лучше отдать решение
про приоритет бранчей на откуп apt'у, и, например, научить
apt-repo-tools, альтератор переключать default branch в preferences при
переключении репозиториев. Или даже лучше устанавливать вот такой
конфиг:
$ cat /etc/apt/preferences.d/origin_priority
Explanation: Always prefer packages from repository
Package: *
Pin: release o=ALT Linux Team
Pin-Priority: 1001
Тогда всегда будут в приоритете пакеты из подключенных бранчей. Что
решит проблему установки пересборанного в бранче пакета, который при
бранчевании был в Сизифе. Локально собранные пакеты можно поставить на
холд или написать для них другие приоритеты.
> $ rpm -qp /ALT/c7.1/x86_64/RPMS.classic/rpm-4.0.4-alt100.77.M70P.3.M70C.2.x86_64.rpm --lastchange
> * Чт мар 14 2019 Ivan Zakharyaschev <imz на altlinux.org> 4.0.4-alt100.77.M70P.3.M70C.2
> Merged 4.0.4-alt101.M80P.5.2 into c7.1:
> [rpm]
> - Changes in what is considered "newer" by rpm -U pertaining to disttag
> comparison. (On the whole, to determine which package is "newer", first,
> the EVRs are compared, then the branch prefixes of the disttags if the
> disttags are present, and then the buildtimes.) The comparison of the disttags:
> + (new!) If a disttag contains no + separator (old format), the branch prefix is
> assumed to be empty (and hence "older" than any other branch prefix).
> + (new!) If the branch prefix of a disttag is equal to %_priority_distbranch
> (and it is not empty), then it is "newer" than any other ones.
> + (as before, since 4.0.4-alt101.M80P.5) The branch prefixes of disttags are
> ordered lexicographically.
> - (disabled in this release; %if_enabled default_priority_distbranch)
> Give a default value to %_priority_distbranch based on the disttag
> when this package is built (the prefix before +).
--
С уважением,
Владимир Селезнев
Подробная информация о списке рассылки Devel