Commit Graph

20 Commits

Author SHA1 Message Date
Omar Sandoval
a36c056bec scripts/build_manylinux_in_docker.sh: use CentOS Vault mirrors for EOL CentOS 7
CentOS 7 is now EOL, so the manylinux2014 build is failing; see
pypa/manylinux#1641. Work around it by using the archive mirror.

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2024-07-01 10:29:14 -07:00
Omar Sandoval
798ba053ce scripts/build_manylinux_in_docker.sh: use pytest instead of setup.py test
The latter fails on Python 3.13 since setuptools isn't installed by
default. If we need to install something anyways, we might as well use
the nicer pytest.

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2024-06-24 14:11:49 -07:00
Omar Sandoval
2087f6bb40 Add scaffolding for libdrgn C unit tests
So far we've been getting away with only unit testing through Python.
However, there's plenty of (existing and upcoming) internal code that
would be nice to unit test directly in C. For a framework, I opted for
check (https://libcheck.github.io/check/) because it is minimal, mature,
and available on all major distros. Add the autotools scaffolding,
including a copy of the checkmk script from check 0.15.2 since RHEL and
CentOS don't package it. We check the dependencies at configure time but
only fail if they're not available at `make check` time. Also wire up
`setup.py test` to run `make check`.

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2024-04-26 14:53:53 -07:00
Omar Sandoval
ef4b364cd0 Update elfutils in manylinux wheels to 0.191
Signed-off-by: Omar Sandoval <osandov@osandov.com>
2024-03-01 15:49:39 -08:00
Omar Sandoval
145ac798cb scripts/build_dists.sh: default to Podman instead of Docker
It's nice running without root/sudo, and it's also nice not needing to
enable an extra repository to install Docker.

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2024-01-17 01:26:35 -08:00
Omar Sandoval
5e51dca68a Update libkdumpfile in manylinux wheels to 0.5.4
Signed-off-by: Omar Sandoval <osandov@osandov.com>
2023-12-01 14:15:09 -08:00
Omar Sandoval
cccaf85416 Update elfutils in manylinux wheels to 0.190
Signed-off-by: Omar Sandoval <osandov@osandov.com>
2023-12-01 14:15:09 -08:00
Omar Sandoval
7c3ac80a1b Update libkdumpfile in manylinux wheels to 0.5.2
And update --with-lzo to --with-lzo2, which was actually renamed back in
0.5.0.

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2023-08-24 11:10:15 -07:00
Omar Sandoval
f14624baac Update elfutils in manylinux wheels to 0.189
Signed-off-by: Omar Sandoval <osandov@osandov.com>
2023-06-27 09:53:21 -07:00
Stephen Brennan
9113c1ba51 scripts: Allow building just one Python release
Signed-off-by: Stephen Brennan <stephen.s.brennan@oracle.com>
2023-01-30 12:20:15 -08:00
Omar Sandoval
5dd03eead9 Build manylinux2014 wheels instead of manylinux2010
manylinux2010 has been EOL since August 2022; see pypa/manylinux#1281.
In particular, the manylinux2010 image wasn't updated with Python 3.11.
Update scripts/build_dist.sh to use manylinux2014 and drop some CentOS 6
workarounds from scripts/build_manylinux_in_docker.sh.

If someone really wants manylinux2010, we can probably build both, but
none of the popular packages I checked (NumPy, SciPy, cryptography,
charset-normalizer) do this.

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2023-01-05 20:10:36 -08:00
Omar Sandoval
69d3ce5ced Update libkdumpfile in manylinux wheels to 0.5.0
And make sure that it's built with zstd support.

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2023-01-05 20:08:55 -08:00
Omar Sandoval
134393f5f0 Update elfutils in manylinux wheels to 0.188
Signed-off-by: Omar Sandoval <osandov@osandov.com>
2023-01-05 19:44:24 -08:00
Omar Sandoval
4031093848 Add some missing copyright/license notices
I wanted to make REUSE pass, but I'm not sure what to do about trivial
files. REUSE suggests using CC0, but Fedora no longer allows CC0. I'll
punt that until later. For now, let's add notices to some code files.

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2022-11-01 17:14:02 -07:00
Omar Sandoval
c47dd9952e Update elfutils in manylinux wheels to 0.187
Signed-off-by: Omar Sandoval <osandov@osandov.com>
2022-07-25 16:52:24 -07:00
Omar Sandoval
6418ad1403 Run tests when building manylinux wheels
This will catch issues like the one fixed in commit 549cd7facc ("Add
tests/sample.core.zst to sdist").

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2022-03-03 01:20:03 -08:00
Omar Sandoval
ad23378977 Update elfutils and libkdumpfile in manylinux wheels
Use the latest version of elfutils (0.186) and libkdumpfile (0.4.1). We
can drop the elfutils patch since 0.186 has the fix (and we have our own
workaround), but we need a new patch to build libkdumpfile.

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2021-12-08 15:13:09 -08:00
Omar Sandoval
861c61eda0 Update elfutils in manylinux wheels
Use the latest version of elfutils (0.185) and apply the fix "libdwfl:
fix potential NULL pointer dereference when reading link map" since that
hasn't been released yet and is needed to avoid crashing when debugging
userspace core dumps.

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2021-08-12 11:53:22 -07:00
Omar Sandoval
dbe1d4539b scripts: only build manylinux wheels for CPython.
The manylinux image apparently added a PyPy interpreter, which drgn
doesn't support.

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2021-06-07 01:10:59 -07:00
Omar Sandoval
6a8d335a1f Add scripts to build manylinux2010 wheels
One nice side effect of commit e0921c5bdb ("libdrgn: don't use OpenMP
tasking") is that drgn now works with older versions of libgomp that
don't implement taskloop, including version 4.4 in manylinux2010. So, we
can finally build manylinux2010 wheels. These scripts are based on
scripts from Stephen Brennan, with some cleanups and updates for changes
in drgn's build requirements.

Closes #69.

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2021-05-07 09:50:13 -07:00