NetBSD Problem Report #56378

From o.vd.linden@quicknet.nl  Sat Aug 28 20:15:26 2021
Return-Path: <o.vd.linden@quicknet.nl>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id EB3411A9239
	for <gnats-bugs@gnats.NetBSD.org>; Sat, 28 Aug 2021 20:15:25 +0000 (UTC)
Message-Id: <YSqI3hL0T5k84/EN@sheep>
Date: Sat, 28 Aug 2021 21:05:02 +0200
From: Onno van der Linden <o.vd.linden@quicknet.nl>
To: gnats-bugs@netbsd.org
Subject: audio/py-beets gives a stack trace at startup

>Number:         56378
>Category:       pkg
>Synopsis:       audio/py-beets gives a stack trace at startup
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    bsiegert
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Aug 28 20:20:00 +0000 2021
>Closed-Date:    Thu Nov 25 19:42:47 +0000 2021
>Last-Modified:  Thu Nov 25 19:45:01 +0000 2021
>Originator:     Onno van der Linden
>Release:        NetBSD 9.99.80
>Organization:
>Environment:
System: NetBSD sheep 9.99.80 NetBSD 9.99.80 (SHEEPKMS) #1: Thu Mar 4 19:16:39 CET 2021 onno@sheep:/usr/src/sys/arch/i386/compile/SHEEPKMS i386
Architecture: i386
Machine: i386
>Description:
Running /usr/pkg/bin-beets-3.8 gives a stack trace ending in

ValueError: Name node can't be used with 'None' constant
>How-To-Repeat:
Install audio/py-beets with a recent python version
>Fix:

Until 1.5.0 gets imported the appended diff from

https://github.com/beetbox/beets/commit/a3044be81b164e96094db4f196ba9b1886295937

seems to work


--- beets/util/functemplate.py.orig	2019-05-31 01:31:09.000000000 +0200
+++ beets/util/functemplate.py	2021-08-28 20:11:08.566230310 +0200
@@ -73,15 +73,26 @@
     """An int, float, long, bool, string, or None literal with the given
     value.
     """
-    if val is None:
-        return ast.Name('None', ast.Load())
-    elif isinstance(val, six.integer_types):
-        return ast.Num(val)
-    elif isinstance(val, bool):
-        return ast.Name(bytes(val), ast.Load())
-    elif isinstance(val, six.string_types):
-        return ast.Str(val)
-    raise TypeError(u'no literal for {0}'.format(type(val)))
+    if sys.version_info[:2] < (3, 4):
+        if val is None:
+            return ast.Name('None', ast.Load())
+        elif isinstance(val, six.integer_types):
+            return ast.Num(val)
+        elif isinstance(val, bool):
+            return ast.Name(bytes(val), ast.Load())
+        elif isinstance(val, six.string_types):
+            return ast.Str(val)
+        raise TypeError(u'no literal for {0}'.format(type(val)))
+    elif sys.version_info[:2] < (3, 6):
+        if val in [None, True, False]:
+            return ast.NameConstant(val)
+        elif isinstance(val, six.integer_types):
+            return ast.Num(val)
+        elif isinstance(val, six.string_types):
+            return ast.Str(val)
+        raise TypeError(u'no literal for {0}'.format(type(val)))
+    else:
+        return ast.Constant(val)


 def ex_varassign(name, expr):

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: pkg-manager->bsiegert
Responsible-Changed-By: bsiegert@NetBSD.org
Responsible-Changed-When: Thu, 04 Nov 2021 10:10:18 +0000
Responsible-Changed-Why:
take (tentatively)


From: "Benny Siegert" <bsiegert@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/56378 CVS commit: pkgsrc/audio/py-mutagen
Date: Sat, 20 Nov 2021 20:07:11 +0000

 Module Name:	pkgsrc
 Committed By:	bsiegert
 Date:		Sat Nov 20 20:07:11 UTC 2021

 Modified Files:
 	pkgsrc/audio/py-mutagen: Makefile PLIST distinfo

 Log Message:
 Update py-mutagen to 1.45.1, needed for PR pkg/56378.

 1.45.1 - 2020-07-31

 Fix flake8 tests when run after calling setup.py build
 No longer use mmap when rewriting files. Fixes slow save performance with
 Windows network shares, ZFS and more

 1.45.0 - 2020-07-11

 WAVE support with ID3 tags
 DSDIFF support with ID3 tags
 MP4: Add support for nero chapters
 wavpack: add support for wavpack DSD
 wavpack: add bits_per_sample
 MP4: handle DecoderSpecificInfo with wrong instance size
 docs: various fixes
 tests: depend on flake8 now (instead of pycodestyle and pyflakes)
 docs: fix warnings with sphinx v3

 Fuzzing related:
 Fuzzing integration with python-afl
 Fix various unhandled error cases in ogg, asf, oggvorbis, id3
 aac: Fix ZeroDivisionError in case frequency is unknown
 musepack: handle truncated stream header
 musepack: handle invalid sample rate index
 musepack: handle duplicate RG/SH packets
 oggtheora: handle truncated header packet
 oggtheora: fail if FRN in the header packet is zero
 oggtheora: handle empty pages in more cases
 ogg: handle empty pages in to_packets()
 aiff: handle overflow in read_float()


 To generate a diff of this commit:
 cvs rdiff -u -r1.25 -r1.26 pkgsrc/audio/py-mutagen/Makefile
 cvs rdiff -u -r1.14 -r1.15 pkgsrc/audio/py-mutagen/PLIST
 cvs rdiff -u -r1.18 -r1.19 pkgsrc/audio/py-mutagen/distinfo

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Benny Siegert" <bsiegert@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/56378 CVS commit: pkgsrc/audio
Date: Sun, 21 Nov 2021 11:06:18 +0000

 Module Name:	pkgsrc
 Committed By:	bsiegert
 Date:		Sun Nov 21 11:06:18 UTC 2021

 Modified Files:
 	pkgsrc/audio: Makefile
 Added Files:
 	pkgsrc/audio/py-mediafile: DESCR Makefile PLIST distinfo
 	pkgsrc/audio/py-mediafile/patches: patch-setup.py

 Log Message:
 New package for py-mediafile-0.8.1.

 This is part of addressing PR pkg/56378.

 MediaFile is a simple interface to the metadata tags for many audio file
 formats. It wraps Mutagen, a high-quality library for low-level tag
 manipulation, with a high-level, format-independent interface for a common set
 of tags.

 MediaFile is part of the beets project. It was originally written by Adrian
 Sampson and is now developed by the beets community.


 To generate a diff of this commit:
 cvs rdiff -u -r1.644 -r1.645 pkgsrc/audio/Makefile
 cvs rdiff -u -r0 -r1.1 pkgsrc/audio/py-mediafile/DESCR \
     pkgsrc/audio/py-mediafile/Makefile pkgsrc/audio/py-mediafile/PLIST \
     pkgsrc/audio/py-mediafile/distinfo
 cvs rdiff -u -r0 -r1.1 pkgsrc/audio/py-mediafile/patches/patch-setup.py

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Benny Siegert" <bsiegert@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/56378 CVS commit: pkgsrc/devel
Date: Thu, 25 Nov 2021 19:33:58 +0000

 Module Name:	pkgsrc
 Committed By:	bsiegert
 Date:		Thu Nov 25 19:33:58 UTC 2021

 Modified Files:
 	pkgsrc/devel: Makefile
 Added Files:
 	pkgsrc/devel/py-confuse: DESCR Makefile PLIST distinfo
 	pkgsrc/devel/py-confuse/patches: patch-setup.py

 Log Message:
 New package, py-confuse. Part of PR pkg/56378.

 Confuse is a configuration library for Python that uses YAML. It takes
 care of defaults, overrides, type checking, command-line integration,
 human-readable errors, and standard OS-specific locations.

 Here's what Confuse brings to the table:

 -  An utterly sensible API resembling dictionary-and-list structures
    but providing transparent validation without lots of boilerplate
    code.
 -  Combine configuration data from multiple sources. Using
    layering, Confuse allows user-specific configuration to seamlessly
    override system-wide configuration, which in turn overrides built-in
    defaults.
 -  Look for configuration files in platform-specific paths.
 -  Integration with command-line arguments via argparse or optparse
    from the standard library.


 To generate a diff of this commit:
 cvs rdiff -u -r1.3515 -r1.3516 pkgsrc/devel/Makefile
 cvs rdiff -u -r0 -r1.1 pkgsrc/devel/py-confuse/DESCR \
     pkgsrc/devel/py-confuse/Makefile pkgsrc/devel/py-confuse/PLIST \
     pkgsrc/devel/py-confuse/distinfo
 cvs rdiff -u -r0 -r1.1 pkgsrc/devel/py-confuse/patches/patch-setup.py

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->closed
State-Changed-By: bsiegert@NetBSD.org
State-Changed-When: Thu, 25 Nov 2021 19:42:47 +0000
State-Changed-Why:
audio/py-beets was updated to 1.5.0. This should fix your problem.
Please report back if it does not!


From: "Benny Siegert" <bsiegert@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/56378 CVS commit: pkgsrc/audio/py-beets
Date: Thu, 25 Nov 2021 19:41:22 +0000

 Module Name:	pkgsrc
 Committed By:	bsiegert
 Date:		Thu Nov 25 19:41:22 UTC 2021

 Modified Files:
 	pkgsrc/audio/py-beets: Makefile PLIST distinfo

 Log Message:
 Update py-beets to 1.5.0, PR pkg/56378.

 This long overdue release of beets includes far too many exciting and useful
 features than could ever be satisfactorily enumerated.
 As a technical detail, it also introduces two new external libraries:
 MediaFile and Confuse used to be part of beets but are now reusable
 dependencies---packagers, please take note.
 Finally, this is the last version of beets where we intend to support Python
 2.x and 3.5; future releases will soon require Python 3.6.


 To generate a diff of this commit:
 cvs rdiff -u -r1.26 -r1.27 pkgsrc/audio/py-beets/Makefile
 cvs rdiff -u -r1.15 -r1.16 pkgsrc/audio/py-beets/PLIST
 cvs rdiff -u -r1.18 -r1.19 pkgsrc/audio/py-beets/distinfo

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.