Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 923339 - media-sound/whipper-0.10.0 fails when writing log file at the end
Summary: media-sound/whipper-0.10.0 fails when writing log file at the end
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal minor
Assignee: Quentin Retornaz
URL: https://github.com/whipper-team/whipp...
Whiteboard:
Keywords: PATCH, PullRequest
Depends on:
Blocks:
 
Reported: 2024-01-30 14:00 UTC by Laurens H.
Modified: 2024-03-10 00:49 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
the modified PR543 patch (yaml-0.18.patch,2.09 KB, patch)
2024-03-09 13:56 UTC, Bill Prendergast
Details | Diff
build.log (media-sound:whipper-0.10.0-r2:20240309-234020.log,65.45 KB, text/plain)
2024-03-10 00:33 UTC, Quentin Retornaz
Details
whipper-0.10.0-r2.ebuild (whipper-0.10.0-r2.ebuild,1.76 KB, application/vnd.gentoo.ebuild)
2024-03-10 00:35 UTC, Quentin Retornaz
Details
whipper-0.10.0-custom-yaml-subclass_ruamel_yaml-0.18.0.patch (whipper-0.10.0-custom-yaml-subclass_ruamel_yaml-0.18.0.patch,3.24 KB, patch)
2024-03-10 00:35 UTC, Quentin Retornaz
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Laurens H. 2024-01-30 14:00:34 UTC
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.
Comment 1 Quentin Retornaz 2024-01-30 18:40:16 UTC
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.
Comment 2 Larry the Git Cow gentoo-dev 2024-01-30 19:23:37 UTC
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(+)
Comment 3 Bill Prendergast 2024-03-09 13:50:34 UTC
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)
Comment 4 Bill Prendergast 2024-03-09 13:56:26 UTC
Created attachment 887180 [details, diff]
the modified PR543 patch

this is what I'm using as the user patch
Comment 5 Quentin Retornaz 2024-03-10 00:33:36 UTC
Created attachment 887194 [details]
build.log

build log with test_result_logger enabled and upstream pull request for ruamel_yaml
Comment 6 Quentin Retornaz 2024-03-10 00:33:50 UTC
Hello,
I did an updated ebuild with this patch.
The mentioned disabled test is working with this patch.
Build log in attachment show this.
Comment 7 Quentin Retornaz 2024-03-10 00:35:11 UTC
Created attachment 887195 [details]
whipper-0.10.0-r2.ebuild
Comment 8 Quentin Retornaz 2024-03-10 00:35:42 UTC
Created attachment 887196 [details, diff]
whipper-0.10.0-custom-yaml-subclass_ruamel_yaml-0.18.0.patch
Comment 9 Quentin Retornaz 2024-03-10 00:40:38 UTC
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.
Comment 10 Quentin Retornaz 2024-03-10 00:49:18 UTC
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