Review: golang-github-elliotchance-phpserialize 1.4.0-1
Package Information
| Description | PHP 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. |
|---|---|
| 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-elliotchance-phpserialize.git (browse) |
| Closes | #1148626 |
| Tracker | https://tracker.debian.org/pkg/golang-github-elliotchance-phpserialize |
| Uploaded | 13 days ago |
New Package Report
.changes
| Date | Tue, 22 Sep 2026 03:45:55 +0200 |
|---|---|
| Source | golang-github-elliotchance-phpserialize |
| Version | 1.4.0-1 |
| Changed-By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
| Architecture | source all |
| Distribution | unstable |
Changelog
golang-github-elliotchance-phpserialize (1.4.0-1) unstable; urgency=medium . * Initial release (Closes: #1148626)
.dsc
| Package-List | golang-github-elliotchance-phpserialize-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/ 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/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
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 byFiles: 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'sLicense: Expattext 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/phpserializeandgo 1.21, and its module path matches XS-Go-Import-Path in debian/control. - example/test.go is upstream's
package maindemo 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/_buildis taken relative to the top of the tree (Buildsystem.pm:93), so no doubledebian/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
golangaddon; it lists no Provides: dh-sequence-golang and Conflicts: dh-golang, soBuild-Depends: dh-gowith--with=golangplus 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_autopkgtestwithDepends: @, @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, packaged1.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.