DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: golang-github-elliotchance-phpserialize 1.4.0-1

Package Information

DescriptionPHP serialize() and unserialize() for Go (library)

A Go library implementing PHP's serialize() and unserialize() data formats. It provides Marshal and Unmarshal entry points in the style of encoding/json, handling PHP scalars, arrays and objects.

Struct field tags of the form php:"..." (including omitnilptr and -) control how Go struct fields map onto PHP array keys, letting Go programs read and write data produced by PHP applications.

MaintainerDebian Go Packaging Team <team+pkg-go@tracker.debian.org>
Changed ByJuan Manuel Méndez Rey <juan.mendezr@proton.me>
Sponsortsimonq2@debian.org
Distributionunstable
Architectureall
VCSgit: https://salsa.debian.org/go-team/packages/golang-github-elliotchance-phpserialize.git (browse)
Closes#1148626
Trackerhttps://tracker.debian.org/pkg/golang-github-elliotchance-phpserialize
Uploaded13 days ago

New Package Report

.changes◂
DateTue, 22 Sep 2026 03:45:55 +0200
Sourcegolang-github-elliotchance-phpserialize
Version1.4.0-1
Changed-ByJuan Manuel Méndez Rey <juan.mendezr@proton.me>
Architecturesource all
Distributionunstable
Changelog◂
golang-github-elliotchance-phpserialize (1.4.0-1) unstable; urgency=medium
 .
   * Initial release (Closes: #1148626)
.dsc◂
Package-Listgolang-github-elliotchance-phpserialize-dev deb golang optional arch=all
Sectiongolang
Priorityoptional
Componentmain
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/elliotchance/phpserialize
Upstream-Name: phpserialize
Upstream-Contact: https://github.com/elliotchance/phpserialize/issues

Files: *
Copyright: 2019 Elliot Chance
License: Expat

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.

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 13 days ago.

Report◂

DFSG NEW review for golang-github-elliotchance-phpserialize version 1.4.0-1

Summary

  • Licensing is DFSG-compliant and debian/copyright is 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

debian/copyright is machine-readable (DEP-5 1.0) and accurate. Upstream is MIT, which is Expat; the LICENSE text is reproduced in full in the stand-alone paragraph (Expat is not in /usr/share/common-licenses, so it must be), and Files: * names the only holder in the tree, Elliot Chance (LICENSE:3). Everything upstream ships is covered by that stanza, and debian/ by a separate Files: debian/* stanza naming the packager. No other file carries a copyright or licence notice, there are no non-free terms, and no built/binary/minified/generated file is shipped: the only non-upstream file is go.mod, created by the Debian patch, and it holds nothing but a module path and a go directive. Licences combined in the binary are just Expat, so nothing is incompatible.

Packaging

Clean, conventional Go library packaging: compat 14 with the golang addon, out-of-source build under debian/, Architecture: all + Multi-Arch: foreign -dev package, autopkgtest through Testsuite: autopkgtest-pkg-go (no debian/tests needed), one DEP-3 patch adding the missing go.mod with a clear rationale, Vcs-*/Homepage/upstream metadata present, Standards-Version 4.7.4 against Policy 4.7.4.1, and a justified debian/source/lintian-overrides entry. Every dependency in Build-Depends exists and is the right one at the package's compat level; no maintainer scripts, no install/links/dirs files to get wrong. Nothing a sponsor would require changed.

Issues

None.

Verified ◂
  • Read all of debian/ in full: control, rules, changelog, copyright, gbp.conf, salsa-ci.yml, source/format, source/lintian-overrides, patches/series, patches/0001-add-go-mod.patch, upstream/metadata. There is no debian/compat, no maintainer script, no install/links/docs/dirs file, and no debian/tests directory.
  • Inventory: the orig tarball (read directly) holds 14 upstream files - LICENSE, README.md, .gitignore, .travis.yml, compare.go, consume.go, serialize.go, serialize_test.go, tags.go, unserialize.go, unserialize_test.go, util.go, util_test.go and example/test.go. All are matched by Files: * in debian/copyright; the tree adds only debian/ (matched by Files: debian/*) and go.mod.
  • A case-insensitive grep of the whole tree for Copyright, (C), ©, SPDX-License-Identifier, Licensed under, Permission is hereby granted, GNU/LGPL/Apache/Mozilla, public domain, All rights reserved matched only LICENSE and debian/copyright, so no file carries a notice debian/copyright misses; this agrees with the prescan's author check (every holder found is named in debian/copyright).
  • LICENSE has the exact MIT text and Copyright (c) 2019 Elliot Chance; debian/copyright's License: Expat text matches it word for word, and the short name is the right one for that text.
  • go.mod is not in the orig tarball: listing the tarball shows no go.mod, and debian/patches/0001-add-go-mod.patch is a new-file patch that creates it. It contains only module github.com/elliotchance/phpserialize and go 1.21, and its module path matches XS-Go-Import-Path in debian/control.
  • example/test.go is upstream's package main demo program under the same MIT licence; debian/rules excludes it from the build targets only, so the -dev package still ships it as source (which the rules comment intends).
  • No built, binary, minified, image, font or generated file exists anywhere in the tree: every file is Go source, markdown, YAML or small text. The PHP parser in consume.go/unserialize.go contains no copied PHP var_unserializer code - no Zend, ext/standard, "derived from" or similar wording occurs in the tree.
  • Buildsystem check in /usr/share/perl5/Debian/Debhelper/Buildsystem/golang.pm: --builddirectory=debian/_build is taken relative to the top of the tree (Buildsystem.pm:93), so no double debian/ prefix; DH_GOLANG_EXCLUDES matches the import path of the build target, and at install time patterns are matched against paths relative to the module root, so the pattern used cannot match example/test.go - the shipped files match what debian/rules says. (The comment's reason is loose: DH_GOLANG_EXCLUDES_ALL already defaults to 1 at compat >= 12, but the outcome is as described.)
  • Addon/substvar compat rules: at compat 14 dh_gencontrol adds relationship substvars itself (no ${shlibs:Depends} needed), and the golang sequence inserts dh_golang before dh_gencontrol and removes dh_dwz (Sequence/golang.pm).
  • apt-cache: dh-go 1.69 exists in the archive and provides the golang addon; it lists no Provides: dh-sequence-golang and Conflicts: dh-golang, so Build-Depends: dh-go with --with=golang plus the debian/source/lintian-overrides justification is consistent. dpkg-build-api (= 1) is a virtual package provided by dpkg-dev (= 1) (1.23.11 here), so that Build-Depends is the normal way to select build-API level 1 and is satisfiable. golang-any exists.
  • Standards-Version 4.7.4 against Policy 4.7.4.1 (policy tool): first two components equal, fine. Changelog is unstable, version 1.4.0-1 for upstream 1.4.0, closes an ITP.
  • Autopkgtest wiring: /usr/share/autodep8/support/go/detect recognizes the package from its golang-any Build-Depends and /usr/share/autodep8/support/go/generate emits Test-Command: /usr/bin/dh_golang_autopkgtest with Depends: @, @builddeps@; the helper comes from dh-go (its Commands field lists dh_golang_autopkgtest), so Testsuite: autopkgtest-pkg-go needs no debian/tests/control.
  • uscan found the packaged version as the newest upstream release (upstream 1.4.0, packaged 1.4.0).
Not confirmed ◂
  • serialize_test.go:60 says the test cases are adapted from the wonderful work at: https://github.com/mitsuhiko/phpserialize/blob/master/tests.py. I could not check that project's licence or how much was taken (no network access here), and upstream ships the file under MIT, so I have not treated it as an issue.
  • I could not build the package or run its test suite, so the build behaviour is judged from debian/rules, the debhelper/golang buildsystem source and the file inventory only; no build or test failure is claimed.
Proposed changes ◂

None.

Uploader's response to the LLM review

The uploader was emailed about the review 13 days ago.

Review Information

accepted — allocated to awm 12 days ago, started 12 days ago, completed 12 days ago.

Final Comment

Back to Dashboard | View all reviews for this package