-
-
Notifications
You must be signed in to change notification settings - Fork 111
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
Debian packaging #444
Comments
It was a contribution due to the (back then) outdated debian package. I don't think it's relevant anymore, so good to remove! It's a bit unfortunate that the debian packages are a bit behind, and thanks for taking it up with the maintainer! |
I got access to the Salsa repo, will be updating kcov in Debian. Can you see if the patch in https://salsa.debian.org/debian/kcov/-/merge_requests/1/diffs can be merged upstream (here) ? |
Thanks! I manually merged the patch from debian above. Anyway, I suppose a release should be done before the update in Debian? |
Yes, but I will probably trick the system to test that everything work before the release of v43 |
Thank you so much for a7ab297 |
Could you GPG sign your tags in the future ? |
I think I need some help On Debian I am trying to build tests. here is the error:
it looks like we have a package that has some files for trompeloeil: https://packages.debian.org/bookworm/amd64/libtrompeloeil-cpp-dev/filelist This line should probably be removed: kcov/cmake/FindLibCRPCUT.cmake Line 46 in 1e383e5
And I do not find on internet where is the lib or file mentioned in kcov/cmake/FindLibCRPCUT.cmake Line 25 in 1e383e5
But https://github.com/rollbear/crpcut seems to be abandonned |
Also, it is not happy and reports a missing file:
From: William Desportes <williamdes@wdes.fr>
Date: Mon, 15 Jul 2024 17:42:46 +0200
Subject: Fix casing of ElfUtils in CMakeLists
---
tests/unit-tests/CMakeLists.txt | 2 +-
tools/CMakeLists.txt | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/unit-tests/CMakeLists.txt b/tests/unit-tests/CMakeLists.txt
index fa10574..647b0b7 100644
--- a/tests/unit-tests/CMakeLists.txt
+++ b/tests/unit-tests/CMakeLists.txt
@@ -19,7 +19,7 @@ endif (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
find_package (LibCRPCUT REQUIRED)
find_package (LibElf REQUIRED)
-find_package (Elfutils REQUIRED)
+find_package (ElfUtils REQUIRED)
set (CMAKE_THREAD_PREFER_PTHREAD ON)
find_package (Threads REQUIRED)
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
index 93f79dd..3e79f11 100644
--- a/tools/CMakeLists.txt
+++ b/tools/CMakeLists.txt
@@ -11,7 +11,7 @@ option (SPECIFY_RPATH "Specify RPATH for installed executables" OFF)
mark_as_advanced (SPECIFY_RPATH)
find_package (LibElf REQUIRED)
-find_package (Elfutils REQUIRED)
+find_package (ElfUtils REQUIRED)
find_package (PkgConfig REQUIRED)
find_package (Threads)
find_package (ZLIB REQUIRED) |
Yeah, the unit tests would have to be revived. They have been disabled for quite a while, and I think the Debian package shouldn't build them either. A lot of the code in kcov should really be rewritten. Not just the unit tests, but most of the codebase itself is based on old-style C++, and is not how I'd write things today. On the other hand, it's a lot of work for the same end result, and I also have other projects to work on. Your patch looks good! But I think the best way is to not build the unit tests for Debian. I'll have to readup a bit on the GPG-signed commits/tags. |
Thanks, can you push it for me ?
Okay, I will remove the lines to build them |
Done! |
Thank you ! On Debian I made most of the tests pass, only one remains: |
That's slightly strange, I'd say. I'll investigate that a bit in a branch to see if I can repair it. |
If you have time @williamdes , I've now pushed what might be an improvement to the test. Still, I don't think it should have failed even before, but anyway. |
Thank you, it passes on my workstation 🎉 But on the CI I still have something wrong to fix, not sure what: https://salsa.debian.org/debian/kcov/-/jobs/5985062#L1882 |
It looks like basically all compiled tests fail. I suspect this may be due to it being run under docker, i.e., the |
Indeed, again this bug :/ The 32 bit test got the same result, for now I think the best is to skip such tests. |
Maybe one could add something like I think the error will otherwise be some ptrace error message, but maybe that can be improved a bit. Won't be visible via the tests though. |
That would be great, let me know Let me know if you need some help |
It should run fine for bash/python even without the --security-opt stuff, but can't be used for compiled programs then. I'll try to get the non-compiled tests to run for non-x86 archs as well, but we'll see how it goes! |
I've now merged a |
Thank you !! Let's see if there is more when I configure the autopkgtests |
Seems like https://ruderich.org/simon/blhc/ in unhappy https://salsa.debian.org/debian/kcov/-/jobs/5985301 |
I don't quite see what it is unhappy about? If it's just about adding compile options, I'm fine with doing it |
Well, I am not sure either and will have to investigate about that tool. Something about compile logs hardening. |
I guess the next news I will post here is when v43 is uploaded to Debian, everything is green and ready for upload. |
Great, thanks! Looong talk - did some serious time miscalculation there. |
The version got uploaded 🎉
|
Great! However, if possible I think the build should be restricted to x86, arm, and aarch64 which are really the only tested architectures. It might be possible (with changes to the build system) to build only for bash/python for other architectures. Edit: loongarch and riscv can also be included. PPC in theory. A long time ago, MacOS was supported this way, but this has been refactored away. |
Okay |
I don't think so. Many people use it for bash mostly anyway, and that should work anywhere. I personally only use it for compiled languages, but from the amount of bug reports, I seem to be in the minority :-) So the conclusion is that I think it's fine as it is! |
Okay, then what would be the patch to have s390x running? I will test and report that it works. Like you said it should work for bash everywhere |
It would be in cmake and maybe main, to avoid registering the ptrace engine. Might be non-trivial though |
This did come up https://qa.debian.org/bls/bytag/W-compiler-flags-hidden.html on https://qa.debian.org/bls/packages/k/kcov.html Maybe there is come patch you can do to expose the compiler flags ? |
Not sure about that, actually. I've at least not done anything to attempt to hide the flags, except the normal cmake behavior. You'll need to build it with
|
I noticed there is a debian/ folder in this repo (6 years old: https://github.com/SimonKagstrom/kcov/commits/master/debian)
But the package https://tracker.debian.org/pkg/kcov
Has a git repo in Debian Salsa: https://salsa.debian.org/debian/kcov
Is there a reason for this folder here ?
I will have to contact Alessandro Ghedini and try to package the latest version
The text was updated successfully, but these errors were encountered: