Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 938237 - dev-cpp/benchmark-1.9.0 Add older PYTHON_COMPAT than python3_12
Summary: dev-cpp/benchmark-1.9.0 Add older PYTHON_COMPAT than python3_12
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Mattéo Rossillol‑‑Laruelle
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-08-20 10:17 UTC by jospezial
Modified: 2024-08-23 22:11 UTC (History)
5 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jospezial 2024-08-20 10:17:21 UTC
This is the first ebuild I see with python_single_target_python3_12.
I still need python_single_target_python3_11 because of Bug 909973

!!! The ebuild selected to satisfy "dev-cpp/benchmark" has unmet requirements.
- dev-cpp/benchmark-1.9.0::gentoo USE="exceptions tools -doc -libcxx -libpfm -lto -test" ABI_X86="(64) -32 (-x32)" PYTHON_SINGLE_TARGET="-python3_12"

  The following REQUIRED_USE flag constraints are unsatisfied:
    python_single_target_python3_12

  The above constraints are a subset of the following complete expression:
    exactly-one-of ( python_single_target_python3_12 )

If I change the ebuild to python3_11 building it works without warnings or errors.


Portage 3.0.65-32+ga62faf99d (python 3.12.5-final-0, default/linux/amd64/23.0, gcc-14, glibc-2.40, 6.11.0-rc4 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.11.0-rc4-x86_64-AMD_Athlon-tm-_II_X2_240_Processor-with-glibc2.40
KiB Mem:     4026292 total,   1145860 free
KiB Swap:   16029688 total,  15652324 free
Timestamp of repository kde: Mon, 19 Aug 2024 18:34:09 +0000
Head commit of repository kde: fae57fad94a9eaa3e90276966aebf5cfa59541bf

Timestamp of repository poly-c: Mon, 19 Aug 2024 10:39:47 +0000
Timestamp of repository qt: Mon, 19 Aug 2024 18:34:00 +0000
Head commit of repository qt: d7522f320d29c3b8a23df6132ae258eb3d93915c

Timestamp of repository gentoo: Tue, 20 Aug 2024 08:34:13 +0000
Head commit of repository gentoo: dd7903b22a6824d1d9571dd1d1d0ab1d8238cda3

Timestamp of repository guru: Mon, 19 Aug 2024 18:34:04 +0000
Head commit of repository guru: 3ebfee35c5abd30547d4e4d7178761d3eee92c17

sh bash 5.2_p32
ld GNU ld (Gentoo 2.43.1 p1) 2.43.1
ccache version 4.10.2 [enabled]
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.2_p32::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.72-r1::gentoo
dev-build/automake:        1.17-r1::gentoo
dev-build/cmake:           3.30.2::gentoo
dev-build/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.5.1::gentoo
dev-java/java-config:      2.3.4::gentoo
dev-lang/perl:             5.40.0::gentoo
dev-lang/python:           3.11.9_p1::gentoo, 3.12.5::gentoo
dev-lang/rust-bin:         1.80.1::gentoo
dev-util/ccache:           4.10.2::gentoo
sys-apps/baselayout:       2.15::gentoo
sys-apps/openrc:           0.54.2::gentoo
sys-apps/sandbox:          2.39::gentoo
sys-devel/binutils:        2.43.1_pre::poly-c
sys-devel/binutils-config: 5.5.2::gentoo
sys-devel/clang:           18.1.8::gentoo
sys-devel/gcc:             14.2.1_p20240817::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/lld:             18.1.8::gentoo
sys-devel/llvm:            18.1.8-r4::gentoo
sys-kernel/linux-headers:  6.10::gentoo (virtual/os-headers)
sys-libs/glibc:            2.40::gentoo
Repositories:

kde
    location: /var/db/repos/kde
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/kde.git
    masters: gentoo
    priority: -1001
    volatile: False

overlay_jl
    location: /var/db/repos/overlay_jl
    masters: gentoo
    priority: -1001
    volatile: False

poly-c
    location: /var/db/repos/poly-c
    sync-type: rsync
    sync-uri: rsync://rsync.gentoofan.org/poly-c
    masters: gentoo
    priority: -1001
    volatile: False
    sync-rsync-extra-opts: 

qt
    location: /var/db/repos/qt
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/qt.git
    masters: gentoo
    priority: -1001
    volatile: False

gentoo
    location: /var/db/repos/gentoo
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gentoo.git
    priority: -1000
    volatile: False

guru
    location: /var/db/repos/guru
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/guru.git
    masters: gentoo
    volatile: False

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -mtune=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d"
CXXFLAGS="-march=native -mtune=native -O2 -pipe"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask=y --autounmask-write=y --keep-going --quiet-build=y --verbose-conflicts"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-march=native -mtune=native -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live ccache config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -mtune=native -O2 -pipe"
GENTOO_MIRRORS="http://ftp.halifax.rwth-aachen.de/gentoo/ https://mirrors.dotsrc.org/gentoo/ https://mirror.leaseweb.com/gentoo/"
LANG="de_DE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
LINGUAS="de"
MAKEOPTS="-j2"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="a52 aac aacplus aacs aalib acl acpi activefilter admin adns aften alsa amd64 amdgpu ap apm apng archive arping atahpt atapromise audiofile automount avif bash bazaar bdplus bluray boost btrfs bzip2 cairo ccache cdda cddb cdio cdr cdrom chm chroot cjk cli client colordiff colorpicker compress corefonts cpio cpuload crypt css cue cups curl custom-modes d3d9 dav1d dbus declarative designer dga dhcp dom dri dri3 drm dts duktape dump dvb dvd dvdnav eap eap-sim eap-tls ebook egl elogind encode enscript epub equalizer exif extensions extras faac faad farstream fat fax fbcon fdformat fdk ffmpeg fftw firefox flac flashrom fluidsynth fontconfig foomatic freedoom ft2232-spi ftd2xx ftdi ftp fullscreen fuse gadu gd gdk-pixbuf gegl geoip gif git gpg gphoto2 graphite grub gstreamer gtk gtk4 gui gusb gzip haptic hddtemp hdf hdf5 hid highlight history hpcups hpijs http http2 http3 iconv icu id3tag idn imagemagick initramfs inotify introspection ipc ipod ipv6 iso jack jbootstrap jit jpeg jpeg2k jpegxl kde keyfinder kiosk ladspa lame lcms legacy-systray lensfun libaom libass libcanberra libdrm libei libinput libmpv libnotify libplacebo libproxy librtmp libsamplerate libssh2 libtirpc libv4l libwww linux-mtd linux-spi live lm-sensors logitech logrotate lua lv2 lximage lz4 lzma lzo mad magic man matroska md5sum meanwhile mediatek-i2c-spi mercurial metalink midi mikmod mime minizip mixer mjpeg mmap mms mod modern-top modplug modules-compress mono mount mouse mp3 mp4 mpeg mpeg2 mplayer mstarddc-spi mtp multilib multimedia musepack musicbrainz nano-syntax ncat ncurses network networkmonitor newnet ngspice nls normalize nowlistening nping ntfs ntfsprogs ntp nvidia nvme obex ocr odbc odf offload ogg ogm openal opencl opengl openh264 openmp openssl opus osdmenu otr p2p pam pango panorama parse-clocks pcap pci pcre pcre16 pcre32 pdf pdfimport phonon pipes pipewire pipewire-alsa pkcs11 plasma plugins png policykit postproc postscript powermanagement ppds printsupport privacy projectm pulseaudio pvr python qalculate qdbus qml qrcode qt6 qtkeychain quic quicktime radio rar raw readline realtek-mst-i2c-spi replaygain rtc rtmp rubberband rust rustfmt sbsms scanner screencast screensaver scripttools sdl seccomp secure-delete sensors serial serialport sftp sha512 shorten skins slang smartcard smi sndfile sockets socks socks5 sound sound-server source-highlight speech speex spell spi spirv sql sqlite sqlite3 squashfs ssh ssl staging startup-notification statistics statusnotifier stk stream subtitles sudo svg symlink sync-plugin-portage syslog sysstat system-av1 system-ffmpeg system-harfbuzz system-icu system-jpeg system-libevent system-librnp system-libvpx system-llvm system-png system-protoc system-python-libs system-sqlite system-ssl system-toolchain system-webp system-zlib system-zstd sysv-utils szip taglib test-rust text texteffect tftp themes theora threads thumbnail tiff timidity tracepath translator truetype twolame udev udf udisks unicode upower urlpicpreview usb utils v4l v4l2 vaapi vala vamp vector-icons video videos virtualbox vkd3d vnc vorbis vpx vroot vst vulkan vulkaninfo wad wav wavpack wayland wayland-compositor webp widgets wps wxwidgets x264 x265 xattr xfs xml xvid xwayland yahoo zink zip zlib zstd zvbi" ABI_X86="64" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext popcnt sse sse2 sse3 sse4a" CURL_SSL="openssl" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="libinput" KERNEL="linux" L10N="de" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LLVM_SLOT="18" LLVM_TARGETS="AMDGPU" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_12 python3_11" RUBY_TARGETS="ruby33" VIDEO_CARDS="radeon amdgpu radeonsi" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS

=================================================================
                        Package Settings
=================================================================

dev-cpp/benchmark-1.9.0::gentoo was built with the following:
USE="exceptions tools -doc -libcxx -libpfm -lto -test" ABI_X86="(64) -32 (-x32)" PYTHON_SINGLE_TARGET="python3_11"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live ccache config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"


dev-lang/python-3.11.9_p1::gentoo was built with the following:
USE="ensurepip ncurses readline sqlite ssl -bluetooth -build -debug -examples -gdbm -libedit -pgo -test -tk -valgrind -verify-sig" ABI_X86="(64)"
CFLAGS="-march=native -mtune=native -O2 -pipe -fwrapv"
CXXFLAGS="-march=native -mtune=native -O2 -pipe -fwrapv"


dev-lang/python-3.12.5::gentoo was built with the following:
USE="ensurepip ncurses readline sqlite ssl -bluetooth -build -debug -examples -gdbm -libedit -pgo -test -tk -valgrind -verify-sig" ABI_X86="(64)"
CFLAGS="-march=native -mtune=native -O2 -pipe -fwrapv"
CXXFLAGS="-march=native -mtune=native -O2 -pipe -fwrapv"
Comment 1 Alfred Wingate 2024-08-20 10:43:31 UTC
wxwidgets has python3.12 support. For clarity PEP517 and python3.12 compat bumps are different bugs. Even so worst case you can enable both python targets in different places (although I admit it gets messy if you have lot).

See https://bugs.gentoo.org/929520 for wxwidgets.

Still I dont see a clear reason for why python3.11 was omited, I can only speculate the maintainer only whitelisted the version they had tested.

Btw you can use PYTHON_COMPAT_OVERRIDE for quick testing as well.
Comment 2 Joonas Niilola gentoo-dev 2024-08-20 10:47:08 UTC
At this point I'd try to override default python with per-package basis, and not try to force an older one to be used system-wide everywhere. But yeah, let's add the old compat back, no big deal.
Comment 3 Larry the Git Cow gentoo-dev 2024-08-20 10:48:11 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87d5b663f1d48f4cc1818555eef6b8b417c56b6b

commit 87d5b663f1d48f4cc1818555eef6b8b417c56b6b
Author:     Joonas Niilola <juippis@gentoo.org>
AuthorDate: 2024-08-20 10:47:47 +0000
Commit:     Joonas Niilola <juippis@gentoo.org>
CommitDate: 2024-08-20 10:47:47 +0000

    dev-cpp/benchmark: enable py3.11
    
    Closes: https://bugs.gentoo.org/938237
    Signed-off-by: Joonas Niilola <juippis@gentoo.org>

 dev-cpp/benchmark/benchmark-1.9.0.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 4 jospezial 2024-08-20 11:01:01 UTC
The build does not use python when USE=-tools.
Maybe make all the python stuff (REQUIRED_USE="${PYTHON_REQUIRED_USE}", ${PYTHON_DEPS}) in the ebuild conditionally to tools.
Comment 5 Eli Schwartz gentoo-dev 2024-08-21 02:49:45 UTC
Doesn't it already? In the original report, USE=tools was used.

In the ebuild:

RDEPEND="
	tools? (
		$(python_gen_cond_dep '
			dev-python/numpy[${PYTHON_USEDEP}]
			>=dev-python/scipy-1.10.0[${PYTHON_USEDEP}]
		')

		${PYTHON_DEPS}
	)
"
Comment 6 Eli Schwartz gentoo-dev 2024-08-21 02:50:55 UTC
Oh hmm, but also

REQUIRED_USE="${PYTHON_REQUIRED_USE}"

This seems to be an oversight. e.g. the eclass documentation even calls out:


# Example use:
# @CODE
# REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
# @CODE
Comment 7 Larry the Git Cow gentoo-dev 2024-08-21 03:49:09 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8c7941ef6d72ebd63de340dfa1ec3f57c23b9b8d

commit 8c7941ef6d72ebd63de340dfa1ec3f57c23b9b8d
Author:     Eli Schwartz <eschwartz@gentoo.org>
AuthorDate: 2024-08-21 03:48:34 +0000
Commit:     Eli Schwartz <eschwartz@gentoo.org>
CommitDate: 2024-08-21 03:48:34 +0000

    dev-cpp/benchmark: do not require any PYTHON_SINGLE_TARGET without tools
    
    We only perform the python-single-r1 dance when `use tools`, and
    similarly in RDEPEND via USE-conditional dependencies. But REQUIRED_USE
    was unconditionally done, when it too should have been guarded by the
    USE flag.
    
    Present since the initial implementation of python tool support.
    
    Fixes: 6f8ef24af37e572d317fac58ea8eabab64a3f3a8
    Bug: https://bugs.gentoo.org/938237
    Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>

 dev-cpp/benchmark/benchmark-1.9.0.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 8 jospezial 2024-08-21 10:31:22 UTC
(In reply to Eli Schwartz from comment #5)
> Doesn't it already? In the original report, USE=tools was used.
> 
> In the ebuild:
> 
> RDEPEND="
> 	tools? (
> 		$(python_gen_cond_dep '
> 			dev-python/numpy[${PYTHON_USEDEP}]
> 			>=dev-python/scipy-1.10.0[${PYTHON_USEDEP}]
> 		')
> 
> 		${PYTHON_DEPS}
> 	)
> "

Yes. I have read the ()brackets wrong. Thank you for fixing the other part.

[ebuild   R    ] dev-cpp/benchmark-1.9.0:0/1::gentoo  USE="exceptions -doc -libcxx -libpfm -lto -test -tools" ABI_X86="(64) -32 (-x32)" PYTHON_SINGLE_TARGET="python3_12 -python3_11"

Can we guard inherit python-single-r1 also?
Comment 9 Eli Schwartz gentoo-dev 2024-08-21 13:41:57 UTC
(In reply to jospezial from comment #8)
> Can we guard inherit python-single-r1 also?

I have no real idea what you mean by that.

Also I don't understand the summary change (or the fact that the bug has been reopened)?
Comment 10 Mattéo Rossillol‑‑Laruelle 2024-08-23 19:28:16 UTC
(In reply to Eli Schwartz from comment #9)
> (In reply to jospezial from comment #8)
> > Can we guard inherit python-single-r1 also?
> 
> I have no real idea what you mean by that.
> 
> Also I don't understand the summary change (or the fact that the bug has
> been reopened)?

I suppose jospezial talked about something like `use tools && inherit python-single-r1` which is not possible if I'm not mistaken.
Comment 11 jospezial 2024-08-23 20:20:14 UTC
(In reply to Mattéo Rossillol‑‑Laruelle from comment #10)
> (In reply to Eli Schwartz from comment #9)
> > (In reply to jospezial from comment #8)
> > > Can we guard inherit python-single-r1 also?
> > 
> > I have no real idea what you mean by that.
> > 
> > Also I don't understand the summary change (or the fact that the bug has
> > been reopened)?
> 
> I suppose jospezial talked about something like `use tools && inherit
> python-single-r1` which is not possible if I'm not mistaken.

Yes, that is what I meant.
I was not sure about the inherit, because in live ebuilds we also have a conditional inherit of git-r3 for example.
I was told to not comment on closed bugs some time ago, so took the chance and I reopened.
I wanted to edit the summary because now this was about more than one python thing. I had already had another summary in mind.
I can live with how the package is for now. Sorry, if I have annoyed someone.
Comment 12 Eli Schwartz gentoo-dev 2024-08-23 22:11:49 UTC
(In reply to jospezial from comment #11)
> Yes, that is what I meant.
> I was not sure about the inherit, because in live ebuilds we also have a
> conditional inherit of git-r3 for example.


Metadata invariance does not permit the possibility of conditional logic at global scope. This means you cannot check a USE flag and do different things outside of a function -- instead, certain types of metadata have their own conditional grammar in the form of "useflag? ( ... )".


Conditional inherits of git-r3 are different. Those are based on static information (the PV variable comes from the filename) and are used to allow sharing implementation of multiple versions in a single file. Within the context of a single ebuild file, there is nothing conditional since only a filename "benchmark-9999.ebuild" will ever execute the "inherit git-r3" line.

This means that use of

if [[ ${PV} = *9999 ]]; then 
    # conditional logic goes here
fi

does not violate any rules, even though basically any other "if" statement would. In particular, "if use tools". (Yes, the use of "if" instead of "&&" is irrelevant here)

(In reply to jospezial from comment #11)
> I was told to not comment on closed bugs some time ago, so took the chance
> and I reopened.
> I wanted to edit the summary because now this was about more than one python
> thing. I had already had another summary in mind.


Commenting on closed bugs with information about the original bug report is fine. Reporting a new, unrelated bug inside of an existing closed bug is probably what people were talking about when they advised that it is best not to comment on closed bugs. I suspect what they actually meant to say is "best not to comment on bugs with information that isn't related to the bug itself".


It's fine to comment on this existing closed bug with a comment or question about the commit which references this bug, I suppose. :)