From 921d788b2eeedfa4cb159374df8c04c357927940 Mon Sep 17 00:00:00 2001 From: Russell McGuire Date: Thu, 7 May 2026 23:10:27 -0700 Subject: [PATCH 1/4] Remove unneeded RPMs from non-debian builds Signed-off-by: Russell McGuire --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 01f780b9..5bee7055 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -224,7 +224,9 @@ set(TARGET_LOADER_NAME ze_loader) # Canonical Ubuntu/Debian package names (libze1 / libze-dev) # produced alongside the existing level-zero / level-zero-devel packages. -if(NOT BUILD_INSTALLER) +# Restricted to Debian/Ubuntu systems only; RPM-based distros (SLES, RHEL, …) +# must not produce libze1/libze-dev packages. +if(NOT BUILD_INSTALLER AND EXISTS "/etc/debian_version") set(CANONICAL_LIB_COMPONENT "libze1") set(CANONICAL_SDK_COMPONENT "libze-dev") endif() From aabb54bae5f07ebb7fc1b85b1d63c409516266cc Mon Sep 17 00:00:00 2001 From: Russell McGuire Date: Mon, 11 May 2026 12:13:35 -0700 Subject: [PATCH 2/4] Remove level-zero* packages from DEB builds Signed-off-by: Russell McGuire --- CMakeLists.txt | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5bee7055..28b4077b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -416,7 +416,6 @@ if(CPACK_GENERATOR MATCHES "RPM") set(CPACK_RPM_LEVEL-ZERO-DEVEL_FILE_NAME "${PROJECT_NAME}-devel-${PROJECT_VERSION}-${os_name}${os_version}.${CPACK_RPM_PACKAGE_ARCHITECTURE}.rpm") set(CPACK_RPM_LEVEL-ZERO-DEVEL_PACKAGE_REQUIRES "level-zero = ${PROJECT_VERSION}") - set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION /etc/ld.so.conf.d /usr/lib64 @@ -437,32 +436,19 @@ if(CPACK_GENERATOR MATCHES "DEB") endif() set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/oneapi-src/level-zero") set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) - set(CPACK_DEBIAN_LEVEL-ZERO_PACKAGE_NAME "${PROJECT_NAME}") - set(CPACK_DEBIAN_LEVEL-ZERO-DEVEL_PACKAGE_NAME "${PROJECT_NAME}-devel") - set(CPACK_DEBIAN_LEVEL-ZERO_FILE_NAME "${PROJECT_NAME}_${PROJECT_VERSION}+${os_name}${os_version}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb") - set(CPACK_DEBIAN_LEVEL-ZERO-DEVEL_FILE_NAME "${PROJECT_NAME}-devel_${PROJECT_VERSION}+${os_name}${os_version}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb") - set(CPACK_DEBIAN_LEVEL-ZERO-DEVEL_PACKAGE_DEPENDS "level-zero(=${PROJECT_VERSION})") - # Mutual exclusion with the canonical libze1 / libze-dev packages - set(CPACK_DEBIAN_LEVEL-ZERO_PACKAGE_CONFLICTS "libze1") - set(CPACK_DEBIAN_LEVEL-ZERO_PACKAGE_PROVIDES "libze1") - set(CPACK_DEBIAN_LEVEL-ZERO_PACKAGE_REPLACES "libze1") - set(CPACK_DEBIAN_LEVEL-ZERO-DEVEL_PACKAGE_CONFLICTS "libze-dev") - set(CPACK_DEBIAN_LEVEL-ZERO-DEVEL_PACKAGE_PROVIDES "libze-dev") - set(CPACK_DEBIAN_LEVEL-ZERO-DEVEL_PACKAGE_REPLACES "libze-dev") + set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "oneAPI Level Zero") + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "oneAPI Level Zero") # Canonical Ubuntu naming: libze1 (runtime) and libze-dev (development) + # For Debian/Ubuntu, only produce libze1 and libze-dev packages, not level-zero and level-zero-devel + get_cmake_property(CPACK_COMPONENTS_ALL COMPONENTS) + list(REMOVE_ITEM CPACK_COMPONENTS_ALL "level-zero" "level-zero-devel") + set(CPACK_DEBIAN_LIBZE1_PACKAGE_NAME "libze1") set(CPACK_DEBIAN_LIBZE-DEV_PACKAGE_NAME "libze-dev") set(CPACK_DEBIAN_LIBZE1_FILE_NAME "libze1_${PROJECT_VERSION}+${os_name}${os_version}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb") set(CPACK_DEBIAN_LIBZE-DEV_FILE_NAME "libze-dev_${PROJECT_VERSION}+${os_name}${os_version}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb") set(CPACK_DEBIAN_LIBZE-DEV_PACKAGE_DEPENDS "libze1 (= ${PROJECT_VERSION})") - # Mutual exclusion with the level-zero / level-zero-devel packages - set(CPACK_DEBIAN_LIBZE1_PACKAGE_CONFLICTS "level-zero") - set(CPACK_DEBIAN_LIBZE1_PACKAGE_PROVIDES "level-zero") - set(CPACK_DEBIAN_LIBZE1_PACKAGE_REPLACES "level-zero") - set(CPACK_DEBIAN_LIBZE-DEV_PACKAGE_CONFLICTS "level-zero-devel") - set(CPACK_DEBIAN_LIBZE-DEV_PACKAGE_PROVIDES "level-zero-devel") - set(CPACK_DEBIAN_LIBZE-DEV_PACKAGE_REPLACES "level-zero-devel") set(CPACK_DEB_COMPONENT_INSTALL ON) set(CPACK_ARCHIVE_COMPONENT_INSTALL ON) From 9f5f567ed1cd49bbef66efc6b1b5077cc7a7f485 Mon Sep 17 00:00:00 2001 From: Russell McGuire Date: Mon, 11 May 2026 12:19:31 -0700 Subject: [PATCH 3/4] Update build-multi.yml CI to not look for level-zero*.deb Signed-off-by: Russell McGuire --- .github/workflows/build-multi.yml | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-multi.yml b/.github/workflows/build-multi.yml index f3f9d4e9..19a51377 100644 --- a/.github/workflows/build-multi.yml +++ b/.github/workflows/build-multi.yml @@ -199,22 +199,13 @@ jobs: echo "--- \$pkg ---" dpkg -c "\$pkg" done - echo "=== Installing level-zero (legacy) .deb packages ===" - dpkg -i ${MOUNT_TARGET}/level-zero-package/level-zero_*.deb \ - ${MOUNT_TARGET}/level-zero-package/level-zero-devel_*.deb - echo "=== Installed level-zero packages ===" - dpkg -l 'level-zero*' - echo "=== Uninstalling legacy packages ===" - dpkg -r level-zero-devel level-zero - if ls ${MOUNT_TARGET}/level-zero-package/libze1_*.deb 2>/dev/null; then - echo "=== Installing libze (new) .deb packages ===" - dpkg -i ${MOUNT_TARGET}/level-zero-package/libze1_*.deb \ - ${MOUNT_TARGET}/level-zero-package/libze-dev_*.deb - echo "=== Installed libze packages ===" - dpkg -l 'libze*' - echo "=== Uninstalling libze packages ===" - dpkg -r libze-dev libze1 - fi + echo "=== Installing libze .deb packages ===" + dpkg -i ${MOUNT_TARGET}/level-zero-package/libze1_*.deb \ + ${MOUNT_TARGET}/level-zero-package/libze-dev_*.deb + echo "=== Installed libze packages ===" + dpkg -l 'libze*' + echo "=== Uninstalling libze packages ===" + dpkg -r libze-dev libze1 elif [[ '${{ matrix.os.name }}' == 'sles' ]]; then echo "=== Package contents ===" for pkg in ${MOUNT_TARGET}/level-zero-package/*.rpm; do From 1a614490a10f6f91ce483d088af163b62305221b Mon Sep 17 00:00:00 2001 From: Russell McGuire Date: Mon, 11 May 2026 12:32:48 -0700 Subject: [PATCH 4/4] Add back in level-zero to libze1 replaces Signed-off-by: Russell McGuire --- CMakeLists.txt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 28b4077b..c468cff2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -450,6 +450,15 @@ if(CPACK_GENERATOR MATCHES "DEB") set(CPACK_DEBIAN_LIBZE-DEV_FILE_NAME "libze-dev_${PROJECT_VERSION}+${os_name}${os_version}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb") set(CPACK_DEBIAN_LIBZE-DEV_PACKAGE_DEPENDS "libze1 (= ${PROJECT_VERSION})") + # Mutual exclusion with the level-zero / level-zero-devel packages + # Allows seamless upgrade from old naming to new Canonical naming + set(CPACK_DEBIAN_LIBZE1_PACKAGE_CONFLICTS "level-zero") + set(CPACK_DEBIAN_LIBZE1_PACKAGE_PROVIDES "level-zero") + set(CPACK_DEBIAN_LIBZE1_PACKAGE_REPLACES "level-zero") + set(CPACK_DEBIAN_LIBZE-DEV_PACKAGE_CONFLICTS "level-zero-devel") + set(CPACK_DEBIAN_LIBZE-DEV_PACKAGE_PROVIDES "level-zero-devel") + set(CPACK_DEBIAN_LIBZE-DEV_PACKAGE_REPLACES "level-zero-devel") + set(CPACK_DEB_COMPONENT_INSTALL ON) set(CPACK_ARCHIVE_COMPONENT_INSTALL ON) endif()