gitea-cli 1.1.0-1
Package Information
| Description | official CLI for managing resources on Gitea gitea-cli manages repositories, issues, pull requests, releases, and other Gitea resources with explicit commands suitable for local development and CI. This package installs the "gt" program. |
|---|---|
| Maintainer | Debian Go Packaging Team <team+pkg-go@tracker.debian.org> |
| Changed By | Maytham Alsudany <maytham@debian.org> |
| Sponsor | maytham@debian.org |
| Distribution | experimental |
| Architecture | any |
| VCS | git: https://salsa.debian.org/go-team/packages/gitea-cli.git (browse) |
| Closes | #1153337 |
| Tracker | https://tracker.debian.org/pkg/gitea-cli |
| Uploaded | 2 hours ago |
New Package Report
.changes
| Source | gitea-cli |
|---|---|
| Version | 1.1.0-1 |
| Changed-By | Maytham Alsudany <maytham@debian.org> |
| Architecture | source amd64 |
| Distribution | experimental |
| Date | Sat, 07 Nov 2026 20:40:18 +0800 |
Changelog
gitea-cli (1.1.0-1) experimental; urgency=medium . * Initial release (Closes: #1153337)
.dsc
| Component | main |
|---|---|
| Package-List | gitea-cli deb utils optional arch=any |
| Section | utils |
| Priority | optional |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Source: https://gitea.com/gitea/cli Upstream-Name: cli Upstream-Contact: https://gitea.com/gitea/cli/issues Files: * Copyright: 2016 The Gitea Authors License: Expat Files: debian/* Copyright: 2026 Maytham Alsudany <maytham@debian.org> 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, 4 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 gitea-cli version 1.1.0-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: Yes
- Issues: 0 blocker, 0 important, 4 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
The tree is Expat/MIT throughout: every Go file carries a // Copyright <year> The Gitea Authors and // SPDX-License-Identifier: MIT header, LICENSE is the Expat text and is reproduced verbatim in the DEP-5 License: Expat paragraph, and skills/gt declares license: MIT. The only file with a different holder is DCO, the verbatim Developer Certificate of Origin (© 2004, 2006 The Linux Foundation and its contributors), whose verbatim-only terms restrict that licence document alone and make nothing here non-free. debian/copyright is accurate except that the Files: * stanza implicitly claims DCO for The Gitea Authors under Expat, which is a small attribution error, not a DFSG problem; no vendored third-party code, non-free wording or asset of unclear provenance exists in the tree.
Packaging
Standard pkg-go packaging, done well: dh_golang at compat 13 with the right substvars (${misc:Depends}, ${shlibs:Depends} and dh_golang's ${misc:Static-Built-Using}), --no-source for a program, DH_GOLANG_EXCLUDES for the docs generator, a single DEP-5 copyright file, gbp.conf, salsa-ci, upstream/metadata, a clean initial changelog and a current Standards-Version (4.7.4 against Policy 4.7.4.1). The issues are small but real: one Build-Depends names a package that exists nowhere, and the build neither stamps the version the binary reports nor keeps the OAuth tests it disables.
Issues
minor licensing 1. Files: * attributes DCO, © 2004, 2006 The Linux Foundation, to The Gitea Authors under Expat ◂
- Files:
DCO:4,debian/copyright (Files: * stanza) - Basis: checked, in the package or with a reference tool
- Evidence: DCO:
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.; debian/copyright:Files: */Copyright: 2016 The Gitea Authors/License: Expat - Problem: The catch-all stanza covers DCO, so the copyright file records the wrong holder and the wrong licence for that file: it is the Developer Certificate of Origin, whose own terms apply (verbatim copying permitted, changes not). That term restricts only the licence document and does not make the package non-free, but debian/copyright is inaccurate about this file.
- Fix: Add a
Files: DCOstanza namingThe Linux Foundation and its contributorswith a stand-aloneLicense: DCO-1.1paragraph containing the DCO text (not Expat), or an equivalent accurate treatment.
minor packaging 2. Build-Depends on golang-charm-glamour-v2-dev, a package that exists neither in the archive nor in NEW ◂
- Files:
debian/control:14,internal/terminal/markdown.go:14-15 - Basis: checked, in the package or with a reference tool
- Evidence: debian/control:
golang-charm-glamour-v2-dev,; upstream"charm.land/glamour/v2"and"charm.land/glamour/v2/styles"; apt-cache (xd://apt-cache, lists of 2026-11-07):There is no binary package named golang-charm-glamour-v2-dev in these lists, and nothing provides it. Nor is it a binary of this package or of any upload waiting in the NEW queues - Problem: dh_golang builds in GOPATH mode (GO111MODULE=off, GOPROXY=off), so charm.land/glamour/v2 must be present in /usr/share/gocode/src for
go install gitea.dev/cli/...to compile internal/terminal/markdown.go. Its sibling modules are packaged (golang-charm-bubbles-v2-dev, -bubbletea-v2-dev, -lipgloss-v2-dev) or in NEW (golang-charm-huh-v2-dev), but glamour v2 is not; sbuild cannot install the build dependency, so the upload will not build until that package exists. - Fix: Upload and have accepted golang-charm-glamour-v2 (binary golang-charm-glamour-v2-dev) before this package, or build without glamour until it is available.
minor
packaging
3. gt version reports "development": debian/rules does not stamp internal/version.Version
◂
- Files:
debian/rules:1-9,internal/version/version.go:19,45-56 - Basis: checked, in the package or with a reference tool
- Evidence:
var Version = "development"withresolve()falling back toinfo.Main.Versiononly when it is not"(devel)"; debian/rules is onlydh $@ --builddirectory=debian/build --buildsystem=golangwith no-ldflags, while upstream's Makefile sets-X "gitea.dev/cli/internal/version.Version=$(BUILD_VERSION)" - Problem: dh_golang passes no linker flags, and a module-less (GOPATH)
go installrecords no module version in the build info, so the shipped binary resolves to the default andgt version/gt --versionprintsgt version developmentinstead of 1.1.0. Users and bug reports then carry a version that identifies nothing. - Fix: Stamp the version at build time, e.g. export
GOFLAGS=-ldflags=-X-style flags from debian/rules using the upstream part of the Debian version (DEB_VERSION_UPSTREAM), or overridedh_auto_buildto rungo install -ldflags "-X gitea.dev/cli/internal/version.Version=$(DEB_VERSION_UPSTREAM)".
minor
packaging
4. Patch disables seven OAuth tests with t.Skip("broken test") and no explanation or forwarding
◂
- Files:
debian/patches/0001-skip-broken-tests.patch:1-2,debian/patches/0001-skip-broken-tests.patch (all hunks),internal/auth/oauth_test.go,internal/app/auth_test.go - Basis: checked, in the package or with a reference tool
- Evidence:
From: Maytham Alsudany <maytham@debian.org>/Description: Skip broken tests(noForwarded,Last-Updateor bug reference), and hunks adding+ t.Skip("broken test")to TestOAuthLoginPKCEAndState, TestRefreshSerializesAndRetainsRefreshToken, TestOAuthWithoutHTTPClientUsesDefaultClient, TestOAuthLoginReportsAnUnreachableTokenEndpoint, TestOAuthLoginNamesAnUncompletedBrowserAuthorization, TestOAuthTokenEndpointOutageIsNotARejectedCredential and TestOAuthLoginOpensAuthorizationURLInBrowser - Problem: Seven tests of the OAuth login and credential code are switched off unconditionally in the shipped source, with the reason given only as "Skip broken tests". The failure they hide cannot be judged (several use a local httptest server and a supplied Authorize callback, so they look like they would pass), the loss of coverage is not recorded anywhere, and without a DEP-3
Forwardedfield nothing says the skips were reported upstream or why they are needed in Debian. - Fix: Say in the patch Description what actually fails in Debian's build and why, add
Forwarded: not-neededor the upstream bug URL and aLast-Update, and skip conditionally on the cause (or fix the tests) rather than with a bare unconditional skip.
Verified ◂
- Read every file of debian/ in full: control, rules, changelog, copyright (DEP-5 with the exact 1.0 Format URL), source/format (3.0 quilt), patches/series and the single patch, gbp.conf, salsa-ci.yml and upstream/metadata; there are no maintainer scripts, *.maintscript, install/links/docs/dirs files or debian/tests directory.
- Licensing inventory: all 490 upstream files were scanned with grep for Copyright/(C)/©/SPDX/licence wording. Every Go file has
// Copyright <year> The Gitea Authors. All rights reserved.plus// SPDX-License-Identifier: MIT; LICENSE is the Expat text (© 2016 The Gitea Authors) and matches theLicense: Expatparagraph in debian/copyright; README says MIT; skills/gt frontmatter sayslicense: MIT; the remaining files (docs/, scripts/, tools/, dot-files, Makefile, Dockerfile, flake.nix) carry no separate notice and are covered byFiles: */ Expat at the top level. No holder other than The Gitea Authors and The Linux Foundation appears anywhere. - DCO is the verbatim Developer Certificate of Origin 1.1 text. Its
changing it is not allowedapplies to that licence document only (as the GPL's own text does), so it is not a DFSG restriction and does not make the package non-free; its attribution is the one licensing issue reported. - assets/gt-icon.svg is a small hand-written SVG (text source, gradients and paths only, no embedded raster or third-party artwork) covered by LICENSE; it is the only non-text asset. There are no fonts, images, PDFs, archives, minified files or compiled binaries anywhere in the tree.
- No vendored third-party code and no embedded copies of Debian libraries: go.mod dependencies are all packaged separately and no vendor/ directory or copied source exists; there are no non-commercial/no-modification/field-of-use terms (grep for those phrases found nothing).
- code.gitea.io/gitea-vet appears only in build.go behind
//go:build vendorand in the Makefile's vet target, neither of which the Debian build runs (dh_golang with GO111MODULE=off buildsgitea.dev/cli/...), so its absence from Build-Depends is correct. - github.com/davidmz/go-pageant is imported only by internal/auth/httpsign_agent_windows.go, which is
//go:build windows; it is not compiled on Linux and needs no Build-Depends there. - DH_GOLANG_INSTALL_EXTRA := skills/gt only copies the agent-skill docs into the build directory for internal/app/skill_test.go; with
--no-sourceand no go:embed in the tree nothing of skills/ is installed into the binary package. - dh_golang generates
${misc:Static-Built-Using}(its own documentation: it "adds the misc:Static-Built-Using substvar based on the dependencies of the package being built"), so the Static-Built-Using field in debian/control is filled; at compat 13 the explicitly listed${misc:Depends}and${shlibs:Depends}are also required and are present. - golang-charm-huh-v2-dev is absent from the archive but is built by source golang-charm-huh-v2 2.0.3-1 waiting in NEW (xd://apt-cache), so that dependency is satisfiable and not a fault; golang-any/golang-go is 1.27, matching go.mod's
go 1.27.0under GOTOOLCHAIN=local. - gitea-cli is the binary package of this upload and is not yet in the archive, as expected for a new package; the changelog version (1.1.0-1), distribution and ITP closure are well formed, and Standards-Version 4.7.4 has the same first two components as Policy 4.7.4.1.
- Testsuite: autopkgtest-pkg-go expands through autodep8 to /usr/bin/dh_golang_autopkgtest, which copies the source tree, rebuilds it with debian/rules and runs a
make autopkgtesttarget only if one is defined (none is); this is the standard pkg-go mechanism and no debian/tests directory is needed. - The patch applies only to internal/auth/oauth_test.go and internal/app/auth_test.go and is listed in patches/series; debian/source/format is 3.0 (quilt) and the tarball is a plain git export with no repack.
- uscan found the packaged version as the newest upstream release (upstream
1.1.0, packaged1.1.0).
Not confirmed ◂
- Build-Depends requires
golang-github-itchyny-gojq-dev (>= 0.12.20), but the reviewing system's lists have only 0.12.13-2; apt-cache gives no NEW-queue information for a binary name that already exists, so a newer upload may exist. If none is in NEW, the versioned build dependency is unsatisfiable and the package will not build; a build would show it. - debian/control names golang-code-gitea-sdk-dev for the
gitea.dev/sdkimport path used throughout internal/services, but the archive's package of that name is 0.24.1-2 (source golang-code-gitea-sdk), from before the SDK's move to the gitea.dev/sdk module path required here (v1.5.1). Whether that package installs /usr/share/gocode/src/gitea.dev/sdk or only the old code.gitea.io/sdk/gitea cannot be checked from these lists; if the latter, or if no newer upload is in NEW, the build fails to find the package. A versioned dependency would make the requirement explicit. - go.mod asks for charm.land/bubbles/v2 v2.2.1 while the archive has golang-charm-bubbles-v2-dev 2.1.0-1. GOPATH mode ignores the version in go.mod, so this either compiles or fails on an API added in 2.2.1; a build would show which.
Proposed changes ◂
None.
Uploader's response to the LLM review
The uploader was emailed about the review 1 hour ago.