guix/gnu/packages/patches/libcdio-glibc-compat.patch
Marius Bakke b9bf70c346
gnu: libcdio: Fix test failure with glibc 2.36.
* gnu/packages/patches/libcdio-glibc-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/cdrom.scm (libcdio)[source](patches): New field.
2023-04-14 15:11:00 -04:00

43 lines
1.6 KiB
Diff

Fix test failure with glibc 2.36:
https://savannah.gnu.org/bugs/?62948
Patch taken from upstream:
https://git.savannah.gnu.org/cgit/libcdio.git/commit/?id=56335fff0f21d294cd0e478d49542a43e9495ed0
diff --git a/test/driver/realpath.c b/test/driver/realpath.c
index 289253e..cd46d62 100644
--- a/test/driver/realpath.c
+++ b/test/driver/realpath.c
@@ -1,5 +1,7 @@
/* -*- C -*-
- Copyright (C) 2010-2012, 2015, 2017 Rocky Bernstein <rocky@gnu.org>
+
+ Copyright (C) 2010-2012, 2015, 2017, 2022 Rocky Bernstein
+ <rocky@gnu.org>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -175,16 +177,17 @@ main(int argc, const char *argv[])
rc = check_rc(symlink(psz_symlink_file, psz_symlink_file),
"symlink", psz_symlink_file);
if (0 == rc) {
- cdio_realpath(psz_symlink_file, psz_file_check);
- if (0 != strncmp(psz_file_check, symlink_file, PATH_MAX)) {
+ char *retvalue = cdio_realpath(psz_symlink_file, psz_file_check);
+ if (0 != retvalue) {
+ if (0 != strncmp(psz_file_check, symlink_file, PATH_MAX)) {
fprintf(stderr, "direct cdio_realpath cycle test failed. %s vs %s\n",
psz_file_check, symlink_file);
rc = 5;
goto err_exit;
+ }
+ check_rc(unlink(psz_symlink_file), "unlink", psz_symlink_file);
}
- check_rc(unlink(psz_symlink_file), "unlink", psz_symlink_file);
}
-
}
check_rc(unlink(psz_orig_file), "unlink", psz_orig_file);