* [devel] noarch и %ifarch, или о primary += aarch64
@ 2018-05-22 6:29 Michael Shigorin
2018-05-22 7:02 ` Anton Farygin
2018-05-22 7:07 ` Sergey Bolshakov
0 siblings, 2 replies; 3+ messages in thread
From: Michael Shigorin @ 2018-05-22 6:29 UTC (permalink / raw)
To: devel
Здравствуйте.
Вчера пришлось вспоминать экспериментально на примере
startup-rescue один неочевидный момент, который голосом
(как минимум) уже озвучивался, но не помню, был ли хоть
где-то зафиксирован письменно (ключевая фраза была вроде
"у нас по факту не noarch, а any-x86" в исполнении ldv@).
Он касается использования BuildArch: noarch совместно с %ifarch
в спеке и собирается кусаться при вводе aarch64 как третьей
синхронной архитектуры.
Вкратце:
между x86 и не-x86 можно менять зависимости, но не состав пакета
и:
стоит ли принуждать к noarch, если в спеке есть %ifarch?
Происходит так потому, что сравнение происходит по составу
собравшегося для текущих синхронных архитектур i586 и x86_64 --
т.е. если состав пакета, заявленного как noarch, между ними
отличается, сборка останавливается по той простой причине, что
в итоговый noarch repo идёт только один из них и если пакеты
различаются по существу, этот выбор будет заведомо ошибочным
для одной из итоговых суммарных конфигураций ($arch+noarch).
Заинтересованные могут посмотреть girar.git, скажем, у glebfm@:
gb/gb-task-check-noarch-i по строчке
error (#$i): the whole $srcN source package should be made noarch
Конкретно мне надо было исключить из startup-rescue зависимости,
которые водятся только на x86, насколько знаю -- dmidecode
и ddcprobe.
Первая попытка: http://webery.altlinux.org/task/206752
(в районе беты стартеркитов задание должно протухнуть)
-BuildArch: noarch
(поскольку смутно припоминал такую грабельку)
-Requires: dmidecode ddcprobe altquire
+%ifarch %ix86 x86_64
+Requires: dmidecode ddcprobe
+%endif
+Requires: altquire
+Requires: agetty
Результат:
warning (#100): startup-rescue-0.29-alt1.i586.rpm should be .noarch.rpm
error (#100): the whole startup-rescue source package should be made noarch
Вторая попытка: http://webery.altlinux.org/task/206754
(отличается на оставленный BuildArch: noarch)
-Requires: dmidecode ddcprobe altquire
+%ifarch %ix86 x86_64
+Requires: dmidecode ddcprobe
+%endif
+Requires: altquire
+Requires: agetty
Результат сборки странный и не имеет отношения к поднятой проблеме
(опишу в конце сообщения), поэтому вот для архива ссылка на
эквивалентную второй в плане архитектур третью попытку и коммит:
http://git.altlinux.org/tasks/archive/done/_201/206755/logs/events.1.1.log
http://git.altlinux.org/tasks/index/sisyphus/done/206755/gears/100/git?p=git;a=commitdiff;h=cb4fae5628e5ca28e7a24df0cf3eea4149c2bca2
Также во всех этих заданиях фигурировал следующий фрагмент,
который и должен будет взорваться, когда aarch64 станет тоже
первичной/синхронной архитектурой:
+%ifarch %ix86 x86_64
install -pm755 fixmbr find-fstab %buildroot/sbin/
+%endif
В общем, предлагаю при наличии в спеке ^(%ifarch|%ifnarch)
смягчать эту ошибку до предупреждения (видимо, включив в него
отсылку к наблюдаемому %ifarch, чтоб не забывать о нём порой).
-------------------------------------------------------------
Сбой сборки задания #206754 выглядит так:
The following packages have unmet dependencies:
startup-rescue: Depends: /sbin/find-fstab
Что и где сломалось с учётом того, что /sbin/find-fstab лежит
в этом же пакете -- пока не понял.
--
---- WBR, Michael Shigorin / http://altlinux.org
------ http://opennet.ru / http://anna-news.info
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [devel] noarch и %ifarch, или о primary += aarch64
2018-05-22 6:29 [devel] noarch и %ifarch, или о primary += aarch64 Michael Shigorin
@ 2018-05-22 7:02 ` Anton Farygin
2018-05-22 7:07 ` Sergey Bolshakov
1 sibling, 0 replies; 3+ messages in thread
From: Anton Farygin @ 2018-05-22 7:02 UTC (permalink / raw)
To: ALT Linux Team development discussions, Michael Shigorin
а ещё в эту же тему - у нас некоторые файлы волшебно определяются file
как JPEG:
http://git.altlinux.org/tasks/206444/logs/events.14.1.log
при появлении третьей архитектуры вероятность такой ошибки станет ещё выше.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [devel] noarch и %ifarch, или о primary += aarch64
2018-05-22 6:29 [devel] noarch и %ifarch, или о primary += aarch64 Michael Shigorin
2018-05-22 7:02 ` Anton Farygin
@ 2018-05-22 7:07 ` Sergey Bolshakov
1 sibling, 0 replies; 3+ messages in thread
From: Sergey Bolshakov @ 2018-05-22 7:07 UTC (permalink / raw)
To: devel
>>>>> "Michael" == Michael Shigorin <mike-u2l5PoMzF/Vg9hUCZPvPmw@public.gmane.org> writes:
> Здравствуйте.
> Вчера пришлось вспоминать экспериментально на примере
> startup-rescue один неочевидный момент, который голосом
> (как минимум) уже озвучивался, но не помню, был ли хоть
> где-то зафиксирован письменно (ключевая фраза была вроде
> "у нас по факту не noarch, а any-x86" в исполнении ldv@).
> Он касается использования BuildArch: noarch совместно с %ifarch
> в спеке и собирается кусаться при вводе aarch64 как третьей
> синхронной архитектуры.
Да, наше определение noarch явно нуждается в уточнении,
но пока я не готов его предложить.
Что до иллюстрации проблемы, то dmidecode на aarch64 есть и
при наличии efi работает, ddcprobe же следовало бы просто
убрать отовсюду, в первую очередь из инсталлера, и заменить
на edid-decode.
[rest skipped]
--
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-05-22 7:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-22 6:29 [devel] noarch и %ifarch, или о primary += aarch64 Michael Shigorin
2018-05-22 7:02 ` Anton Farygin
2018-05-22 7:07 ` Sergey Bolshakov
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git