commit | author | age
|
82201d
|
1 |
#+TITLE: Auto-build package repository for Arch Linux |
C |
2 |
|
|
3 |
* What is this? |
8ea4ef
|
4 |
This is a package autobuild solution for Arch Linux. |
JG |
5 |
It supports the automated building of packages from the AUR. |
|
6 |
|
|
7 |
Currently it supports package signing and building clean from source. |
|
8 |
It can help to set itself up and generate GPG keys if need be. |
|
9 |
|
|
10 |
The chroot files are here from an older version of this project and are here as I think they're interesting. |
303424
|
11 |
|
82201d
|
12 |
* Set-up |
8ea4ef
|
13 |
Edit the variables at the top of ~main.sh~ to suit your repository details. |
JG |
14 |
Have a look at the init function near the bottom of the file to decide if you want to run it. |
|
15 |
If you decide to generate a GPG key, edit the name, comment and email so that it fits you. |
a9dd2c
|
16 |
|
C |
17 |
You may also want to set ~MAKEFLAGS="-j$(nproc)"~ within the chroot to enable parallel compilation. |
a45f88
|
18 |
For xz compression, add the ~--threads=0~ option to COMPRESSXZ such that it reads ~COMPRESSXZ=(xz -c -z - --threads=0)~. |
C |
19 |
ccache may be useful to decrease the times of git packages, due to the little changes. |
a9dd2c
|
20 |
|
82201d
|
21 |
* Usage |
8ea4ef
|
22 |
To add a package ~main.sh add [package]~ should be run. Currently I only support adding one package at a time. |
JG |
23 |
To update all packages, use ~main.sh build-all~. A ~-f~ flag can be used to force a rebuild of all the packages. |
|
24 |
To allow automatic building, use a cronjob or write a systemd unit, there are many guides out there, although I may add examples if I feel like it. |
303424
|
25 |
|
533d81
|
26 |
* To Dos |
f6854c
|
27 |
# - Multiple packages from a single PKGBUILD :: Some PKGBUILDs can create many packages at once, currently I am unable to handle this. |
JG |
28 |
- AUR dependency checking and automatic resolution :: Something like what aurutils does, maybe I can steal it from there |
|
29 |
- Error catching for builds which fail. :: Have emailing, but nothing more advanced. Would be nice to have some basic error handling in the script |
8c5114
|
30 |
# - Create a universal variables file :: Not sure how useful this would be, but could be nice |