[sisyphus] [howto] песочница в локальном hasher
alexei на taf.ru
alexei на taf.ru
Ср Сен 16 15:24:17 MSK 2020
----- Исходное сообщение -----
> От: "Motsyo Gennadi aka Drool" <motsyo на gmail.com>
> Кому: sisyphus на lists.altlinux.org
> Отправленные: Среда, 16 Сентябрь 2020 г 19:51:58
> Тема: Re: [sisyphus] [howto] песочница в локальном hasher
> 14.09.20 16:32, Michael Shigorin пишет:
>> А глянь, как его в других дистрибутивах собирают
>> (repology.org в помощь). Возможно, включают какую
>> ручку насчёт generic x86_64.
>
> Почему в локальном хашере и на удаленном (при использовании одной и той
> же пакетной базы удаленного репозитария) собирается по-разному? Это
> главный вопрос, а не какие ручки крутить в других дистрибутивах. Как
> сказано на https://www.altlinux.org/Hasher
> "hasher — это инструмент безопасной и воспроизводимой сборки пакетов".
> Слово "воспроизводимой" там выделено. Выходит, это далеко не так и
> сборка далеко не воспроизводима. Первоначальная тема была "Пакет в
> сборочнице собирается битый" и в самом первом своем сообщении я
> спрашивал "Как такое может быть?".
> https://lists.altlinux.org/pipermail/sisyphus/2020-August/368811.html
Такое может быть, если сборочные скрипты самого пакета проявляют лишний интеллект
в оптимизации под процессор сборочницы, начхав что передает системное окружение.
Вангую, что процессоры сборочницы умеют в AVX2, в то время как подавляющее большинство
систем о таком наборе команд еще долго не будут знать. И да, если такое вылазит, то
первым дело надо пройтись по исходникам в поисках вот такого вот гуана:
============
case "$SYSTEM" in
"UINT32")
TRANSPOSE="32"
;;
"UINT64")
TRANSPOSE="64"
;;
"MMX")
TRANSPOSE="64"
CFLAGS="$CFLAGS -mmmx"
;;
"SSE")
TRANSPOSE="128"
CFLAGS="$CFLAGS -msse -msse2"
;;
"ALTIVEC")
TRANSPOSE="128"
;;
*)
echo "wrong SYSTEM option"
exit 1
;;
esac
===========
Отловить и пресечь такое не по силам никакому хэшеру.
Подробная информация о списке рассылки Sisyphus