-
Notifications
You must be signed in to change notification settings - Fork 81
Contributing Guide
This repository contains patches on top of Arch Linux package sources. Let's take elfutils as an example.
-
git clone https://gitlab.archlinux.org/archlinux/packaging/packages/elfutils.gitGet the official ArchLinux PKGBUILD. -
cd elfutils/repos/core-x86_64/Our patch is built upon stable PKGBUILDs not ones in trunk. -
wget https://raw.githubusercontent.com/felixonmars/archriscv-packages/master/elfutils/riscv64.patchGet all things underelfutilsfolder. Since patches will change at any time, we just show one patch here. - Use
vimor other editors you like to add riscv64 toarch. Orsetconf PKGBUILD arch "('x86_64' 'riscv64')". Our build system will do this automatically. However, you need to do this manually if you would like to build a package locally. -
patch -i riscv64.patchPatch the official PKGBUILD. -
extra-riscv64-buildThis is a build tool modified from the official devtools. You can get it from AUR devtools-riscv64 or from ArchLinuxCN devtools-riscv64.
In order to avoid the system pacman cache being multiplexed, you may want to use another cache folder. And use the following command to build.
export CACHE_DIR=~/.cache/pkgcache
mkdir -p $CACHE_DIR
extra-riscv64-build -- -d "$CACHE_DIR:/var/cache/pacman/pkg"Replace ~/.cache/pkgcache with the path where you want to store the package cache.
Note: If you use devtools-riscv64 on x86_64 or other architectures instead of riscv64, you may want to check qemu-user-blacklist.txt which contains a list of packages which cannot be built using qemu-user. They can be built on real riscv64 hardware.
Since we are a open project, contributions are welcome. First, check out the status page. If the status is FTBFS, then we need to do something with this package. Take a look at build log, try to fix it locally and send a Pull Request. There are some conventions in commit messages.
-
addpatch: pkgnameThis means that there is no patch before. -
upgpatch: pkgnameThis means that there is a patch before which doesn't work now. -
rmvpatch: pkgnameThis means that this package can be built without any patch now.
If the status is "Leaf package, port it!" and you need the package, open an issue to request a package.
You can also check https://archrv-status.xctan.workers.dev to see if our volunteers are already working on the package.