dart-platform 3.2.0-1
Package Information
| Description | mockable platform information for Dart This package ships the platform Dart library as sources so that other Dart packages can depend on it at build time. |
|---|---|
| Maintainer | Emfox Zhou <emfox@debian.org> |
| Changed By | Emfox Zhou <emfox@debian.org> |
| Sponsor | emfox@debian.org |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/dart-team/dart-platform.git (browse) |
| Closes | #1152041 |
| Tracker | https://tracker.debian.org/pkg/dart-platform |
| Uploaded | 2 hours ago |
New Package Report
.changes
| Architecture | source all |
|---|---|
| Distribution | unstable |
| Date | Mon, 26 Oct 2026 08:40:46 +0800 |
| Source | dart-platform |
| Version | 3.2.0-1 |
| Changed-By | Emfox Zhou <emfox@debian.org> |
Changelog
dart-platform (3.2.0-1) unstable; urgency=medium . * Initial release. (Closes: #1152041)
.dsc
| Component | main |
|---|---|
| Package-List | dart-platform deb devel optional arch=all |
| Section | devel |
| Priority | optional |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: platform
Source: https://github.com/dart-lang/core/tree/main/pkgs/platform
Files: *
Copyright: 2017, the Dart project authors
2013, The Flutter Authors
License: BSD-3-clause
Files: debian/*
Copyright: 2026, Emfox Zhou <emfox@debian.org>
License: BSD-3-clause
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 Inc. 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.
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 0 hours ago.
Report
DFSG NEW review for dart-platform version 3.2.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
debian/copyright is in DEP-5 format with the exact current Format URL, a Files: * stanza (BSD-3-clause, 2017, the Dart project authors and 2013, The Flutter Authors) and a later Files: debian/* stanza (2026, Emfox Zhou), and one stand-alone License paragraph with the full BSD-3-clause text, which reproduces LICENSE and the per-file headers word for word, including the Neither the name of Google Inc. clause. Every upstream file is covered: all ~52 carry a BSD-3-clause header naming one of the two upstream holders, and the handful without a header are YAML/Markdown/JSON data covered by the catch-all. No non-free terms, no binaries, minified code, generated files or vendored third-party code; AUTHORS' Google Inc. is a contributor list entry and the licence's name clause, not an additional holder.
Packaging
Conventional and careful for the Dart team's source packages: compat 14 with dh $@ and the explicitly activated (recommended) dh-sequence-single-binary, debian/install putting lib/ and pubspec.yaml into /usr/share/dart/packages/platform/, Depends: ${misc:Depends}, dart-meta (needed, since lib/platform.dart transitively imports package:meta), Vcs-Git/Vcs-Browser/Homepage, Standards-Version 4.7.4 against Policy 4.7.4.1, a sane initial changelog closing the ITP, DEP-12 upstream metadata, and an offline autopkgtest smoke test that builds a package_config.json for the installed tree and runs the installed library. One minor fragility in the rules override is noted below; nothing else would a sponsor require changed.
Issues
1. [minor] [packaging] debian/rules override_dh_install aborts the build when SOURCE_DATE_EPOCH is unset
- Files:
debian/rules:9-11 - Basis: inferred from what was read, not seen directly
- Evidence: find debian/dart-platform -type d -exec touch -d "@$${SOURCE_DATE_EPOCH}" {} +
- Problem: The recipe expands the variable unconditionally. dpkg-buildpackage always defines SOURCE_DATE_EPOCH (dpkg-buildpackage(1): "set to the Unix timestamp since the epoch of the latest entry in debian/changelog, if it is not already defined"), so archive builds are unaffected; but a direct
debian/rules binaryorfakeroot debian/rules binary, and any build that clears the variable, gives touch the date string@, which is not a valid date, so the command fails and the build stops at dh_install. The override is a reproducibility tweak for directory mtimes and does not need to be this brittle. - Fix: Guard the fallback, e.g.
[ -z "$$SOURCE_DATE_EPOCH" ] || find debian/dart-platform -type d -exec touch -d "@$${SOURCE_DATE_EPOCH}" {} +, or use$${SOURCE_DATE_EPOCH:-$$(date +%s)}.
Verified
- Read every file of debian/ (changelog, control, copyright, docs, gbp.conf, install, rules, watch, source/format, tests/control, tests/smoke, upstream/metadata); debian/watch not reviewed, as instructed.
- debian/copyright is machine-readable, its Format line is exactly the copyright-format 1.0 URL, its stanza order (
Files: *thenFiles: debian/*) gives debian/ files the maintainer's own stanza, and its BSD-3-clause text matches LICENSE and the source headers verbatim.2013, The Flutter Authorsis carried by lib/platform.dart:1 and test/legacy/fake_platform_test.dart:1, so both holders in the catch-all are real; the pre-review holder check found no unnamed holder either. - Grepped the whole tree with gitignore:false for Copyright/(C)/©/SPDX-License-Identifier/Licensed under/Permission is hereby granted/GNU General Public/GNU Lesser/Apache License/Mozilla Public/public domain/All rights reserved/Redistribution, and case-insensitively for copyright: the only licence text in the tree is LICENSE's BSD-3-clause, cited by every source file header (
// Copyright (c) <year>, the Dart project authors ... governed by a BSD-style license that can be found in the LICENSE file.). Files with no header are data/config only: analysis_options.yaml, pubspec.yaml, CHANGELOG.md, README.md, migration-guide.md, example/{README.md,pubspec.yaml,analysis_options.yaml}, out/{README.md,pubspec.yaml}, lib/fix_data.yaml (hand-writtendart fixdata), test/legacy/platform.json (test fixture), AUTHORS. - No binary or built artefact in the tree: no .js/.min.js/.jar/.class/.so/.dll/.exe/.pyc/.pdf/.png/*.gz, and no file marked generated/DO NOT EDIT; the only
generatedhit is prose in tool/check_tree_shaking.dart. No vendored third-party source: grep for adapted/copied/ported/derived/vendor found nothing, and thepackage:os_detectmentions are migration prose in migration-guide.md. - Sources beside the package: dart-platform_3.2.0-1.debian.tar.xz holds exactly the debian/ seen in the tree and has no debian/patches (so no DEP-3 checks apply); dart-platform_3.2.0.orig.tar.gz's top level and lib/ sizes match the tree, i.e. no unshipped patches and no repacking that would need Files-Excluded.
- Packaging mechanics:
debhelperreported that dh-sequence-single-binary is provided by debhelper 14.5 and is exactly the addon debhelper 14 recommends for a one-stanza source package (implicit at 14, explicit from 15); dh_install(1)'s own example confirmsdir destdirinstalls the directory itself, soliblands as /usr/share/dart/packages/platform/lib and the smoke test's packageUri: "lib/" matches. Compat 14 also means dh_gencontrol supplies ${misc:Depends} itself and dh installs docs from debian/docs. - Dependencies exist and are satisfiable (apt-cache): dart-meta 1.19.0-2 (same maintainer) satisfies the shipped pubspec's
meta: ^1.18.0, and dart-sdk is available for the autopkgtest;Testsuite: autopkgtestandTestsuite-Triggers: dart-sdkin the .dsc follow from debian/tests/control. - The smoke test's APIs exist in this version: lib/src/legacy_implementation/legacy_classes.dart declares
const factory LocalPlatform()and the members the test uses (operatingSystem, isLinux/isWindows via PlatformIsOSMixin, numberOfProcessors), and lib/platform.dart exports LocalPlatform, so the test compiles against the installed sources. - Standards-Version 4.7.4 has the same first two components as Policy 4.7.4.1 (checked with the policy tool), so it is current enough;
unstabledistribution, version 3.2.0-1 matching pubspec.yaml's 3.2.0, and a bug-closing initial changelog entry. - uscan found the packaged version as the newest upstream release (upstream
3.2.0, packaged3.2.0).
Not confirmed
- The smoke test writes a hand-made package_config.json whose rootUri is
file:///usr/share/dart/packages/<name>with no trailing slash while packageUri islib/. If Dart resolves packageUri against rootUri per RFC 3986, the result is /usr/share/dart/packages/lib/ and the test would fail to find package:platform; if Dart appends the two (as pub always writes a trailing slash, this path may be untested), it works. I could not run dart-sdk to settle it, so I did not report it as a fault. - Whether
dart run main.dart(a file rather than a package target) is still accepted, rather than warned about or rejected, by the dart-sdk in the archive;Restrictions: allow-stderrwould cover a warning but not an error. - The mode of debian/tests/smoke (whether it is executable, as autopkgtest requires) could not be read with the available tools; lintian would have flagged it.
Proposed changes
None.
Uploader's response to the LLM review
The uploader was emailed about the review 0 hours ago.