Created attachment 3730 [details] Патч для активации %optflags При сборке игнорируются параметры %optflags. Это не имеет значения для x86_64, но это важно для 32-битной сборки - в этом случае указанная архитектура --target получается ложной, и в пакетах хоть i386, хоть athlon-xp или pentium4 лежит один и тот же бинарник, хотя rpm воспринимает пакет в соответствии с таблицей архитектур. Патч прилагаю. Для него секция спека %build должна иметь такой вид: =========================== %build export OPTFLAGS="%optflags" %make -C source/src ===========================
Резонно. Специфика только для ALT Linux, или же можно передавать в upstream? Кстати, прежде чем я увеличу номер сборки, может имеет смысл сделать --as-needed?
(В ответ на комментарий №1) > Резонно. Специфика только для ALT Linux, или же можно передавать > в upstream? Альт-специфичным может оказаться название переменной %optflags. Вроде в RPM-стандарте используется переменная $RPM_OPT_FLAGS, но могу ошибаться, т.к. давно уже таких спеков не видел. А сама по себе ситуация - недистроспецифична. Апстриму было бы хорошо предложить решить это дополнительным ключиком для вызова make. > Кстати, прежде чем я увеличу номер сборки, может имеет > смысл сделать --as-needed? А что с ним не так? У меня на 4.1 все прекрасно собралось, установилось и работает. Значит проблем с --as-needed нет: http://git.altlinux.org/people/drool/packages/assaultcube.git P.S. Абсолютно аналогичная проблема с игнорированием %optflags и для sauerbraten. Багу вешать или не стоит? Патч для нее еще не изготовил, только приступил к ковырянию. P.P.S. К заливке ассаула в бранчи готов ;) Но если в сизифе будет исправленная версия - мне имеет смысл подождать и сделать сборку в бранчи уже на основе сизифного.
ACL предоставил, но подождать имеет смысл, так как я сам, пожалуй, обновлю и AssaultCube и Sauerbraten.
(В ответ на комментарий №3) > ACL предоставил, но подождать имеет смысл, так как я сам, пожалуй, обновлю > и AssaultCube и Sauerbraten. Ок, я тогда подожду обновления в сизифе и на этом сделаю заливку в бранчи.
(В ответ на комментарий №1) > Специфика только для ALT Linux, или же можно передавать в upstream? В таком виде - ни в коем случае. Тем более что в данном случае, кажется, можно было вообще без патча обойтись, перекрыв CXXOPTFLAGS в спеке.
Текущая строка в спеке: %build %make -C source/src CXXOPTFLAGS="%optflags" Проверьте пожалуйста, если вас это устраивает, я добавлю в sauerbraten и залью новые версии в сизиф.
(В ответ на комментарий №6) > %make -C source/src CXXOPTFLAGS="%optflags" > Проверьте пожалуйста, если вас это устраивает, > я добавлю в sauerbraten и залью новые версии в сизиф. А там точно только C++? Бо при сборке вижу вызовы как g++, так и gcc. На всякий сделал так: %make_build -C source/src CXXOPTFLAGS="%optflags" CFLAGS="%optflags" Визуально - везде при сборке %optflags присутствует. P.S. %make_build лучше, чем %make. P.P.S. И не забыть это же и для sauerbraten.
Поправил спек для AssaultCube и Sauerbraten. Теперь это выглядит так: %build %make_build -C source/src CFLAGS="%optflags" CXXOPTFLAGS="%optflags" %build %make_build -C src/ CFLAGS="%optflags" CXXOPTFLAGS="%optflags" соответсвтенно. Я делаю изменения в Сизиф?
(В ответ на комментарий №8) > ...Я делаю изменения в Сизиф? Конечно.