diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2018-05-09 13:31:34 +0200 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2018-05-09 13:31:50 +0200 |
commit | b3cd383722ae22bc2567f1b4f8a875e79dd56bca (patch) | |
tree | c6c21be898cd968240a475f6f79ca8265afac924 /app-shells | |
parent | app-i18n/man-pages-pl: bump to 0.7 (diff) | |
download | gentoo-b3cd383722ae22bc2567f1b4f8a875e79dd56bca.tar.gz gentoo-b3cd383722ae22bc2567f1b4f8a875e79dd56bca.tar.bz2 gentoo-b3cd383722ae22bc2567f1b4f8a875e79dd56bca.zip |
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
Diffstat (limited to 'app-shells')
-rw-r--r-- | app-shells/dash/dash-0.5.10-r1.ebuild (renamed from app-shells/dash/dash-0.5.10.ebuild) | 5 | ||||
-rw-r--r-- | app-shells/dash/files/dash-0.5.10-subshells.patch | 16 |
2 files changed, 20 insertions, 1 deletions
diff --git a/app-shells/dash/dash-0.5.10.ebuild b/app-shells/dash/dash-0.5.10-r1.ebuild index 72821681d9b7..97e4202bc4d1 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 000000000000..5943db11e697 --- /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); |