feat: migrate from archiso to artools — are you threatening me in SKECHERS?!

Strip out archiso (airootfs, efiboot, syslinux, mkarchiso, prepare.sh,
Dockerfile, mirrorlist, profiledef.sh, packages.x86_64, reset.sh,
run_before_squashfs.sh) and adopt artools buildiso with full antergos
iso-profiles. Bitch, you NEED therapy.

Are you threatening me?
- 154 files changed, 2804 insertions, 7352 deletions
- buildiso wrapper + iso-profiles/antergos/ (profile.yaml, root-overlay,
  live-overlay) + iso-profiles/common/common.yaml
- pacman.conf.d/iso-x86_64.conf with antergos-pkgs repo first

...Are you THREATENING me in SKECHERS?!
- Calamares offline + online module dirs, antergos-next branding
- componentName must match dir or Branding.cpp goes full T-square
- calamares before calamares-branding-antergos-next so --overwrite='*'
  wins correctly. YOU'RE ON YOUR FOURTH WIFE RIGHT NOW-
- calamares-next.desktop in live-overlay (/usr/share + /etc/skel/Desktop)
- netinstall.yaml bundled. No remote deps. Kill that bitch (Cnchi).

What fuckin' college would care if you drew some bullshit picture
about your feelings?
- CI: artixlinux/artixlinux:base container, install artools, buildiso -p
  antergos, IA upload with collection=open_source_software. Class is in
  session. Maybe I should grow 40 feet! Then you'd REALLY like me!
- IA: mediatype=software keeps us out of Community Texts jail. The
  question is; what's this stick gonna do?

It's honestly super humbling, when the trashiest repo you know;
probably coked out of its mind... says the most thoughtful thing
you've done in years.
- README.md rewritten with Artix/OpenRC/KDE badges, build instructions,
  migration notes. Nice SpongeBob impression. ...Nice SpongeBob impression.
- AGENTS.md updated (identity ritual, gotchas, commands, repo layout)
- Restore LICENSE, NOTICES, APOLOGY.txt, CHANGELOG.md from git history.
  Some files you just don't let die. No matter what, you NEVER use that
  N-word! (...should've said nothing.)
- .gitignore: work/ iso/ out/. Go work at Starbucks with your little apron.

So laugh all you want. Forget about me all you want. But at least
I'll be gorgeous forever. Mother, I'm in the SquashFS now.

Signed-off-by: Celestia Ludenberg <ash8820@proton.me>
This commit is contained in:
2026-06-27 18:03:54 +02:00
parent f682adc72e
commit 0d9b3af062
154 changed files with 2826 additions and 7358 deletions
+39 -99
View File
@@ -11,7 +11,7 @@ jobs:
build:
runs-on: ubuntu-latest
container:
image: archlinux:latest
image: artixlinux/artixlinux:base
options: --privileged
steps:
@@ -20,126 +20,66 @@ jobs:
- name: Install dependencies
run: |
pacman -Syu --noconfirm --needed \
archiso \
artools \
git \
squashfs-tools \
wget \
imagemagick \
sudo \
base-devel \
python-pip \
rsync \
openssh
python \
python-pip
- name: Create build user
- name: Set up WORKSPACE_DIR
run: |
useradd -m builder
echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
chown -R builder:builder .
echo "WORKSPACE_DIR=${{ github.workspace }}" >> $GITHUB_ENV
- name: Prepare
run: sudo -u builder ./prepare.sh
- name: Override pacman.conf with antergos-pkgs repo
run: |
mkdir -p ~/.config/artools/pacman.conf.d
cp "${{ github.workspace }}/pacman.conf.d/iso-x86_64.conf" \
~/.config/artools/pacman.conf.d/iso-x86_64.conf
- name: Build ISO
run: ./mkarchiso -v "."
run: |
sudo -E buildiso -p antergos
- name: Upload ISO artifact
uses: actions/upload-artifact@v4
with:
name: Antergos-NeXT-ISO
path: out/
path: /var/lib/artools/buildiso/iso/
- name: Upload to SourceForge
- name: Upload to Internet Archive
if: github.ref == 'refs/heads/master'
env:
SF_SSH_KEY: ${{ secrets.SF_SSH_KEY }}
IA_ACCESS_KEY: ${{ secrets.IA_ACCESS_KEY }}
IA_SECRET_KEY: ${{ secrets.IA_SECRET_KEY }}
run: |
mkdir -p /root/.ssh
echo "$SF_SSH_KEY" > /root/.ssh/id_ed25519
chmod 600 /root/.ssh/id_ed25519
ssh-keyscan -t rsa,ed25519 frs.sourceforge.net >> /root/.ssh/known_hosts 2>/dev/null || true
chmod 644 /root/.ssh/known_hosts
pip install internetarchive
cat > ~/.config/internetarchive/ia.ini <<EOF
[s3]
access = $IA_ACCESS_KEY
secret = $IA_SECRET_KEY
EOF
ISO_DIR="/var/lib/artools/buildiso/iso"
ISO=$(ls "$ISO_DIR"/antergos/*.iso 2>/dev/null | head -1)
[[ -z "$ISO" || ! -f "$ISO" ]] && { echo "No ISO found"; exit 1; }
# Find ISO
ISO=$(ls out/*.iso | head -1)
DATE=$(date +%Y.%m.%d)
REMOTE_DIR="/home/frs/project/pulsar-linux/Antergos-NeXT ISO's/${DATE}"
IDENTIFIER="antergos-next-$(date +%Y%m%d)"
# Validate ISO exists
if [[ -z "$ISO" || ! -f "$ISO" ]]; then
echo "ERROR: No ISO found!"
exit 1
fi
# Debug SSH
echo "Testing SSH key..."
ssh -i /root/.ssh/id_ed25519 -o BatchMode=yes -o StrictHostKeyChecking=no pulsar-dev@frs.sourceforge.net "echo SSH_OK" 2>&1 || echo "SSH_TEST_FAILED"
# Check ISO size (must be > 500MB)
SIZE=$(stat -c%s "$ISO")
if [[ $SIZE -lt 524288000 ]]; then
echo "WARNING: ISO smaller than expected (${SIZE} bytes), checking..."
if file "$ISO" | grep -q "ISO 9660\|UDF"; then
echo "ISO appears valid, proceeding..."
else
echo "ERROR: ISO is corrupted!"
exit 1
fi
echo "WARNING: ISO smaller than expected (${SIZE} bytes)"
file "$ISO" | grep -q "ISO 9660\|UDF" || { echo "Corrupted ISO"; exit 1; }
fi
# Check if ISO already exists and auto-increment release number
RELEASE=1
if ssh pulsar-dev@frs.sourceforge.net ls "${REMOTE_DIR}/"*.iso &>/dev/null; then
EXISTING=$(ssh pulsar-dev@frs.sourceforge.net ls "${REMOTE_DIR}/"*.iso 2>/dev/null)
for f in $EXISTING; do
if echo "$f" | grep -q "release-"; then
N=$(echo "$f" | sed 's/.*release-\([0-9]*\)\.iso/\1/')
if [ "$N" -gt "$RELEASE" ]; then RELEASE=$N; fi
fi
done
RELEASE=$((RELEASE + 1))
echo "Existing ISOs found, uploading as release #${RELEASE}"
fi
ia upload "$IDENTIFIER" "$ISO" \
--metadata="title:Antergos NeXT $(date +%Y.%m.%d)" \
--metadata="mediatype:software" \
--metadata="collection:open_source_software" \
--metadata="description:Antergos NeXT community revival ISO — KDE Plasma, OpenRC, Calamares installer" \
--metadata="subject:Antergos; Linux; Artix; OpenRC; KDE Plasma; Calamares" \
--retries 5
# Rename ISO with release number
ISO_BASENAME=$(basename "$ISO" .iso)
ISO_DIR=$(dirname "$ISO")
NEW_ISO="${ISO_DIR}/${ISO_BASENAME}-release-${RELEASE}.iso"
mv "$ISO" "$NEW_ISO"
ISO="$NEW_ISO"
# Create README
echo "# Antergos NeXT ISO" > README.md
echo "" >> README.md
echo "## Build Info" >> README.md
echo "- **Date**: ${DATE}" >> README.md
echo "- **Version**: rolling (release ${RELEASE})" >> README.md
echo "- **Architecture**: x86_64" >> README.md
echo "" >> README.md
echo "## Desktop Environments" >> README.md
echo "- GNOME (default), KDE Plasma, XFCE, Cinnamon, and more..." >> README.md
echo "" >> README.md
echo "## Why is this on the pulsar-linux SourceForge project?" >> README.md
echo "The old Antergos-NeXT SourceForge project was deleted. ISOs are now hosted" >> README.md
echo "under /Antergos-NeXT ISO's/ on the shared pulsar-linux project." >> README.md
echo "This folder is exclusively for Antergos NeXT releases." >> README.md
echo "" >> README.md
echo "Antergos NeXT is a separate project from Pulsar Linux. See:" >> README.md
echo "- https://github.com/Antergos-NeXT/antergos-iso" >> README.md
echo "" >> README.md
echo "## Installation" >> README.md
echo "1. Boot from ISO" >> README.md
echo "2. Select desktop environment" >> README.md
echo "3. Run Calamares installer" >> README.md
echo "" >> README.md
echo "## Issues" >> README.md
echo "Report at: https://github.com/Antergos-NeXT/antergos-iso/issues" >> README.md
echo "" >> README.md
echo "## Source" >> README.md
echo "- ISO Build: https://github.com/Antergos-NeXT/antergos-iso" >> README.md
echo "- Calamares: https://codeberg.org/calamares/calamares" >> README.md
echo "- Packages: https://github.com/Antergos-NeXT/antergos-packages" >> README.md
# Upload ISO + README
rsync -avP -e "ssh -i /root/.ssh/id_ed25519 -o IdentitiesOnly=yes -o StrictHostKeyChecking=no" "$ISO" README.md "pulsar-dev@frs.sourceforge.net:${REMOTE_DIR}/"
echo "Uploaded ${ISO} to ${REMOTE_DIR}"
echo "Uploaded to: https://archive.org/details/$IDENTIFIER"