| Summary: | При сборке компилятору не передаются %optflags | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Sisyphus | Reporter: | Motsyo Gennadi <drool> | ||||
| Component: | assaultcube | Assignee: | Nobody's working on this, feel free to take it <nobody> | ||||
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||
| Severity: | minor | ||||||
| Priority: | P3 | CC: | andrewclarkii | ||||
| Version: | unstable | ||||||
| Hardware: | all | ||||||
| OS: | Linux | ||||||
| Attachments: |
|
||||||
Резонно. Специфика только для 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" соответсвтенно. Я делаю изменения в Сизиф? |
Created attachment 3730 [details] Патч для активации %optflags При сборке игнорируются параметры %optflags. Это не имеет значения для x86_64, но это важно для 32-битной сборки - в этом случае указанная архитектура --target получается ложной, и в пакетах хоть i386, хоть athlon-xp или pentium4 лежит один и тот же бинарник, хотя rpm воспринимает пакет в соответствии с таблицей архитектур. Патч прилагаю. Для него секция спека %build должна иметь такой вид: =========================== %build export OPTFLAGS="%optflags" %make -C source/src ===========================