mirror of https://github.com/Chizi123/Arch-autobuild-repo.git

Joel Grunbaum
2019-08-23 2ea4062c8dd6d9406132d29979163c11c3560823
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#+TITLE: Auto-build package repository for Arch Linux
 
* What is this?
This is a set of files to auto-build a personal repository for Arch.
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.
 
* Set-up
Edit ~create_chroot.sh~ variables at the top to your details.
Run ~sudo create_chroot.sh~, and create the git repository in ~/build/repo~ when prompted, with a remote repository.
 
You may also want to set ~MAKEFLAGS="-j$(nproc)"~ within the chroot to enable parallel compilation.
For xz compression, add the ~--threads=0~ option to COMPRESSXZ such that it reads ~COMPRESSXZ=(xz -c -z - --threads=0)~.
ccache may be useful to decrease the times of git packages, due to the little changes.
 
* Usage
All scripts must be run as root.
To enter the chroot, use the ~enter_chroot.sh~ script.
To add a package from the AUR, use the ~add_package.sh~ script, with the git URL as the argument.
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~.
 
The packages are built and put into the directory ~/build/repo/x86_64~, then pushed with git.
Only the latest packages are stored in ~/build/repo/x86_64~ to avoid multiple older versions building up.
 
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.
 
* To Dos
- Error catching for builds which fail.
- Create a universal variables file