From c09d077621e7edc50e7949a103c4d0f877695ce4 Mon Sep 17 00:00:00 2001 From: Pawel Cieslak Date: Mon, 3 Jun 2024 12:07:06 +0000 Subject: [PATCH] build: align deb packaging to packages provided by ubuntu 24.04 Related-To: NEO-11423 Signed-off-by: Pawel Cieslak --- manifests/manifest.yml | 2 +- package.cmake | 8 +- .../build_opencl_deb.sh => build_deb.sh} | 54 ++++--- .../l0_gpu_driver/build_l0_gpu_driver_deb.sh | 132 ------------------ .../l0_gpu_driver/ubuntu_20.04/control | 33 ----- .../l0_gpu_driver/ubuntu_20.04/copyright | 32 ----- .../ubuntu_20.04/debian/changelog | 10 -- .../l0_gpu_driver/ubuntu_20.04/debian/rules | 50 ------- scripts/packaging/opencl/ubuntu_20.04/control | 32 ----- .../opencl/ubuntu_20.04/debian/compat | 1 - .../opencl/ubuntu_20.04/debian/source/format | 1 - .../opencl/ubuntu_20.04/shlibs.local | 2 - scripts/packaging/ubuntu/control | 87 ++++++++++++ .../{opencl/ubuntu_20.04 => ubuntu}/copyright | 0 .../ubuntu_20.04 => ubuntu}/debian/changelog | 0 .../ubuntu_20.04 => ubuntu}/debian/compat | 0 .../ubuntu/debian/intel-ocloc-dev.install | 1 + .../ubuntu/debian/intel-ocloc.install | 2 + .../ubuntu/debian/intel-opencl-icd.install | 2 + .../debian/libze-intel-gpu-dev.install} | 0 .../debian/libze-intel-gpu1.install} | 0 .../ubuntu_20.04 => ubuntu}/debian/rules | 11 +- .../debian/source/format | 0 .../ubuntu_20.04 => ubuntu}/shlibs.local | 0 scripts/packaging/versions.sh | 32 +++++ 25 files changed, 167 insertions(+), 325 deletions(-) rename scripts/packaging/{opencl/build_opencl_deb.sh => build_deb.sh} (63%) delete mode 100755 scripts/packaging/l0_gpu_driver/build_l0_gpu_driver_deb.sh delete mode 100644 scripts/packaging/l0_gpu_driver/ubuntu_20.04/control delete mode 100644 scripts/packaging/l0_gpu_driver/ubuntu_20.04/copyright delete mode 100644 scripts/packaging/l0_gpu_driver/ubuntu_20.04/debian/changelog delete mode 100755 scripts/packaging/l0_gpu_driver/ubuntu_20.04/debian/rules delete mode 100644 scripts/packaging/opencl/ubuntu_20.04/control delete mode 100644 scripts/packaging/opencl/ubuntu_20.04/debian/compat delete mode 100644 scripts/packaging/opencl/ubuntu_20.04/debian/source/format delete mode 100644 scripts/packaging/opencl/ubuntu_20.04/shlibs.local create mode 100644 scripts/packaging/ubuntu/control rename scripts/packaging/{opencl/ubuntu_20.04 => ubuntu}/copyright (100%) rename scripts/packaging/{opencl/ubuntu_20.04 => ubuntu}/debian/changelog (100%) rename scripts/packaging/{l0_gpu_driver/ubuntu_20.04 => ubuntu}/debian/compat (100%) create mode 100644 scripts/packaging/ubuntu/debian/intel-ocloc-dev.install create mode 100644 scripts/packaging/ubuntu/debian/intel-ocloc.install create mode 100644 scripts/packaging/ubuntu/debian/intel-opencl-icd.install rename scripts/packaging/{l0_gpu_driver/ubuntu_20.04/debian/intel-level-zero-gpu-devel.install => ubuntu/debian/libze-intel-gpu-dev.install} (100%) rename scripts/packaging/{l0_gpu_driver/ubuntu_20.04/debian/intel-level-zero-gpu.install => ubuntu/debian/libze-intel-gpu1.install} (100%) rename scripts/packaging/{opencl/ubuntu_20.04 => ubuntu}/debian/rules (82%) rename scripts/packaging/{l0_gpu_driver/ubuntu_20.04 => ubuntu}/debian/source/format (100%) rename scripts/packaging/{l0_gpu_driver/ubuntu_20.04 => ubuntu}/shlibs.local (100%) create mode 100755 scripts/packaging/versions.sh diff --git a/manifests/manifest.yml b/manifests/manifest.yml index d6b607cec6..900f6a5f60 100644 --- a/manifests/manifest.yml +++ b/manifests/manifest.yml @@ -31,7 +31,7 @@ components: branch: master dest_dir: infra fetch_tags: true - revision: v6027 + revision: v6028 type: git internal: branch: master diff --git a/package.cmake b/package.cmake index d56e0dca3d..c9818be3a6 100644 --- a/package.cmake +++ b/package.cmake @@ -1,5 +1,5 @@ # -# Copyright (C) 2018-2021 Intel Corporation +# Copyright (C) 2018-2024 Intel Corporation # # SPDX-License-Identifier: MIT # @@ -128,17 +128,17 @@ if(UNIX) if(CMAKE_VERSION VERSION_GREATER 3.6 OR CMAKE_VERSION VERSION_EQUAL 3.6) set(CPACK_DEBIAN_OPENCL_FILE_NAME "intel-opencl_${NEO_OCL_VERSION_MAJOR}.${NEO_OCL_VERSION_MINOR}.${NEO_VERSION_BUILD}-1~${os_codename}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb") set(CPACK_DEBIAN_OCLOC_FILE_NAME "intel-ocloc_${NEO_OCL_VERSION_MAJOR}.${NEO_OCL_VERSION_MINOR}.${NEO_VERSION_BUILD}-1~${os_codename}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb") - set(CPACK_DEBIAN_LEVEL-ZERO-GPU_FILE_NAME "intel-level-zero-gpu_${NEO_L0_VERSION_MAJOR}.${NEO_L0_VERSION_MINOR}.${NEO_VERSION_BUILD}-1~${os_codename}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb") + set(CPACK_DEBIAN_LEVEL-ZERO-GPU_FILE_NAME "libze-intel-gpu1_${NEO_L0_VERSION_MAJOR}.${NEO_L0_VERSION_MINOR}.${NEO_VERSION_BUILD}-1~${os_codename}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb") set(CPACK_DEBIAN_OPENCL-DEBUGINFO_FILE_NAME "intel-opencl-debuginfo_${NEO_OCL_VERSION_MAJOR}.${NEO_OCL_VERSION_MINOR}.${NEO_VERSION_BUILD}-1~${os_codename}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb") set(CPACK_RPM_OPENCL_FILE_NAME "intel-opencl-${NEO_OCL_VERSION_MAJOR}.${NEO_OCL_VERSION_MINOR}.${NEO_VERSION_BUILD}-${CPACK_RPM_PACKAGE_RELEASE}%{?dist}.${CPACK_RPM_PACKAGE_ARCHITECTURE}.rpm") set(CPACK_RPM_OCLOC_FILE_NAME "intel-ocloc-${NEO_OCL_VERSION_MAJOR}.${NEO_OCL_VERSION_MINOR}.${NEO_VERSION_BUILD}-${CPACK_RPM_PACKAGE_RELEASE}%{?dist}.${CPACK_RPM_PACKAGE_ARCHITECTURE}.rpm") - set(CPACK_RPM_LEVEL-ZERO-GPU_FILE_NAME "intel-level-zero-gpu-${NEO_L0_VERSION_MAJOR}.${NEO_L0_VERSION_MINOR}.${NEO_VERSION_BUILD}-${CPACK_RPM_PACKAGE_RELEASE}%{?dist}.${CPACK_RPM_PACKAGE_ARCHITECTURE}.rpm") + set(CPACK_RPM_LEVEL-ZERO-GPU_FILE_NAME "libze-intel-gpu1-${NEO_L0_VERSION_MAJOR}.${NEO_L0_VERSION_MINOR}.${NEO_VERSION_BUILD}-${CPACK_RPM_PACKAGE_RELEASE}%{?dist}.${CPACK_RPM_PACKAGE_ARCHITECTURE}.rpm") set(CPACK_RPM_OPENCL-DEBUGINFO_FILE_NAME "intel-opencl-debuginfo-${NEO_OCL_VERSION_MAJOR}.${NEO_OCL_VERSION_MINOR}.${NEO_VERSION_BUILD}-${CPACK_RPM_PACKAGE_RELEASE}%{?dist}.${CPACK_RPM_PACKAGE_ARCHITECTURE}.rpm") set(CPACK_ARCHIVE_OPENCL_FILE_NAME "intel-opencl-${NEO_OCL_VERSION_MAJOR}.${NEO_OCL_VERSION_MINOR}.${NEO_VERSION_BUILD}-${os_codename}-${CPACK_PACKAGE_ARCHITECTURE}") set(CPACK_ARCHIVE_OCLOC_FILE_NAME "intel-ocloc-${NEO_OCL_VERSION_MAJOR}.${NEO_OCL_VERSION_MINOR}.${NEO_VERSION_BUILD}-${os_codename}-${CPACK_PACKAGE_ARCHITECTURE}") - set(CPACK_ARCHIVE_LEVEL-ZERO-GPU_FILE_NAME "intel-level-zero-gpu-${NEO_L0_VERSION_MAJOR}.${NEO_L0_VERSION_MINOR}.${NEO_VERSION_BUILD}-${os_codename}_${CPACK_PACKAGE_ARCHITECTURE}") + set(CPACK_ARCHIVE_LEVEL-ZERO-GPU_FILE_NAME "libze-intel-gpu1-${NEO_L0_VERSION_MAJOR}.${NEO_L0_VERSION_MINOR}.${NEO_VERSION_BUILD}-${os_codename}_${CPACK_PACKAGE_ARCHITECTURE}") set(CPACK_ARCHIVE_OPENCL-DEBUGINFO_FILE_NAME "intel-opencl-debuginfo-${NEO_OCL_VERSION_MAJOR}.${NEO_OCL_VERSION_MINOR}.${NEO_VERSION_BUILD}-${os_codename}-${CPACK_PACKAGE_ARCHITECTURE}") else() if(CPACK_GENERATOR STREQUAL "DEB") diff --git a/scripts/packaging/opencl/build_opencl_deb.sh b/scripts/packaging/build_deb.sh similarity index 63% rename from scripts/packaging/opencl/build_opencl_deb.sh rename to scripts/packaging/build_deb.sh index ad4bfe100c..70e8cb33ba 100755 --- a/scripts/packaging/opencl/build_opencl_deb.sh +++ b/scripts/packaging/build_deb.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # -# Copyright (C) 2021-2024 Intel Corporation +# Copyright (C) 2024 Intel Corporation # # SPDX-License-Identifier: MIT # @@ -9,18 +9,17 @@ set -ex DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -REPO_DIR="$( cd "$( dirname "${DIR}/../../../../" )" && pwd )" +REPO_DIR="$( cd "$( dirname "${DIR}/../../../" )" && pwd )" -BUILD_DIR="${REPO_DIR}/../build_opencl" +BUILD_DIR="${REPO_DIR}/../build_neo" NEO_SKIP_UNIT_TESTS=${NEO_SKIP_UNIT_TESTS:-FALSE} NEO_SKIP_AUB_TESTS_RUN=${NEO_SKIP_AUB_TESTS_RUN:-TRUE} NEO_DISABLE_BUILTINS_COMPILATION=${NEO_DISABLE_BUILTINS_COMPILATION:-FALSE} -SPEC_FILE="${SPEC_FILE:-${OS_TYPE}}" BRANCH_SUFFIX="$( cat ${REPO_DIR}/.branch )" -ENABLE_OPENCL="${ENABLE_OPENCL:-1}" -if [ "${ENABLE_OPENCL}" == "0" ]; then +ENABLE_NEO="${ENABLE_NEO:-1}" +if [ "${ENABLE_NEO}" == "0" ]; then exit 0 fi @@ -31,19 +30,20 @@ export CMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE:-Release}" export NEO_SKIP_AUB_TESTS_RUN="${NEO_SKIP_AUB_TESTS_RUN:-TRUE}" source "${REPO_DIR}/scripts/packaging/${BRANCH_SUFFIX}/functions.sh" -source "${REPO_DIR}/scripts/packaging/${BRANCH_SUFFIX}/opencl/opencl.sh" +source "${REPO_DIR}/scripts/packaging/${BRANCH_SUFFIX}/versions.sh" -get_api_version # API_VERSION-API_VERSION_SRC and API_DEB_MODEL_LINK -get_opencl_version # NEO_OCL_VERSION_MAJOR.NEO_OCL_VERSION_MINOR.NEO_OCL_VERSION_BUILD +get_api_version # API_VERSION-API_VERSION_SRC and API_DEB_MODEL_LINK +get_neo_version # NEO_VERSION_MAJOR.NEO_VERSION_MINOR.NEO_VERSION_BUILD.NEO_VERSION_HOTFIX -export NEO_OCL_VERSION_MAJOR -export NEO_OCL_VERSION_MINOR -export NEO_OCL_VERSION_BUILD +export NEO_VERSION_MAJOR +export NEO_VERSION_MINOR +export NEO_VERSION_BUILD +export NEO_VERSION_HOTFIX if [ -z "${BRANCH_SUFFIX}" ]; then - VERSION="${NEO_OCL_VERSION_MAJOR}.${NEO_OCL_VERSION_MINOR}.${NEO_OCL_VERSION_BUILD}${API_DEB_MODEL_LINK}" + VERSION="${NEO_VERSION_MAJOR}.${NEO_VERSION_MINOR}.${NEO_VERSION_BUILD}-${NEO_VERSION_HOTFIX}${API_DEB_MODEL_LINK}" else - VERSION="1:${NEO_OCL_VERSION_MAJOR}.${NEO_OCL_VERSION_MINOR}.${NEO_OCL_VERSION_BUILD}${API_VERSION}-${NEO_OCL_VERSION_HOTFIX}${API_VERSION_SRC}${API_DEB_MODEL_LINK}" + VERSION="1:${NEO_VERSION_MAJOR}.${NEO_VERSION_MINOR}.${NEO_VERSION_BUILD}${API_VERSION}-${NEO_VERSION_HOTFIX}${API_VERSION_SRC}${API_DEB_MODEL_LINK}" fi PKG_VERSION=${VERSION} @@ -55,17 +55,24 @@ fi rm -rf $BUILD_DIR mkdir -p $BUILD_DIR/debian -COPYRIGHT="${REPO_DIR}/scripts/packaging/${BRANCH_SUFFIX}/opencl/${SPEC_FILE}/copyright" -CONTROL="${REPO_DIR}/scripts/packaging/${BRANCH_SUFFIX}/opencl/${SPEC_FILE}/control" -SHLIBS="${REPO_DIR}/scripts/packaging/${BRANCH_SUFFIX}/opencl/${SPEC_FILE}/shlibs.local" +COPYRIGHT="${REPO_DIR}/scripts/packaging/${BRANCH_SUFFIX}/ubuntu/copyright" +CONTROL="${REPO_DIR}/scripts/packaging/${BRANCH_SUFFIX}/ubuntu/control" +SHLIBS="${REPO_DIR}/scripts/packaging/${BRANCH_SUFFIX}/ubuntu/shlibs.local" -cp -pR ${REPO_DIR}/scripts/packaging/opencl/${SPEC_FILE}/debian/* $BUILD_DIR/debian/ +cp -pR ${REPO_DIR}/scripts/packaging/ubuntu/debian/* $BUILD_DIR/debian/ cp $COPYRIGHT $BUILD_DIR/debian/ cp $CONTROL $BUILD_DIR/debian/ if [ -f "${SHLIBS}" ]; then cp $SHLIBS $BUILD_DIR/debian/ fi +LEVEL_ZERO_DEVEL_NAME=${LEVEL_ZERO_DEVEL_NAME:-level-zero-devel} + +LEVEL_ZERO_DEVEL_VERSION=$(apt-cache policy ${LEVEL_ZERO_DEVEL_NAME} | grep Installed | cut -f2- -d ':' | xargs) +if [ ! -z "${LEVEL_ZERO_DEVEL_VERSION}" ]; then + perl -pi -e "s/^ level-zero-devel(?=,|$)/ ${LEVEL_ZERO_DEVEL_NAME} (=$LEVEL_ZERO_DEVEL_VERSION)/" "$BUILD_DIR/debian/control" +fi + if [ -z "${BRANCH_SUFFIX}" ]; then GMM_VERSION=$(apt-cache policy libigdgmm12 | grep Installed | cut -f2- -d ':' | xargs) if [ ! -z "${GMM_VERSION}" ]; then @@ -75,7 +82,10 @@ if [ -z "${BRANCH_SUFFIX}" ]; then if [ ! -z "${GMM_DEVEL_VERSION}" ]; then perl -pi -e "s/^ libigdgmm-dev(?=,|$)/ libigdgmm-dev (>=$GMM_DEVEL_VERSION)/" "$BUILD_DIR/debian/control" fi - + IGC_CORE_VERSION=$(apt-cache policy intel-igc-core | grep Installed | cut -f2- -d ':' | xargs) + if [ ! -z "${IGC_CORE_VERSION}" ]; then + perl -pi -e "s/^ intel-igc-core(?=,|$)/ intel-igc-core (=$IGC_CORE_VERSION)/" "$BUILD_DIR/debian/control" + fi IGC_VERSION=$(apt-cache policy intel-igc-opencl | grep Installed | cut -f2- -d ':' | xargs) if [ ! -z "${IGC_VERSION}" ]; then perl -pi -e "s/^ intel-igc-opencl(?=,|$)/ intel-igc-opencl (=$IGC_VERSION)/" "$BUILD_DIR/debian/control" @@ -88,7 +98,7 @@ fi #needs a top level CMAKE file cat << EOF | tee $BUILD_DIR/CMakeLists.txt -cmake_minimum_required (VERSION 3.13.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.13.0 FATAL_ERROR) project(neo) @@ -115,13 +125,13 @@ EOF export NEO_DISABLE_BUILTINS_COMPILATION export NEO_SKIP_UNIT_TESTS - dch -v ${PKG_VERSION} -m "build $PKG_VERSION" -b + dch -v ${PKG_VERSION} -m "build $PKG_VERSION" ulimit -n 65535 || true dpkg-buildpackage -j`nproc --all` -us -uc -b -rfakeroot sudo dpkg -i --force-depends ../*.deb if [ "${LOG_CCACHE_STATS}" == "1" ]; then ccache -s - ccache -s | grep 'cache hit rate' | cut -d ' ' -f 4- | xargs -I{} echo OpenCL {} >> $REPO_DIR/../output/logs/ccache.log + ccache -s | grep 'cache hit rate' | cut -d ' ' -f 4- | xargs -I{} echo Neo {} >> $REPO_DIR/../output/logs/ccache.log fi ) diff --git a/scripts/packaging/l0_gpu_driver/build_l0_gpu_driver_deb.sh b/scripts/packaging/l0_gpu_driver/build_l0_gpu_driver_deb.sh deleted file mode 100755 index 363c1015cf..0000000000 --- a/scripts/packaging/l0_gpu_driver/build_l0_gpu_driver_deb.sh +++ /dev/null @@ -1,132 +0,0 @@ -#!/usr/bin/env bash - -# -# Copyright (C) 2021-2024 Intel Corporation -# -# SPDX-License-Identifier: MIT -# - -set -ex - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -REPO_DIR="$( cd "$( dirname "${DIR}/../../../../" )" && pwd )" - -BUILD_DIR="${REPO_DIR}/../build_l0_gpu_driver" -NEO_SKIP_UNIT_TESTS=${NEO_SKIP_UNIT_TESTS:-FALSE} -NEO_DISABLE_BUILTINS_COMPILATION=${NEO_DISABLE_BUILTINS_COMPILATION:-FALSE} -SPEC_FILE="${SPEC_FILE:-${OS_TYPE}}" - -BRANCH_SUFFIX="$( cat ${REPO_DIR}/.branch )" - -ENABLE_L0_GPU_DRIVER="${ENABLE_L0_GPU_DRIVER:-1}" -if [ "${ENABLE_L0_GPU_DRIVER}" == "0" ]; then - exit 0 -fi - -LOG_CCACHE_STATS="${LOG_CCACHE_STATS:-0}" - -export BUILD_ID="${BUILD_ID:-1}" -export CMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE:-Release}" - -source "${REPO_DIR}/scripts/packaging/${BRANCH_SUFFIX}/functions.sh" -source "${REPO_DIR}/scripts/packaging/${BRANCH_SUFFIX}/l0_gpu_driver/l0_gpu_driver.sh" - -get_api_version # API_VERSION-API_VERSION_SRC and API_DEB_MODEL_LINK -get_l0_gpu_driver_version # NEO_L0_VERSION_MAJOR.NEO_L0_VERSION_MINOR.NEO_L0_VERSION_PATCH.NEO_L0_VERSION_HOTFIX - -if [ -z "${BRANCH_SUFFIX}" ]; then - VERSION="${NEO_L0_VERSION_MAJOR}.${NEO_L0_VERSION_MINOR}.${NEO_L0_VERSION_PATCH}-${NEO_L0_VERSION_HOTFIX}${API_DEB_MODEL_LINK}" -else - VERSION="${NEO_L0_VERSION_MAJOR}.${NEO_L0_VERSION_MINOR}.${NEO_L0_VERSION_PATCH}${API_VERSION}-${NEO_L0_VERSION_HOTFIX}${API_VERSION_SRC}${API_DEB_MODEL_LINK}" -fi - -PKG_VERSION=${VERSION} - -if [ "${CMAKE_BUILD_TYPE}" != "Release" ]; then - PKG_VERSION="${PKG_VERSION}+$(echo "$CMAKE_BUILD_TYPE" | tr '[:upper:]' '[:lower:]')1" -fi - -rm -rf $BUILD_DIR -mkdir -p $BUILD_DIR/debian - -COPYRIGHT="${REPO_DIR}/scripts/packaging/${BRANCH_SUFFIX}/l0_gpu_driver/${SPEC_FILE}/copyright" -CONTROL="${REPO_DIR}/scripts/packaging/${BRANCH_SUFFIX}/l0_gpu_driver/${SPEC_FILE}/control" -SHLIBS="${REPO_DIR}/scripts/packaging/${BRANCH_SUFFIX}/l0_gpu_driver/${SPEC_FILE}/shlibs.local" - -cp -pR ${REPO_DIR}/scripts/packaging/l0_gpu_driver/${SPEC_FILE}/debian/* $BUILD_DIR/debian/ -cp $COPYRIGHT $BUILD_DIR/debian/ -cp $CONTROL $BUILD_DIR/debian/ -if [ -f "${SHLIBS}" ]; then - cp $SHLIBS $BUILD_DIR/debian/ -fi - -LEVEL_ZERO_DEVEL_NAME=${LEVEL_ZERO_DEVEL_NAME:-level-zero-devel} - -LEVEL_ZERO_DEVEL_VERSION=$(apt-cache policy ${LEVEL_ZERO_DEVEL_NAME} | grep Installed | cut -f2- -d ':' | xargs) -if [ ! -z "${LEVEL_ZERO_DEVEL_VERSION}" ]; then - perl -pi -e "s/^ level-zero-devel(?=,|$)/ ${LEVEL_ZERO_DEVEL_NAME} (=$LEVEL_ZERO_DEVEL_VERSION)/" "$BUILD_DIR/debian/control" -fi - -if [ -z "${BRANCH_SUFFIX}" ]; then - GMM_VERSION=$(apt-cache policy libigdgmm12 | grep Installed | cut -f2- -d ':' | xargs) - if [ ! -z "${GMM_VERSION}" ]; then - perl -pi -e "s/^ libigdgmm12(?=,|$)/ libigdgmm12 (>=$GMM_VERSION)/" "$BUILD_DIR/debian/control" - fi - GMM_DEVEL_VERSION=$(apt-cache policy libigdgmm-dev | grep Installed | cut -f2- -d ':' | xargs) - if [ ! -z "${GMM_DEVEL_VERSION}" ]; then - perl -pi -e "s/^ libigdgmm-dev(?=,|$)/ libigdgmm-dev (>=$GMM_DEVEL_VERSION)/" "$BUILD_DIR/debian/control" - fi - - IGC_VERSION=$(apt-cache policy intel-igc-core | grep Installed | cut -f2- -d ':' | xargs) - if [ ! -z "${IGC_VERSION}" ]; then - perl -pi -e "s/^ intel-igc-core(?=,|$)/ intel-igc-core (=$IGC_VERSION)/" "$BUILD_DIR/debian/control" - fi -fi - -# Update rules file with new version -perl -pi -e "s/^ver = .*/ver = $NEO_L0_VERSION_PATCH/" $BUILD_DIR/debian/rules -perl -pi -e "s/^ver_hf = .*/ver_hf = $NEO_L0_VERSION_HOTFIX/" $BUILD_DIR/debian/rules - -#needs a top level CMAKE file -cat << EOF | tee $BUILD_DIR/CMakeLists.txt -cmake_minimum_required (VERSION 3.13.0 FATAL_ERROR) - -project(neo) - -add_subdirectory($REPO_DIR neo) -EOF - -( - cd $BUILD_DIR - if [ "${LOG_CCACHE_STATS}" == "1" ]; then - ccache -z - fi - export DEB_BUILD_OPTIONS="nodocs notest nocheck" - export DH_VERBOSE=1 - if [ "${CMAKE_BUILD_TYPE}" != "Release" ]; then - export DH_INTERNAL_BUILDFLAGS=1 - fi - if [ "${ENABLE_ULT}" == "0" ]; then - NEO_SKIP_UNIT_TESTS="TRUE" - fi - if [ "${TARGET_ARCH}" == "aarch64" ]; then - NEO_SKIP_UNIT_TESTS="TRUE" - export NEO_DISABLE_BUILTINS_COMPILATION="TRUE" - fi - export NEO_DISABLE_BUILTINS_COMPILATION - export NEO_SKIP_UNIT_TESTS - - dch -v ${PKG_VERSION} -m "build $PKG_VERSION" - ulimit -n 65535 || true - dpkg-buildpackage -j`nproc --all` -us -uc -b -rfakeroot - sudo dpkg -i --force-depends ../*.deb - if [ "${LOG_CCACHE_STATS}" == "1" ]; then - ccache -s - ccache -s | grep 'cache hit rate' | cut -d ' ' -f 4- | xargs -I{} echo LevelZero GPU Driver {} >> $REPO_DIR/../output/logs/ccache.log - fi -) - -mkdir -p ${REPO_DIR}/../output/dbgsym - -mv ${REPO_DIR}/../*.deb ${REPO_DIR}/../output/ -find ${REPO_DIR}/.. -maxdepth 1 -name \*.ddeb -type f -print0 | xargs -0r mv -t ${REPO_DIR}/../output/dbgsym/ diff --git a/scripts/packaging/l0_gpu_driver/ubuntu_20.04/control b/scripts/packaging/l0_gpu_driver/ubuntu_20.04/control deleted file mode 100644 index ce4c4503e1..0000000000 --- a/scripts/packaging/l0_gpu_driver/ubuntu_20.04/control +++ /dev/null @@ -1,33 +0,0 @@ -Source: intel-compute-runtime -Section: libs -Priority: optional -Maintainer: Intel Graphics Team -XSBC-Original-Maintainer: Debian OpenCL Maintainers -Build-Depends: debhelper (>= 11), - cmake, - level-zero-devel, - intel-igc-opencl-devel, - libigdgmm-dev, - pkg-config -Standards-Version: 4.3.0 -Homepage: https://github.com/oneapi-src/level-zero - -Package: intel-level-zero-gpu -Architecture: amd64 arm64 -Depends: - ${shlibs:Depends}, - ${misc:Depends}, - intel-igc-core, - libigdgmm12 -Description: Intel(R) Graphics Compute Runtime for oneAPI Level Zero. - Level Zero is the primary low-level interface for language and runtime - libraries. Level Zero offers fine-grain control over accelerators - capabilities, delivering a simplified and low-latency interface to - hardware, and efficiently exposing hardware capabilities to applications. - -Package: intel-level-zero-gpu-devel -Architecture: amd64 arm64 -Depends: - ${shlibs:Depends}, - ${misc:Depends}, -Description: Intel(R) Graphics Compute Runtime for oneAPI Level Zero - development headers diff --git a/scripts/packaging/l0_gpu_driver/ubuntu_20.04/copyright b/scripts/packaging/l0_gpu_driver/ubuntu_20.04/copyright deleted file mode 100644 index e001f36db3..0000000000 --- a/scripts/packaging/l0_gpu_driver/ubuntu_20.04/copyright +++ /dev/null @@ -1,32 +0,0 @@ -Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: level-zero -Source: https://github.com/oneapi-src/level-zero - -Files: third_party/opencl_headers/* - third_party/opengl_headers/GL/glext.h -Copyright: 2008-2021 The Khronos Group Inc. - 2008-2021 Intel Corporation -License: MIT - -Files: * -Copyright: 2018-2021 Intel Corporation -License: MIT - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - . - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - . - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/scripts/packaging/l0_gpu_driver/ubuntu_20.04/debian/changelog b/scripts/packaging/l0_gpu_driver/ubuntu_20.04/debian/changelog deleted file mode 100644 index 676c02a7e7..0000000000 --- a/scripts/packaging/l0_gpu_driver/ubuntu_20.04/debian/changelog +++ /dev/null @@ -1,10 +0,0 @@ -intel-compute-runtime (1.0) unstable; urgency=medium - - * Level Zero GPU Driver implemented based on v1.0 L0 Specification - - -- Neil Spruit Fri, 7 Aug 2020 12:26:37 +0300 -intel-compute-runtime (0.4.0) unstable; urgency=medium - - * Ubuntu package init - - -- Pavel Androniychuk Fri, 14 Feb 2020 12:26:37 +0300 diff --git a/scripts/packaging/l0_gpu_driver/ubuntu_20.04/debian/rules b/scripts/packaging/l0_gpu_driver/ubuntu_20.04/debian/rules deleted file mode 100755 index 9bac5e6b31..0000000000 --- a/scripts/packaging/l0_gpu_driver/ubuntu_20.04/debian/rules +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/make -f -ver = xxx -ver_hf = 0 - -%: - dh $@ --builddir build/ --buildsystem=cmake+ninja - -NEO_DISABLE_BUILTINS_COMPILATION ?= FALSE -RELEASE_WITH_REGKEYS ?= FALSE -IGDRCL_FORCE_USE_LIBVA ?= FALSE -NEO_SKIP_UNIT_TESTS ?= FALSE -NEO_ENABLE_i915_PRELIM_DETECTION ?= TRUE -NEO_ENABLE_XE_EU_DEBUG_SUPPORT ?= FALSE -NEO_FORCE_USE_AUB_STREAM ?= TRUE - -override_dh_auto_configure: - dh_auto_configure -- ${NEO_BUILD_EXTRA_OPTS} \ - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ - -DNEO_VERSION_BUILD=$(ver) \ - -DNEO_VERSION_HOTFIX=$(ver_hf) \ - -DNEO_SKIP_UNIT_TESTS=${NEO_SKIP_UNIT_TESTS} \ - -DNEO_ENABLE_i915_PRELIM_DETECTION=${NEO_ENABLE_i915_PRELIM_DETECTION} \ - -DNEO_ENABLE_XE_EU_DEBUG_SUPPORT=${NEO_ENABLE_XE_EU_DEBUG_SUPPORT} \ - -DNEO_DISABLE_BUILTINS_COMPILATION=${NEO_DISABLE_BUILTINS_COMPILATION} \ - -DNEO_BUILD_WITH_OCL=FALSE \ - -DRELEASE_WITH_REGKEYS=${RELEASE_WITH_REGKEYS} \ - -DIGDRCL_FORCE_USE_LIBVA=${IGDRCL_FORCE_USE_LIBVA} \ - -DNEO_FORCE_USE_AUB_STREAM=${NEO_FORCE_USE_AUB_STREAM} \ - -DL0_INSTALL_UDEV_RULES=1 \ - -DUDEV_RULES_DIR=/etc/udev/rules.d/ \ - -Wno-dev - -override_dh_auto_build: - ${BUILD_PREFIX} dh_auto_build - -override_dh_install: - rm -rf debian/intel-level-zero-gpu/etc/ - rm -rf debian/intel-level-zero-gpu/usr/lib/${DEB_TARGET_MULTIARCH}/intel-opencl/ - rm -rf debian/intel-level-zero-gpu/usr/bin/ - rm -rf debian/intel-level-zero-gpu/usr/include/ocloc_api.h - rm -rf debian/intel-level-zero-gpu/usr/lib/${DEB_TARGET_MULTIARCH}/libocloc.so - rm -rvf debian/intel-level-zero-gpu/usr/lib/debug - dh_install - if [ -d "${NEO_NINJA_DUMP}" ]; then find -name .ninja_\* -type f -exec cp -v {} ${NEO_NINJA_DUMP}/ \;; fi - -override_dh_builddeb: - dh_builddeb -- -Zxz - -override_dh_auto_test: - echo "ULTs already executed" diff --git a/scripts/packaging/opencl/ubuntu_20.04/control b/scripts/packaging/opencl/ubuntu_20.04/control deleted file mode 100644 index 84281e8ba9..0000000000 --- a/scripts/packaging/opencl/ubuntu_20.04/control +++ /dev/null @@ -1,32 +0,0 @@ -Source: intel-compute-runtime -Section: libs -Priority: optional -Maintainer: Intel Graphics Team -XSBC-Original-Maintainer: Debian OpenCL Maintainers -Build-Depends: debhelper (>= 11), - cmake, - intel-igc-opencl-devel, - libigdgmm-dev, -# libva-dev, - pkg-config -Standards-Version: 4.3.0 -Homepage: https://github.com/intel/compute-runtime - -Package: intel-opencl-icd -Architecture: amd64 arm64 -Depends: - ${shlibs:Depends}, - ${misc:Depends}, - intel-igc-opencl, - libigdgmm12, - ocl-icd-libopencl1, -Breaks: - intel-opencl -Replaces: - intel-opencl -Provides: - opencl-icd -Description: Intel graphics compute runtime for OpenCL - The Intel(R) Graphics Compute Runtime for OpenCL(TM) is a open source - project to converge Intel's development efforts on OpenCL(TM) compute - stacks supporting the GEN graphics hardware architecture. diff --git a/scripts/packaging/opencl/ubuntu_20.04/debian/compat b/scripts/packaging/opencl/ubuntu_20.04/debian/compat deleted file mode 100644 index b4de394767..0000000000 --- a/scripts/packaging/opencl/ubuntu_20.04/debian/compat +++ /dev/null @@ -1 +0,0 @@ -11 diff --git a/scripts/packaging/opencl/ubuntu_20.04/debian/source/format b/scripts/packaging/opencl/ubuntu_20.04/debian/source/format deleted file mode 100644 index 163aaf8d82..0000000000 --- a/scripts/packaging/opencl/ubuntu_20.04/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (quilt) diff --git a/scripts/packaging/opencl/ubuntu_20.04/shlibs.local b/scripts/packaging/opencl/ubuntu_20.04/shlibs.local deleted file mode 100644 index c233d7142d..0000000000 --- a/scripts/packaging/opencl/ubuntu_20.04/shlibs.local +++ /dev/null @@ -1,2 +0,0 @@ -libigdgmm 11 intel-gmmlib -libigdgmm 12 libigdgmm12 diff --git a/scripts/packaging/ubuntu/control b/scripts/packaging/ubuntu/control new file mode 100644 index 0000000000..1eb51902dd --- /dev/null +++ b/scripts/packaging/ubuntu/control @@ -0,0 +1,87 @@ +Source: intel-compute-runtime +Section: libs +Priority: optional +Maintainer: Intel Graphics Team +XSBC-Original-Maintainer: Debian OpenCL Maintainers +Build-Depends: debhelper (>= 11), + cmake, + level-zero-devel, + intel-igc-opencl-devel, + libigdgmm-dev, +# libva-dev, + pkg-config +Standards-Version: 4.3.0 +Homepage: https://github.com/intel/compute-runtime + +Package: intel-opencl-icd +Architecture: amd64 arm64 +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + intel-igc-opencl, + libigdgmm12, + ocl-icd-libopencl1 +Breaks: + intel-opencl +Replaces: + intel-opencl +Provides: + opencl-icd +Description: Intel graphics compute runtime for OpenCL + The Intel(R) Graphics Compute Runtime for OpenCL(TM) is a open source + project to converge Intel's development efforts on OpenCL(TM) compute + stacks supporting the GEN graphics hardware architecture. + +Package: intel-ocloc +Architecture: amd64 arm64 +Depends: + ${shlibs:Depends}, + ${misc:Depends} +Breaks: + intel-opencl-icd (<< 23.26.26690.22-1) +Replaces: + intel-opencl-icd (<< 23.26.26690.22-1) +Description: Tool for managing Intel Compute GPU device binary format + ocloc is a tool for managing Intel Compute GPU device binary format. + It can be used for generation as well as manipulation of such binary files. + +Package: intel-ocloc-dev +Architecture: amd64 arm64 +Depends: + ${shlibs:Depends}, + ${misc:Depends} +Description: Tool for managing Intel Compute GPU device binary format -- devel files + ocloc is a tool for managing Intel Compute GPU device binary format. + It can be used for generation as well as manipulation of such binary files. + . + This package includes the development headers for intel-ocloc. + +Package: libze-intel-gpu1 +Architecture: amd64 arm64 +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + intel-igc-core, + libigdgmm12 +Breaks: + intel-level-zero-gpu, + intel-opencl-icd (<< 23.26.26690.22-1) +Replaces: + intel-level-zero-gpu, + intel-opencl-icd (<< 23.26.26690.22-1) +Description: Intel(R) Graphics Compute Runtime for oneAPI Level Zero. + Level Zero is the primary low-level interface for language and runtime + libraries. Level Zero offers fine-grain control over accelerators + capabilities, delivering a simplified and low-latency interface to + hardware, and efficiently exposing hardware capabilities to applications. + +Package: libze-intel-gpu-dev +Architecture: amd64 arm64 +Depends: + ${shlibs:Depends}, + ${misc:Depends} +Breaks: + intel-level-zero-gpu-devel +Replaces: + intel-level-zero-gpu-devel +Description: Intel(R) Graphics Compute Runtime for oneAPI Level Zero - development headers diff --git a/scripts/packaging/opencl/ubuntu_20.04/copyright b/scripts/packaging/ubuntu/copyright similarity index 100% rename from scripts/packaging/opencl/ubuntu_20.04/copyright rename to scripts/packaging/ubuntu/copyright diff --git a/scripts/packaging/opencl/ubuntu_20.04/debian/changelog b/scripts/packaging/ubuntu/debian/changelog similarity index 100% rename from scripts/packaging/opencl/ubuntu_20.04/debian/changelog rename to scripts/packaging/ubuntu/debian/changelog diff --git a/scripts/packaging/l0_gpu_driver/ubuntu_20.04/debian/compat b/scripts/packaging/ubuntu/debian/compat similarity index 100% rename from scripts/packaging/l0_gpu_driver/ubuntu_20.04/debian/compat rename to scripts/packaging/ubuntu/debian/compat diff --git a/scripts/packaging/ubuntu/debian/intel-ocloc-dev.install b/scripts/packaging/ubuntu/debian/intel-ocloc-dev.install new file mode 100644 index 0000000000..b0e1ba8cd9 --- /dev/null +++ b/scripts/packaging/ubuntu/debian/intel-ocloc-dev.install @@ -0,0 +1 @@ +usr/include/ocloc_api.h diff --git a/scripts/packaging/ubuntu/debian/intel-ocloc.install b/scripts/packaging/ubuntu/debian/intel-ocloc.install new file mode 100644 index 0000000000..1cd87196e7 --- /dev/null +++ b/scripts/packaging/ubuntu/debian/intel-ocloc.install @@ -0,0 +1,2 @@ +usr/lib/*/libocloc.so +usr/bin/ocloc diff --git a/scripts/packaging/ubuntu/debian/intel-opencl-icd.install b/scripts/packaging/ubuntu/debian/intel-opencl-icd.install new file mode 100644 index 0000000000..c997dd0416 --- /dev/null +++ b/scripts/packaging/ubuntu/debian/intel-opencl-icd.install @@ -0,0 +1,2 @@ +etc/OpenCL/vendors/intel.icd +usr/lib/x86_64-linux-gnu/intel-opencl/libigdrcl.so diff --git a/scripts/packaging/l0_gpu_driver/ubuntu_20.04/debian/intel-level-zero-gpu-devel.install b/scripts/packaging/ubuntu/debian/libze-intel-gpu-dev.install similarity index 100% rename from scripts/packaging/l0_gpu_driver/ubuntu_20.04/debian/intel-level-zero-gpu-devel.install rename to scripts/packaging/ubuntu/debian/libze-intel-gpu-dev.install diff --git a/scripts/packaging/l0_gpu_driver/ubuntu_20.04/debian/intel-level-zero-gpu.install b/scripts/packaging/ubuntu/debian/libze-intel-gpu1.install similarity index 100% rename from scripts/packaging/l0_gpu_driver/ubuntu_20.04/debian/intel-level-zero-gpu.install rename to scripts/packaging/ubuntu/debian/libze-intel-gpu1.install diff --git a/scripts/packaging/opencl/ubuntu_20.04/debian/rules b/scripts/packaging/ubuntu/debian/rules similarity index 82% rename from scripts/packaging/opencl/ubuntu_20.04/debian/rules rename to scripts/packaging/ubuntu/debian/rules index 6d9a5229e1..c664a2027b 100755 --- a/scripts/packaging/opencl/ubuntu_20.04/debian/rules +++ b/scripts/packaging/ubuntu/debian/rules @@ -15,25 +15,26 @@ NEO_FORCE_USE_AUB_STREAM ?= TRUE override_dh_auto_configure: dh_auto_configure -- ${NEO_BUILD_EXTRA_OPTS} \ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ - -DNEO_OCL_VERSION_MAJOR=${NEO_OCL_VERSION_MAJOR} \ - -DNEO_OCL_VERSION_MINOR=${NEO_OCL_VERSION_MINOR} \ - -DNEO_VERSION_BUILD=${NEO_OCL_VERSION_BUILD} \ + -DNEO_OCL_VERSION_MAJOR=${NEO_VERSION_MAJOR} \ + -DNEO_OCL_VERSION_MINOR=${NEO_VERSION_MINOR} \ + -DNEO_VERSION_BUILD=${NEO_VERSION_BUILD} \ + -DNEO_VERSION_HOTFIX=${NEO_VERSION_HOTFIX} \ -DNEO_SKIP_AUB_TESTS_RUN=${NEO_SKIP_AUB_TESTS_RUN} \ -DNEO_SKIP_UNIT_TESTS=${NEO_SKIP_UNIT_TESTS} \ -DNEO_ENABLE_i915_PRELIM_DETECTION=${NEO_ENABLE_i915_PRELIM_DETECTION} \ -DNEO_ENABLE_XE_EU_DEBUG_SUPPORT=${NEO_ENABLE_XE_EU_DEBUG_SUPPORT} \ -DNEO_DISABLE_BUILTINS_COMPILATION=${NEO_DISABLE_BUILTINS_COMPILATION} \ - -DBUILD_WITH_L0=FALSE \ -DRELEASE_WITH_REGKEYS=${RELEASE_WITH_REGKEYS} \ -DIGDRCL_FORCE_USE_LIBVA=${IGDRCL_FORCE_USE_LIBVA} \ -DNEO_FORCE_USE_AUB_STREAM=${NEO_FORCE_USE_AUB_STREAM} \ + -DL0_INSTALL_UDEV_RULES=1 \ + -DUDEV_RULES_DIR=/etc/udev/rules.d/ \ -Wno-dev override_dh_auto_build: ${BUILD_PREFIX} dh_auto_build override_dh_install: - rm -rvf debian/intel-opencl-icd/usr/lib/debug dh_install if [ -d "${NEO_NINJA_DUMP}" ]; then find -name .ninja_\* -type f -exec cp -v {} ${NEO_NINJA_DUMP}/ \;; fi diff --git a/scripts/packaging/l0_gpu_driver/ubuntu_20.04/debian/source/format b/scripts/packaging/ubuntu/debian/source/format similarity index 100% rename from scripts/packaging/l0_gpu_driver/ubuntu_20.04/debian/source/format rename to scripts/packaging/ubuntu/debian/source/format diff --git a/scripts/packaging/l0_gpu_driver/ubuntu_20.04/shlibs.local b/scripts/packaging/ubuntu/shlibs.local similarity index 100% rename from scripts/packaging/l0_gpu_driver/ubuntu_20.04/shlibs.local rename to scripts/packaging/ubuntu/shlibs.local diff --git a/scripts/packaging/versions.sh b/scripts/packaging/versions.sh new file mode 100755 index 0000000000..27d428562b --- /dev/null +++ b/scripts/packaging/versions.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +# +# Copyright (C) 2024 Intel Corporation +# +# SPDX-License-Identifier: MIT +# + +set -ex + +get_neo_version() { + commit_time=$(git -C ${REPO_DIR} show -s --format=%ct) + commit_ww=($(${REPO_DIR}/scripts/neo_ww_calculator.py ${commit_time})) + date_m=${commit_ww[1]} + __NEO_VERSION_MAJOR_TMP=$(echo $commit_ww | awk -F '.' '{print $1;}') + NEO_VERSION_MAJOR="${NEO_VERSION_MAJOR:-$__NEO_VERSION_MAJOR_TMP}" + unset __NEO_VERSION_MAJOR_TMP + __NEO_VERSION_MINOR_TMP=$(echo $commit_ww | awk -F '.' '{print $2;}') + NEO_VERSION_MINOR="${NEO_VERSION_MINOR:-$__NEO_VERSION_MINOR_TMP}" + unset __NEO_VERSION_MINOR_TMP + __NEO_TAG_TMP=$(git -C ${REPO_DIR} describe --abbrev=1 --tags | awk -F"." '{ nn=split($NF, nfa, "."); if(nn==2) {printf("%s-%s", nfa[1], nfa[2]);} else {print $NF;} }') + NEO_TAG="${NEO_TAG:-$__NEO_TAG_TMP}" + NEO_TAG="${NEO_TAG:-9999}" + unset __NEO_TAG_TMP + __NEO_VERSION_BUILD_TMP=$(echo $NEO_TAG | awk -F '-' '{ print $1; }' | sed 's/^0*//') + NEO_VERSION_BUILD="${NEO_VERSION_BUILD:-$__NEO_VERSION_BUILD_TMP}" + unset __NEO_VERSION_BUILD_TMP + __NEO_VERSION_HOTFIX_TMP=$(echo $NEO_TAG | awk -F '-' '{ if(NF>1) { print $2; } }') + NEO_VERSION_HOTFIX="${NEO_VERSION_HOTFIX:-$__NEO_VERSION_HOTFIX_TMP}" + NEO_VERSION_HOTFIX="${NEO_VERSION_HOTFIX:-0}" + unset __NEO_VERSION_HOTFIX_TMP +}