Fork of Arch Linux devtools from https://git.archlinux.org/devtools.git
Go to file
Christian Heusel e0a84aefc3
fix(common): check before using tput with a fallback for colors
The latest release of devtools has included some pretty printing
capabilities and fancy terminal stuff with the spinner and so on.

It seems like the existing safeguards to disable this for incapable
terminals were not enough though, therefore we saw two types of errors:

- offload-build:
  ```
  ==> Building in chroot for [extra] (x86_64)...
  tput: unknown terminal "unknown"
  tput: unknown terminal "unknown"
  tput: unknown terminal "unknown"
  ```
- repro builders:
  ```
  ==> Successfully switched <package> to version <version>
  tput: No value for $TERM and no -T specified
  ERROR: Failed checkout <package>
  ```

The recently included fail option made this error populate to the
command level and therefore increased its impact from a not so nice
logging message to a more severe problem which made the command abort.

We fix this by checking if tput is supported or else use the raw escape
sequences instead of tput commands.

Fixes: fedfc80 ("feat(term): add terminal utils to handle a dynamic spinner")
Fixes: 66e83c9 ("feat(version): pretty print and group together version check results")
Fixes: d0dc0e1 ("feat(search): add optional plain output formatting")
Signed-off-by: Christian Heusel <christian@heusel.eu>
2024-02-14 01:21:28 +01:00
config feat(configure): ship default ignore via exclude 2023-12-19 20:06:26 +01:00
contrib feat(build): consolidate repo flags in build and release subcommand 2024-02-08 00:52:20 +01:00
doc feat(build): consolidate repo flags in build and release subcommand 2024-02-08 00:52:20 +01:00
src fix(common): check before using tput with a fallback for colors 2024-02-14 01:21:28 +01:00
test/bin test: added pkgctl devel wrapper for convenient development testing 2023-05-20 00:08:11 +02:00
.gitignore build: command to build packages inside a clean chroot 2023-05-20 00:08:11 +02:00
.gitlab-ci.yml build: enable gitlab-ci 2022-04-28 19:10:59 +02:00
LICENSE Add GPL-3.0 license file 2021-10-29 09:16:05 +02:00
Makefile chore(release): version v1.1.0 2024-02-08 01:31:00 +01:00
README.md doc: add pacman-contrib to optdeps in the README 2024-02-10 20:13:15 +01:00
cliff.toml fix(cliff): trim fix separator before checking merge request id 2023-12-19 20:06:26 +01:00

README.md

Devtools - development tools for Arch Linux

This repository contains tools for the Arch Linux distribution for building and maintaining official repository packages.

Building

When building official distro packages the BUILDTOOLVER needs to be set to the exact label of the release package in order to allow to detect the exactly used devtools version. This is required for reproducible builds to fetch the according files like makepkg.conf.

BUILDTOOLVER="${pkgver}-${pkgrel}-${arch}" make all

Development

For local development testing, there is a convenience wrapper for pkgctl that will automatically build the project and proxy all calls to the local build directory:

./test/bin/pkgctl --help

Commit messages

All commits must follow conventional commits.

The following groups are allowed:

  • chore
  • feat
  • fix
  • doc
  • perf
  • test

To override the scope for the changelog entry use the Component: trailer.

Example:

feat(db): yay mega cool feature

Very long and useful description.

Fixes #1
Fixes #2

Component: pkgctl db remove

Releasing

  1. bump the version in the Makefile
  2. Commit everything as Version $(date +"%Y%m%d")
  3. Create a new tag git tag -s $(date +"%Y%m%d")
  4. Push changes
  5. Upload the source tarball with make dist upload
  6. Update the package

Dependencies

Runtime Dependencies

  • arch-install-scripts
  • awk
  • bash
  • binutils
  • coreutils
  • curl
  • diffutils
  • fakeroot
  • findutils
  • grep
  • jq
  • ncurses
  • openssh
  • parallel
  • rsync
  • sed
  • systemd
  • util-linux
  • bzr
  • git
  • mercurial
  • subversion

Optional Dependencies

  • bat (pretty printing)
  • nvchecker (version checking)
  • pacman-contrib (--update-checksums options for pkgctl build)

Development Dependencies

  • asciidoc
  • make
  • shellcheck

License

Devtools is licensed under the terms of the GPL-3.0-or-later (see LICENSE).