app-shells/dash: Fixed subshell regression.
authorLars Wendler <polynomial-c@gentoo.org>
Wed, 9 May 2018 11:31:34 +0000 (13:31 +0200)
committerLars Wendler <polynomial-c@gentoo.org>
Wed, 9 May 2018 11:31:50 +0000 (13:31 +0200)
See https://patchwork.kernel.org/patch/10382199/

Closes: https://bugs.gentoo.org/655320
Package-Manager: Portage-2.3.36, Repoman-2.3.9

app-shells/dash/dash-0.5.10-r1.ebuild [moved from app-shells/dash/dash-0.5.10.ebuild with 95% similarity]
app-shells/dash/files/dash-0.5.10-subshells.patch [new file with mode: 0644]

similarity index 95%
rename from app-shells/dash/dash-0.5.10.ebuild
rename to app-shells/dash/dash-0.5.10-r1.ebuild
index 72821681d9b7bbfab73a947167fae9f0e6e95201..97e4202bc4d1a7e98baa5d5fc9717a527ef7ecfe 100644 (file)
@@ -27,7 +27,10 @@ DEPEND="${RDEPEND}
        virtual/pkgconfig
        libedit? ( static? ( dev-libs/libedit[static-libs] ) )"
 
-PATCHES=( "${FILESDIR}"/${PN}-0.5.9.1-format-security.patch )
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.5.9.1-format-security.patch
+       "${FILESDIR}"/${P}-subshells.patch
+)
 
 src_prepare() {
        if [[ -n "${DEB_PATCH}" ]] ; then
diff --git a/app-shells/dash/files/dash-0.5.10-subshells.patch b/app-shells/dash/files/dash-0.5.10-subshells.patch
new file mode 100644 (file)
index 0000000..5943db1
--- /dev/null
@@ -0,0 +1,16 @@
+https://bugs.gentoo.org/655320
+https://patchwork.kernel.org/patch/10382199/
+
+--- dash-0.5.10/src/jobs.c
++++ dash-0.5.10/src/jobs.c
+@@ -975,8 +975,8 @@
+       int st;
+       TRACE(("waitforjob(%%%d) called\n", jp ? jobno(jp) : 0));
+-      while ((jp && jp->state == JOBRUNNING) || gotsigchld)
+-              dowait(DOWAIT_BLOCK, jp);
++      while (jp ? jp->state == JOBRUNNING : gotsigchld)
++              dowait(jp ? DOWAIT_BLOCK : DOWAIT_NORMAL, jp);
+       if (!jp)
+               return exitstatus;
+       st = getstatus(jp);