Review: flutter 3.47.5+ds1-3
Package Information
| Description | UI framework for cross-platform applications (Dart sources) This package ships the Flutter framework as Dart sources so that Flutter applications can be built against the Debian-packaged engine. Flutter is a UI toolkit for building natively compiled applications for mobile, web and desktop from a single codebase. This package contains the framework libraries (widgets, material, cupertino, rendering, painting and so on). |
|---|---|
| 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/flutter.git (browse) |
| Binary NEW | Yes (new binary packages of a source already in sid) |
| Tracker | https://tracker.debian.org/pkg/flutter |
| Uploaded | 3 days ago |
New Package Report
.changes
| Changed-By | Emfox Zhou <emfox@debian.org> |
|---|---|
| Architecture | source all |
| Distribution | unstable |
| Date | Wed, 28 Oct 2026 10:19:15 +0800 |
| Source | flutter |
| Version | 3.47.5+ds1-3 |
Changelog
flutter (3.47.5+ds1-3) unstable; urgency=medium
.
* Ship flutter_localizations, flutter_test, flutter_goldens and
fuchsia_remote_debug_protocol as separate binary packages.
* Run the autopkgtest only where both dart-sdk and flutter-engine exist.
flutter itself depends on arch:all packages alone, so the package installs
everywhere; the smoke test compiles and runs an application, so it needs
the SDK and the engine, and flutter-engine is not built for riscv64..dsc
| Package-List | flutter deb devel optional arch=all flutter-goldens deb devel optional arch=all flutter-localizations deb devel optional arch=all flutter-test deb devel optional arch=all flutter-web-plugins deb devel optional arch=all fuchsia-remote-debug-protocol deb devel optional arch=all |
|---|---|
| Section | devel |
| Priority | optional |
| Component | main |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: flutter
Source: https://github.com/flutter/flutter
Files-Excluded: .agents .claude .gemini .github .vscode .direnv .ci.yaml .autoroller-preupload.sh .gitattributes .gitignore agent-artifacts bin buildtools dev docs engine examples third_party flutter_console.bat pubspec.lock pubspec.yaml TESTOWNERS CODEOWNERS CONTRIBUTING.md CODE_OF_CONDUCT.md README.md dartdoc_options.yaml packages/flutter_tools
Files: *
Copyright: 2014, the Flutter Authors
License: BSD-3-clause
Files: debian/*
Copyright: 2026 Emfox Zhou <emfox@debian.org>
License: BSD-3-clause
License: BSD-3-clause
Copyright 2014, the Flutter Authors.
.
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 3 days ago.
Report
DFSG NEW review for flutter version 3.47.5+ds1-3
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
Yes. debian/copyright is DEP-5: a Files: * stanza (2014, the Flutter Authors, BSD-3-clause), a debian/* stanza (2026, Emfox Zhou, BSD-3-clause) and the full BSD-3 text, which matches the shipped root LICENSE and packages/flutter/LICENSE including the Google Inc. non-endorsement clause. Every upstream file is covered: the .dart/.yaml/.java headers all name the Flutter Authors, and the data files (.arb, pubspec.yaml, README) sit under the root LICENSE; no other holder, licence or non-free term appears anywhere in the tree, no third-party source is shipped (third_party is excluded), and the single scan hit, The Sample Authors, is placeholder text in a dartdoc example.
Packaging
Good overall: six Architecture: all source packages at debhelper compat 14, a minimal dh rules that installs the six Dart packages under /usr/share/dart/packages and drops the workspace-resolution line from each installed pubspec, DEP-5 copyright, an autopkgtest limited to the architectures where dart-sdk and the engine exist, and every runtime dependency is satisfiable at the versions required (dart-fake-async and dart-vm-service are in NEW). The one defect is minor: flutter-test imports test_api's private src/backend API, which upstream pins exactly, but its Depends is unbounded and the installed pubspec still claims 0.7.12 while Debian ships 0.7.15.
Issues
1. [minor] [packaging] flutter-test imports test_api's private internals, but dart-test-api/dart-matcher are unbounded and disagree with the installed pubspec pins
- Files:
debian/control:62-63,packages/flutter_test/pubspec.yaml:17-21,packages/flutter_test/lib/src/test_compat.dart:14-24,packages/flutter_test/lib/src/matchers.dart:18 - Basis: checked, in the package or with a reference tool
- Evidence:
test_api: 0.7.12/matcher: 0.12.20under the commentWe depend on very specific internal implementation details of the 'test' package, which change between versions;import 'package:test_api/src/backend/declarer.dart'; // ignore: implementation_imports(11 such imports at test_compat.dart:14-24, pluspackage:matcher/src/expect/async_matcher.dart); control has onlydart-test-api (>= 0.7.12),anddart-matcher (>= 0.12.20),. - Problem: The shipped library depends on private implementation files of test_api and matcher, and upstream pins both packages exactly because those internals change between versions. The installed pubspec.yaml is shipped unchanged except for the
resolution: workspaceline, so it declares test_api 0.7.12, while the Depends relation admits any later dart-test-api (Debian ships 0.7.15 and would admit 0.8.x) and any later dart-matcher. The binary package therefore declares a dependency contract that contradicts both its own pubspec and the code's supported version, and nothing would catch a break: the autopkgtest only analyses flutter/material, never flutter_test. - Fix: Either port test_compat.dart to the test_api version Debian ships and update the installed pubspec pin (e.g. sed the pin alongside
resolution: workspace, with(>= 0.7.15) (<< 0.8.0)), or keep the exact pins and bound the relations to them ((>= 0.7.12) (<< 0.7.13),(>= 0.12.20) (<< 0.13.0)), adding the respective dart-test-api version to the archive.
Verified
- Prescan file:
packages/flutter/lib/src/foundation/licenses.dart:85is inside a{@tool snippet}example ofLicenseEntryWithLineBreaks(the same snippet also saysExample Inc.);The Sample Authorsis placeholder licence text, not a copyright holder, so no stanza is missing. - All 2555 files outside debian//.pc carry either the
Copyright 2014 The Flutter Authors ... BSD-style licenseheader or no notice of their own and are covered by the root LICENSE and packages/flutter/LICENSE; greps forCopyright,(C),©,SPDX-License-Identifier,Permission is hereby granted,GNU,Apache,MPL,public domain,All rights reservedand non-commercial/no-modification wording found no other holder or licence. - No compiled programs, libraries, bytecode, archives, fonts, PDFs or minified code: the only binary files are the launcher/favicon PNGs of the integration_test example app, and the
.g.dart/generated_*_localizations.dartfiles are plain, readable Dart sources shipped from upstream. - Every path in
Files-Excludedis absent from the tarball; wildcardless names (README.md,pubspec.yaml,.gitignore) are anchored at the top, so the nested package-level files legitimately remain. - Dependency versions checked with apt-cache: dart-characters 1.4.1-1, dart-collection 1.19.1-2, dart-material-color-utilities 0.13.0+ds1-2, dart-meta 1.19.0-2, dart-vector-math 2.4.3+ds1-1, dart-intl 0.20.3-1, dart-path 1.9.1-2, dart-test-api 0.7.15-1, dart-matcher 0.12.20-1, dart-clock 1.1.3-1, dart-stack-trace 1.12.2-2, dart-leak-tracker-flutter-testing 3.0.10-1, dart-stream-channel 2.1.4-2, dart-file 7.0.1-1, dart-crypto 3.0.7-1, dart-platform 3.2.0-1, dart-process 5.0.6-1 and sky-engine 3.47.5+ds1-3 all satisfy their relations; dart-fake-async 1.3.3-1 and dart-vm-service 15.4.0-1 are in NEW.
- dart-sdk 3.13.4 satisfies every
^3.11.0-0SDK constraint and the smoke test's languageVersion 3.11, and the imports of each shipped lib resolve to packages in its Depends (only flutter_test reaches intotest_api/srcandmatcher/src). - dh_missing cannot fail this build: with no
--sourcedirit scansdebian/tmp, which this rules file never creates, and exits 0; dpkg-deb clamps the mtimes written by dh_install and the sixsed -irewrites to SOURCE_DATE_EPOCH, so the touch/find step is not the only thing keeping the build reproducible. - uscan found upstream releases with
debian/watch; a newer upstream version is available (upstream3.47.8, packaged3.47.5+ds1), which is not a fault of the package.
Not confirmed
- Whether dart-test-api 0.7.15 still exposes the
test_api/src/backend/*API that flutter_test imports at 0.7.12, and whether dart-matcher 0.12.20'ssrc/expect/async_matcher.dartis unchanged for the shipped code; only building or analysing flutter_test against those versions would show it, and the autopkgtest does not exercise flutter_test.
Proposed changes
None.
Uploader's response to the LLM review
I checked 0.7.15 and it still ships test_api/src/backend/declarer.dart, and flutter_test only uses the Declarer constructor, so nothing breaks today. I'll bound both relations to the next major and align the installed pubspec pin in a follow-up upload.
— Emfox Zhou (emfox), 3 days ago
Review Information
accepted — allocated to awm 3 days ago, started 3 days ago, completed 3 days ago.
Final Comment
Other Reviews of this Package
| Version | Hash | Allocated | Completed | Reviewer | Status | Details |
|---|---|---|---|---|---|---|
| 3.47.5+ds1-1 | fb0da248… | 2026-10-26 06:21 | 2026-10-26 06:24 | awm | accepted | VIEW |