Skip to content
Snippets Groups Projects
Forked from Arch Linux / devtools
1 commit ahead of the upstream repository.
Vekhir's avatar
Vekhir -- authored
In order to automatically replace pkgrel and pkgver, we must first check
that they are declared in the usual way as a key-value pair.
If pkgrel or pkgver contain special characters like +, they are currently
interpreted as regex. Use -F to instead signify that they should be literal
patterns. Since the declaration must be on its own line and anchors can't be
in literal patterns, also specify -x to only consider whole line matches.
b66d2a49
History

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
  • expac
  • fakeroot
  • findutils
  • glow
  • grep
  • gum
  • jq
  • ncurses
  • openssh
  • parallel
  • rsync
  • sed
  • systemd
  • util-linux
  • bzr
  • git
  • mercurial
  • subversion

Optional Dependencies

  • bat (pretty printing)
  • nvchecker (version checking)

Development Dependencies

  • asciidoctor
  • make
  • shellcheck
  • bats

License

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