-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
omit build path #6905
base: main
Are you sure you want to change the base?
omit build path #6905
Conversation
Support reproducible builds by replacing reference to the build path. Signed-off-by: A. Maitland Bottoms <bottoms@debian.org>
From CI:
|
Rats. cmake_path ... so, how can one find a parent path in old-fashioned CMake? |
I'd be happy if someone came up with a CMake function that could simply remove the It would be useful for volk and UHD too. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Conceptually I think this is about the best that could be done to get reproducible builds. I don't see a better way than stripping out paths manually. Instead of cmake_path
, I'm guessing you'd need something with get_filename_component
for compatibility with CMake < 3.20.
I also think we could go further and just drop the compiler flags altogether from the constants file and and gnuradio-config-info
. I don't really see what value they provide to make them worth worrying about stripping paths.
Please remove all build time/system info from these files. I am also carrying patches in meta-sdr to support reproducible builds of gnuradio. |
If we do want to keep some form of the compiler flags, maybe it would be better to define what the useful information is and use a regex to keep only that specific information. Then if compiler flags get added somehow in the future that would break reproducible builds, those wouldn't flow through to the output. |
Support reproducible builds by replacing reference to the build path.
Description
Because gnuradio wants to take it's set of compiler flags so that
gnuradio-config-info --cflags
can show them to the user later, this was also capturing the -ffile-prefix-map
that the Debian package build uses to keep the build path out of generated files.
Also: Doxyfile.in needed an update to its STRIP_FROM_INC_PATH config.
Related Issue
Last year's commit, 886485a :
runtime: Move block_gateway from gnuradio-runtime into gr_python
resulted in the build path showing up in the Doxygen docs again.
Which blocks/areas does this affect?
In gnuradio-runtime this replaces the actual build path with a generic
"BUILD_DIR" string.
Testing Done
Debian's lintian tool detects when the build path is found within
files generated and installed for packaging.
Applying this patch gave a clean report in preliminary packaging of
gnuradio 3.10.8.0-rc1
Because this patch also applies to the maint-3.10 branch, please consider including this
before the next release 3.10.8.0
Checklist