-
Notifications
You must be signed in to change notification settings - Fork 505
Add workflow that builds deb package using debian/rules #9232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
xrt/detail/abi.h includes autogenerated version.h that contains timestamp but use only major/minor version macros. Using smaller header enables use of compiler caches (like ccache). Signed-off-by: Pavel Shramov <[email protected]>
Signed-off-by: Pavel Shramov <[email protected]>
Can one of the admins verify this patch? |
shramov - is not a collaborator |
shramov - is not a collaborator |
Install dependencies described in debian/control file, build package and run basic tests with installed result Signed-off-by: Pavel Shramov <[email protected]>
shramov - is not a collaborator |
The CMake files were changed to obey and never set CMAKE_INSTALL_PREFIX. So it's entirely up to the build to specify the install for packages.
Sound sufficient to me.
I will look at #9231. However, ccache is already supported with build.sh. It sets -DXRT_CCACHE=1 during configuration and disables inclusion of version.h. Do we need anything additional? I do like the fact that the generated version file is in the same relative location as the installed header.
|
But what is right way in your opinion? Use /opt/xilinx/xrt or /usr for packaging? Official packages (last available at least) use /opt/xilinx/xrt.
Oh, i've missed XRT_CCACHE define, but it is not needed if datetime field is not included into whole build tree. Please take a look at #9231, maybe you'll find it usefull. |
I am under the impression that upstream is in control of CMAKE_INSTALL_PREFIX. I am working on a Debian upstream for XRT for NPU. It will use /usr as the install root. I am not familiar with what build/debian is used for or by whom? But I would not recommend changing the install location as this time; let's see if ultimately this build/debian can be merged with what I am working on.
Yes, very useful. Thank you. |
We were using build/debian (with minor tweaks) for 3+ years for Alveo cards but it looks like I've picked up wrong base for packaging. At first glance 'official' debianization that can be found at https://salsa.debian.org/xilinx-packages-team/xrt lacks xrt-xocl-dkms. So at least for now build/debian is pretty useful. I'll try to use package from salsa and report back. |
The salsa repo XRT packages is what I am working on updating. But this upstreaming will change to support NPU only. It will not be an edge build and there will be no xocl-dkms. It sounds like buid/debian serves a different purpose. |
Is it true that XRT_NPU and XRT_ALVEO (or XRT_XRT) modes of compilation are in conflict? It looks like that enabling both (NPU and ALVEO or NPU and XRT) is possible. XRT_NPU mostly affect CMake component names that are not used in packaging, at least one test is disabled (xclbinutil file-check) and src/runtime_src/core/common/xdp/profile.cpp compiled with -DXDP_CLIENT_BUILD. |
Problem solved by the commit
Debian build rules are not used in regular builds and break from time to time.
Bug / issue (if any) fixed, which PR introduced the bug, how it was discovered
How problem was solved, alternative solutions (if any) and why they were rejected
Workflow uses dependencies list extracted from debian/control with simple perl script to make sure they are valid.
Risks (if any) associated the changes in the commit
What has been tested and how, request additional testing if necessary
Documentation impact (if any)
This is draft until some issues are clarified and resolved: