On Mon, Feb 22, 2010 at 11:33:31PM +0200, Igor Vlasenko wrote: > Уважаемые коллеги, > это вопрос к Дмитрию и Алексею, но, думаю, ответ > было бы полезно услышать всем, и еще занести на вики. > > Я хочу прояснить политику > по пакетам на разности архитектур. > > Откуда возник вопрос. > Оставшиеся патчи от репокопа в основном относятся к > не собирающимся и условно собирающимся (не проходят incoming) > пакетам. Политика такая что пакет должен собраться на обеих архитектурах, иначе его просто не возьмут (кроме когда явно указано ExclusiveArch). Но в час X пакет может проходить, а в час X+1 собираемость на обеих архитектурах уже ничем не гарантируется. Вообще "удерживать состояние" репозитория - это достаточно серьёзная философская и практическая проблема. Базовую модель я уже неоднократно описывал - нужно фактически на каждый входящий пакет выполнять полный пересборочный тест репозитория. И там есть возможность для оптимизации, но всё равно это получается дорого, и сейчас это как бы невозможно, к сожалению (или к счастью). Дополнение: нельзя делать неверифицируемые noarch пакеты. А именно, noarch пакет обязан собраться на обеих архитектурах - тогда его можно сравнить и сказать что он действительно не зависит от количества битов и сойдёт за noarch. А просто так написать "noarch" нельзя. > Среди них есть пакеты (например, xpilot) которые > есть только в Sisyphus/i586 и не хотят собираться на x86_64. > в Сизиф обновления этих пакетов не проходят с диагностикой > "не собирался на x86_64". > > 1) Это половинчатая политика. Последовательнее было бы > либо пускать в ту же архитектуру, либо требовать > ExclusiveArch: %ix86 > и при отсутствии удалять как не пересобирающиеся на x86_64 > более xxx недель. Политика удаления пока осуществляется на усмотрение администратора (ldv). В принципе это discretionary policy. Я вообще-то считаю что это неправильно (но сойдёт за неимением лучшего), и что нужно "удерживать состояние" (см. выше) как основной принцип технологической политики. > 2) В реализации текущей политики есть ошибка для noarch пакетов, > проявляющаяся, например, на пакете retroweaver. > > Этот пакет должен собираться на x86, так как только там > есть jre-1.4.2-sun. В пакете нет ExclusiveArch, > Недавно была пересборка под x86_64, соответственно там > пакет не собирался -- шла ругань. > > Теперь фокус. Прописал в пакет ExclusiveArch: ix86. > i586 build OK, > x86_64 build SKIPPED, > > И хоп -- Нельзя делать неверифицируемые noarch пакеты. Noarch - это заявка, претензия (что пакет не зависит от архитектуры). И есть хорошая универсальная проверка - собрать пакет на двух достаточно разных архитектурах и посмотреть, отличается он или нет. Ergo, я считаю что никакой ошибки тут нет. > On Thu, Oct 22, 2009 at 08:24:35PM +0400, Girar Builder robot wrote: > > #1 build retroweaver-2.0.2-alt3_1jpp5.src.rpm > > 2009-Oct-22 20:23:02 :: [x86_64] retroweaver-2.0.2-alt3_1jpp5.src.rpm: build start > > 2009-Oct-22 20:23:03 :: [x86_64] retroweaver-2.0.2-alt3_1jpp5.src.rpm: build SKIPPED > > 2009-Oct-22 20:24:34 :: [i586] retroweaver-2.0.2-alt3_1jpp5.src.rpm: build OK > > --- i586.noarch 2009-10-22 20:24:35 +0400 > > +++ x86_64.noarch 2009-10-22 20:24:35 +0400 > > @@ -1,3 +0,0 @@ > > -retroweaver-2.0.2-alt3_1jpp5.noarch.rpm > > -retroweaver-javadoc-2.0.2-alt3_1jpp5.noarch.rpm > > -retroweaver-manual-2.0.2-alt3_1jpp5.noarch.rpm > > 2009-Oct-22 20:24:35 :: #1: retroweaver-2.0.2-alt3_1jpp5.src.rpm: different set of noarch packages