python-mkdocs (1.5.3+dfsg-1)
[PTS] [DDPO]
NEW: VCS has unreleased changes: 1.5.3+dfsg-2~1.gbp9ca53c > 1.5.3+dfsg-1
- Git: https://salsa.debian.org/python-team/packages/python-mkdocs.git
-
- Branch: debian/master
- Path: debian/changelog
- Repo size: 389120
- Browser: https://salsa.debian.org/python-team/packages/python-mkdocs
- Last scan: 2024-07-11 22:23:49+00
- Next scan: 2024-07-19 17:59:00+00
- CI pipeline status: success
- Debian changelog in Git:
python-mkdocs (1.5.3+dfsg-2~1.gbp9ca53c) UNRELEASED; urgency=medium
** SNAPSHOT build @9ca53c4a51f34462ad311e621faa866c8ef5403b **
* dh_mkdocs: Ensure child process output is read before pipe fills up
-- Nick Morrott <nickm@debian.org> Sat, 24 Feb 2024 06:31:22 +0000
- This branch is 2 commits ahead of tag debian/1.5.3+dfsg-1
- Git log:
commit 869505e1d8661c69f75c5803724621895ba10135
Author: Nick Morrott <nickm@debian.org>
Date: Sat Feb 24 06:32:32 2024 +0000
Update changelog
Gbp-Dch: Ignore
commit 9ca53c4a51f34462ad311e621faa866c8ef5403b
Author: Nick Morrott <nickm@debian.org>
Date: Sat Feb 24 06:19:39 2024 +0000
dh_mkdocs: Ensure child process output is read before pipe fills up
The current implementation of symlink_static files() assumes that the
fulll output from the `dpkg-query --listfiles $package` child process
will not completely fill the output pipe before the parent process reads
it.
This is not guaranteed to be the case, and in packaging python-guizero I
have encountered hung builds (local machine and in schroot) due to this
issue. Local debugging showed that the `dpkg-query --listfiles` child
process would hang when processing both the mkdocs and libjs-bootstrap4
packages.
The call is waitpid() before any read from the parent process causes an
indefinite hang, as the child process is unable to write to the full
pipe.
This update reads output from the child process as soon as a PID is
returned from open2(), and does not call waitpid() until everything has
been read from the output filehandle.
Additionally, the output filehandle is closed before waitpid() is
called.