commit | author | age
|
82201d
|
1 |
#+TITLE: Auto-build package repository for Arch Linux |
C |
2 |
|
|
3 |
* What is this? |
|
4 |
This is a set of files to auto-build a personal repository for Arch. |
|
5 |
It uses a chroot environment to build the packages, so that a build environment can be made on a server running a non-arch operating system. |
303424
|
6 |
|
82201d
|
7 |
* Set-up |
303424
|
8 |
Edit ~create_chroot.sh~ variables at the top to your details. |
C |
9 |
Run ~sudo create_chroot.sh~, and create the git repository in ~/build/repo~ when prompted, with a remote repository. |
a9dd2c
|
10 |
|
C |
11 |
You may also want to set ~MAKEFLAGS="-j$(nproc)"~ within the chroot to enable parallel compilation. |
a45f88
|
12 |
For xz compression, add the ~--threads=0~ option to COMPRESSXZ such that it reads ~COMPRESSXZ=(xz -c -z - --threads=0)~. |
C |
13 |
ccache may be useful to decrease the times of git packages, due to the little changes. |
a9dd2c
|
14 |
|
82201d
|
15 |
* Usage |
C |
16 |
All scripts must be run as root. |
|
17 |
To enter the chroot, use the ~enter_chroot.sh~ script. |
|
18 |
To add a package from the AUR, use the ~add_package.sh~ script, with the git URL as the argument. |
|
19 |
To build the packages use the ~build_packages.sh~ script, which will enter the chroot, and build the packages from the PKGBUILDs stored in ~/build/repo~. |
a9dd2c
|
20 |
|
82201d
|
21 |
The packages are built and put into the directory ~/build/repo/x86_64~, then pushed with git. |
3ce647
|
22 |
Only the latest packages are stored in ~/build/repo/x86_64~ to avoid multiple older versions building up. |
a9dd2c
|
23 |
|
70bd3e
|
24 |
To enable automatic building, create a cronjob for root, something of the sort of ~0 12 * * * /path/to/dir/build_packages.sh~ to build ever day at noon. |
303424
|
25 |
|
533d81
|
26 |
* To Dos |
C |
27 |
- Error catching for builds which fail. |
303424
|
28 |
- Create a universal variables file |