DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: amd-aie-rt 2026.1.1+dfsg-1

Package Information

DescriptionXilinx AI Engine Runtime - Functional Abstraction Layer - examples

xaiefal is a Functional Abstraction Layer (FAL) that provides common userspace APIs for runtime AIE resource management.

This package contains example applications created with the FAL.

MaintainerIsaac True <isaac@is.having.coffee>
Changed ByIsaac True <isaac@is.having.coffee>
Sponsorsuperm1@debian.org
Distributionunstable
Architecturearm64 all
VCSgit: https://salsa.debian.org/itrue/amd-aie-rt.git (browse)
Closes#1149515
Trackerhttps://tracker.debian.org/pkg/amd-aie-rt
Uploaded26 days ago

New Package Report

.changes◂
Version2026.1.1+dfsg-1
Changed-ByIsaac True <isaac@is.having.coffee>
Architecturesource arm64 all
Distributionunstable
DateTue, 29 Sep 2026 14:20:42 +0200
Sourceamd-aie-rt
Changelog◂
amd-aie-rt (2026.1.1+dfsg-1) unstable; urgency=medium
 .
   [ Isaac True ]
 .
   * Initial release. (Closes: #1149515)
   * d/patches: add use-system-liburing.patch to avoid using the vendored
     liburing.
   * Remove vendored liburing sources.
   * Remove pre-built ELF binaries.
 .
   [ Talha Can Havadar ]
 .
   * d/patches: add patches to resolve build errors
     * fix-license-file-path.patch
     * fix-aiedrv-backend.patch
     * fal-update-cflags-ldflags.patch
     * cmake-bump-minimum-required-to-3.5.patch
.dsc◂
Package-Listlibxaiefal-dev deb libdevel optional arch=arm64
libxaiengine-dev deb libdevel optional arch=arm64
libxaiengine3 deb libs optional arch=arm64
xaiefal-doc deb doc optional arch=all
xaiefal-examples deb utils optional arch=arm64
xaiefal-tests deb utils optional arch=arm64
Sectionlibdevel
Priorityoptional
Componentmain
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: aie-rt
Upstream-Contact: https://github.com/Xilinx/aie-rt/issues
Source: https://github.com/Xilinx/aie-rt
Files-Excluded:
 driver/tests/utest/elf_files
 driver/src/liburing

Files: *
Copyright: 2015-2024, Xilinx, Inc.
           2022-2024, Advanced Micro Devices, Inc.
License: Expat

Files: driver/src/io_backend/ext/isa_stubs.h
       zephyr.cmake
Copyright: 2023, Advanced Micro Devices, Inc.
License: Apache-2.0

Files: driver/src/io_backend/ext/xlnx-ai-engine.h
Copyright: 2020, Xilinx, Inc.
License: GPL-2 with Linux-syscall-note exception

Files: debian/*
Copyright: 2026, Isaac True
           2026, Talha Can Havadar
           2026, Canonical Ltd
License: GPL-2

License: Expat
 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.

License: Apache-2.0
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at
 .
     http://www.apache.org/licenses/LICENSE-2.0
 .
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 .
 On Debian systems, the complete text of the Apache License, Version 2.0
 can be found in "/usr/share/common-licenses/Apache-2.0".

License: GPL-2 with Linux-syscall-note exception
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License version 2 as
 published by the Free Software Foundation.
 .
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 On Debian systems, the complete text of the GNU General Public
 License version 2 can be found in "/usr/share/common-licenses/GPL-2".
 .
 Linux-syscall-note:
 .
 NOTE! This copyright does *not* cover user programs that use kernel
 services by normal system calls - this is merely considered normal use
 of the kernel, and does *not* fall under the heading of "derived work".
 Also note that the GPL below is copyrighted by the Free Software
 Foundation, but the instance of code that it refers to (the Linux
 kernel) is copyrighted by me and others who actually wrote it.
 .
 Also note that the only valid version of the GPL as far as the kernel
 is concerned is _this_ particular version of the license (ie v2, not
 v2.2 or v3.x or whatever), unless explicitly otherwise stated.
 .
 Linus Torvalds

License: GPL-2
 This package is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License version 2 as
 published by the Free Software Foundation.
 .
 This package is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 On Debian systems, the complete text of the GNU General Public
 License version 2 can be found in "/usr/share/common-licenses/GPL-2".

Review Information

accepted — allocated to awm 25 days ago, started 25 days ago, completed 25 days ago.

Final Comment

Hi,

Some of these issues that the LLM review came up with seem kind of extreme - like you wouldn't have been able to build and upload - but perhaps they're real, and you managed to build from a dirty local tree and would fail from a clean one.

They're not copyright issues, so I'll accept it in this case because if they are real you'll be wanting to fix these pretty soon I guess!

  1. [blocker] [packaging] libxaiefal-dev has nothing to install: dh_install will abort
  • Files: debian/libxaiefal-dev.install, fal/src/CMakeLists.txt, fal/CMakeLists.txt
  • Evidence: debian/libxaiefal-dev.install contains only usr/include/xaiefal/; the effective branch of fal/src/CMakeLists.txt (YOCTO=OFF) only does file(COPY ... DESTINATION ${CMAKE_BINARY_DIR}/include/xaiefal) and has no install() rule (the only header install() is in the unused else()/YOCTO branch); nothing else in the fal tree installs the fal headers.
  • Problem: No CMake install() rule or rules-file copy ever creates usr/include/xaiefal, so dh_install finds no files in the current directory or in debian/tmp and aborts the arch build (dh_install: error: cannot find usr/include/xaiefal/). Even if it did not abort, libxaiefal-dev would be empty, so the header-only FAL would be unusable by its declared dependents.
  • Fix: Point the install source at the build-tree copy, e.g. obj-${DEB_HOST_GNU_TYPE}/include/xaiefal usr/include/, or add an upstream install(DIRECTORY ...) for the fal headers (non-YOCTO branch) and keep usr/include/xaiefal/. Verify with a clean debian/rules binary.
  1. [blocker] [packaging] versal-linux toolchain forces aarch64-linux-gnu compilers that are not in Build-Depends
  • Files: debian/rules, debian/control, fal/cmake/platforms/versal-linux.cmake, fal/cmake/platforms/cross-linux-g++.cmake
  • Evidence: debian/rules passes -DCMAKE_TOOLCHAIN_FILE=versal-linux; versal-linux.cmake sets CROSS_PREFIX=aarch64-linux-gnu- and include(cross-linux-g++), which sets CMAKE_C_COMPILER=aarch64-linux-gnu-gcc and CMAKE_CXX_COMPILER=aarch64-linux-gnu-g++.
  • Problem: CMake will try to run aarch64-linux-gnu-gcc/g++ (also used by the ExternalProject driver build via CC=${CC}) and fails configuration when the cross compiler is absent; Build-Depends lists only cmake, cpputest, liburing-dev, pkgconf and no gcc-aarch64-linux-gnu/g++-aarch64-linux-gnu, so a clean pbuilder/salsa arm64 chroot cannot configure. The toolchain file effectively assumes a cross build even though the package is native-arm64.
  • Fix: Either add gcc-aarch64-linux-gnu and g++-aarch64-linux-gnu to Build-Depends (and confirm the resulting binaries link against the native arm64 runtime, given CMAKE_FIND_ROOT_PATH_MODE_* are NEVER), or drop -DCMAKE_TOOLCHAIN_FILE=versal-linux and build natively on arm64.
  1. [minor] [packaging] No autopkgtests
  • Files: debian/tests/control
  • Evidence: There is no debian/tests/ directory; the package builds unit-test binaries (run-test-aie, via WITH_TESTS=ON) but never wires them into the test harness.
  • Problem: The unit-test binaries are built but not exercised in any automated way, so CI/autopkgtest regressions in the library API go undetected (tests do need arm64 Versal hardware, but could at least be smoke-run).
  • Fix: Add a debian/tests/control that smoke-runs the built unit tests and examples (or drop WITH_TESTS=ON if the tests are only built, not run).
  1. [minor] [packaging] driver/tests/utest CMake still references the excluded elf_files directory
  • Files: driver/tests/utest/CMakeLists.txt:18
  • Evidence: file(COPY elf_files DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) runs unconditionally when the driver's own CMake project is configured, but driver/tests/utest/elf_files is listed in Files-Excluded and absent from the tree.
  • Problem: Configuring the upstream driver/ CMake (the upstream way to build the unit tests) fails at configure time. The Debian build avoids this because it builds the driver via Makefile.Linux through fal's ExternalProject, so it is latent rather than a current build failure.
  • Fix: Guard the copy with if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/elf_files) or restore a minimal fixture, so the exclusion does not break upstream's own test build.
  1. [minor] [packaging] debian/watch is in the old version 4 format
  • Files: debian/watch
  • Evidence: version=4
  • Problem: Version 5 is the current format of debian/watch.
  • Fix: Convert it to version 5; a mechanical conversion is included below.

==========================================================================
Version: 5

Source: https://github.com/Xilinx/aie-rt.git
Matching-Pattern: refs/tags/xilinx_v@ANY_VERSION@
Dversionmangle: s/+dfsg\d*$//
Mode: git
Repacksuffix: +dfsg

Thanks!

Back to Dashboard | View all reviews for this package