Getting Started¶
Build Dependencies¶
Debian/Ubuntu¶
.deb tools:
apt install make debhelper reprepro cowbuilder wget
.rpm tools (requires configuration):
# Configure repository
. /etc/os-release
ARCH=$(dpkg --print-architecture)
# GPG Key
wget -qO - https://kakwa.github.io/debian-rpm-build-tools/GPG-KEY.pub | \
gpg --dearmor | tee /etc/apt/trusted.gpg.d/debian-rpm-build-tools.gpg >/dev/null
# Repository
echo "deb [arch=${ARCH}] \
https://kakwa.github.io/debian-rpm-build-tools/deb.${VERSION_CODENAME}.${ARCH}/ \
${VERSION_CODENAME} main" | \
tee /etc/apt/sources.list.d/debian-rpm-build-tools.list
# Update
apt update
# Install packages
apt install mock createrepo-c rpm dnf gnupg2
RHEL/Rocky/Fedora¶
.rpm tools:
dnf install make rpm-sign expect rpm-build createrepo mock wget
.deb tools:
dnf install pbuilder apt dpkg debian-keyring ubu-keyring reprepro
Cross-Architecture Builds¶
Debian/Ubuntu:
# Adapt with the CPU architectures you are targetting
apt install binfmt-support qemu-utils qemu-user-static \
qemu-system-arm qemu-system-misc qemu-system-ppc qemu-system-s390x
RHEL/Rocky/Fedora:
# customize with your archs
dnf install qemu-user-binfmt qemu-system-riscv qemu-system-aarch64
Repository Initialization¶
Create git repository (most likely on Github) and checkout it:
# Clone and cd in your repository
export REPO_URL=<your git url>
git clone ${REPO_URL}
cd $(basename ${REPO_URL} | sed 's/\.git$//')
Recover Pakste:
# Download Pakste
wget -qO- https://github.com/kakwa/pakste/archive/refs/heads/main.tar.gz | \
tar --strip-components=1 -xz
Optionally, create README.md:
# Set with your org/user and repo name
export GH_ORG=<your gh org/user>
export GH_REPO=<your gh repo name>
# Copy configuration example
cp common/README.md.ex README.md
# Customize for your repo
sed -i "s/@ORG@/${GH_ORG}/g" README.md
sed -i "s/@REPO@/${GH_REPO}/g" README.md
# Tweak it if necessary
vim README.md
Commit:
# Commit
git add ./
git commit -a -m 'init'
git push origin main
Warning
Don’t customize the following files & directory:
common/
.github/workflows/build-test.yml
.github/workflows/repos.yml
.github/workflows/vulncheck.yml
.github/workflows/docs.yml
Makefile
README.rst
These resources are overwritten during Pakste updates.