Contributing to aurutils
Contributions to aurutils are welcome. This guide outlines how to set up a development environment, run tests, and report issues.
Reporting Issues
Before filing a bug report, please check the following:
- Are you using the latest release of
aurutilsand its dependencies? Is the issue reproducible on themasterbranch? - Does the package in question conform to the
PKGBUILD(5)man page and the AUR package guidelines? - Does the package provide the correct metadata on the AUR RPC interface?
- Does the package build successfully with
makepkg -sor in a clean chroot withextra-x86_64-build? - Does the package use internal
makepkgfunctions? (see FS#43502) - Is the problem reproducible and not due to a misconfiguration of
pacman,makepkg,sudoers, orgpg?
If you can answer "yes" to all of these questions, please create a debug log:
AUR_DEBUG=1 aur <command> <arguments> >aurutils.log 2>&1
Then, attach the aurutils.log file to your GitHub issue.
Development Setup
To contribute code, you can set up a local development environment.
1. Clone the Repository
git clone https://github.com/aurutils/aurutils.git
cd aurutils
2. Build
The Makefile is used to prepare the scripts for execution. The build target handles generating the main aur script and shell completions.
make build
This will create the aur executable script in the root of the repository.
3. Running Tests
aurutils has a test suite to ensure consistency and correctness.
-
Shellcheck: Lints all shell scripts for common errors.
make shellcheck -
Option Parsing Consistency: Verifies that the command-line options defined in the scripts match their
getoptparsing loops.tests/parseopt-consistency -
Perl Tests: Runs tests for the Perl modules.
make -C perl test -
CI Workflow: The continuous integration workflow defined in
.github/workflows/ci.ymlruns all of these checks.
4. Submitting Changes
- Create a new branch for your feature or bug fix.
- Make your changes.
- Ensure all tests pass.
- Submit a pull request to the
aurutilsrepository.