After ripping a CD whipper writes the log file using ruamel-yaml. whipper v0.10.0 does not work with ruamel-yaml >= 0.18 but does work with 0.17.40 Reproducible: Always Steps to Reproduce: 1.whipper cd rip Actual Results: The CD is ripped, but the log file isn't written to the folder. Expected Results: The CD is ripped, and the log file is successfully written. I have masked '>dev-python/ruamel-yaml-0.18' so I use 0.17.40. whipper rips successfully and can write the log file. In the whipper git repo the problem should already be resolved, but no new release has been made. I tried creating an ebuild 9999 to use the latest source from Git to verify this but couldn't get it to work.
Hello, I did not notice yet because I’ve borgmatic that depends on ruamel-yaml <0.18.0 I am doing a pull request to fix this dependency issue.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7979f26584c3bb4246828b6f801f6587005bfa63 commit 7979f26584c3bb4246828b6f801f6587005bfa63 Author: Quentin Retornaz <gentoo@retornaz.com> AuthorDate: 2024-01-30 18:54:21 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-01-30 19:22:52 +0000 media-sound/whipper: fix dev-python/ruamel-yaml in RDEPEND Closes: https://bugs.gentoo.org/923339 Signed-off-by: Quentin Retornaz <gentoo@retornaz.com> Closes: https://github.com/gentoo/gentoo/pull/35101 Signed-off-by: Sam James <sam@gentoo.org> media-sound/whipper/whipper-0.10.0-r1.ebuild | 58 ++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+)
The upstream PR that fixes this is https://github.com/whipper-team/whipper/pull/543 as a patch https://github.com/whipper-team/whipper/pull/543.patch This can't be installed as a user patch as is, due to: rm "${PN}"/test/test_result_logger.py || die being called before distutils-r1_python_prepare_all in python_prepare_all() the github PR as patch will apply cleanly if one deletes the patch section for whipper/test/test_result_logger.py $ equery --quiet list dev-python/ruamel-yaml dev-python/ruamel-yaml-0.18.6 $ equery --quiet list media-sound/whipper media-sound/whipper-0.10.0 $ ls /etc/portage/patches/media-sound/whipper-0.10.0-r0 yaml-0.18.patch $ whipper cd -d /dev/sr1 rip -r 2 -k INFO:whipper.command.cd:using configured read offset 48 INFO:whipper.command.cd:checking device /dev/sr1 CDDB disc id: 5810e517 === trimmed === $ ls Various\ Artists/Lost\ Highway/.disc/*.log 'Various Artists/Lost Highway/.disc/Various Artists - Lost Highway (1997).log' $ head -n5 Various\ Artists/Lost\ Highway/.disc/*.log Log created by: whipper 0.10.0 (internal logger) Log creation date: 2024-03-09T12:43:44Z Ripping phase information: Drive: ATAPI iHAS324 Y (revision BL1Y)
Created attachment 887180 [details, diff] the modified PR543 patch this is what I'm using as the user patch
Created attachment 887194 [details] build.log build log with test_result_logger enabled and upstream pull request for ruamel_yaml
Hello, I did an updated ebuild with this patch. The mentioned disabled test is working with this patch. Build log in attachment show this.
Created attachment 887195 [details] whipper-0.10.0-r2.ebuild
Created attachment 887196 [details, diff] whipper-0.10.0-custom-yaml-subclass_ruamel_yaml-0.18.0.patch
Can you test this updated ebuild with test feature enabled? I’ve tested in a chroot and it succeeds but testing on different environments is better.
Nevermind: testLogger (whipper.test.test_result_logger.LoggerTestCase.testLogger) ... /usr/lib/python3.11/site-packages/ruamel/yaml/resolver.py:327: ResourceWarning: unclosed file <_io.FileIO name=14 mode='wb' closefd=True> impl_resolver.setdefault(ch, []).append((tag, regexp)) ResourceWarning: Enable tracemalloc to get the object allocation traceback /usr/lib/python3.11/site-packages/ruamel/yaml/resolver.py:327: ResourceWarning: unclosed file <_io.FileIO name=15 mode='wb' closefd=True> impl_resolver.setdefault(ch, []).append((tag, regexp)) ResourceWarning: Enable tracemalloc to get the object allocation traceback /usr/lib/python3.11/site-packages/ruamel/yaml/resolver.py:327: ResourceWarning: unclosed file <_io.FileIO name=16 mode='wb' closefd=True> impl_resolver.setdefault(ch, []).append((tag, regexp)) ResourceWarning: Enable tracemalloc to get the object allocation traceback /usr/lib/python3.11/site-packages/ruamel/yaml/resolver.py:327: ResourceWarning: unclosed file <_io.FileIO name=17 mode='wb' closefd=True> impl_resolver.setdefault(ch, []).append((tag, regexp)) ResourceWarning: Enable tracemalloc to get the object allocation traceback ok