Debian Patches

Status for tiup/1.16.3-1

Patch Description Author Forwarded Bugs Origin Last update
0001-Fix-compilation-errors-with-gopsutil-v4.25.2-library.patch Fix compilation errors with gopsutil v4.25.2 library
As the golang-github-shirou-gopsutil-dev package v4.25.2 in Debian is
newer than the v3.21.11 in go.mod of TiUP, the Debian build failed on:

src/github.com/pingcap/tiup/pkg/insight/process.go:165:24: cannot use proc.Status() (value of type []string) as string value in assignment
src/github.com/pingcap/tiup/pkg/insight/process_linux.go:24:38: undefined: process.ClockTicks

Apply these changes on TiUP to make it compatible:

- The `proc.Status()` method now returns a slice of strings (`[]string`)
instead of a single string. Update the assignment to take the first
element of the slice, assuming it contains the primary status
information. Add a check for an empty slice to prevent panics.

- The `process.ClockTicks` constant and the related logic for parsing
`/proc/[pid]/stat` are no longer supported. Replace this with a call
to `proc.CreateTime()`, which provides the process creation time in
milliseconds since the Unix epoch. Convert this value to seconds for
the `StartTime` field.

Additionally, remove unused import statements to avoid failures on:

src/github.com/pingcap/tiup/pkg/insight/process_linux.go:8:2: "os" imported and not used
src/github.com/pingcap/tiup/pkg/insight/process_linux.go:9:2: "strconv" imported and not used
src/github.com/pingcap/tiup/pkg/insight/process_linux.go:10:2: "strings" imported and not used
Otto Kekäläinen <otto@kekalainen.net> no 2025-08-09
0002-Make-TiUP-compatible-with-usql-v0.19.19.patch Make TiUP compatible with usql v0.19.19
As the golang-github-xo-usql-dev package v0.19.19 in Debian is
newer than the v0.9.5 in go.mod of TiUP, the Debian build failed on:

src/github.com/pingcap/tiup/components/client/main.go:98:33: not enough arguments in call to rline.New
have (bool, string, string)
want (bool, bool, bool, string, string)
src/github.com/pingcap/tiup/components/client/main.go:102:70: not enough arguments in call to handler.New
have (rline.IO, *user.User, string, bool)
want (rline.IO, *user.User, string, billy.Filesystem, bool)

Apply these changes on TiUP to make it compatible:

- `rline.New` now requires two additional boolean arguments. These are
set to `false` as safe defaults.

- `handler.New` now requires a `billy.Filesystem` argument. This is
provided by importing `osfs` and creating a new `osfs.New` instance
using the instance data directory.
Otto Kekäläinen <otto@kekalainen.net> no 2025-08-26
0003-Fix-minor-typos.patch Fix minor typos Otto Kekäläinen <otto@kekalainen.net> no 2025-08-08
0004-Skip-online-repository-interaction-for-packaged-buil.patch Skip online repository interaction for packaged builds
Enable TiUP to operate correctly and robustly when installed via an
external package manager (e.g., Debian, RPM, Homebrew). Allow TiUP to
run without requiring network access to its online repository for
initial setup or updates, which is crucial for production systems and
environments with restricted connectivity.

Achieve this by introducing the boolean flag `IsPackagedBuild`, which is
intended to be hard-coded to `true` in binaries produced by package
maintainers.

When `IsPackagedBuild` is true:

- The initial environment setup skips connecting to the online
repository, relying instead on local files.

- The automatic update check before running a component is skipped.

- A message is printed to stderr indicating that online interaction is
skipped, informing the user of the different behavior.

- Functions related to *forced* self-updating TiUP return an error,
explicitly disabling these operations in packaged builds. Users should
still be able to install/update when explicitly running those
commands.

- Use the system-wide location `/usr/share/tiup/root.json` for initial
trust setup and assume this file came with the package. This aligns
with typical system package practices.
Otto Kekäläinen <otto@kekalainen.net> no 2025-08-08
0005-Remove-testing-only-failpoint-dependency-completely.patch Remove testing-only failpoint dependency completely
The `github.com/pingcap/failpoint` module is a testing-only dependency used for
injecting failures during tests. Remove it entirely to reduce the dependency
footprint.
Otto Kekäläinen <otto@kekalainen.net> no 2025-10-06
0006-Remove-tiup-client-component.patch Remove tiup client component
Remove the `tiup client` component and its dependencies, specifically
`github.com/gizak/termui/v3` and `github.com/xo/usql` to reduce the dependency
footprint. Any regular MariaDB/MySQL client program can be used so this
component is not mandatory and TiUP will work fine without it.
Otto Kekäläinen <otto@kekalainen.net> no 2025-10-06
0007-Remove-appleboy-easyssh-proxy-dependency.patch Remove appleboy/easyssh-proxy dependency
To further reduce the dependency footprint remove
`github.com/appleboy/easyssh-proxy` and use the Go standard library
`golang.org/x/crypto/ssh` instead.
Otto Kekäläinen <otto@kekalainen.net> no 2025-10-06

All known versions for source package 'tiup'

Links