commit: b3cd383722ae22bc2567f1b4f8a875e79dd56bca Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> AuthorDate: Wed May 9 11:31:34 2018 +0000 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> CommitDate: Wed May 9 11:31:50 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b3cd3837
app-shells/dash: Fixed subshell regression. See https://patchwork.kernel.org/patch/10382199/ Closes: https://bugs.gentoo.org/655320 Package-Manager: Portage-2.3.36, Repoman-2.3.9 .../dash/{dash-0.5.10.ebuild => dash-0.5.10-r1.ebuild} | 5 ++++- app-shells/dash/files/dash-0.5.10-subshells.patch | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/app-shells/dash/dash-0.5.10.ebuild b/app-shells/dash/dash-0.5.10-r1.ebuild 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 72821681d9b..97e4202bc4d 100644 --- a/app-shells/dash/dash-0.5.10.ebuild +++ b/app-shells/dash/dash-0.5.10-r1.ebuild @@ -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 index 00000000000..5943db11e69 --- /dev/null +++ b/app-shells/dash/files/dash-0.5.10-subshells.patch @@ -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);
