DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: golang-github-ncruces-julianday 1.0.0-1

Package Information

DescriptionJulian 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).

MaintainerDebian Go Packaging Team <team+pkg-go@tracker.debian.org>
Changed ByHermes Rodríguez <hrodrig@usb.ve>
Sponsormaytham@debian.org
Distributionunstable
Architectureall
VCSgit: https://salsa.debian.org/go-team/packages/golang-github-ncruces-julianday.git (browse)
Closes#1146784
Trackerhttps://tracker.debian.org/pkg/golang-github-ncruces-julianday
Uploaded2 hours ago

New Package Report

.changes◂
DateFri, 13 Nov 2026 01:08:04 +0800
Sourcegolang-github-ncruces-julianday
Version1.0.0-1
Changed-ByHermes Rodríguez <hrodrig@usb.ve>
Architecturesource all
Distributionunstable
Changelog◂
golang-github-ncruces-julianday (1.0.0-1) unstable; urgency=medium
 .
   * Initial release (Closes: #1146784)
.dsc◂
Priorityoptional
Componentmain
Package-Listgolang-github-ncruces-julianday-dev deb golang optional arch=all
Sectiongolang
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/copyright is 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) with const 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{} of t.Errorf, where it takes its default type int and overflows on 32-bit platforms, so go test fails to compile ("constant ... overflows int") on i386/armhf. The library itself builds there; only the test file does not. Because the package declares Testsuite: 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 the SALSA_CI_DISABLE_BUILD_PACKAGE_I386 workaround (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) and Files: 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=golang with 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-golang is provided by dh-golang (apt-cache: dh-golang 1.67, Provides: dh-sequence-golang) and golang-any exists; 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 = DEP14 is 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, packaged 1.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.

Final Comment

Back to Dashboard | View all reviews for this package