Skip to content

build-procursus-debs #208

build-procursus-debs

build-procursus-debs #208

name: build-procursus-debs
on:
workflow_dispatch:
defaults:
run:
shell: bash
env:
MEMO_TARGET: iphoneos-arm64
NO_PGP: 1
jobs:
build:
runs-on: macos-13
strategy:
matrix:
cfver: [ 1900 ]
steps:
- name: Select Xcode version
run: sudo xcode-select -switch '/Applications/Xcode_15.2.app/Contents/Developer'
- name: Download zstd
id: download-zstd
run: |
dir=$(mktemp -d /tmp/XXXX) && cd "${dir}"
curl -vLO https://cameronkatri.com/zstd
chmod -v +x ./zstd
echo "DIR=${dir}" >> $GITHUB_OUTPUT
- name: Boostrap Procursus
run: |
dir="${{ steps.download-zstd.outputs.DIR }}" && cd "${dir}"
curl -vL https://apt.procurs.us/bootstraps/big_sur/bootstrap-darwin-amd64.tar.zst -o bootstrap.tar.zst
./zstd -dk bootstrap.tar.zst
sudo tar -xvvpkf ./bootstrap.tar -C / || :
cd -
rm -vrf "${dir}"
- name: Add Procusus to PATH
run: |
PROCURSUS_PATHS=("/opt/procursus/games" "/opt/procursus/sbin" "/opt/procursus/bin" "/opt/procursus/local/sbin" "/opt/procursus/local/bin")
for i in "${PROCURSUS_PATHS[@]}";
do
case ":$PATH:" in
*:$i:*) echo "$i is already in PATH, not adding";;
*) echo "$i" >> $GITHUB_PATH;;
esac
done
case ":$CPATH:" in
*:/opt/procursus/include:*) echo "/opt/procursus/include already in CPATH, not adding";;
*) echo "CPATH=$CPATH:/opt/procursus/include" >> $GITHUB_ENV;;
esac
case ":$LIBRARY_PATH:" in
*:/opt/procursus/lib:*) echo "/opt/procursus/lib already in LIBRARY_PATH, not adding";;
*) echo "LIBRARY_PATH=$LIBRARY_PATH:/opt/procursus/lib" >> $GITHUB_ENV;;
esac
- name: Create unprivileged user for APT method
run: |
# Taken from Procursus' apt.postinst
set -e
getHiddenUserUid()
{
local __UIDS=$(dscl . -list /Users UniqueID | awk '{print $2}' | sort -ugr)
local __NewUID
for __NewUID in $__UIDS
do
if [[ $__NewUID -lt 499 ]] ; then
break;
fi
done
echo $((__NewUID+1))
}
if ! id _apt &>/dev/null; then
# add unprivileged user for the apt methods
sudo dscl . -create /Users/_apt UserShell /usr/bin/false
sudo dscl . -create /Users/_apt NSFHomeDirectory /var/empty
sudo dscl . -create /Users/_apt PrimaryGroupID -1
sudo dscl . -create /Users/_apt UniqueID $(getHiddenUserUid)
sudo dscl . -create /Users/_apt RealName "APT Sandbox User"
else
echo "APT Sandbox User already exists, not creating"
fi
- name: Update bootstrap
run: |
sudo apt-get -y update
sudo apt-get -o DPkg::Options::=--force-confdef -y --allow-downgrades dist-upgrade || :
- name: Install necessary packages on macOS
run: |
sudo apt-get install -o DPkg::Options::=--force-confdef -y autoconf automake autopoint \
bash bison cmake curl docbook-xml docbook-xsl fakeroot findutils flex gawk git gnupg \
grep groff gzip ldid libtool make ncurses-bin openssl patch pkg-config po4a python3 \
sed tar triehash xz-utils asciidoc zstd xmlto gnu-getopt libpython3.9-dev ninja
- name: Install pip packages
run: |
python -m ensurepip --upgrade
python -m pip --version
python -m pip -vvv install --upgrade --upgrade-strategy 'eager' pip cmarkgfm commonmark
- name: Checkout Procursus
uses: actions/checkout@v4
with:
repository: 'ProcursusTeam/Procursus'
path: 'Procursus'
fetch-depth: 0
## Here we want merge the commits (NOT draf) done by other contributors and me before Procursus team acceptes them.
- name: Local merge other PRs
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
declare -A prs=( ["rsync"]="https://github.com/miticollo/Procursus.git" ["updates-july2024"]="https://github.com/miticollo/Procursus.git" ["gnutls-no-march"]="https://github.com/miticollo/Procursus.git" )
if [ "${#prs[@]}" -ne 0 ]; then
for branch in "${!prs[@]}"; do
git remote -v add external_pr "${prs[$branch]}"
git fetch -v external_pr
git merge -v --no-edit "external_pr/${branch}"
git remote -v remove external_pr
done
git log origin/main..HEAD
fi
- name: Remove macOS cURL --ipv4 flag
run: |-
curl --version
which curl
cat /etc/hosts
rm ~/.curlrc || true
- name: Build sqlite3
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake sqlite3-package
- name: Build gnutls
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake gnutls-package
- name: Build palera1n-keyring
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake palera1n-keyring-package || true
- name: Build libgmp10
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libgmp10-package
- name: Build popt
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake popt-package
- name: Build rsync
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake rsync-package
- name: Build libgpg-error
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libgpg-error-package
- name: Build libgcrypt
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libgcrypt-package
- name: Build zstd
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake zstd-package
- name: Build unrar
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake unrar-package
- name: Build ldid
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake ldid-package
- name: Build libplist
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libplist-package
- name: Build apt
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake apt-package
- name: Build base
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake base-package
- name: Build bash
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake bash-package
- name: Build bash-completion
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake bash-completion-package
- name: Build brotli
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake brotli-package
- name: Build cacerts
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake cacerts-package
- name: Build chariz-keyring
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake chariz-keyring-package
- name: Build coreutils
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake coreutils-package
- name: Build darwintools
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake darwintools-package
- name: Build dash
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake dash-package
- name: Build debianutils
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake debianutils-package
- name: Build diffutils
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake diffutils-package
- name: Build diskdev-cmds
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} gmake diskdev-cmds-package
- name: Build dpkg
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake dpkg-package
- name: Build essential
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake essential-package
- name: Build file-cmds
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake file-cmds-package
- name: Build findutils
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake findutils-package
- name: Build firmware-sbin
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake firmware-sbin-package
- name: Build gnupg
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake gnupg-package
- name: Build grep
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake grep-package
- name: Build havoc-keyring
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake havoc-keyring-package
- name: Build launchctl
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake launchctl-package
- name: Build libassuan
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libassuan-package
- name: Build libxcrypt
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libxcrypt-package
- name: Build dimentio
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake dimentio-package
- name: Build libedit
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libedit-package
- name: Build libffi
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libffi-package
- name: Build neofetch
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake neofetch-package
- name: Build libidn2
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libidn2-package
- name: Build gettext
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake gettext-package
- name: Build dropbear
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake dropbear-package
- name: Build libiosexec
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libiosexec-package
- name: Build libkernrw
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
if [ ${{ matrix.cfver }} -eq 1700 ]; then
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libkernrw-package
fi
- name: Build libkrw
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
if [ ${{ matrix.cfver }} -ge 1800 ]; then
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libkrw-package
fi
- name: Build lz4
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake lz4-package
- name: Build xz
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake xz-package
- name: Build libmd
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libmd-package
- name: Build ncurses
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake ncurses-package
- name: Build nettle
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake nettle-package
- name: Build npth
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake npth-package
- name: Build p11-kit
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake p11-kit-package
- name: Build openpam
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake openpam-package
- name: Build readline
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake readline-package
- name: Build libtasn1
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libtasn1-package
- name: Build libunistring
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libunistring-package
- name: Build xxhash
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake xxhash-package
- name: Build zlib-ng
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake zlib-ng-package
- name: Build openssh
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake openssh-package
- name: Build openssl
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake openssl-package
- name: Build packix-keyring
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake packix-keyring-package
- name: Build keyring
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake keyring-package
- name: Build profile.d
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake profile.d-package
- name: Build sed
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake sed-package
- name: Build shell-cmds
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake shell-cmds-package
- name: Build shshd
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake shshd-package
- name: Build snaputil
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake snaputil-package
- name: Build sudo
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake sudo-package
- name: Build tar
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake tar-package
- name: Build uikittools
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake uikittools-package
- name: Build vi
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake vi-package
- name: Build zsh
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake zsh-package
- name: Build nano
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake nano-package
- name: Build jlutil
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake jlutil-package
- name: Build curl
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake curl-package
- name: Build cowsay
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake cowsay-package
- name: Build file
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake file-package
- name: Build git
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake git-package
- name: Build htop
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake htop-package
- name: Build make
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake make-package
- name: Build p7zip
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake p7zip-package
- name: Build gawk
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake gawk-package
- name: Build gettext-localizations
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake gettext-localizations-package
- name: Build gzip
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake gzip-package
- name: Build mpfr4
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake mpfr4-package
- name: Build pam-modules
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake pam-modules-package
- name: Build pcre
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake pcre-package
- name: Build system-cmds
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake system-cmds-package
- name: Build unzip
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake unzip-package
- name: Build zip
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake zip-package
- name: Build nickchan-keyring
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake nickchan-keyring-package
- name: Build nyuszika7h-keyring
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake nyuszika7h-keyring-package
- name: Build amy-keyring
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake amy-keyring-package
- name: Build adv-cmds
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake adv-cmds-package
- name: Build bzip2
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake bzip2-package
- name: Build iokittools
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake iokittools-package
- name: Build less
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake less-package
- name: Build kext-tools
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake kext-tools-package
- name: Build libarchive
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libarchive-package
- name: Build network-cmds
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake network-cmds-package
- name: Build lsof
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake lsof-package
- name: Build plutil
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake plutil-package
- name: Build text-cmds
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake text-cmds-package
- name: Build vim
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake vim-package
- name: Build defaults
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake defaults-package
- name: Build uuid
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake uuid-package
- name: Build libksba
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libksba-package
- name: Build libtommath
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libtommath-package
- name: Build libtomcrypt
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libtomcrypt-package
- name: Build rtmpdump
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake rtmpdump-package
- name: Build libssh2
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libssh2-package
- name: Build nghttp2
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake nghttp2-package
- name: Build build-essential
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake build-essential-package
- name: Build jtool2
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake jtool2-package
- name: Build xar
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake xar-package
- name: Build berkeleydb
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake berkeleydb-package
- name: Build libtool
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libtool-package
- name: Build libusb
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libusb-package
- name: Build libc-ares
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libc-ares-package
- name: Build libev
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libev-package
- name: Build jansson
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake jansson-package
- name: Build libjemalloc
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libjemalloc-package
- name: Build libevent
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libevent-package
- name: Build liblzo2
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake liblzo2-package
- name: Build libxml2
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake libxml2-package
## LLVM requires several hours to complete compiling. But every job can be executed for 6 hour.
## https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration#usage-limits
##
## To solve this problem UPO can make self-hosted runner available to us.
## https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners
##
## It's not mandatory because you can always compile your code on your local macOS with appropriate `clang` options.
##
# - name: Build llvm
# if: ${{ success() || failure() }}
# working-directory: ./Procursus
# run: |
# MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake llvm-package
- name: Build pcre2
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake pcre2-package
- name: Build pinentry
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake pinentry-package
- name: Build tigisoftware-repo
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake tigisoftware-keyring-package
- name: Build nebula-keyring
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake nebula-keyring-package
- name: Build tcpdump
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake tcpdump-package
- name: Build fakeroot
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake fakeroot-package
- name: Build tapi
if: ${{ success() || failure() }}
working-directory: ./Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} NO_PGP=$NO_PGP gmake tapi-package
- name: Create build dirs
run: |
mkdir -vp $GITHUB_WORKSPACE/my_repo
- name: Package bootstrap
if: ${{ success() || failure() }}
working-directory: Procursus
run: |
MEMO_TARGET=$MEMO_TARGET MEMO_CFVER=${{ matrix.cfver }} SSH_STRAP=1 gmake bootstrap
- name: Checkout my repo
if: ${{ success() || failure() }}
uses: actions/checkout@v4
with:
token: ${{ secrets.MY_PAT }}
path: 'my_repo'
- name: Config git
if: ${{ success() || failure() }}
run: |
git config --global user.name 'github-actions[bot]'
git config --global user.email '30465144+github-actions[bot]@users.noreply.github.com'
- name: Commit bootstrap
if: ${{ success() || failure() }}
working-directory: my_repo
run: |
mkdir -vp /tmp/${{ matrix.cfver }}/bootstrap && unzstd -v ../Procursus/build_strap/$MEMO_TARGET/${{ matrix.cfver }}/bootstrap-ssh.tar.zst -o /tmp/${{ matrix.cfver }}/bootstrap.tar
sudo tar --same-owner -p -xvvf /tmp/${{ matrix.cfver }}/bootstrap.tar -C /tmp/${{ matrix.cfver }}/bootstrap
sudo cp -v ./repos/anfora-repo.gpg /tmp/${{ matrix.cfver }}/bootstrap/private/etc/apt/trusted.gpg.d/
sudo find /tmp/${{ matrix.cfver }}/bootstrap/ -name ".DS_Store" -delete
sudo dot_clean -n /tmp/${{ matrix.cfver }}/bootstrap/
sudo tar --same-owner -p -cvvf /tmp/${{ matrix.cfver }}/bootstrap-ssh.tar -C /tmp/${{ matrix.cfver }}/bootstrap/ .
zstd --verbose --threads=0 --rm -19 /tmp/${{ matrix.cfver }}/bootstrap-ssh.tar -o ./repos/${{ matrix.cfver }}/bootstrap-ssh.tar.zst
git add -v .
git commit -v -m "Upload bootstrap"
- name: Commit packages
if: ${{ success() || failure() }}
working-directory: my_repo
run: |
rm -vrf ../Procursus/build_dist/$MEMO_TARGET/${{ matrix.cfver }}/work/
rsync --progress -r -u -v ../Procursus/build_dist/$MEMO_TARGET/${{ matrix.cfver }}/* ./repos/${{ matrix.cfver }}/debs/
git add -v .
git commit -v -m "Upload packages"
- name: Push bootstrap and packages
if: ${{ success() || failure() }}
working-directory: my_repo
run: |
git config http.postBuffer 1048576000
git push -v