* Package name : golang-github-dgraph-io-badger-v4
Version : 4.9.6
Upstream Author : Hypermode Inc. <hello@hypermode.com>
* URL : https://github.com/hypermodeinc/badger
* License : Apache-2.0, BSD-3-clause
Programming Lang: Go
Description : embeddable, persistent and fast key-value database in Go
BadgerDB is an embeddable, persistent and fast key-value (KV) database written
in pure Go. It is the underlying database for Dgraph, a distributed graph
database. It uses an LSM tree with the values kept in a separate value log,
and supports ACID transactions with serializable snapshot isolation.
This is a rename of the existing badger source package, needed for the Go
team's Module-Aware Build Transition:
https://wiki.debian.org/Teams/DebianGoTeam/ModuleAwareBuilds
Upstream's go.mod has declared "module github.com/dgraph-io/badger/v4" since
4.0, but golang-github-dgraph-io-badger-dev 4.8.0-2, the version in unstable,
installs the library under
/usr/share/gocode/src/github.com/dgraph-io/badger/ with no /v4 suffix. Module
path and install path disagree, so under module-aware builds badger's own
internal github.com/dgraph-io/badger/v4/... imports do not resolve, and no
import-path mapping in a consumer can bridge that.
golang-github-transparency-dev-tessera-dev, which imports
github.com/dgraph-io/badger/v4, hits this as soon as it is ported. The other
reverse dependency, golang-github-smallstep-nosql-dev, imports the unsuffixed
path and github.com/dgraph-io/badger/v2, so it stays with the legacy package.
The migration FAQ says an import path change needs a new source package and a
new ITP, and that legacy -dev packages are to be left untouched, hence this
bug rather than a rename in place. The existing badger source is not modified
and keeps /usr/bin/badger; this source ships the library only, at the path its
go.mod declares, with the -v4-dev suffix lintian asks for
(go-library-package-does-not-include-version). It builds with dh-go.
I ran into this while packaging go-nix (ITP #1148637), a dependency of syft
(ITP #1124819). go-nix's derivation store imports badger/v3, so I patched it
to badger/v4, the version Debian carries; that import then could not resolve,
because the packaged library does not live at its /v4 path. The choice was to
drop two directories from go-nix or to fix the path. go-nix now
build-depends on this package.
I intend to maintain this package inside the Debian Go Packaging Team. Simon
Josefsson, who made the last two uploads of the legacy badger source, is
copied on this bug. Andreas Henriksson is its listed Uploader; both are of
course welcome in Uploaders here.