Start: 2024-08-23 05:15:57 GMT [bookworm] Package: golang-github-bmatsuo-lmdb-go-dev Source: golang-github-bmatsuo-lmdb-go Version: 1.8.0+git20170215.a14b5a3-4 Installed-Size: 679 Maintainer: Debian Go Packaging Team Architecture: all Depends: golang-golang-x-net-dev Description: Bindings for the LMDB C library Homepage: https://github.com/bmatsuo/lmdb-go Description-md5: f41a76e1b1bf0e4f43708627e519ab38 Section: golang Priority: optional Filename: pool/main/g/golang-github-bmatsuo-lmdb-go/golang-github-bmatsuo-lmdb-go-dev_1.8.0+git20170215.a14b5a3-4_all.deb Size: 145192 MD5sum: 6b48f315476a892e55f7aa09201d8130 SHA256: 7e815039a9f59e4bf76af2717b3defad107f126a4eac9d4780a598f95195f144 [bookworm-next] Package: golang-github-bmatsuo-lmdb-go-dev Source: golang-github-bmatsuo-lmdb-go Version: 1.8.0+git20170215.a14b5a3-4 Installed-Size: 679 Maintainer: Debian Go Packaging Team Architecture: all Depends: golang-golang-x-net-dev Description: Bindings for the LMDB C library Homepage: https://github.com/bmatsuo/lmdb-go Description-md5: f41a76e1b1bf0e4f43708627e519ab38 Section: golang Priority: optional Filename: pool/main/g/golang-github-bmatsuo-lmdb-go/golang-github-bmatsuo-lmdb-go-dev_1.8.0+git20170215.a14b5a3-4_all.deb Size: 145192 MD5sum: 6b48f315476a892e55f7aa09201d8130 SHA256: 7e815039a9f59e4bf76af2717b3defad107f126a4eac9d4780a598f95195f144 Executing: sudo env PYTHONPATH=/srv/piuparts.debian.org/lib/python3/dist-packages timeout -s INT -k 5m 80m /srv/piuparts.debian.org/sbin/piuparts --scriptsdir /etc/piuparts/scripts --no-eatmydata --allow-database --warn-on-leftovers-after-purge --warn-on-usr-move fail --mirror 'http://deb.debian.org/debian/ main' --tmpdir /srv/piuparts.debian.org/tmp --arch amd64 -b /srv/piuparts.debian.org/slave/basetgz/bookworm-merged-usr_amd64.tar.gz -d bookworm -d bookworm-next -B /srv/piuparts.debian.org/slave/refchroot/bookworm2next/reference-chroot-metadata.dat --apt golang-github-bmatsuo-lmdb-go-dev=1.8.0+git20170215.a14b5a3-4 0m0.0s INFO: ------------------------------------------------------------------------------ 0m0.0s INFO: To quickly glance what went wrong, scroll down to the bottom of this logfile. 0m0.0s INFO: FAQ available at https://wiki.debian.org/piuparts/FAQ 0m0.0s INFO: The FAQ also explains how to contact us in case you think piuparts is wrong. 0m0.0s INFO: ------------------------------------------------------------------------------ 0m0.0s INFO: piuparts version 1.4.4~202408201642~1.4.3-11-g36a88c35 starting up. 0m0.0s INFO: Command line arguments: /srv/piuparts.debian.org/sbin/piuparts --scriptsdir /etc/piuparts/scripts --no-eatmydata --allow-database --warn-on-leftovers-after-purge --warn-on-usr-move fail --mirror 'http://deb.debian.org/debian/ main' --tmpdir /srv/piuparts.debian.org/tmp --arch amd64 -b /srv/piuparts.debian.org/slave/basetgz/bookworm-merged-usr_amd64.tar.gz -d bookworm -d bookworm-next -B /srv/piuparts.debian.org/slave/refchroot/bookworm2next/reference-chroot-metadata.dat --apt golang-github-bmatsuo-lmdb-go-dev=1.8.0+git20170215.a14b5a3-4 0m0.0s INFO: Running on: Linux piu-slave-conova-01 5.10.0-32-amd64 #1 SMP Debian 5.10.223-1 (2024-08-10) x86_64 0m0.0s DEBUG: Created temporary directory /srv/piuparts.debian.org/tmp/tmpdsc1_cv1 0m0.0s DEBUG: Unpacking /srv/piuparts.debian.org/slave/basetgz/bookworm-merged-usr_amd64.tar.gz into /srv/piuparts.debian.org/tmp/tmpdsc1_cv1 0m0.0s DEBUG: Starting command: ['tar', '-C', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', '--auto-compress', '-xf', '/srv/piuparts.debian.org/slave/basetgz/bookworm-merged-usr_amd64.tar.gz'] 0m0.3s DEBUG: Command ok: ['tar', '-C', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', '--auto-compress', '-xf', '/srv/piuparts.debian.org/slave/basetgz/bookworm-merged-usr_amd64.tar.gz'] 0m0.3s DEBUG: Starting command: ['mount', '-t', 'proc', 'proc', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/proc'] 0m0.3s DEBUG: Command ok: ['mount', '-t', 'proc', 'proc', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/proc'] 0m0.3s DEBUG: Starting command: ['mount', '-t', 'devpts', '-o', 'newinstance,noexec,nosuid,gid=5,mode=0620,ptmxmode=0666', 'devpts', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/dev/pts'] 0m0.4s DEBUG: Command ok: ['mount', '-t', 'devpts', '-o', 'newinstance,noexec,nosuid,gid=5,mode=0620,ptmxmode=0666', 'devpts', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/dev/pts'] 0m0.4s DEBUG: Starting command: ['mount', '-o', 'bind', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/dev/pts/ptmx', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/dev/ptmx'] 0m0.4s DEBUG: Command ok: ['mount', '-o', 'bind', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/dev/pts/ptmx', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/dev/ptmx'] 0m0.4s DEBUG: Starting command: ['mount', '-o', 'bind', '/dev/pts/2', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/dev/console'] 0m0.4s DEBUG: Command ok: ['mount', '-o', 'bind', '/dev/pts/2', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/dev/console'] 0m0.4s DEBUG: Starting command: ['mount', '-t', 'tmpfs', '-o', 'size=65536k', 'tmpfs', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/dev/shm'] 0m0.4s DEBUG: Command ok: ['mount', '-t', 'tmpfs', '-o', 'size=65536k', 'tmpfs', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/dev/shm'] 0m0.4s DEBUG: sources.list: deb http://deb.debian.org/debian/ bookworm main 0m0.4s DEBUG: Created policy-rc.d and chmodded it. 0m0.4s DEBUG: Created resolv.conf. 0m0.4s DEBUG: Copying scriptsdir /etc/piuparts/scripts to /srv/piuparts.debian.org/tmp/tmpdsc1_cv1/tmp/scripts/ 0m0.4s INFO: Running scripts post_chroot_unpack 0m0.4s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_chroot_unpack_allow_unauthenticated'] 0m0.4s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_chroot_unpack_allow_unauthenticated'] 0m0.4s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-get', 'update'] 0m1.2s DUMP: Hit:1 http://deb.debian.org/debian bookworm InRelease Reading package lists... 0m1.2s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-get', 'update'] 0m1.2s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-get', '-yf', 'dist-upgrade'] 0m1.5s DUMP: Reading package lists... Building dependency tree... Calculating upgrade... 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 0m1.5s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-get', '-yf', 'dist-upgrade'] 0m1.5s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'sh', '-c', 'apt-cache dumpavail | md5sum'] 0m1.9s DUMP: 913e17be84ed63a3110ce3137c1d003a - 0m1.9s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'sh', '-c', 'apt-cache dumpavail | md5sum'] 0m1.9s INFO: Running scripts post_setup 0m1.9s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_setup_dummy_users'] 0m2.8s DUMP: useradd warning: dummy1000's uid 1000 is greater than SYS_UID_MAX 999 useradd warning: dummy1001's uid 1001 is greater than SYS_UID_MAX 999 useradd warning: dummy1002's uid 1002 is greater than SYS_UID_MAX 999 useradd warning: dummy1003's uid 1003 is greater than SYS_UID_MAX 999 useradd warning: dummy1004's uid 1004 is greater than SYS_UID_MAX 999 useradd warning: dummy1005's uid 1005 is greater than SYS_UID_MAX 999 useradd warning: dummy1006's uid 1006 is greater than SYS_UID_MAX 999 useradd warning: dummy1007's uid 1007 is greater than SYS_UID_MAX 999 useradd warning: dummy1008's uid 1008 is greater than SYS_UID_MAX 999 useradd warning: dummy1009's uid 1009 is greater than SYS_UID_MAX 999 useradd warning: dummy1010's uid 1010 is greater than SYS_UID_MAX 999 0m2.8s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_setup_dummy_users'] 0m2.8s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_setup_forbid_home'] 0m2.8s DUMP: Disabling /home Adding 'local diversion of /home to /home.distrib' 0m2.8s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_setup_forbid_home'] 0m2.8s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_setup_force-unsafe-io'] 0m2.9s DUMP: Enabling dpkg --force-unsafe-io. Adding 'local diversion of /usr/bin/sync to /usr/bin/sync.distrib' Adding 'local diversion of /bin/sync to /bin/sync.distrib.usr-is-merged' '/bin/sync' -> 'true' 0m2.9s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_setup_force-unsafe-io'] 0m2.9s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_setup_minimize'] 0m2.9s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_setup_minimize'] 0m2.9s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_setup_squeeze-backports'] 0m2.9s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_setup_squeeze-backports'] 0m2.9s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_setup_zz_backports'] 0m2.9s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_setup_zz_backports'] 0m2.9s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'dpkg-query', '-W', '-f', '${Status}\\t${binary:Package}\\t${Package}\\t${Version}\\n'] 0m2.9s DUMP: install ok installed adduser adduser 3.134 install ok installed apt apt 2.6.1 install ok installed base-files base-files 12.4+deb12u6 install ok installed base-passwd base-passwd 3.6.1 install ok installed bash bash 5.2.15-2+b7 install ok installed bsdutils bsdutils 1:2.38.1-5+deb12u1 install ok installed coreutils coreutils 9.1-1 install ok installed dash dash 0.5.12-2 install ok installed debconf debconf 1.5.82 install ok installed debian-archive-keyring debian-archive-keyring 2023.3+deb12u1 install ok installed debianutils debianutils 5.7-0.5~deb12u1 install ok installed diffutils diffutils 1:3.8-4 install ok installed dpkg dpkg 1.21.22 install ok installed e2fsprogs e2fsprogs 1.47.0-2 install ok installed findutils findutils 4.9.0-4 install ok installed gcc-12-base:amd64 gcc-12-base 12.2.0-14 install ok installed gpgv gpgv 2.2.40-1.1 install ok installed grep grep 3.8-5 install ok installed gzip gzip 1.12-1 install ok installed hostname hostname 3.23+nmu1 install ok installed init-system-helpers init-system-helpers 1.65.2 install ok installed libacl1:amd64 libacl1 2.3.1-3 install ok installed libapt-pkg6.0:amd64 libapt-pkg6.0 2.6.1 install ok installed libattr1:amd64 libattr1 1:2.5.1-4 install ok installed libaudit-common libaudit-common 1:3.0.9-1 install ok installed libaudit1:amd64 libaudit1 1:3.0.9-1 install ok installed libblkid1:amd64 libblkid1 2.38.1-5+deb12u1 install ok installed libbz2-1.0:amd64 libbz2-1.0 1.0.8-5+b1 install ok installed libc-bin libc-bin 2.36-9+deb12u7 install ok installed libc6:amd64 libc6 2.36-9+deb12u7 install ok installed libcap-ng0:amd64 libcap-ng0 0.8.3-1+b3 install ok installed libcap2:amd64 libcap2 1:2.66-4 install ok installed libcom-err2:amd64 libcom-err2 1.47.0-2 install ok installed libcrypt1:amd64 libcrypt1 1:4.4.33-2 install ok installed libdb5.3:amd64 libdb5.3 5.3.28+dfsg2-1 install ok installed libdebconfclient0:amd64 libdebconfclient0 0.270 install ok installed libext2fs2:amd64 libext2fs2 1.47.0-2 install ok installed libffi8:amd64 libffi8 3.4.4-1 install ok installed libgcc-s1:amd64 libgcc-s1 12.2.0-14 install ok installed libgcrypt20:amd64 libgcrypt20 1.10.1-3 install ok installed libgmp10:amd64 libgmp10 2:6.2.1+dfsg1-1.1 install ok installed libgnutls30:amd64 libgnutls30 3.7.9-2+deb12u3 install ok installed libgpg-error0:amd64 libgpg-error0 1.46-1 install ok installed libhogweed6:amd64 libhogweed6 3.8.1-2 install ok installed libidn2-0:amd64 libidn2-0 2.3.3-1+b1 install ok installed liblz4-1:amd64 liblz4-1 1.9.4-1 install ok installed liblzma5:amd64 liblzma5 5.4.1-0.2 install ok installed libmd0:amd64 libmd0 1.0.4-2 install ok installed libmount1:amd64 libmount1 2.38.1-5+deb12u1 install ok installed libnettle8:amd64 libnettle8 3.8.1-2 install ok installed libp11-kit0:amd64 libp11-kit0 0.24.1-2 install ok installed libpam-modules:amd64 libpam-modules 1.5.2-6+deb12u1 install ok installed libpam-modules-bin libpam-modules-bin 1.5.2-6+deb12u1 install ok installed libpam-runtime libpam-runtime 1.5.2-6+deb12u1 install ok installed libpam0g:amd64 libpam0g 1.5.2-6+deb12u1 install ok installed libpcre2-8-0:amd64 libpcre2-8-0 10.42-1 install ok installed libseccomp2:amd64 libseccomp2 2.5.4-1+deb12u1 install ok installed libselinux1:amd64 libselinux1 3.4-1+b6 install ok installed libsemanage-common libsemanage-common 3.4-1 install ok installed libsemanage2:amd64 libsemanage2 3.4-1+b5 install ok installed libsepol2:amd64 libsepol2 3.4-2.1 install ok installed libsmartcols1:amd64 libsmartcols1 2.38.1-5+deb12u1 install ok installed libss2:amd64 libss2 1.47.0-2 install ok installed libstdc++6:amd64 libstdc++6 12.2.0-14 install ok installed libsystemd0:amd64 libsystemd0 252.26-1~deb12u2 install ok installed libtasn1-6:amd64 libtasn1-6 4.19.0-2 install ok installed libtinfo6:amd64 libtinfo6 6.4-4 install ok installed libudev1:amd64 libudev1 252.26-1~deb12u2 install ok installed libunistring2:amd64 libunistring2 1.0-2 install ok installed libuuid1:amd64 libuuid1 2.38.1-5+deb12u1 install ok installed libxxhash0:amd64 libxxhash0 0.8.1-1 install ok installed libzstd1:amd64 libzstd1 1.5.4+dfsg2-5 install ok installed login login 1:4.13+dfsg1-1+b1 install ok installed logsave logsave 1.47.0-2 install ok installed mawk mawk 1.3.4.20200120-3.1 install ok installed mount mount 2.38.1-5+deb12u1 install ok installed ncurses-base ncurses-base 6.4-4 install ok installed ncurses-bin ncurses-bin 6.4-4 install ok installed passwd passwd 1:4.13+dfsg1-1+b1 install ok installed perl-base perl-base 5.36.0-7+deb12u1 install ok installed sed sed 4.9-1 install ok installed sysvinit-utils sysvinit-utils 3.06-4 install ok installed tar tar 1.34+dfsg-1.2+deb12u1 install ok installed tzdata tzdata 2024a-0+deb12u1 install ok installed usr-is-merged usr-is-merged 37~deb12u1 install ok installed util-linux util-linux 2.38.1-5+deb12u1 install ok installed util-linux-extra util-linux-extra 2.38.1-5+deb12u1 install ok installed zlib1g:amd64 zlib1g 1:1.2.13.dfsg-1 0m2.9s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'dpkg-query', '-W', '-f', '${Status}\\t${binary:Package}\\t${Package}\\t${Version}\\n'] 0m2.9s DEBUG: Loading chroot meta data from /srv/piuparts.debian.org/slave/refchroot/bookworm2next/reference-chroot-metadata.dat 0m2.9s DEBUG: Starting command: ['lsof', '-w', '+D', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1'] 0m3.3s DEBUG: Command failed (status=1), but ignoring error: ['lsof', '-w', '+D', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1'] 0m3.3s INFO: Running scripts is_testable 0m3.3s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/is_testable_uninstallable'] 0m3.3s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/is_testable_uninstallable'] 0m3.3s INFO: Running scripts pre_test 0m3.3s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_test_exceptions'] 0m3.4s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_test_exceptions'] 0m3.4s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_test_root_password'] 0m3.4s DUMP: New password: Retype new password: passwd: password updated successfully 0m3.4s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_test_root_password'] 0m3.4s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-cache', 'show', '--no-all-versions', 'golang-github-bmatsuo-lmdb-go-dev'] 0m3.7s DUMP: Package: golang-github-bmatsuo-lmdb-go-dev Source: golang-github-bmatsuo-lmdb-go Version: 1.8.0+git20170215.a14b5a3-4 Installed-Size: 679 Maintainer: Debian Go Packaging Team Architecture: all Depends: golang-golang-x-net-dev Description-en: Bindings for the LMDB C library Go bindings to the OpenLDAP Lightning Memory-Mapped Database (LMDB). Packages Functionality is logically divided into several packages. Applications will usually need to import lmdb but may import other packages on an as needed basis. . Packages in the exp/ directory are not stable and may change without warning. That said, they are generally usable if application dependencies are managed and pinned by tag/commit. . Developers concerned with package stability should consult the documentation. lmdb GoDoc (https://godoc.org/github.com/bmatsuo/lmdb-go/lmdb) stable (#user-content-versioning-and-stability) go import "github.com/bmatsuo/lmdb-go/lmdb" . Core bindings allowing low-level access to LMDB. lmdbscan GoDoc (https://godoc.org/github.com/bmatsuo/lmdb-go/lmdbscan) stable (#user-content-versioning-and-stability) go import "github.com/bmatsuo/lmdb-go/lmdbscan" . A utility package for scanning database ranges. The API is inspired by bufio.Scanner (https://godoc.org/bufio#Scanner) and the python cursor implementation (https://lmdb.readthedocs.org/en/release/#cursor-class). exp/lmdbpool GoDoc (https://godoc.org/github.com/bmatsuo/lmdb-go/exp/lmdbpool) experimental (#user-content-versioning-and-stability) go import "github.com/bmatsuo/lmdb-go/exp/lmdbpool" . A utility package which facilitates reuse of lmdb.Txn objects using a sync.Pool. Naively storing lmdb.Txn objects in sync.Pool can be troublesome. And the lmdbpool.TxnPool type has been defined as a complete pooling solution and as reference for applications attempting to write their own pooling implementation. . The lmdbpool package is relatively new. But it has a lot of potential utility. And once the lmdbpool API has been ironed out, and the implementation hardened through use by real applications it can be integrated directly into the lmdb package for more transparent integration. Please test this package and provide feedback to speed this process up. exp/lmdbsync GoDoc (https://godoc.org/github.com/bmatsuo/lmdb-go/exp/lmdbsync) experimental (#user-content-versioning-and-stability) go import "github.com/bmatsuo/lmdb-go/exp/lmdbsync" . An experimental utility package that provides synchronization necessary to change an environment's map size after initialization. The package provides error handlers to automatically manage database size and retry failed transactions. . The lmdbsync package is usable but the implementation of Handlers are unstable and may change in incompatible ways without notice. The use cases of dynamic map sizes and multiprocessing are niche and the package requires much more development driven by practical feedback before the Handler API and the provided implementations can be considered stable. Key Features: Idiomatic API inspired by BoltDB (https://github.com/boltdb/bolt) with automatic commit/rollback of transactions. The goal of lmdb-go is to provide idiomatic database interactions without compromising the flexibility of the C API. . NOTE: While the lmdb package tries hard to make LMDB as easy to use as possible there are compromises, gotchas, and caveats that application developers must be aware of when relying on LMDB to store their data. All users are encouraged to fully read the documentation (https://godoc.org/github.com/bmatsuo/lmdb-go/lmdb) so they are aware of these caveats. . Where the lmdb package and its implementation decisions do not meet the needs of application developers in terms of safety or operational use the lmdbsync package has been designed to wrap lmdb and safely fill in additional functionality. Consult the documentation (https://godoc.org/github.com/bmatsuo/lmdb-go/exp/lmdbsync) for more information about the lmdbsync package. API coverage The lmdb-go project aims for complete coverage of the LMDB C API (within reason). Some notable features and optimizations that are supported: ?? Idiomatic subtransactions ("sub-updates") that allow the batching of updates.?? Batch IO on databases utilizing the MDB_DUPSORT and MDB_DUPFIXED flags.?? Reserved writes than can save in memory copies converting/buffering into []byte. For tracking purposes a list of unsupported features is kept in an issue (https://github.com/bmatsuo/lmdb-go/issues/1). Zero-copy reads Applications with high performance requirements can opt-in to fast, zero-copy reads at the cost of runtime safety. Zero-copy behavior is specified at the transaction level to reduce instrumentation overhead. . ``` err := lmdb.View(func(txn *lmdb.Txn) error { // RawRead enables zero-copy behavior with some serious caveats. // Read the documentation carefully before using. txn.RawRead = true val, err := txn.Get(dbi, []byte("largevalue"), 0) // ... . }) ``` Documentation Comprehensive documentation and examples are provided to demonstrate safe usage of lmdb. In addition to godoc (https://godoc.org/github.com/bmatsuo/lmdb-go) documentation, implementations of the standand LMDB commands (mdb_stat, etc) can be found in the cmd/ (cmd/) directory and some simple experimental commands can be found in the exp/cmd/ (exp/cmd) directory. Aside from providing minor utility these programs are provided as examples of lmdb in practice. LMDB compared to BoltDB: BoltDB is a quality database with a design similar to LMDB. Both store key-value data in a file and provide ACID transactions. So there are often questions of why to use one database or the other. Advantages of BoltDB?? Nested databases allow for hierarchical data organization.?? Far more databases can be accessed concurrently.?? Operating systems that do not support sparse files do not use up excessive space due to a large pre-allocation of file space. The exp/lmdbsync package is intended to resolve this problem with LMDB but it is not ready.?? As a pure Go package bolt can be easily cross-compiled using the go toolchain and GOOS/GOARCH variables.?? Its simpler design and implementation in pure Go mean it is free of many caveats and gotchas which are present using the lmdb package. For more information about caveats with the lmdb package, consult its documentation (https://godoc.org/github.com/bmatsuo/lmdb-go/lmdb).Advantages of LMDB?? Keys can contain multiple values using the DupSort flag.?? Updates can have sub-updates for atomic batching of changes.?? Databases typically remain open for the application lifetime. This limits the number of concurrently accessible databases. But, this minimizes the overhead of database accesses and typically produces cleaner code than an equivalent BoltDB implementation.?? Significantly faster than BoltDB. The raw speed of LMDB easily surpasses BoltDB. Additionally, LMDB provides optimizations ranging from safe, feature-specific optimizations to generally unsafe, extremely situational ones. Applications are free to enable any optimizations that fit their data, access, and reliability models.?? LMDB allows multiple applications to access a database simultaneously. Updates from concurrent processes are synchronized using a database lock file.?? As a C library, applications in any language can interact with LMDB databases. Mission critical Go applications can use a database while Python scripts perform analysis on the side.Build There is no dependency on shared libraries. So most users can simply install using go get. . go get github.com/bmatsuo/lmdb-go/lmdb . On FreeBSD 10, you must explicitly set CC (otherwise it will fail with a cryptic error), for example: CC=clang go test -v ./... . Building commands and running tests can be done with go or with make: make bin ; make test ; make check ; make all . On Linux, you can specify the pwritev build tag to reduce the number of syscalls required when committing a transaction. In your own package you can then do go build -tags pwritev . . to enable the optimisation. DocumentationGo doc The go doc documentation available on godoc.org (https://godoc.org/github.com/bmatsuo/lmdb-go) is the primary source of developer documentation for lmdb-go. It provides an overview of the API with a lot of usage examples. Where necessary the documentation points out differences between the semantics of methods and their C counterparts. LMDB The LMDB homepage (http://symas.com/mdb/) and mailing list (archives (http://www.openldap.org/lists/openldap-technical/)) are the official source of documentation regarding low-level LMDB operation and internals. . Along with an API reference LMDB provides a high-level summary (http://symas.com/mdb/doc/starting.html) of the library. While lmdb-go abstracts many of the thread and transaction details by default the rest of the guide is still useful to compare with go doc. Versioning and Stability The lmdb-go project makes regular releases with IDs X.Y.Z. All packages outside of the exp/ directory are considered stable and adhere to the guidelines of semantic versioning (http://semver.org/). . Experimental packages (those packages in exp/) are not required to adhere to semantic versioning. However packages specifically declared to merely be "unstable" can be relied on more for long term use with less concern. . The API of an unstable package may change in subtle ways between minor release versions. But deprecations will be indicated at least one release in advance and all functionality will remain available through some method. License Except where otherwise noted files in the lmdb-go project are licensed under the BSD 3-clause open source license. . The LMDB C source is licensed under the OpenLDAP Public License. Linksgithub.com/bmatsuo/raft-mdb (https://github.com/bmatsuo/raft-mdb) (godoc (https://godoc.org/github.com/bmatsuo/raft-mdb)) An experimental backend for github.com/hashicorp/raft (https://github.com/hashicorp/raft) forked from github.com/hashicorp/raft-mdb (https://github.com/hashicorp/raft-mdb). github.com/bmatsuo/cayley/graph/lmdb (https://github.com/bmatsuo/cayley/tree/master/graph/lmdb) (godoc (https://godoc.org/github.com/bmatsuo/cayley/graph/lmdb)) Experimental backend quad-store for github.com/google/cayley (https://github.com/google/cayley) based off of the BoltDB implementation (https://github.com/google/cayley/tree/master/graph/bolt). Description-md5: f41a76e1b1bf0e4f43708627e519ab38 Homepage: https://github.com/bmatsuo/lmdb-go Section: golang Priority: optional Filename: pool/main/g/golang-github-bmatsuo-lmdb-go/golang-github-bmatsuo-lmdb-go-dev_1.8.0+git20170215.a14b5a3-4_all.deb Size: 145192 MD5sum: 6b48f315476a892e55f7aa09201d8130 SHA256: 7e815039a9f59e4bf76af2717b3defad107f126a4eac9d4780a598f95195f144 0m3.7s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-cache', 'show', '--no-all-versions', 'golang-github-bmatsuo-lmdb-go-dev'] 0m3.7s INFO: apt-cache knows about the following packages: golang-github-bmatsuo-lmdb-go-dev 0m3.7s INFO: Running scripts pre_install 0m3.7s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_database-server'] 0m3.7s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_database-server'] 0m3.7s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_exceptions'] 0m3.7s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_exceptions'] 0m3.7s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_extras'] 0m3.7s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_extras'] 0m3.7s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_foreign_architecture'] 0m3.7s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_foreign_architecture'] 0m3.7s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_foreign_architecture_i386'] 0m3.8s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_foreign_architecture_i386'] 0m3.8s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-cache', 'policy'] 0m3.9s DUMP: Package files: 100 /var/lib/dpkg/status release a=now 500 http://deb.debian.org/debian bookworm/main amd64 Packages release v=12.6,o=Debian,a=stable,n=bookworm,l=Debian,c=main,b=amd64 origin deb.debian.org Pinned packages: 0m3.9s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-cache', 'policy'] 0m3.9s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-cache', 'policy', 'golang-github-bmatsuo-lmdb-go-dev'] 0m3.9s DUMP: golang-github-bmatsuo-lmdb-go-dev: Installed: (none) Candidate: 1.8.0+git20170215.a14b5a3-4 Version table: 1.8.0+git20170215.a14b5a3-4 500 500 http://deb.debian.org/debian bookworm/main amd64 Packages 0m3.9s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-cache', 'policy', 'golang-github-bmatsuo-lmdb-go-dev'] 0m3.9s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-get', '-y', 'install', 'golang-github-bmatsuo-lmdb-go-dev'] 0m5.4s DUMP: Reading package lists... Building dependency tree... The following additional packages will be installed: golang-golang-x-net-dev golang-golang-x-sys-dev golang-golang-x-text-dev The following NEW packages will be installed: golang-github-bmatsuo-lmdb-go-dev golang-golang-x-net-dev golang-golang-x-sys-dev golang-golang-x-text-dev 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. Need to get 5132 kB of archives. After this operation, 51.4 MB of additional disk space will be used. Get:1 http://deb.debian.org/debian bookworm/main amd64 golang-golang-x-sys-dev all 0.3.0-1 [393 kB] Get:2 http://deb.debian.org/debian bookworm/main amd64 golang-golang-x-text-dev all 0.7.0-1 [3863 kB] Get:3 http://deb.debian.org/debian bookworm/main amd64 golang-golang-x-net-dev all 1:0.7.0+dfsg-1 [731 kB] Get:4 http://deb.debian.org/debian bookworm/main amd64 golang-github-bmatsuo-lmdb-go-dev all 1.8.0+git20170215.a14b5a3-4 [145 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 5132 kB in 0s (52.2 MB/s) Selecting previously unselected package golang-golang-x-sys-dev. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 6093 files and directories currently installed.) Preparing to unpack .../golang-golang-x-sys-dev_0.3.0-1_all.deb ... Unpacking golang-golang-x-sys-dev (0.3.0-1) ... Selecting previously unselected package golang-golang-x-text-dev. Preparing to unpack .../golang-golang-x-text-dev_0.7.0-1_all.deb ... Unpacking golang-golang-x-text-dev (0.7.0-1) ... Selecting previously unselected package golang-golang-x-net-dev. Preparing to unpack .../golang-golang-x-net-dev_1%3a0.7.0+dfsg-1_all.deb ... Unpacking golang-golang-x-net-dev (1:0.7.0+dfsg-1) ... Selecting previously unselected package golang-github-bmatsuo-lmdb-go-dev. Preparing to unpack .../golang-github-bmatsuo-lmdb-go-dev_1.8.0+git20170215.a14b5a3-4_all.deb ... Unpacking golang-github-bmatsuo-lmdb-go-dev (1.8.0+git20170215.a14b5a3-4) ... Setting up golang-golang-x-sys-dev (0.3.0-1) ... Setting up golang-golang-x-text-dev (0.7.0-1) ... Setting up golang-golang-x-net-dev (1:0.7.0+dfsg-1) ... Setting up golang-github-bmatsuo-lmdb-go-dev (1.8.0+git20170215.a14b5a3-4) ... 0m5.4s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-get', '-y', 'install', 'golang-github-bmatsuo-lmdb-go-dev'] 0m5.4s INFO: Running scripts post_install 0m5.4s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_install_exceptions'] 0m5.4s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_install_exceptions'] 0m5.4s DEBUG: Starting command: ['lsof', '-w', '+D', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1'] 0m5.8s DEBUG: Command failed (status=1), but ignoring error: ['lsof', '-w', '+D', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1'] 0m5.8s DEBUG: Upgrading /srv/piuparts.debian.org/tmp/tmpdsc1_cv1 to bookworm-next 0m5.8s DEBUG: sources.list: deb http://deb.debian.org/debian/ bookworm main deb http://security.debian.org bookworm-security main deb http://deb.debian.org/debian/ bookworm-updates main deb http://deb.debian.org/debian/ bookworm-proposed-updates main 0m5.8s INFO: Running scripts pre_distupgrade 0m5.8s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_distupgrade_allow_unauthenticated'] 0m5.8s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_distupgrade_allow_unauthenticated'] 0m5.8s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_distupgrade_exceptions'] 0m5.8s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_distupgrade_exceptions'] 0m5.8s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_distupgrade_foreign_architecture_i386'] 0m5.8s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_distupgrade_foreign_architecture_i386'] 0m5.8s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_distupgrade_zz_database-server'] 0m5.8s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_distupgrade_zz_database-server'] 0m5.8s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_distupgrade_zz_upgrade_early'] 0m5.8s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_distupgrade_zz_upgrade_early'] 0m5.8s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-get', 'update'] 0m7.3s DUMP: Get:1 http://security.debian.org bookworm-security InRelease [48.0 kB] Hit:2 http://deb.debian.org/debian bookworm InRelease Get:3 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB] Get:4 http://deb.debian.org/debian bookworm-proposed-updates InRelease [59.5 kB] Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [13.8 kB] Get:6 http://deb.debian.org/debian bookworm-updates/main Translation-en [16.0 kB] Get:7 http://security.debian.org bookworm-security/main amd64 Packages [176 kB] Get:8 http://security.debian.org bookworm-security/main Translation-en [106 kB] Get:9 http://deb.debian.org/debian bookworm-proposed-updates/main amd64 Packages [111 kB] Get:10 http://deb.debian.org/debian bookworm-proposed-updates/main Translation-en [64.4 kB] Fetched 650 kB in 1s (733 kB/s) Reading package lists... 0m7.3s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-get', 'update'] 0m7.3s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-get', '-yf', 'dist-upgrade'] 0m8.7s DUMP: Reading package lists... Building dependency tree... Reading state information... Calculating upgrade... The following packages will be upgraded: libc-bin libc6 libsystemd0 libudev1 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 3803 kB of archives. After this operation, 1024 B of additional disk space will be used. Get:1 http://deb.debian.org/debian bookworm-proposed-updates/main amd64 libc6 amd64 2.36-9+deb12u8 [2754 kB] Get:2 http://deb.debian.org/debian bookworm-proposed-updates/main amd64 libc-bin amd64 2.36-9+deb12u8 [608 kB] Get:3 http://deb.debian.org/debian bookworm-proposed-updates/main amd64 libsystemd0 amd64 252.29-1~deb12u1 [332 kB] Get:4 http://deb.debian.org/debian bookworm-proposed-updates/main amd64 libudev1 amd64 252.29-1~deb12u1 [108 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 3803 kB in 0s (53.6 MB/s) (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 7833 files and directories currently installed.) Preparing to unpack .../libc6_2.36-9+deb12u8_amd64.deb ... Unpacking libc6:amd64 (2.36-9+deb12u8) over (2.36-9+deb12u7) ... Setting up libc6:amd64 (2.36-9+deb12u8) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 7833 files and directories currently installed.) Preparing to unpack .../libc-bin_2.36-9+deb12u8_amd64.deb ... Unpacking libc-bin (2.36-9+deb12u8) over (2.36-9+deb12u7) ... Setting up libc-bin (2.36-9+deb12u8) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 7833 files and directories currently installed.) Preparing to unpack .../libsystemd0_252.29-1~deb12u1_amd64.deb ... Unpacking libsystemd0:amd64 (252.29-1~deb12u1) over (252.26-1~deb12u2) ... Setting up libsystemd0:amd64 (252.29-1~deb12u1) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 7833 files and directories currently installed.) Preparing to unpack .../libudev1_252.29-1~deb12u1_amd64.deb ... Unpacking libudev1:amd64 (252.29-1~deb12u1) over (252.26-1~deb12u2) ... Setting up libudev1:amd64 (252.29-1~deb12u1) ... Processing triggers for libc-bin (2.36-9+deb12u8) ... 0m8.7s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-get', '-yf', 'dist-upgrade'] 0m8.7s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'sh', '-c', 'apt-cache dumpavail | md5sum'] 0m9.1s DUMP: a7383adc5fdea12f93db4552c396e73a - 0m9.1s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'sh', '-c', 'apt-cache dumpavail | md5sum'] 0m9.1s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-cache', 'show', '--no-all-versions', 'golang-github-bmatsuo-lmdb-go-dev'] 0m9.3s DUMP: Package: golang-github-bmatsuo-lmdb-go-dev Source: golang-github-bmatsuo-lmdb-go Version: 1.8.0+git20170215.a14b5a3-4 Installed-Size: 679 Maintainer: Debian Go Packaging Team Architecture: all Depends: golang-golang-x-net-dev Description-en: Bindings for the LMDB C library Go bindings to the OpenLDAP Lightning Memory-Mapped Database (LMDB). Packages Functionality is logically divided into several packages. Applications will usually need to import lmdb but may import other packages on an as needed basis. . Packages in the exp/ directory are not stable and may change without warning. That said, they are generally usable if application dependencies are managed and pinned by tag/commit. . Developers concerned with package stability should consult the documentation. lmdb GoDoc (https://godoc.org/github.com/bmatsuo/lmdb-go/lmdb) stable (#user-content-versioning-and-stability) go import "github.com/bmatsuo/lmdb-go/lmdb" . Core bindings allowing low-level access to LMDB. lmdbscan GoDoc (https://godoc.org/github.com/bmatsuo/lmdb-go/lmdbscan) stable (#user-content-versioning-and-stability) go import "github.com/bmatsuo/lmdb-go/lmdbscan" . A utility package for scanning database ranges. The API is inspired by bufio.Scanner (https://godoc.org/bufio#Scanner) and the python cursor implementation (https://lmdb.readthedocs.org/en/release/#cursor-class). exp/lmdbpool GoDoc (https://godoc.org/github.com/bmatsuo/lmdb-go/exp/lmdbpool) experimental (#user-content-versioning-and-stability) go import "github.com/bmatsuo/lmdb-go/exp/lmdbpool" . A utility package which facilitates reuse of lmdb.Txn objects using a sync.Pool. Naively storing lmdb.Txn objects in sync.Pool can be troublesome. And the lmdbpool.TxnPool type has been defined as a complete pooling solution and as reference for applications attempting to write their own pooling implementation. . The lmdbpool package is relatively new. But it has a lot of potential utility. And once the lmdbpool API has been ironed out, and the implementation hardened through use by real applications it can be integrated directly into the lmdb package for more transparent integration. Please test this package and provide feedback to speed this process up. exp/lmdbsync GoDoc (https://godoc.org/github.com/bmatsuo/lmdb-go/exp/lmdbsync) experimental (#user-content-versioning-and-stability) go import "github.com/bmatsuo/lmdb-go/exp/lmdbsync" . An experimental utility package that provides synchronization necessary to change an environment's map size after initialization. The package provides error handlers to automatically manage database size and retry failed transactions. . The lmdbsync package is usable but the implementation of Handlers are unstable and may change in incompatible ways without notice. The use cases of dynamic map sizes and multiprocessing are niche and the package requires much more development driven by practical feedback before the Handler API and the provided implementations can be considered stable. Key Features: Idiomatic API inspired by BoltDB (https://github.com/boltdb/bolt) with automatic commit/rollback of transactions. The goal of lmdb-go is to provide idiomatic database interactions without compromising the flexibility of the C API. . NOTE: While the lmdb package tries hard to make LMDB as easy to use as possible there are compromises, gotchas, and caveats that application developers must be aware of when relying on LMDB to store their data. All users are encouraged to fully read the documentation (https://godoc.org/github.com/bmatsuo/lmdb-go/lmdb) so they are aware of these caveats. . Where the lmdb package and its implementation decisions do not meet the needs of application developers in terms of safety or operational use the lmdbsync package has been designed to wrap lmdb and safely fill in additional functionality. Consult the documentation (https://godoc.org/github.com/bmatsuo/lmdb-go/exp/lmdbsync) for more information about the lmdbsync package. API coverage The lmdb-go project aims for complete coverage of the LMDB C API (within reason). Some notable features and optimizations that are supported: ?? Idiomatic subtransactions ("sub-updates") that allow the batching of updates.?? Batch IO on databases utilizing the MDB_DUPSORT and MDB_DUPFIXED flags.?? Reserved writes than can save in memory copies converting/buffering into []byte. For tracking purposes a list of unsupported features is kept in an issue (https://github.com/bmatsuo/lmdb-go/issues/1). Zero-copy reads Applications with high performance requirements can opt-in to fast, zero-copy reads at the cost of runtime safety. Zero-copy behavior is specified at the transaction level to reduce instrumentation overhead. . ``` err := lmdb.View(func(txn *lmdb.Txn) error { // RawRead enables zero-copy behavior with some serious caveats. // Read the documentation carefully before using. txn.RawRead = true val, err := txn.Get(dbi, []byte("largevalue"), 0) // ... . }) ``` Documentation Comprehensive documentation and examples are provided to demonstrate safe usage of lmdb. In addition to godoc (https://godoc.org/github.com/bmatsuo/lmdb-go) documentation, implementations of the standand LMDB commands (mdb_stat, etc) can be found in the cmd/ (cmd/) directory and some simple experimental commands can be found in the exp/cmd/ (exp/cmd) directory. Aside from providing minor utility these programs are provided as examples of lmdb in practice. LMDB compared to BoltDB: BoltDB is a quality database with a design similar to LMDB. Both store key-value data in a file and provide ACID transactions. So there are often questions of why to use one database or the other. Advantages of BoltDB?? Nested databases allow for hierarchical data organization.?? Far more databases can be accessed concurrently.?? Operating systems that do not support sparse files do not use up excessive space due to a large pre-allocation of file space. The exp/lmdbsync package is intended to resolve this problem with LMDB but it is not ready.?? As a pure Go package bolt can be easily cross-compiled using the go toolchain and GOOS/GOARCH variables.?? Its simpler design and implementation in pure Go mean it is free of many caveats and gotchas which are present using the lmdb package. For more information about caveats with the lmdb package, consult its documentation (https://godoc.org/github.com/bmatsuo/lmdb-go/lmdb).Advantages of LMDB?? Keys can contain multiple values using the DupSort flag.?? Updates can have sub-updates for atomic batching of changes.?? Databases typically remain open for the application lifetime. This limits the number of concurrently accessible databases. But, this minimizes the overhead of database accesses and typically produces cleaner code than an equivalent BoltDB implementation.?? Significantly faster than BoltDB. The raw speed of LMDB easily surpasses BoltDB. Additionally, LMDB provides optimizations ranging from safe, feature-specific optimizations to generally unsafe, extremely situational ones. Applications are free to enable any optimizations that fit their data, access, and reliability models.?? LMDB allows multiple applications to access a database simultaneously. Updates from concurrent processes are synchronized using a database lock file.?? As a C library, applications in any language can interact with LMDB databases. Mission critical Go applications can use a database while Python scripts perform analysis on the side.Build There is no dependency on shared libraries. So most users can simply install using go get. . go get github.com/bmatsuo/lmdb-go/lmdb . On FreeBSD 10, you must explicitly set CC (otherwise it will fail with a cryptic error), for example: CC=clang go test -v ./... . Building commands and running tests can be done with go or with make: make bin ; make test ; make check ; make all . On Linux, you can specify the pwritev build tag to reduce the number of syscalls required when committing a transaction. In your own package you can then do go build -tags pwritev . . to enable the optimisation. DocumentationGo doc The go doc documentation available on godoc.org (https://godoc.org/github.com/bmatsuo/lmdb-go) is the primary source of developer documentation for lmdb-go. It provides an overview of the API with a lot of usage examples. Where necessary the documentation points out differences between the semantics of methods and their C counterparts. LMDB The LMDB homepage (http://symas.com/mdb/) and mailing list (archives (http://www.openldap.org/lists/openldap-technical/)) are the official source of documentation regarding low-level LMDB operation and internals. . Along with an API reference LMDB provides a high-level summary (http://symas.com/mdb/doc/starting.html) of the library. While lmdb-go abstracts many of the thread and transaction details by default the rest of the guide is still useful to compare with go doc. Versioning and Stability The lmdb-go project makes regular releases with IDs X.Y.Z. All packages outside of the exp/ directory are considered stable and adhere to the guidelines of semantic versioning (http://semver.org/). . Experimental packages (those packages in exp/) are not required to adhere to semantic versioning. However packages specifically declared to merely be "unstable" can be relied on more for long term use with less concern. . The API of an unstable package may change in subtle ways between minor release versions. But deprecations will be indicated at least one release in advance and all functionality will remain available through some method. License Except where otherwise noted files in the lmdb-go project are licensed under the BSD 3-clause open source license. . The LMDB C source is licensed under the OpenLDAP Public License. Linksgithub.com/bmatsuo/raft-mdb (https://github.com/bmatsuo/raft-mdb) (godoc (https://godoc.org/github.com/bmatsuo/raft-mdb)) An experimental backend for github.com/hashicorp/raft (https://github.com/hashicorp/raft) forked from github.com/hashicorp/raft-mdb (https://github.com/hashicorp/raft-mdb). github.com/bmatsuo/cayley/graph/lmdb (https://github.com/bmatsuo/cayley/tree/master/graph/lmdb) (godoc (https://godoc.org/github.com/bmatsuo/cayley/graph/lmdb)) Experimental backend quad-store for github.com/google/cayley (https://github.com/google/cayley) based off of the BoltDB implementation (https://github.com/google/cayley/tree/master/graph/bolt). Description-md5: f41a76e1b1bf0e4f43708627e519ab38 Homepage: https://github.com/bmatsuo/lmdb-go Section: golang Priority: optional Filename: pool/main/g/golang-github-bmatsuo-lmdb-go/golang-github-bmatsuo-lmdb-go-dev_1.8.0+git20170215.a14b5a3-4_all.deb Size: 145192 MD5sum: 6b48f315476a892e55f7aa09201d8130 SHA256: 7e815039a9f59e4bf76af2717b3defad107f126a4eac9d4780a598f95195f144 0m9.3s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-cache', 'show', '--no-all-versions', 'golang-github-bmatsuo-lmdb-go-dev'] 0m9.3s INFO: apt-cache knows about the following packages: golang-github-bmatsuo-lmdb-go-dev 0m9.3s INFO: Running scripts pre_install 0m9.3s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_database-server'] 0m9.3s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_database-server'] 0m9.3s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_exceptions'] 0m9.3s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_exceptions'] 0m9.3s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_extras'] 0m9.3s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_extras'] 0m9.3s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_foreign_architecture'] 0m9.3s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_foreign_architecture'] 0m9.3s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_foreign_architecture_i386'] 0m9.3s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_foreign_architecture_i386'] 0m9.3s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-cache', 'policy'] 0m9.4s DUMP: Package files: 100 /var/lib/dpkg/status release a=now 500 http://deb.debian.org/debian bookworm-proposed-updates/main amd64 Packages release v=12-updates,o=Debian,a=proposed-updates,n=bookworm-proposed-updates,l=Debian,c=main,b=amd64 origin deb.debian.org 500 http://deb.debian.org/debian bookworm-updates/main amd64 Packages release v=12-updates,o=Debian,a=stable-updates,n=bookworm-updates,l=Debian,c=main,b=amd64 origin deb.debian.org 500 http://security.debian.org bookworm-security/main amd64 Packages release v=12,o=Debian,a=stable-security,n=bookworm-security,l=Debian-Security,c=main,b=amd64 origin security.debian.org 500 http://deb.debian.org/debian bookworm/main amd64 Packages release v=12.6,o=Debian,a=stable,n=bookworm,l=Debian,c=main,b=amd64 origin deb.debian.org Pinned packages: 0m9.4s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-cache', 'policy'] 0m9.4s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-cache', 'policy', 'golang-github-bmatsuo-lmdb-go-dev'] 0m9.4s DUMP: golang-github-bmatsuo-lmdb-go-dev: Installed: 1.8.0+git20170215.a14b5a3-4 Candidate: 1.8.0+git20170215.a14b5a3-4 Version table: *** 1.8.0+git20170215.a14b5a3-4 500 500 http://deb.debian.org/debian bookworm/main amd64 Packages 100 /var/lib/dpkg/status 0m9.4s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-cache', 'policy', 'golang-github-bmatsuo-lmdb-go-dev'] 0m9.4s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-get', '-y', 'install', 'golang-github-bmatsuo-lmdb-go-dev'] 0m9.8s DUMP: Reading package lists... Building dependency tree... Reading state information... golang-github-bmatsuo-lmdb-go-dev is already the newest version (1.8.0+git20170215.a14b5a3-4). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 0m9.8s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-get', '-y', 'install', 'golang-github-bmatsuo-lmdb-go-dev'] 0m9.8s INFO: Running scripts post_install 0m9.8s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_install_exceptions'] 0m9.8s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_install_exceptions'] 0m9.8s INFO: Running scripts post_distupgrade 0m9.8s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_distupgrade_base_cleanup'] 0m9.8s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_distupgrade_base_cleanup'] 0m9.8s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_distupgrade_exceptions'] 0m9.8s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_distupgrade_exceptions'] 0m9.8s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_distupgrade_force-unsafe-io'] 0m9.8s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_distupgrade_force-unsafe-io'] 0m9.8s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_distupgrade_squeeze-backports'] 0m9.8s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_distupgrade_squeeze-backports'] 0m9.8s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_distupgrade_zz_backports'] 0m9.8s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_distupgrade_zz_backports'] 0m9.8s DEBUG: Starting command: ['lsof', '-w', '+D', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1'] 0m10.3s DEBUG: Command failed (status=1), but ignoring error: ['lsof', '-w', '+D', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1'] 0m10.3s DEBUG: Starting command: ['lsof', '-w', '+D', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1'] 0m11.0s DEBUG: Command failed (status=1), but ignoring error: ['lsof', '-w', '+D', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1'] 0m11.0s INFO: Running scripts pre_install 0m11.0s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_database-server'] 0m11.0s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_database-server'] 0m11.0s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_exceptions'] 0m11.0s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_exceptions'] 0m11.0s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_extras'] 0m11.0s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_extras'] 0m11.0s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_foreign_architecture'] 0m11.0s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_foreign_architecture'] 0m11.0s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_foreign_architecture_i386'] 0m11.0s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_install_foreign_architecture_i386'] 0m11.0s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-cache', 'policy'] 0m11.0s DUMP: Package files: 100 /var/lib/dpkg/status release a=now 500 http://deb.debian.org/debian bookworm-proposed-updates/main amd64 Packages release v=12-updates,o=Debian,a=proposed-updates,n=bookworm-proposed-updates,l=Debian,c=main,b=amd64 origin deb.debian.org 500 http://deb.debian.org/debian bookworm-updates/main amd64 Packages release v=12-updates,o=Debian,a=stable-updates,n=bookworm-updates,l=Debian,c=main,b=amd64 origin deb.debian.org 500 http://security.debian.org bookworm-security/main amd64 Packages release v=12,o=Debian,a=stable-security,n=bookworm-security,l=Debian-Security,c=main,b=amd64 origin security.debian.org 500 http://deb.debian.org/debian bookworm/main amd64 Packages release v=12.6,o=Debian,a=stable,n=bookworm,l=Debian,c=main,b=amd64 origin deb.debian.org Pinned packages: 0m11.0s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-cache', 'policy'] 0m11.0s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-cache', 'policy', 'golang-github-bmatsuo-lmdb-go-dev'] 0m11.1s DUMP: golang-github-bmatsuo-lmdb-go-dev: Installed: 1.8.0+git20170215.a14b5a3-4 Candidate: 1.8.0+git20170215.a14b5a3-4 Version table: *** 1.8.0+git20170215.a14b5a3-4 500 500 http://deb.debian.org/debian bookworm/main amd64 Packages 100 /var/lib/dpkg/status 0m11.1s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-cache', 'policy', 'golang-github-bmatsuo-lmdb-go-dev'] 0m11.1s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-get', '-y', 'install', 'golang-github-bmatsuo-lmdb-go-dev=1.8.0+git20170215.a14b5a3-4'] 0m11.6s DUMP: Reading package lists... Building dependency tree... Reading state information... golang-github-bmatsuo-lmdb-go-dev is already the newest version (1.8.0+git20170215.a14b5a3-4). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 0m11.6s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-get', '-y', 'install', 'golang-github-bmatsuo-lmdb-go-dev=1.8.0+git20170215.a14b5a3-4'] 0m11.6s INFO: Running scripts post_install 0m11.6s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_install_exceptions'] 0m11.7s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_install_exceptions'] 0m11.7s DEBUG: Starting command: ['lsof', '-w', '+D', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1'] 0m12.1s DEBUG: Command failed (status=1), but ignoring error: ['lsof', '-w', '+D', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1'] 0m12.2s DEBUG: No file moved between /{bin|sbin|lib*} and /usr/{bin|sbin|lib*}. 0m12.2s INFO: /bin converted to /usr/bin by /usr merge 0m12.2s INFO: /lib converted to /usr/lib by /usr merge 0m12.2s INFO: /lib/init converted to /usr/lib/init by /usr merge 0m12.2s INFO: /lib/lsb converted to /usr/lib/lsb by /usr merge 0m12.2s INFO: /lib/lsb/init-functions.d converted to /usr/lib/lsb/init-functions.d by /usr merge 0m12.2s INFO: /lib/systemd converted to /usr/lib/systemd by /usr merge 0m12.2s INFO: /lib/systemd/system converted to /usr/lib/systemd/system by /usr merge 0m12.2s INFO: /lib/terminfo converted to /usr/lib/terminfo by /usr merge 0m12.2s INFO: /lib/terminfo/E converted to /usr/lib/terminfo/E by /usr merge 0m12.2s INFO: /lib/terminfo/a converted to /usr/lib/terminfo/a by /usr merge 0m12.2s INFO: /lib/terminfo/c converted to /usr/lib/terminfo/c by /usr merge 0m12.2s INFO: /lib/terminfo/d converted to /usr/lib/terminfo/d by /usr merge 0m12.2s INFO: /lib/terminfo/h converted to /usr/lib/terminfo/h by /usr merge 0m12.2s INFO: /lib/terminfo/l converted to /usr/lib/terminfo/l by /usr merge 0m12.2s INFO: /lib/terminfo/m converted to /usr/lib/terminfo/m by /usr merge 0m12.2s INFO: /lib/terminfo/p converted to /usr/lib/terminfo/p by /usr merge 0m12.2s INFO: /lib/terminfo/r converted to /usr/lib/terminfo/r by /usr merge 0m12.2s INFO: /lib/terminfo/s converted to /usr/lib/terminfo/s by /usr merge 0m12.2s INFO: /lib/terminfo/t converted to /usr/lib/terminfo/t by /usr merge 0m12.2s INFO: /lib/terminfo/v converted to /usr/lib/terminfo/v by /usr merge 0m12.2s INFO: /lib/terminfo/w converted to /usr/lib/terminfo/w by /usr merge 0m12.2s INFO: /lib/terminfo/x converted to /usr/lib/terminfo/x by /usr merge 0m12.2s INFO: /lib/udev converted to /usr/lib/udev by /usr merge 0m12.2s INFO: /lib/udev/rules.d converted to /usr/lib/udev/rules.d by /usr merge 0m12.2s INFO: /lib/x86_64-linux-gnu converted to /usr/lib/x86_64-linux-gnu by /usr merge 0m12.2s INFO: /lib/x86_64-linux-gnu/security converted to /usr/lib/x86_64-linux-gnu/security by /usr merge 0m12.2s INFO: /lib64 converted to /usr/lib64 by /usr merge 0m12.2s INFO: /sbin converted to /usr/sbin by /usr merge 0m12.7s DEBUG: Starting command: ['debsums', '--root', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', '-ac', '--ignore-obsolete'] 0m13.4s DEBUG: Command ok: ['debsums', '--root', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', '-ac', '--ignore-obsolete'] 0m13.4s DEBUG: Starting command: ['dpkg-query', '-f', '${Version}\n', '-W', 'adequate'] 0m13.4s DUMP: 0.15.6 0m13.4s DEBUG: Command ok: ['dpkg-query', '-f', '${Version}\n', '-W', 'adequate'] 0m13.4s INFO: Running adequate version 0.15.6 now. 0m13.4s DEBUG: Starting command: ['adequate', '--root', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'golang-github-bmatsuo-lmdb-go-dev'] 0m13.4s DEBUG: Command ok: ['adequate', '--root', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'golang-github-bmatsuo-lmdb-go-dev'] 0m13.4s INFO: Running scripts pre_remove 0m13.4s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_remove_40_find_missing_md5sums'] 0m13.5s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_remove_40_find_missing_md5sums'] 0m13.5s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_remove_40_find_obsolete_conffiles'] 0m13.5s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_remove_40_find_obsolete_conffiles'] 0m13.5s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_remove_40_find_unowned_lib_links'] 0m14.2s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_remove_40_find_unowned_lib_links'] 0m14.2s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_remove_50_find_bad_permissions'] 0m14.3s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_remove_50_find_bad_permissions'] 0m14.3s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_remove_50_find_missing_copyright'] 0m14.3s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_remove_50_find_missing_copyright'] 0m14.3s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_remove_exceptions'] 0m14.4s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/pre_remove_exceptions'] 0m14.4s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'dpkg-query', '-W', '-f', '${Status}\\t${binary:Package}\\t${Package}\\t${Version}\\n'] 0m14.4s DUMP: install ok installed adduser adduser 3.134 install ok installed apt apt 2.6.1 install ok installed base-files base-files 12.4+deb12u6 install ok installed base-passwd base-passwd 3.6.1 install ok installed bash bash 5.2.15-2+b7 install ok installed bsdutils bsdutils 1:2.38.1-5+deb12u1 install ok installed coreutils coreutils 9.1-1 install ok installed dash dash 0.5.12-2 install ok installed debconf debconf 1.5.82 install ok installed debian-archive-keyring debian-archive-keyring 2023.3+deb12u1 install ok installed debianutils debianutils 5.7-0.5~deb12u1 install ok installed diffutils diffutils 1:3.8-4 install ok installed dpkg dpkg 1.21.22 install ok installed e2fsprogs e2fsprogs 1.47.0-2 install ok installed findutils findutils 4.9.0-4 install ok installed gcc-12-base:amd64 gcc-12-base 12.2.0-14 install ok installed golang-github-bmatsuo-lmdb-go-dev golang-github-bmatsuo-lmdb-go-dev 1.8.0+git20170215.a14b5a3-4 install ok installed golang-golang-x-net-dev golang-golang-x-net-dev 1:0.7.0+dfsg-1 install ok installed golang-golang-x-sys-dev golang-golang-x-sys-dev 0.3.0-1 install ok installed golang-golang-x-text-dev golang-golang-x-text-dev 0.7.0-1 install ok installed gpgv gpgv 2.2.40-1.1 install ok installed grep grep 3.8-5 install ok installed gzip gzip 1.12-1 install ok installed hostname hostname 3.23+nmu1 install ok installed init-system-helpers init-system-helpers 1.65.2 install ok installed libacl1:amd64 libacl1 2.3.1-3 install ok installed libapt-pkg6.0:amd64 libapt-pkg6.0 2.6.1 install ok installed libattr1:amd64 libattr1 1:2.5.1-4 install ok installed libaudit-common libaudit-common 1:3.0.9-1 install ok installed libaudit1:amd64 libaudit1 1:3.0.9-1 install ok installed libblkid1:amd64 libblkid1 2.38.1-5+deb12u1 install ok installed libbz2-1.0:amd64 libbz2-1.0 1.0.8-5+b1 install ok installed libc-bin libc-bin 2.36-9+deb12u8 install ok installed libc6:amd64 libc6 2.36-9+deb12u8 install ok installed libcap-ng0:amd64 libcap-ng0 0.8.3-1+b3 install ok installed libcap2:amd64 libcap2 1:2.66-4 install ok installed libcom-err2:amd64 libcom-err2 1.47.0-2 install ok installed libcrypt1:amd64 libcrypt1 1:4.4.33-2 install ok installed libdb5.3:amd64 libdb5.3 5.3.28+dfsg2-1 install ok installed libdebconfclient0:amd64 libdebconfclient0 0.270 install ok installed libext2fs2:amd64 libext2fs2 1.47.0-2 install ok installed libffi8:amd64 libffi8 3.4.4-1 install ok installed libgcc-s1:amd64 libgcc-s1 12.2.0-14 install ok installed libgcrypt20:amd64 libgcrypt20 1.10.1-3 install ok installed libgmp10:amd64 libgmp10 2:6.2.1+dfsg1-1.1 install ok installed libgnutls30:amd64 libgnutls30 3.7.9-2+deb12u3 install ok installed libgpg-error0:amd64 libgpg-error0 1.46-1 install ok installed libhogweed6:amd64 libhogweed6 3.8.1-2 install ok installed libidn2-0:amd64 libidn2-0 2.3.3-1+b1 install ok installed liblz4-1:amd64 liblz4-1 1.9.4-1 install ok installed liblzma5:amd64 liblzma5 5.4.1-0.2 install ok installed libmd0:amd64 libmd0 1.0.4-2 install ok installed libmount1:amd64 libmount1 2.38.1-5+deb12u1 install ok installed libnettle8:amd64 libnettle8 3.8.1-2 install ok installed libp11-kit0:amd64 libp11-kit0 0.24.1-2 install ok installed libpam-modules:amd64 libpam-modules 1.5.2-6+deb12u1 install ok installed libpam-modules-bin libpam-modules-bin 1.5.2-6+deb12u1 install ok installed libpam-runtime libpam-runtime 1.5.2-6+deb12u1 install ok installed libpam0g:amd64 libpam0g 1.5.2-6+deb12u1 install ok installed libpcre2-8-0:amd64 libpcre2-8-0 10.42-1 install ok installed libseccomp2:amd64 libseccomp2 2.5.4-1+deb12u1 install ok installed libselinux1:amd64 libselinux1 3.4-1+b6 install ok installed libsemanage-common libsemanage-common 3.4-1 install ok installed libsemanage2:amd64 libsemanage2 3.4-1+b5 install ok installed libsepol2:amd64 libsepol2 3.4-2.1 install ok installed libsmartcols1:amd64 libsmartcols1 2.38.1-5+deb12u1 install ok installed libss2:amd64 libss2 1.47.0-2 install ok installed libstdc++6:amd64 libstdc++6 12.2.0-14 install ok installed libsystemd0:amd64 libsystemd0 252.29-1~deb12u1 install ok installed libtasn1-6:amd64 libtasn1-6 4.19.0-2 install ok installed libtinfo6:amd64 libtinfo6 6.4-4 install ok installed libudev1:amd64 libudev1 252.29-1~deb12u1 install ok installed libunistring2:amd64 libunistring2 1.0-2 install ok installed libuuid1:amd64 libuuid1 2.38.1-5+deb12u1 install ok installed libxxhash0:amd64 libxxhash0 0.8.1-1 install ok installed libzstd1:amd64 libzstd1 1.5.4+dfsg2-5 install ok installed login login 1:4.13+dfsg1-1+b1 install ok installed logsave logsave 1.47.0-2 install ok installed mawk mawk 1.3.4.20200120-3.1 install ok installed mount mount 2.38.1-5+deb12u1 install ok installed ncurses-base ncurses-base 6.4-4 install ok installed ncurses-bin ncurses-bin 6.4-4 install ok installed passwd passwd 1:4.13+dfsg1-1+b1 install ok installed perl-base perl-base 5.36.0-7+deb12u1 install ok installed sed sed 4.9-1 install ok installed sysvinit-utils sysvinit-utils 3.06-4 install ok installed tar tar 1.34+dfsg-1.2+deb12u1 install ok installed tzdata tzdata 2024a-0+deb12u1 install ok installed usr-is-merged usr-is-merged 37~deb12u1 install ok installed util-linux util-linux 2.38.1-5+deb12u1 install ok installed util-linux-extra util-linux-extra 2.38.1-5+deb12u1 install ok installed zlib1g:amd64 zlib1g 1:1.2.13.dfsg-1 0m14.4s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'dpkg-query', '-W', '-f', '${Status}\\t${binary:Package}\\t${Package}\\t${Version}\\n'] 0m14.4s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-get', 'remove', 'golang-golang-x-net-dev', 'golang-golang-x-sys-dev', 'golang-golang-x-text-dev', 'golang-github-bmatsuo-lmdb-go-dev'] 0m15.3s DUMP: Reading package lists... Building dependency tree... Reading state information... The following packages will be REMOVED: golang-github-bmatsuo-lmdb-go-dev golang-golang-x-net-dev golang-golang-x-sys-dev golang-golang-x-text-dev 0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded. After this operation, 51.4 MB disk space will be freed. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 7833 files and directories currently installed.) Removing golang-github-bmatsuo-lmdb-go-dev (1.8.0+git20170215.a14b5a3-4) ... Removing golang-golang-x-net-dev (1:0.7.0+dfsg-1) ... Removing golang-golang-x-sys-dev (0.3.0-1) ... Removing golang-golang-x-text-dev (0.7.0-1) ... 0m15.3s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-get', 'remove', 'golang-golang-x-net-dev', 'golang-golang-x-sys-dev', 'golang-golang-x-text-dev', 'golang-github-bmatsuo-lmdb-go-dev'] 0m15.3s INFO: Running scripts post_remove 0m15.3s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_remove_exceptions'] 0m15.3s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_remove_exceptions'] 0m15.3s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'dpkg', '--purge', 'golang-golang-x-net-dev', 'golang-golang-x-sys-dev', 'golang-golang-x-text-dev'] 0m15.3s DUMP: dpkg: warning: ignoring request to remove golang-golang-x-net-dev which isn't installed dpkg: warning: ignoring request to remove golang-golang-x-sys-dev which isn't installed dpkg: warning: ignoring request to remove golang-golang-x-text-dev which isn't installed 0m15.3s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'dpkg', '--purge', 'golang-golang-x-net-dev', 'golang-golang-x-sys-dev', 'golang-golang-x-text-dev'] 0m15.3s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'dpkg', '--purge', 'golang-github-bmatsuo-lmdb-go-dev'] 0m15.3s DUMP: dpkg: warning: ignoring request to remove golang-github-bmatsuo-lmdb-go-dev which isn't installed 0m15.3s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'dpkg', '--purge', 'golang-github-bmatsuo-lmdb-go-dev'] 0m15.3s INFO: Running scripts post_purge 0m15.3s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_purge_exceptions'] 0m15.3s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_purge_exceptions'] 0m15.3s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'dpkg', '--purge', '--pending'] 0m15.4s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'dpkg', '--purge', '--pending'] 0m15.4s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'dpkg', '--remove', '--pending'] 0m15.4s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'dpkg', '--remove', '--pending'] 0m15.4s INFO: Running scripts post_test 0m15.4s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_test_exceptions'] 0m15.4s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'tmp/scripts/post_test_exceptions'] 0m15.4s DEBUG: Starting command: ['lsof', '-w', '+D', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1'] 0m15.7s DEBUG: Command failed (status=1), but ignoring error: ['lsof', '-w', '+D', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1'] 0m15.7s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'dpkg-divert', '--list'] 0m15.8s DUMP: local diversion of /bin/sync to /bin/sync.distrib.usr-is-merged diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash local diversion of /home to /home.distrib local diversion of /usr/bin/sync to /usr/bin/sync.distrib diversion of /bin/sh to /bin/sh.distrib by dash 0m15.8s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'dpkg-divert', '--list'] 0m15.8s DEBUG: Starting command: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-get', 'clean'] 0m15.8s DEBUG: Command ok: ['chroot', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1', 'apt-get', 'clean'] 0m15.8s DEBUG: Recording chroot state 0m16.7s DEBUG: Starting command: ['umount', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/dev/shm'] 0m16.7s DEBUG: Command ok: ['umount', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/dev/shm'] 0m16.7s DEBUG: Starting command: ['umount', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/dev/console'] 0m16.8s DEBUG: Command ok: ['umount', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/dev/console'] 0m16.8s DEBUG: Starting command: ['umount', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/dev/ptmx'] 0m16.8s DEBUG: Command ok: ['umount', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/dev/ptmx'] 0m16.8s DEBUG: Starting command: ['umount', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/dev/pts'] 0m16.8s DEBUG: Command ok: ['umount', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/dev/pts'] 0m16.8s DEBUG: Starting command: ['umount', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/proc'] 0m16.9s DEBUG: Command ok: ['umount', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1/proc'] 0m16.9s DEBUG: Starting command: ['rm', '-rf', '--one-file-system', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1'] 0m17.0s DEBUG: Command ok: ['rm', '-rf', '--one-file-system', '/srv/piuparts.debian.org/tmp/tmpdsc1_cv1'] 0m17.0s DEBUG: Removed directory tree at /srv/piuparts.debian.org/tmp/tmpdsc1_cv1 0m17.0s INFO: PASS: Upgrading between Debian distributions. 0m17.0s INFO: PASS: All tests. 0m17.0s INFO: piuparts run ends. ret=0 End: 2024-08-23 05:16:15 GMT