[devel] Патч при сборке под конкретную версию дистрибутива

Pavel Vainerman pv на etersoft.ru
Чт Апр 11 10:36:10 MSK 2013


11.04.2013 08:34, Eugene Prokopiev пишет:
> 10 апреля 2013 г., 22:00 Pavel Vainerman написал:
>
>>   ... не понял всё-таки как это делается.
>
> Наверное, можно воспользоваться specsubst - обрабатывать в спеке
> значение какого-нибудь @branch@, полученного из .gear/rules и
> комментария к тегу. См.
> http://lists.altlinux.org/pipermail/devel/2013-January/196383.html в
> качестве примера - там, правда, решается другая задача.
   ну вариант с созданием отдельного бранча предложенный Igor Zubkov,
после размышлений собственно мне показался более "дальновидным",
т.к. конечно в процессе развития проекта вероятность его сборки под
"старые дистрибутивы" будет уменьшатся. Так что иметь отдельную ветку,
с увеличением объёма патчей наверно уже будет оправдано..


> Но вот какая штука - я пытаюсь преодолеть искусственное ограничение
> сборочной системы искусственными же средствами ;) У вас, подозреваю,
> проблема более естественная и связана, наверное, с версиями зависимых
> библиотек - так может именно это проверять вместо имени бранча? Никто
> ведь в наше время при веб-разработке не пытается в здравом уме и без
> лишней необходимости проверять имя и версию браузера, полагаются
> больше на проверку наличия требуемого API.
   В моём случае всё тривиальнее..

Кстати может действительно всем будет интересно.

Под Сизиф собирается нормально. А ошибка сборки под p5 была такой:

/usr/include/python2.5/longobject.h:43: error: ISO C++ 1998 does not 
support ‘long long’
/usr/include/python2.5/longobject.h:44: error: ISO C++ 1998 does not 
support ‘long long’
/usr/include/python2.5/longobject.h:45: error: ISO C++ 1998 does not 
support ‘long long’
/usr/include/python2.5/longobject.h:46: error: ISO C++ 1998 does not 
support ‘long long’
/usr/include/python2.5/longobject.h:47: error: ISO C++ 1998 does not 
support ‘long long’

Патч решающий эту "проблемму" выглядит как добавление
к CXXFLAGS -Wno-long-long  (там глобально включён -pedantic, который не 
хотелось бы отключать).

Код в котором возникает ошибка сгенерирован swig-ом.
Т.е. получается, что swig генерирует некорректный код (с -pedantic 
проверкой по крайней мере). Ну или даже python2.5 содержит некорректный
код для "компилятора" который в p5.


-- 
Pavel Vaynerman
www.etersot.ru


Подробная информация о списке рассылки Devel