Package: tiup / 1.16.4-1

Metadata

Package Version Patches format
tiup 1.16.4-1 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0001 Fix compilation errors with gopsutil v4.25.2 library.patch | (download)

pkg/insight/process.go | 5 4 + 1 - 0 !
pkg/insight/process_linux.go | 14 3 + 11 - 0 !
2 files changed, 7 insertions(+), 12 deletions(-)

 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

0002 Make TiUP compatible with usql v0.19.19.patch | (download)

components/client/main.go | 6 4 + 2 - 0 !
1 file changed, 4 insertions(+), 2 deletions(-)

 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.

0004 Skip online repository interaction for packaged buil.patch | (download)

cmd/list.go | 22 11 + 11 - 0 !
pkg/environment/env.go | 14 14 + 0 - 0 !
pkg/exec/run.go | 5 5 + 0 - 0 !
pkg/repository/v1_repository.go | 5 5 + 0 - 0 !
pkg/repository/v1manifest/local_manifests.go | 4 2 + 2 - 0 !
5 files changed, 37 insertions(+), 13 deletions(-)

 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