summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Freyermuth <o.freyermuth@googlemail.com>2023-01-28 21:43:36 +0100
committerNicolas Bock <nicolasbock@gentoo.org>2023-01-30 14:58:18 -0700
commite266e13009ebe1786bb496bc346dd5b6a2ca947e (patch)
tree07ad121e6c1c434ae2516490fb8cb39af103de6c /sys-cluster/charliecloud
parentdev-util/bpftrace: Restore deleted patch that is still used (diff)
downloadgentoo-e266e13009ebe1786bb496bc346dd5b6a2ca947e.tar.gz
gentoo-e266e13009ebe1786bb496bc346dd5b6a2ca947e.tar.bz2
gentoo-e266e13009ebe1786bb496bc346dd5b6a2ca947e.zip
sys-cluster/charliecloud: multiple fixes
- backport patch for readpath from recent glibc [1, 2] - drop 0.31 - do not compress installed examples [1] https://github.com/hpc/charliecloud/pull/1550 [2] https://bugzilla.redhat.com/show_bug.cgi?id=1916968 Closes: https://github.com/gentoo/gentoo/pull/29323 Signed-off-by: Oliver Freyermuth <o.freyermuth@googlemail.com> Signed-off-by: Nicolas Bock <nicolasbock@gentoo.org>
Diffstat (limited to 'sys-cluster/charliecloud')
-rw-r--r--sys-cluster/charliecloud/charliecloud-0.31-r1.ebuild (renamed from sys-cluster/charliecloud/charliecloud-0.31.ebuild)9
-rw-r--r--sys-cluster/charliecloud/charliecloud-9999.ebuild5
-rw-r--r--sys-cluster/charliecloud/files/charliecloud-0.31-realpath_return.patch32
3 files changed, 46 insertions, 0 deletions
diff --git a/sys-cluster/charliecloud/charliecloud-0.31.ebuild b/sys-cluster/charliecloud/charliecloud-0.31-r1.ebuild
index db6df71719a9..2efd4a83f907 100644
--- a/sys-cluster/charliecloud/charliecloud-0.31.ebuild
+++ b/sys-cluster/charliecloud/charliecloud-0.31-r1.ebuild
@@ -48,6 +48,10 @@ DEPEND="
net-misc/rsync
)"
+PATCHES=(
+ "${FILESDIR}"/${P}-realpath_return.patch
+)
+
src_prepare() {
default
eautoreconf
@@ -72,6 +76,11 @@ src_configure() {
econf "${econf_args[@]}"
}
+src_install() {
+ docompress -x "${EPREFIX}"/usr/share/doc/"${PF}"/examples
+ default
+}
+
pkg_postinst() {
elog "Various builders are supported, as alternative to the internal ch-image."
optfeature "Building with Buildah" app-containers/buildah
diff --git a/sys-cluster/charliecloud/charliecloud-9999.ebuild b/sys-cluster/charliecloud/charliecloud-9999.ebuild
index db6df71719a9..3e5a83f42d7e 100644
--- a/sys-cluster/charliecloud/charliecloud-9999.ebuild
+++ b/sys-cluster/charliecloud/charliecloud-9999.ebuild
@@ -72,6 +72,11 @@ src_configure() {
econf "${econf_args[@]}"
}
+src_install() {
+ docompress -x "${EPREFIX}"/usr/share/doc/"${PF}"/examples
+ default
+}
+
pkg_postinst() {
elog "Various builders are supported, as alternative to the internal ch-image."
optfeature "Building with Buildah" app-containers/buildah
diff --git a/sys-cluster/charliecloud/files/charliecloud-0.31-realpath_return.patch b/sys-cluster/charliecloud/files/charliecloud-0.31-realpath_return.patch
new file mode 100644
index 000000000000..7b320fa9dbab
--- /dev/null
+++ b/sys-cluster/charliecloud/files/charliecloud-0.31-realpath_return.patch
@@ -0,0 +1,32 @@
+From e6d25474fcd326ae657c08d7b49606aeabc98b51 Mon Sep 17 00:00:00 2001
+From: Oliver Freyermuth <o.freyermuth@googlemail.com>
+Date: Sat, 28 Jan 2023 21:25:09 +0100
+Subject: [PATCH] ch-misc: Do not check errno in realpath_ unless realpath
+ returns NULL
+Bug: https://github.com/hpc/charliecloud/pull/1550
+
+glibc's realpath may set errno also on success, as POSIX specifies
+errno should only be checked after realpath if the return value is not NULL.
+
+See for example:
+ https://bugzilla.redhat.com/show_bug.cgi?id=1916968
+---
+ bin/ch_misc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bin/ch_misc.c b/bin/ch_misc.c
+index 04ac52a..93a3339 100644
+--- a/bin/ch_misc.c
++++ b/bin/ch_misc.c
+@@ -589,7 +589,7 @@ char *realpath_(const char *path, bool fail_ok)
+ errno = 0;
+ pathc = realpath(path, NULL);
+
+- if (errno != 0) {
++ if (pathc == NULL && errno != 0) {
+ if (fail_ok) {
+ T_ (pathc = strdup(path));
+ } else {
+--
+2.39.1
+