-
Notifications
You must be signed in to change notification settings - Fork 927
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
dnsdist: Generate our packages with meson
#15184
base: master
Are you sure you want to change the base?
Conversation
Meson expects dist tarball changes to be applied to the "pure" sources in The snapshot is created via |
Pull Request Test Coverage Report for Build 13700093662Details
💛 - Coveralls |
Thanks, Eli! I think I have something working now, test run in progress (will fail for el-7 and buster): https://github.com/rgacogne/pdns/actions/runs/13439966426 |
Some thoughts:
|
# create copy of source tarball with name that dpkg-source requires | ||
RUN cp /sdist/dnsdist-${BUILDER_VERSION}.tar.bz2 dnsdist_${BUILDER_VERSION}.orig.tar.bz2 | ||
RUN cp /sdist/dnsdist-${BUILDER_VERSION}.tar.xz dnsdist_${BUILDER_VERSION}.orig.tar.zx |
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.
xz
and zx
? but also see general comment wrt tarball name
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.
Oops, that's indeed a typo. I'll fix for now, pending a decision on the actual tarball format.
Since meson 1.5.0, bztar has been a valid CPython itself can be compiled without bzip2 support, although it seems odd to do so and most distributions should already have it in the base system... |
Personally I'd welcome the tarballs changing to xz. |
I agree we should unify the way we are installing
It was initially needed because the Docker builder only included a partial view of the repository (
I personally would prefer to generate |
1735e2a
to
a07052e
Compare
The symbolic links are back whenever possible. |
When building for
The first is a puzzling, the meson setup step does report: |
a07052e
to
73c8dfb
Compare
I remember seeing the first warning and checking that the library was present in the deb (it was), the second does not ring a bell. |
I suppose the 2nd is that the netsnmp pkconfig file lists that lib, but the code is not actually using it. |
I tried to build and install a debian-trixy package and that went fine:
For rhel-9, the package built and installed without issues, but:
|
I think this is harmless. It would be nicer to have the lib in a private directory, and not in the system dyld path. But meh?
This is weird. In the last debian.org autoconf-based build I've found this weirdness: |
I see now you've added |
Otherwise our builder does not find it, because the root directory of the repository is not available to the Docker context.
After all we are building right after.
I'm looking at the EL-9 issue right now. So far I see that the library is present in the package but perhaps in the wrong path: |
It looks like it's not needed on the versions of Debian / Ubuntu we support, I'll get rid of it. |
We are installing in the right path, but LLD stores the full path to the shared library while linking, which is a problem because we initially install it in |
5c4a9bf
to
660b53c
Compare
I pushed new commits getting rid of |
Ah, except my idea of checking whether |
I'm testing a new, somewhat ugly, approach. |
Short description
This PR updates the build scripts to build our DNSdist >= 2.0 packages with
meson
instead ofautotools
. There are some rather big changes:meson
sub-directories that are shared with the authoritative server are no longer symbolic links because themeson
directory at the root of the repository is not available whenmeson
runs, causing issues. I think we could go for a different approach and make themeson
available to the Docker environment insteadh2o
support is removed from our packagesmeson
meson
is not available in most distributions, so I'm installing it from a release tarball. This is a bit messy to do without conflicting with the meson version packaged by the distribution itselfmeson
require a recent enough version ofPython
, so I had to upgradePython
as well but fortunately there is a recent enough version in each distribution we supportI have a remaining issue that I don't know how to fix. Currently we set the correct version of DNSdist in
configure.ac
via theset-configure-ac-version.sh
script. Unfortunately doing so creates an uncommitted change thatmeson
refuses to pick up (Repository has uncommitted changes that will not be included in the dist tarball
). We can use--allow-dirty
so thatmeson
keeps running but the resulting tarball does not have the correct version set inconfigure.ac
, unsurprisingly. @omoerbeek @eli-schwartz any idea how to handle this properly?DO NOT MERGE THIS!
Checklist
I have: