Files
spotifast/packaging/check-runtime-libs.c
T
Hayden ThornandCarmine Paolino de7c3060ce Upload playlist covers from Edit details (#329)
Add native JPEG/PNG selection, bounded preparation and a separate upload
action with preview and actionable errors. Keep protected grants while
renewing image-upload consent and route uploads like other playlist edits.

Hold uploaded artwork through stale Spotify replies, reject late dialog
results, and prevent concurrent uploads for the same playlist.

Co-authored-by: Carmine Paolino <carmine@paolino.me>
2026-09-14 17:00:44 +02:00

29 lines
1.0 KiB
C

/* The GUI loads these through winit, wayland-sys, glutin and rfd at runtime.
* --version and ELF DT_NEEDED inspection alone cannot detect their absence.
* Compile outside the test container so build tools cannot supply missing deps.
*/
#include <dlfcn.h>
#include <stdio.h>
int main(void) {
const char *libraries[] = {
"libdbus-1.so.3",
"libGL.so.1", "libEGL.so.1",
"libwayland-client.so.0", "libwayland-cursor.so.0", "libwayland-egl.so.1",
"libxkbcommon.so.0", "libxkbcommon-x11.so.0",
"libX11.so.6", "libX11-xcb.so.1", "libXcursor.so.1", "libXi.so.6", "libXrandr.so.2",
};
int failed = 0;
for (size_t i = 0; i < sizeof(libraries) / sizeof(libraries[0]); i++) {
void *handle = dlopen(libraries[i], RTLD_NOW | RTLD_LOCAL);
if (handle == NULL) {
fprintf(stderr, "%s: %s\n", libraries[i], dlerror());
failed = 1;
} else {
printf("Loaded %s\n", libraries[i]);
dlclose(handle);
}
}
return failed;
}