3ecba314fc
Previously the behavior was inconsistent and not fully fulfilling its purpose of only using --repo once when initially pushing a new and unknown package to the official repositories. Consolidate the behavior by only allowing to use --repo during the initial packaging and disallow any subsequent usage. The expected user experience is to subsequently use --testing or --staging to influence the auto-detection of the build target. This avoids any kind of human error which leads to releasing core packages to extra-testing by accident. Furthermore, allow the build subcommand to automatically fallback to extra as the default stable repository target which greatly improves the usability for AUR or local override builds. Fixes #193 Fixes #191 Component: pkgctl build Component: pkgctl release Signed-off-by: Levente Polyak <anthraxx@archlinux.org> |
||
---|---|---|
config | ||
contrib | ||
doc | ||
src | ||
test/bin | ||
.gitignore | ||
.gitlab-ci.yml | ||
LICENSE | ||
Makefile | ||
README.md | ||
cliff.toml |
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
- bump the version in the Makefile
- Commit everything as
Version $(date +"%Y%m%d")
- Create a new tag
git tag -s $(date +"%Y%m%d")
- Push changes
- Upload the source tarball with
make dist upload
- Update the package
Dependencies
Runtime Dependencies
- arch-install-scripts
- awk
- bash
- binutils
- coreutils
- 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)
Development Dependencies
- asciidoc
- make
- shellcheck
License
Devtools is licensed under the terms of the GPL-3.0-or-later (see LICENSE).