Custom-gcc: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 3: | Строка 3: | ||
== Требуемые изменения spec-файла собираемого пакета == | == Требуемые изменения spec-файла собираемого пакета == | ||
# Удалить все упоминания <i>gcc*</i> (<i>gcc</i>, <i>gcc-c++</i> и | При использовании <i>custom-gcc</i> для сборки пакета, в spec-файл данного пакета следует внеcти следующие изменения: | ||
# Удалить все упоминания <i>gcc*</i> (<i>gcc</i>, <i>gcc-c++</i> и прочее); | |||
# Добавить в описание зависимостей следующие строки (номер версии может отличаться, в примере используется версия 5 - здесь и далее):<source> | # Добавить в описание зависимостей следующие строки (номер версии может отличаться, в примере используется версия 5 - здесь и далее):<source> | ||
BuildRequires: custom-gcc5-c++ | BuildRequires: custom-gcc5-c++ | ||
Строка 10: | Строка 11: | ||
%define __cxx %_bindir/g++%psuffix | %define __cxx %_bindir/g++%psuffix | ||
</source> | </source> | ||
# При необходимости сборки пакета с новыми версиями стандартных библиотек, следует указать на них зависимости:<source> | # При необходимости сборки пакета с новыми версиями стандартных библиотек, следует указать на них зависимости (для других библиотек - <i>libatomic</i>, <i>libasan</i> и прочих - аналогично):<source> | ||
Requires: custom-libgcc1 >= 5 | Requires: custom-libgcc1 >= 5 | ||
Requires: custom-libstdc++6 >= 5 | Requires: custom-libstdc++6 >= 5 | ||
Строка 18: | Строка 19: | ||
export CXX="%__cxx" | export CXX="%__cxx" | ||
</source> | </source> | ||
# При необходимости сборки пакета с новыми версиями | # При необходимости сборки пакета с новыми версиями библиотек, поставляемых в составе <i>custom-gcc</i>, следует указать путь к каталогу, в котором они все расположены (<code>%_libdir/custom-gcc/</code>, независимо от версий):<source> | ||
export LDFLAGS="-Wl,-rpath,%_libdir/custom-gcc/" | export LDFLAGS="-Wl,-rpath,%_libdir/custom-gcc/" | ||
</source> | </source> | ||
== Ссылки == | |||
[http://git.altlinux.org/gears/g/gcc4.8.git?p=gcc4.8.git;a=shortlog;h=refs/heads/c7.1 custom-gcc4.8 на git.altlinux.org]<br> | |||
[http://git.altlinux.org/gears/g/gcc5.git?p=gcc5.git;a=shortlog;h=refs/heads/c7.1 custom-gcc5 на git.altlinux.org] | |||
[[Категория:Packaging]] | [[Категория:Packaging]] |
Версия от 15:17, 25 ноября 2018
custom-gcc<version> - вариант пакета gcc<version>, который может быть использован в ветвях Sisyphus, основная версия gcc которых не соответствует требованиям, которые предъявляются пакетом, собираемым в данную ветвь, т.е. custom-gcc имеет большую версию чем самый новый gcc данной ветви.
Требуемые изменения spec-файла собираемого пакета
При использовании custom-gcc для сборки пакета, в spec-файл данного пакета следует внеcти следующие изменения:
- Удалить все упоминания gcc* (gcc, gcc-c++ и прочее);
- Добавить в описание зависимостей следующие строки (номер версии может отличаться, в примере используется версия 5 - здесь и далее):
BuildRequires: custom-gcc5-c++ %define psuffix -5 %define __cc %_bindir/gcc%psuffix %define __cxx %_bindir/g++%psuffix
- При необходимости сборки пакета с новыми версиями стандартных библиотек, следует указать на них зависимости (для других библиотек - libatomic, libasan и прочих - аналогично):
Requires: custom-libgcc1 >= 5 Requires: custom-libstdc++6 >= 5
- Добавить в секцию %build указание используемых компиляторов:
export CC="%__cc" export CXX="%__cxx"
- При необходимости сборки пакета с новыми версиями библиотек, поставляемых в составе custom-gcc, следует указать путь к каталогу, в котором они все расположены (
%_libdir/custom-gcc/
, независимо от версий):export LDFLAGS="-Wl,-rpath,%_libdir/custom-gcc/"
Ссылки
custom-gcc4.8 на git.altlinux.org
custom-gcc5 на git.altlinux.org