summaryrefslogtreecommitdiffstats
path: root/lib/Sbuild/Utility.pm
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:24:54 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:24:54 +0000
commit07fde5e61b0c4c60027e86a0e3171ad700b38c89 (patch)
tree492a432d924798e3f84167a39dcbe9c7c069b30b /lib/Sbuild/Utility.pm
parentAdding upstream version 0.85.8. (diff)
downloadsbuild-07fde5e61b0c4c60027e86a0e3171ad700b38c89.tar.xz
sbuild-07fde5e61b0c4c60027e86a0e3171ad700b38c89.zip
Adding upstream version 0.85.9.upstream/0.85.9
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'lib/Sbuild/Utility.pm')
-rw-r--r--lib/Sbuild/Utility.pm4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Sbuild/Utility.pm b/lib/Sbuild/Utility.pm
index 9cdfff1..6828692 100644
--- a/lib/Sbuild/Utility.pm
+++ b/lib/Sbuild/Utility.pm
@@ -420,6 +420,10 @@ sub get_unshare_cmd($) {
my $command = <<"EOF";
require 'syscall.ph';
+# Workaround for #1070007 (Permission denied if STDOUT points to a pipe)
+use Fcntl qw(:mode);
+chmod(0666, *STDOUT) if ((stat(*STDOUT))[2] & S_IFMT) == S_IFIFO;
+
# Create a pipe for the parent process to signal the child process that it is
# done with calling unshare() so that the child can go ahead setting up
# uid_map and gid_map.