Review: golang-github-ncruces-julianday 1.0.0-1
Package Information
| Description | Julian Day number calculator in Go (library) Go library to convert between calendar dates and Julian Day numbers, compatible with SQLite date/time functions. Dependency of related ncruces Go packages (e.g. go-sqlite3). |
|---|---|
| Maintainer | Debian Go Packaging Team <team+pkg-go@tracker.debian.org> |
| Changed By | Hermes Rodríguez <hrodrig@usb.ve> |
| Sponsor | maytham@debian.org |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/go-team/packages/golang-github-ncruces-julianday.git (browse) |
| Closes | #1146784 |
| Tracker | https://tracker.debian.org/pkg/golang-github-ncruces-julianday |
| Uploaded | 2 hours ago |
New Package Report
.changes
| Changed-By | Hermes Rodríguez <hrodrig@usb.ve> |
|---|---|
| Architecture | source all |
| Distribution | unstable |
| Date | Fri, 13 Nov 2026 01:08:04 +0800 |
| Source | golang-github-ncruces-julianday |
| Version | 1.0.0-1 |
Changelog
golang-github-ncruces-julianday (1.0.0-1) unstable; urgency=medium . * Initial release (Closes: #1146784)
.dsc
| Package-List | golang-github-ncruces-julianday-dev deb golang optional arch=all |
|---|---|
| Section | golang |
| Priority | optional |
| Component | main |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: julianday Upstream-Contact: Nuno Cruces <ncruces@gmail.com> Source: https://github.com/ncruces/julianday Files: * Copyright: 2022 Nuno Cruces License: Expat Files: debian/* Copyright: 2026 Hermes Rodríguez <hrodrig@usb.ve> License: Expat 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.
DFSG Assistant LLM REVIEW 0 blocker, 0 important, 1 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 1 hour ago.
Report
DFSG NEW review for golang-github-ncruces-julianday version 1.0.0-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: Yes
- Issues: 0 blocker, 0 important, 1 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
The tree is a single small Go library: julianday.go, its tests, go.mod, README.md, .gitignore and one GitHub Actions workflow. The only copyright/licence statement anywhere is LICENSE, 'Copyright (c) 2022 Nuno Cruces' under the MIT text, and debian/copyright (DEP-5) names exactly that holder for Files: * with the Expat short name and the full licence text, plus a debian/* stanza for the packager. No third-party or vendored code, no non-free wording, and no files lacking a licence were found, so the licensing is DFSG-compliant and the copyright file accurate.
Packaging
A conventional Go team package: debhelper compat 13 with dh-sequence-golang, golang-any, a single Architecture: all -dev package, correct Vcs-*/Homepage, DEP-12 upstream metadata, 3.0 (quilt) with no patches, and a well-formed initial changelog for unstable. Standards-Version 4.7.4 matches current Policy. The only defect is an upstream test constant that does not compile on 32-bit architectures, which makes the autopkgtest-pkg-go suite fail there; salsa-ci.yml works around it by skipping the i386 job instead of fixing or forwarding it.
Issues
minor packaging 1. Upstream tests do not compile on 32-bit architectures, so autopkgtest-pkg-go fails on i386/armhf ◂
- Files:
julianday_test.go:68,debian/salsa-ci.yml:11-14 - Basis: checked, in the package or with a reference tool
- Evidence:
t.Errorf("Date() gotNsec = %d, want %d", gotNsec, nsec_per_day-1)withconst nsec_per_day = nsec_per_sec * secs_per_day(= 86_400_000_000_000); debian/salsa-ci.yml:# Upstream tests use int constants that overflow on 32-bit (i386)./SALSA_CI_DISABLE_BUILD_PACKAGE_I386: 1 - Problem: On line 68 the untyped constant
nsec_per_day-1(86 399 999 999 999) is passed as an argument to the variadic...interface{}oft.Errorf, where it takes its default typeintand overflows on 32-bit platforms, sogo testfails to compile ("constant ... overflows int") on i386/armhf. The library itself builds there; only the test file does not. Because the package declaresTestsuite: autopkgtest-pkg-go, every 32-bit autopkgtest run fails, and the salsa-ci setting only hides the problem in the maintainer's own CI. The constant is fine at line 67, where it is converted to int64 for comparison. - Fix: Cast the constant to int64, e.g.
t.Errorf("Date() gotNsec = %d, want %d", gotNsec, int64(nsec_per_day-1)), forward the fix upstream, and drop theSALSA_CI_DISABLE_BUILD_PACKAGE_I386workaround (and its comment) from debian/salsa-ci.yml once a fixed upstream release is packaged.
Verified ◂
- Read the whole package tree: julianday.go, julianday_test.go, fuzz_test.go, go.mod, README.md, LICENSE, .gitignore, .github/workflows/go.yml, and every file under debian/ (changelog, control, copyright, rules, gbp.conf, gitlab-ci.yml, salsa-ci.yml, source/format, upstream/metadata); .pc/ was passed over as instructed.
- debian/copyright is DEP-5 with the exact Format URL, Upstream-Name/Contact/Source,
Files: *(2022 Nuno Cruces, Expat) andFiles: debian/*(2026 Hermes Rodriguez, Expat), plus a stand-alone Expat paragraph reproducing the full MIT text; no Files-Excluded is needed because nothing was removed. - The only copyright/permission statement in the tree is LICENSE ('Copyright (c) 2022 Nuno Cruces', MIT text); a grep for Copyright/(C)/©/SPDX/Licensed under/All rights reserved/Permission is hereby granted across the tree matched only LICENSE and debian/copyright, so the scan's finding of no unnamed holders is confirmed.
- A grep for GNU/LGPL/Apache/Mozilla/BSD/ISC/Creative Commons/non-commercial/field-of-use wording found no other licence, so there are no non-free terms, no licence combination problem and no file without permission to modify and redistribute.
- No vendored or embedded third-party code, no generated files, binaries, minified code, fonts or images; the sole build input is the Go source and the sole build output is generated by dh_golang outside the source tree.
- debian/rules uses
dh $@ --builddirectory=_build --buildsystem=golangwith no obsolete overrides; debhelper compat 13 is consistent with dh_missing failing on uninstalled files and with dh skipping dh_auto_test overrides under nocheck there being no override to skip. - debian/control:
dh-sequence-golangis provided by dh-golang (apt-cache: dh-golang 1.67, Provides: dh-sequence-golang) andgolang-anyexists; the -dev package is Architecture: all with Multi-Arch: foreign, as Go library packages are; the trailing comma after${misc:Depends}is harmless because dpkg-gencontrol reparses relationship fields with Dpkg::Deps, discards the empty element and deletes the field if it ends up empty. - Standards-Version 4.7.4 matches the reviewing system's Policy 4.7.x; Testsuite: autopkgtest-pkg-go is a known testsuite (listed in /usr/share/lintian/data/testsuite/known-testsuites); no debian/tests/control is needed with it.
- debian/changelog: version 1.0.0-1 for unstable, ITP closure #1146784, correctly formatted date (13 Nov 2026 is a Friday); debian/upstream/metadata is valid DEP-12 and agrees with Homepage; Vcs-Git/Vcs-Browser point at the Go team's salsa path; debian/gbp.conf's
dist = DEP14is accepted by gbp. - debian/source/format is 3.0 (quilt) with no debian/patches and an empty quilt series, so there are no patch or DEP-3 concerns.
- uscan found the packaged version as the newest upstream release (upstream
1.0.0, packaged1.0.0).
Not confirmed ◂
- Whether ci.debian.net and the release team actually schedule autopkgtest for this architecture-independent package on 32-bit testbeds, and thus how often the test compile failure is hit in practice.
Proposed changes ◂
None.
Review Information
accepted — allocated to mechtilde 1 hour ago, started 1 hour ago, completed 1 hour ago.