Review: golang-github-smallnest-ringbuffer 0.2.0-1
Package Information
| Description | thread-safe circular buffer for Go (library) A fixed-capacity circular buffer implementing the io.Reader and io.Writer interfaces. Writes wrap around the underlying array rather than allocating, which bounds memory use when streaming data of unknown length. It offers both blocking and non-blocking modes, optional automatic growth, and peek and skip operations, with all access guarded for concurrent use. |
|---|---|
| Maintainer | Debian Go Packaging Team <team+pkg-go@tracker.debian.org> |
| Changed By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
| Sponsor | tsimonq2@debian.org |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/go-team/packages/golang-github-smallnest-ringbuffer.git (browse) |
| Closes | #1148640 |
| Tracker | https://tracker.debian.org/pkg/golang-github-smallnest-ringbuffer |
| Uploaded | 11 days ago |
New Package Report
.changes
| Source | golang-github-smallnest-ringbuffer |
|---|---|
| Version | 0.2.0-1 |
| Changed-By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
| Architecture | source all |
| Distribution | unstable |
| Date | Mon, 26 Oct 2026 00:36:40 +0100 |
Changelog
golang-github-smallnest-ringbuffer (0.2.0-1) unstable; urgency=medium . * Initial release (Closes: #1148640)
.dsc
| Section | golang |
|---|---|
| Priority | optional |
| Component | main |
| Package-List | golang-github-smallnest-ringbuffer-dev deb golang optional arch=all |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/smallnest/ringbuffer
Upstream-Name: ringbuffer
Upstream-Contact: https://github.com/smallnest/ringbuffer/issues
Files: *
Copyright: 2019 smallnest
License: Expat
Files: Circular_Buffer_Animation.gif
Copyright: 2015 MuhannadAjjan
License: CC-BY-SA-4.0
Comment: Upstream ships the image with no notice of its own, and the README
labels it "wikipedia". Asked where it came from, upstream replied that it is
from the wiki, at https://github.com/smallnest/ringbuffer/issues/5. It is the
Wikimedia Commons file of the same name, scaled down from 800x600 to 600x450,
with all 32 frames matching the Commons original. Commons records it as own
work by MuhannadAjjan under CC BY-SA 4.0, so the attribution that licence
asks for is here.
.
https://commons.wikimedia.org/wiki/File:Circular_Buffer_Animation.gif
Files: pipe_test.go
Copyright: 2009 The Go Authors
License: BSD-3-clause
Comment: The file says so in its own header, and adds "Adapted from stdlib
tests to check compatibility". Its header points at "the LICENSE file" for the
BSD-style licence, which does not resolve here because upstream's LICENSE is
smallnest's MIT, so the text of Go's licence is reproduced below.
Files: pipe.go
Copyright: 2019 smallnest
License: Expat
Comment: The documentation comments and the API of Pipe are those of Go's
io.Pipe, which is BSD-3-clause, while the header claims only MIT for
smallnest. The code itself is a reimplementation over this package's ring
buffer. Reported upstream; recorded here so the provenance is not lost.
Files: debian/*
Copyright: 2026 Juan Manuel Méndez Rey <juan.mendezr@proton.me>
License: Expat
Comment: Debian packaging is licensed under the same terms as upstream
License: Expat
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
License: BSD-3-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
.
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of Google LLC nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License: CC-BY-SA-4.0
Creative Commons Attribution-ShareAlike 4.0 International Public License
.
By exercising the Licensed Rights (defined in the license), You accept
and agree to be bound by the terms and conditions of the Creative Commons
Attribution-ShareAlike 4.0 International Public License.
.
On Debian systems, the complete text of the Creative Commons
Attribution-ShareAlike 4.0 International Public License can be found in
"/usr/share/common-licenses/CC-BY-SA-4.0".
DFSG Assistant LLM REVIEW 0 blocker, 0 important, 0 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 11 days ago.
Report
DFSG NEW review for golang-github-smallnest-ringbuffer version 0.2.0-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: Yes
- Issues: 0 blocker, 0 important, 0 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
Upstream is MIT/Expat with two documented exceptions: pipe_test.go is adapted from Go's stdlib and carries The Go Authors' BSD-3-clause header, and Circular_Buffer_Animation.gif is a Wikimedia Commons animation under CC-BY-SA-4.0. debian/copyright is DEP-5, names all four holders, and reproduces the full Expat and Go BSD-3 texts, referring to /usr/share/common-licenses/CC-BY-SA-4.0 for the image, which exists on the reviewing system. All three licences are DFSG-free, the GIF is not installed into the -dev package, and nothing in the tree is a built, vendored or unlicensed file.
Packaging
Modern Go-team packaging: debhelper compat 14, the dh sequencer with dh-go's golang buildsystem and addon, quilt source format with no patches, no maintainer scripts, and an autopkgtest declaration using the Go implicit suite. Build dependencies resolve in the archive (dh-go 1.69, dpkg-build-api (= 1) via dpkg-dev 1.23.11, golang-any 2:1.27~1 against go.mod's go 1.26), Standards-Version 4.7.4 matches current Policy 4.7.4.1, and the changelog, Vcs-* and Multi-Arch fields are consistent.
Issues
None.
Verified ◂
- Read every file under debian/ (changelog, control, copyright, gbp.conf, rules, salsa-ci.yml, source/format, source/lintian-overrides, upstream/metadata; watch not reviewed) and every upstream file; grepped the whole tree (with gitignore: false, .pc/ excluded) for copyright/licence wording, non-free terms, and copied-code attributions.
- The pre-scan (dfsg-author-check) found no copyright holder that debian/copyright fails to name: the notices present are smallnest (LICENSE, ring_buffer.go, pipe.go), The Go Authors (pipe_test.go), MuhannadAjjan (the GIF) and Juan Manuel Méndez Rey (debian/*), and all four appear in debian/copyright.
- debian/copyright begins with the correct DEP-5 Format URL and has Files: * followed by later stanzas for Circular_Buffer_Animation.gif, pipe_test.go, pipe.go and debian/*; each short name used (Expat, BSD-3-clause, CC-BY-SA-4.0) has a stand-alone License paragraph, and the full Expat and Go BSD-3 texts are included.
- Circular_Buffer_Animation.gif is a 96.5 KB binary GIF animation; its Commons provenance, scaling and CC-BY-SA-4.0 status are explained in its Files stanza, and /usr/share/common-licenses/CC-BY-SA-4.0 exists, so the pointer is valid. dh_golang copies only .go/.go.mod files into the build, so the image reaches no binary package and raises no licence-combination problem.
- pipe_test.go carries Go's BSD-3-clause header ('Copyright 2009 The Go Authors ... Adapted from stdlib tests'), and the copyright file names the holder, reproduces the licence with the 'Google LLC' clause, and notes that the header's reference to 'the LICENSE file' does not resolve to upstream's MIT file.
- pipe.go's documentation comments are Go's io.Pipe ones; debian/copyright records this in the file's Comment ('The documentation comments and the API of Pipe are those of Go's io.Pipe, which is BSD-3-clause, while the header claims only MIT for smallnest'), and Go's BSD text and holder are present in the same copyright file.
- No built, generated, minified, vendored or compressed artefacts in the tree: only .go sources, go.mod, README, Makefile, CI configuration (.github/workflows/go.yaml, .travis.yml), .gitignore, LICENSE and the GIF; no go:generate, no vendor/, no go.sum, no binaries.
- Build-Depends all resolve: dh-go 1.69 provides the golang sequence addon and golang buildsystem and Conflicts with dh-golang (which explains the one lintian override); dpkg-build-api (= 1) is provided by dpkg-dev 1.23.11; golang-any 2:1.27~1 satisfies go.mod's 'go 1.26', which the code needs (sync.WaitGroup.Go in ring_buffer.go, range-over-int in the tests).
- debian/rules is the standard 'dh $@ --builddirectory=debian/_build --buildsystem=golang --with=golang'; with 3.0 (quilt) and no debian/patches there is nothing to apply; no debian/install, docs, links, dirs or maintainer scripts are needed for this single Architecture: all library package.
- At compat 14 dh_gencontrol supplies the relationship substvars itself, so 'Depends: ${misc:Depends}' alone is correct; there is no override_dh_auto_test, and dh skips dh_auto_test overrides on nocheck anyway.
- debian/control's Testsuite: autopkgtest-pkg-go is the Go team's implicit suite; the dh_golang_autopkgtest helper it relies on ships with dh-golang/dh-go and states it is called by autopkgtest, so no debian/tests/control is required.
- Standards-Version 4.7.4 has the same first two components as the reviewing system's Policy 4.7.4.1; changelog is 0.2.0-1 to unstable dated Mon, 26 Oct 2026, an initial release closing #1148640, with the same maintainer as Uploaders; gbp.conf's 'dist = DEP14' is accepted by gbp (buildpackage.py treats DEP14 and DEP-14 alike).
- uscan found upstream releases with
debian/watch; a newer upstream version is available (upstream0.2.1, packaged0.2.0), which is not a fault of the package. - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (CC-BY-SA-4.0).
Not confirmed ◂
- The GIF's Wikimedia Commons page (author identity, exact licence and the 'scaled down from 800x600 to 600x450, 32 frames' claim) could not be consulted; only the explanation in debian/copyright was available.
- The package was not built or tested: the review is static, and no statement here rests on a build.
Proposed changes ◂
None.
Uploader's response to the LLM review
The uploader was emailed about the review 11 days ago.
Review Information
accepted — allocated to awm 11 days ago, started 11 days ago, completed 11 days ago.