diff options
author | neksard <neksard@yandex-team.ru> | 2022-02-10 16:45:33 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:33 +0300 |
commit | 1d9c550e7c38e051d7961f576013a482003a70d9 (patch) | |
tree | b2cc84ee7850122e7ccf51d0ea21e4fa7e7a5685 /build/platform | |
parent | 8f7cf138264e0caa318144bf8a2c950e0b0a8593 (diff) | |
download | ydb-1d9c550e7c38e051d7961f576013a482003a70d9.tar.gz |
Restoring authorship annotation for <neksard@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'build/platform')
-rw-r--r-- | build/platform/cuda/ya.make | 4 | ||||
-rw-r--r-- | build/platform/msvc/ya.make | 4 | ||||
-rw-r--r-- | build/platform/perl/ya.make | 16 | ||||
-rw-r--r-- | build/platform/python/readme.md | 158 | ||||
-rw-r--r-- | build/platform/python/ya.make | 42 | ||||
-rw-r--r-- | build/platform/wine/ya.make | 14 |
6 files changed, 119 insertions, 119 deletions
diff --git a/build/platform/cuda/ya.make b/build/platform/cuda/ya.make index 493ff6d36e..3615f682cd 100644 --- a/build/platform/cuda/ya.make +++ b/build/platform/cuda/ya.make @@ -18,7 +18,7 @@ IF (USE_ARCADIA_CUDA) ELSEIF (CUDA_VERSION == "11.2") DECLARE_EXTERNAL_RESOURCE(CUDA sbr:2073566375) # CUDA Toolkit 11.2.2 for Linux x86-64 ELSEIF (CUDA_VERSION == "11.1") - DECLARE_EXTERNAL_RESOURCE(CUDA sbr:1882836946) # CUDA Toolkit 11.1.1 for Linux x86-64 + DECLARE_EXTERNAL_RESOURCE(CUDA sbr:1882836946) # CUDA Toolkit 11.1.1 for Linux x86-64 ELSEIF (CUDA_VERSION == "11.0") DECLARE_EXTERNAL_RESOURCE(CUDA sbr:1647896014) # CUDA Toolkit 11.0.2 for Linux x86-64 ELSEIF (CUDA_VERSION == "10.1") @@ -65,7 +65,7 @@ IF (USE_ARCADIA_CUDA) IF (CUDA_VERSION == "11.3") DECLARE_EXTERNAL_RESOURCE(CUDA sbr:2215101513) # CUDA Toolkit 11.3.1 for Windows x86-64 ELSEIF (CUDA_VERSION == "11.1") - DECLARE_EXTERNAL_RESOURCE(CUDA sbr:1896564605) # CUDA Toolkit 11.1.1 for Windows x86-64 + DECLARE_EXTERNAL_RESOURCE(CUDA sbr:1896564605) # CUDA Toolkit 11.1.1 for Windows x86-64 ELSEIF (CUDA_VERSION == "10.1") DECLARE_EXTERNAL_RESOURCE(CUDA sbr:978734165) # CUDA Toolkit 10.1.168 for Windows x86-64 ELSE() diff --git a/build/platform/msvc/ya.make b/build/platform/msvc/ya.make index c4887518c9..ccb602c280 100644 --- a/build/platform/msvc/ya.make +++ b/build/platform/msvc/ya.make @@ -6,8 +6,8 @@ IF (WINDOWS_KITS_VERSION == "10.0.10586.0") DECLARE_EXTERNAL_RESOURCE(WINDOWS_KITS sbr:544779014) ELSEIF (WINDOWS_KITS_VERSION == "10.0.16299.0") DECLARE_EXTERNAL_RESOURCE(WINDOWS_KITS sbr:1379398385) -ELSEIF (WINDOWS_KITS_VERSION == "10.0.18362.0") - DECLARE_EXTERNAL_RESOURCE(WINDOWS_KITS sbr:1939557911) +ELSEIF (WINDOWS_KITS_VERSION == "10.0.18362.0") + DECLARE_EXTERNAL_RESOURCE(WINDOWS_KITS sbr:1939557911) ELSE() MESSAGE(FATAL_ERROR "We have no Windows Kits version ${WINDOWS_KITS_VERSION}") ENDIF() diff --git a/build/platform/perl/ya.make b/build/platform/perl/ya.make index e9b3ab30d1..cc50c05c26 100644 --- a/build/platform/perl/ya.make +++ b/build/platform/perl/ya.make @@ -1,10 +1,10 @@ LIBRARY() - -OWNER(somov) - + +OWNER(somov) + NO_PLATFORM() -IF (USE_PERL_SYSTEM) +IF (USE_PERL_SYSTEM) IF (PERL_SDK == "ubuntu-12") PEERDIR(build/platform/perl/5.14) ELSEIF (PERL_SDK == "ubuntu-14") @@ -19,10 +19,10 @@ IF (USE_PERL_SYSTEM) MESSAGE(FATAL_ERROR "Building against system perl is not supported on ${PERL_SDK}") ENDIF() -ELSE() +ELSE() MESSAGE(FATAL_ERROR "There is no perl ready for static linkage. Try using the system one.") -ENDIF() - -END() +ENDIF() + +END() diff --git a/build/platform/python/readme.md b/build/platform/python/readme.md index 5e74dcb6f6..1eaafad35b 100644 --- a/build/platform/python/readme.md +++ b/build/platform/python/readme.md @@ -1,83 +1,83 @@ -# Инструкция по добавлению нового бандла с системным питоном - -## Майним бандлы системного питона -Бандлы системного питон майнятся для трех платформ: linux, darwin, windows. -Подставляем под PYTHON_VERSION - версию нужного питона -### Linux - -1. Устанавливаем систему с версией ubuntu, из которой планируется брать системный питон. Здесь есть два варианта - 1. Если нужно собрать системный питон, который будет запускать тесты на дистбилде, то нужно использовать ubuntu такой же версии, что и на дистбилде. - Тут стоит учитывать, что на дистбилде может быть достаточно старая версия ubuntu, на котором не будет нужной версии питона. - 2. Выбрать ту версию ubuntu, в которой есть нужный питон -2. `mkdir -p ~/work/packages` -3. `cd ~/work/packages` -4. майним deb-пакеты питона - 1. Майним системный питон для запуска на дистбилде: - - apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances python{PYTHON_VERSION}-dev python{|3}-pkg-resources python{|3}-setuptools | grep "^\w" | sort -u) - rm libc6* libc-* - - 2. Майним системный питон для сборки сошек: - - apt download python{PYTHON_VERSION} python{PYTHON_VERSION}-dev python{PYTHON_VERSION}-minimal libpython{PYTHON_VERSION} libpython{PYTHON_VERSION}-dev libpython{PYTHON_VERSION}-stdlib libpython{PYTHON_VERSION}-minimal - -5. `cd ..` -6. `for path in $(ls packages); do ar -xf packages/$path; tar -xf data.tar.xz; done;` -7. `mv usr python` -8. `tar -czf python{PYTHON_VERSION}_linux.tar.gz python` +# Инструкция по добавлению нового бандла с системным питоном + +## Майним бандлы системного питона +Бандлы системного питон майнятся для трех платформ: linux, darwin, windows. +Подставляем под PYTHON_VERSION - версию нужного питона +### Linux + +1. Устанавливаем систему с версией ubuntu, из которой планируется брать системный питон. Здесь есть два варианта + 1. Если нужно собрать системный питон, который будет запускать тесты на дистбилде, то нужно использовать ubuntu такой же версии, что и на дистбилде. + Тут стоит учитывать, что на дистбилде может быть достаточно старая версия ubuntu, на котором не будет нужной версии питона. + 2. Выбрать ту версию ubuntu, в которой есть нужный питон +2. `mkdir -p ~/work/packages` +3. `cd ~/work/packages` +4. майним deb-пакеты питона + 1. Майним системный питон для запуска на дистбилде: + + apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances python{PYTHON_VERSION}-dev python{|3}-pkg-resources python{|3}-setuptools | grep "^\w" | sort -u) + rm libc6* libc-* + + 2. Майним системный питон для сборки сошек: + + apt download python{PYTHON_VERSION} python{PYTHON_VERSION}-dev python{PYTHON_VERSION}-minimal libpython{PYTHON_VERSION} libpython{PYTHON_VERSION}-dev libpython{PYTHON_VERSION}-stdlib libpython{PYTHON_VERSION}-minimal + +5. `cd ..` +6. `for path in $(ls packages); do ar -xf packages/$path; tar -xf data.tar.xz; done;` +7. `mv usr python` +8. `tar -czf python{PYTHON_VERSION}_linux.tar.gz python` 9. `ya upload python{PYTHON_VERSION}_linux.tar.gz -d "Ubuntu {UBUNTU_VERSION} x86_64 python{PYTHON_VERSION} installation" --do-not-remove` - -UBUNTU_VERSION - версия ubuntu, на которой майнился системный питон - -### Darwin -1. Находим macbook. -2. Все установленные питоны лежат в `/Library/Frameworks/Python.framework/Versions` -3. Копируем `/Library/Frameworks/Python.framework` в директорию с именем `python` -4. Чистим `python/Python.framework/Versions/` от ненужных питонов -5. Проверяем, что симлинки указывают в правильные места - 1. `python/Python.framework/Versions/Current -> {PYTHON_VERSION}` - 2. `python/Python.framework/Headers -> Versions/Current/Headers` - 3. `python/Python.framework/Python -> Versions/Current/Python` - 4. `python/Python.framework/Resources -> Versions/Current/Resources` -6. `tar -czf python{PYTHON_VERSION}_darwin.tar.gz python` + +UBUNTU_VERSION - версия ubuntu, на которой майнился системный питон + +### Darwin +1. Находим macbook. +2. Все установленные питоны лежат в `/Library/Frameworks/Python.framework/Versions` +3. Копируем `/Library/Frameworks/Python.framework` в директорию с именем `python` +4. Чистим `python/Python.framework/Versions/` от ненужных питонов +5. Проверяем, что симлинки указывают в правильные места + 1. `python/Python.framework/Versions/Current -> {PYTHON_VERSION}` + 2. `python/Python.framework/Headers -> Versions/Current/Headers` + 3. `python/Python.framework/Python -> Versions/Current/Python` + 4. `python/Python.framework/Resources -> Versions/Current/Resources` +6. `tar -czf python{PYTHON_VERSION}_darwin.tar.gz python` 7. `ya upload python{PYTHON_VERSION}_darwin.tar.gz -d "Darwin x86_64 python{PYTHON_VERSION} installation" --do-not-remove` - -Если нужного питона нет в системе, его нужно установить из `python.org`, его установку можно найти в стандартном месте. - -Если нужен питон из `brew`, его установку можно найти в `/usr/local/Cellar/python*/{python_version}/Frameworks/`, - а дальше следовать стандартной инструкции - -### Windows -1. Находим машинку с windows -2. Устанавливаем нужную версию питона из `python.org` -3. Копируем содержимое установки питона в директорию `python` -4. Пакуем директорию `python` в `python{PYTHON_VERSION}_windows.tar.gz` + +Если нужного питона нет в системе, его нужно установить из `python.org`, его установку можно найти в стандартном месте. + +Если нужен питон из `brew`, его установку можно найти в `/usr/local/Cellar/python*/{python_version}/Frameworks/`, + а дальше следовать стандартной инструкции + +### Windows +1. Находим машинку с windows +2. Устанавливаем нужную версию питона из `python.org` +3. Копируем содержимое установки питона в директорию `python` +4. Пакуем директорию `python` в `python{PYTHON_VERSION}_windows.tar.gz` 5. `ya upload python{PYTHON_VERSION}_windows.tar.gz -d "Windows x86_64 python{PYTHON_VERSION} installation" --do-not-remove` - -## Добавляем бандлы системного питона в сборку - -1. Конфигурация бандлов системных питонов находится здесь [build/platform/python](https://a.yandex-team.ru/arc/trunk/arcadia/build/platform/python) -2. Добавляем сендбокс ресурсы собранных бандлов в файл [resources.inc](https://a.yandex-team.ru/arc/trunk/arcadia/build/platform/python/resources.inc) - - SET(PYTHON38_LINUX sbr:1211259884) - -3. Добавляем служебные переменные `_SYSTEM_PYTHON*, PY_VERSION, PY_FRAMEWORK_VERSION` для системного питона, если их еще нет, -в [ymake.core.conf](https://a.yandex-team.ru/arc/trunk/arcadia/build/ymake.core.conf?rev=7640792#L380) по аналогии. - - "3.8" ? { - _SYSTEM_PYTHON38=yes - PY_VERSION=3.8 - PY_FRAMEWORK_VERSION=3.8 - } - -4. Добавляем ресурс в [build/platform/python/ya.make](https://a.yandex-team.ru/arc/trunk/arcadia/build/platform/python/ya.make) - - DECLARE_EXTERNAL_RESOURCE(EXTERNAL_PYTHON ${PYTHON38_LINUX}) - -## Проверяем сборку + +## Добавляем бандлы системного питона в сборку + +1. Конфигурация бандлов системных питонов находится здесь [build/platform/python](https://a.yandex-team.ru/arc/trunk/arcadia/build/platform/python) +2. Добавляем сендбокс ресурсы собранных бандлов в файл [resources.inc](https://a.yandex-team.ru/arc/trunk/arcadia/build/platform/python/resources.inc) + + SET(PYTHON38_LINUX sbr:1211259884) + +3. Добавляем служебные переменные `_SYSTEM_PYTHON*, PY_VERSION, PY_FRAMEWORK_VERSION` для системного питона, если их еще нет, +в [ymake.core.conf](https://a.yandex-team.ru/arc/trunk/arcadia/build/ymake.core.conf?rev=7640792#L380) по аналогии. + + "3.8" ? { + _SYSTEM_PYTHON38=yes + PY_VERSION=3.8 + PY_FRAMEWORK_VERSION=3.8 + } + +4. Добавляем ресурс в [build/platform/python/ya.make](https://a.yandex-team.ru/arc/trunk/arcadia/build/platform/python/ya.make) + + DECLARE_EXTERNAL_RESOURCE(EXTERNAL_PYTHON ${PYTHON38_LINUX}) + +## Проверяем сборку 1. Создаем тривиальный PY2MODULE с использование `c api` положенного питона, или находим подходящий в репозитории -2. Собираем его: - 1. linux `ya make -DUSE_SYSTEM_PYTHON=3.8 --target-platform linux` - 2. darwin `ya make -DUSE_SYSTEM_PYTHON=3.8 --target-platform darwin` - 3. windows `ya make -DUSE_SYSTEM_PYTHON=3.8 --target-platform win` -3. Проверяем, что получившиеся модули импортятся в питонах на соответсвующих системах +2. Собираем его: + 1. linux `ya make -DUSE_SYSTEM_PYTHON=3.8 --target-platform linux` + 2. darwin `ya make -DUSE_SYSTEM_PYTHON=3.8 --target-platform darwin` + 3. windows `ya make -DUSE_SYSTEM_PYTHON=3.8 --target-platform win` +3. Проверяем, что получившиеся модули импортятся в питонах на соответсвующих системах diff --git a/build/platform/python/ya.make b/build/platform/python/ya.make index 2a8854baed..247e65f4c9 100644 --- a/build/platform/python/ya.make +++ b/build/platform/python/ya.make @@ -1,14 +1,14 @@ -RESOURCES_LIBRARY() - +RESOURCES_LIBRARY() + OWNER( g:contrib g:yatool ) - + INCLUDE(resources.inc) IF (USE_SYSTEM_PYTHON) - IF (OS_LINUX) + IF (OS_LINUX) IF (ARCH_ARM64 OR ARCH_AARCH64) IF (_SYSTEM_PYTHON27) DECLARE_EXTERNAL_RESOURCE(EXTERNAL_PYTHON ${PYTHON27_LINUX_ARM64}) @@ -37,12 +37,12 @@ IF (USE_SYSTEM_PYTHON) ENDIF() ELSE() ENABLE(PYTHON_NOT_FOUND) - ENDIF() - CFLAGS( + ENDIF() + CFLAGS( GLOBAL "-isystem$EXTERNAL_PYTHON_RESOURCE_GLOBAL/python/include" GLOBAL "-isystem$EXTERNAL_PYTHON_RESOURCE_GLOBAL/python/include/python${PY_VERSION}" ) - ELSEIF (OS_DARWIN) + ELSEIF (OS_DARWIN) IF (PYTHON_DISTR == "macos-brew") IF (ARCH_X86_64) IF (_SYSTEM_PYTHON27) @@ -54,8 +54,8 @@ IF (USE_SYSTEM_PYTHON) ENDIF() ELSE() ENABLE(PYTHON_NOT_FOUND) - ENDIF() - ELSE() + ENDIF() + ELSE() IF (ARCH_X86_64) IF (_SYSTEM_PYTHON27) DECLARE_EXTERNAL_RESOURCE(EXTERNAL_PYTHON ${PYTHON27_DARWIN}) @@ -93,17 +93,17 @@ IF (USE_SYSTEM_PYTHON) CFLAGS(GLOBAL "-isystem$EXTERNAL_PYTHON_RESOURCE_GLOBAL/python/Python.framework/Versions/${PY_FRAMEWORK_VERSION}/include/python${PY_VERSION}") ELSEIF (OS_WINDOWS) IF (ARCH_X86_64) - IF (_SYSTEM_PYTHON27) + IF (_SYSTEM_PYTHON27) DECLARE_EXTERNAL_RESOURCE(EXTERNAL_PYTHON ${PYTHON27_WINDOWS}) - ELSEIF (_SYSTEM_PYTHON34) + ELSEIF (_SYSTEM_PYTHON34) DECLARE_EXTERNAL_RESOURCE(EXTERNAL_PYTHON ${PYTHON34_WINDOWS}) - ELSEIF (_SYSTEM_PYTHON35) + ELSEIF (_SYSTEM_PYTHON35) DECLARE_EXTERNAL_RESOURCE(EXTERNAL_PYTHON ${PYTHON35_WINDOWS}) - ELSEIF (_SYSTEM_PYTHON36) + ELSEIF (_SYSTEM_PYTHON36) DECLARE_EXTERNAL_RESOURCE(EXTERNAL_PYTHON ${PYTHON36_WINDOWS}) - ELSEIF (_SYSTEM_PYTHON37) + ELSEIF (_SYSTEM_PYTHON37) DECLARE_EXTERNAL_RESOURCE(EXTERNAL_PYTHON ${PYTHON37_WINDOWS}) - ELSEIF (_SYSTEM_PYTHON38) + ELSEIF (_SYSTEM_PYTHON38) DECLARE_EXTERNAL_RESOURCE(EXTERNAL_PYTHON ${PYTHON38_WINDOWS}) ELSEIF (_SYSTEM_PYTHON39) DECLARE_EXTERNAL_RESOURCE(EXTERNAL_PYTHON ${PYTHON39_WINDOWS}) @@ -111,11 +111,11 @@ IF (USE_SYSTEM_PYTHON) DECLARE_EXTERNAL_RESOURCE(EXTERNAL_PYTHON ${PYTHON310_WINDOWS}) ELSE() ENABLE(PYTHON_NOT_FOUND) - ENDIF() + ENDIF() ELSE() ENABLE(PYTHON_NOT_FOUND) - ENDIF() - CFLAGS(GLOBAL "/I$EXTERNAL_PYTHON_RESOURCE_GLOBAL/python/include") + ENDIF() + CFLAGS(GLOBAL "/I$EXTERNAL_PYTHON_RESOURCE_GLOBAL/python/include") LDFLAGS("/LIBPATH:$EXTERNAL_PYTHON_RESOURCE_GLOBAL/python/libs") ENDIF() @@ -127,9 +127,9 @@ ELSEIF (NOT USE_ARCADIA_PYTHON) IF (OS_WINDOWS) LDFLAGS($PYTHON_LDFLAGS $PYTHON_LIBRARIES) ENDIF() -ENDIF() - -END() +ENDIF() + +END() RECURSE_FOR_TESTS( tests diff --git a/build/platform/wine/ya.make b/build/platform/wine/ya.make index 511be37962..7d74cb279b 100644 --- a/build/platform/wine/ya.make +++ b/build/platform/wine/ya.make @@ -1,10 +1,10 @@ -RESOURCES_LIBRARY() - -OWNER(neksard) - +RESOURCES_LIBRARY() + +OWNER(neksard) + # do not forget to update resources in ya.conf.json -DECLARE_EXTERNAL_RESOURCE(WINE_TOOL sbr:1093314933) +DECLARE_EXTERNAL_RESOURCE(WINE_TOOL sbr:1093314933) DECLARE_EXTERNAL_RESOURCE(WINE32_TOOL sbr:2264052281) - + SET(NEED_PLATFORM_PEERDIRS no) -END() +END() |