| | |
| | | |
| | | ## Installation |
| | | |
| | | ### From Source |
| | | ```bash |
| | | # From source |
| | | pip install -e . |
| | | # Clone the repository |
| | | git clone https://github.com/joelgrun/archrepobuild |
| | | cd archrepobuild |
| | | |
| | | # Or with development dependencies |
| | | pip install -e ".[dev]" |
| | | # Set up virtual environment and install |
| | | python -m venv .venv |
| | | source .venv/bin/activate |
| | | pip install -e . |
| | | ``` |
| | | |
| | | ### Native Arch Linux Package |
| | | To build and install as a native system package: |
| | | ```bash |
| | | makepkg -si |
| | | ``` |
| | | |
| | | ### Standalone Binary |
| | | To create a standalone executable that doesn't require Python: |
| | | ```bash |
| | | python scripts/build_binary.py |
| | | ``` |
| | | The binary will be available at `dist/archrepobuild-bin`. |
| | | |
| | | ## Quick Start |
| | | |
| | | 1. **Create configuration**: |
| | |
| | | |
| | | 2. **Initialize repository**: |
| | | ```bash |
| | | archbuild -c config.yaml init |
| | | archrepobuild -c config.yaml init |
| | | ``` |
| | | |
| | | 3. **Add packages**: |
| | | ```bash |
| | | archbuild add yay paru |
| | | archrepobuild add yay paru |
| | | ``` |
| | | |
| | | 4. **Build all packages**: |
| | | ```bash |
| | | archbuild build-all |
| | | archrepobuild build-all |
| | | ``` |
| | | |
| | | 5. **Build a specific package**: |
| | | ```bash |
| | | archbuild build <package> |
| | | archrepobuild build <package> |
| | | ``` |
| | | |
| | | ## Commands |
| | |
| | | ## Migration from Bash Version |
| | | |
| | | ```bash |
| | | archbuild migrate-config vars.sh -o config.yaml |
| | | archrepobuild migrate-config vars.sh -o config.yaml |
| | | ``` |
| | | |
| | | ## Systemd Timer |
| | | |
| | | Create `/etc/systemd/system/archbuild.service`: |
| | | Create `/etc/systemd/system/archrepobuild.service`: |
| | | ```ini |
| | | [Unit] |
| | | Description=Build AUR packages |
| | | |
| | | [Service] |
| | | Type=oneshot |
| | | ExecStart=/usr/bin/archbuild -c /etc/archbuild/config.yaml build-all |
| | | ExecStart=/usr/bin/archrepobuild -c /etc/archrepobuild/config.yaml build-all |
| | | User=builduser |
| | | ``` |
| | | |
| | | Create `/etc/systemd/system/archbuild.timer`: |
| | | Create `/etc/systemd/system/archrepobuild.timer`: |
| | | ```ini |
| | | [Unit] |
| | | Description=Run archbuild daily |
| | | Description=Run archrepobuild daily |
| | | |
| | | [Timer] |
| | | OnCalendar=daily |