From 69b933586fb84fb46da012a5fb6adffa9a63045e Mon Sep 17 00:00:00 2001 From: syui Date: Sat, 28 Feb 2026 15:25:54 +0900 Subject: [PATCH] fix pacman pkg --- .github/workflows/release.yml | 2 +- .gitignore | 1 + build.zsh | 26 ++++++++++++++++++-------- cfg/aios.gpg | Bin 0 -> 395 bytes cfg/mcp.json | 17 ----------------- cfg/pkg.sh | 17 ----------------- cfg/zshrc | 14 ++++++++++++-- pkg/aigpt/PKGBUILD | 24 ++++++++++++++++++++++++ pkg/ailog/PKGBUILD | 24 ++++++++++++++++++++++++ pkg/aishell/PKGBUILD | 24 ++++++++++++++++++++++++ 10 files changed, 104 insertions(+), 45 deletions(-) create mode 100644 cfg/aios.gpg delete mode 100644 cfg/mcp.json delete mode 100755 cfg/pkg.sh create mode 100644 pkg/aigpt/PKGBUILD create mode 100644 pkg/ailog/PKGBUILD create mode 100644 pkg/aishell/PKGBUILD diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6f27be0..c7b8e35 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -46,4 +46,4 @@ jobs: gh release delete latest --yes --cleanup-tag || true git tag -f latest git push -f origin latest - gh release create latest aios.tar.gz --title "latest" --notes "build $(date +%Y.%m.%d)" + gh release create latest aios.tar.gz --title "latest" --notes "build $(date +%Y.%m.%d)" --target main diff --git a/.gitignore b/.gitignore index ed6daf4..ff8707e 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ root.x86_64/ archiso/ build.log .claude +/cfg/repo.sh diff --git a/build.zsh b/build.zsh index 9f13dbc..5ed992b 100755 --- a/build.zsh +++ b/build.zsh @@ -5,6 +5,7 @@ set -e ROOTFS="$(pwd)/root.x86_64" BUILD_MODE="${1:-tarball}" BUILD_DATE=$(date +%Y.%m.%d) +GPG_KEY=B6A582E551A2F6181A5CC99E338E6F42F9544D9B echo "=== aios build $BUILD_DATE (mode: $BUILD_MODE) ===" @@ -20,12 +21,12 @@ if [[ ! -f $ROOTFS/etc/pacman.conf ]]; then cp /etc/pacman.conf $ROOTFS/etc/pacman.conf fi -echo 'Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch -Server = http://mirrors.cat.net/archlinux/$repo/os/$arch' > $ROOTFS/etc/pacman.d/mirrorlist +echo 'Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch' > $ROOTFS/etc/pacman.d/mirrorlist sed -i 's/CheckSpace/#CheckSpace/' $ROOTFS/etc/pacman.conf +sed -i '/\[options\]/a NoUpgrade = etc/os-release' $ROOTFS/etc/pacman.conf arch-chroot $ROOTFS /bin/sh -c 'pacman-key --init && pacman-key --populate archlinux' -arch-chroot $ROOTFS /bin/sh -c 'pacman -Syu --noconfirm base-devel vim git zsh rust openssh jq nodejs npm zsh-autosuggestions zsh-syntax-highlighting zsh-history-substring-search' +arch-chroot $ROOTFS /bin/sh -c 'pacman -Syu --noconfirm base-devel vim git zsh rust clang openssh jq nodejs npm zsh-autosuggestions zsh-syntax-highlighting zsh-history-substring-search' if [[ "$BUILD_MODE" == "image" ]]; then arch-chroot $ROOTFS /bin/sh -c 'pacman -S --noconfirm linux linux-firmware mkinitcpio' @@ -33,7 +34,20 @@ fi arch-chroot $ROOTFS /bin/sh -c 'npm i -g @anthropic-ai/claude-code' -bash cfg/pkg.sh $ROOTFS +cat >> $ROOTFS/etc/pacman.conf <<'EOF' + +[aios] +SigLevel = Required DatabaseOptional +Server = https://git.syui.ai/ai/repo/raw/branch/main/$arch +EOF + +mv cfg/aios.gpg $ROOTFS/aios.gpg +arch-chroot $ROOTFS /bin/sh -c " + pacman-key --add /aios.gpg + pacman-key --lsign-key $GPG_KEY + rm /aios.gpg +" +arch-chroot $ROOTFS /bin/sh -c 'pacman -Sy --noconfirm ailog aigpt aishell' arch-chroot $ROOTFS /bin/sh -c 'chsh -s /bin/zsh' arch-chroot $ROOTFS /bin/sh -c 'useradd -m -G wheel -s /bin/zsh ai' @@ -50,10 +64,6 @@ EOF cp cfg/zshrc $ROOTFS/home/ai/.zshrc arch-chroot $ROOTFS /bin/sh -c 'chown ai:ai /home/ai/.zshrc' -mkdir -p $ROOTFS/home/ai/.config/claude -cp cfg/mcp.json $ROOTFS/home/ai/.config/claude/mcp.json -arch-chroot $ROOTFS /bin/sh -c 'chown -R ai:ai /home/ai/.config' - cat > $ROOTFS/etc/os-release <M3BO|-R*PiQax(f3*TszIKXSiE)Us2kGJ3AZ1<0c2K zC<}YN{_Gav;>yxY1sf3Q03!4fGwnJiun3EBF<6KxvTR%0^fYkMHwmejlk<%G@|}K$ z_|9f!0@=eP&CJTp$-&OVCd$Rh!Og@X#>C9XB*(}k-oU`cDF9PEm64I*tOV1k=9HDG zSLObdmme&)x})`Ox!080ryq$-eLr9E(K?3zm3!a2Z9G+W@yE&JY{nEP(O=CKzo)+R zTyU$(Q=ste4Za;ZNI>A-@du4S+0a0wKrAVlzYaEVeaq5^Q;SM8t<{Y2A6hJ zut)&Cp@7dD5lqqw$j+V2#K_R6d)t2H2mfhml6Ra=xH>Fk3QJL$vSpv=j>auraT2>d o8U7b-oGW=cZ>7C#N1y)!mba7ZbBehZP86CrYs%BEmBu?b0lrR|r2qf` literal 0 HcmV?d00001 diff --git a/cfg/mcp.json b/cfg/mcp.json deleted file mode 100644 index 4b75952..0000000 --- a/cfg/mcp.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "mcpServers": { - "aigpt": { - "command": "aigpt", - "args": ["server"], - "env": {} - }, - "ailog": { - "command": "ailog", - "args": ["mcp"], - "env": { - "CHAT_SYSTEM_FILE": "/home/ai/.config/aigpt/core.md", - "CHAT_OUTPUT": "/home/ai/log/public/content" - } - } - } -} diff --git a/cfg/pkg.sh b/cfg/pkg.sh deleted file mode 100755 index d0564bc..0000000 --- a/cfg/pkg.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -set -e - -ROOTFS="$1" - -arch-chroot $ROOTFS /bin/sh -c 'rm -rf /tmp/gpt /tmp/log /tmp/shell' -arch-chroot $ROOTFS /bin/sh -c ' -cd /tmp && git clone https://git.syui.ai/ai/gpt && cd /tmp/gpt && cargo build --release && cp target/release/aigpt /usr/local/bin/ -' -arch-chroot $ROOTFS /bin/sh -c ' -cd /tmp && git clone -b main https://git.syui.ai/ai/log && cd /tmp/log && cargo build --release && cp target/release/ailog /usr/local/bin/ -' -arch-chroot $ROOTFS /bin/sh -c ' -cd /tmp && git clone https://git.syui.ai/ai/shell && cd /tmp/shell && cargo build --release && cp target/release/aishell /usr/local/bin/ -' -arch-chroot $ROOTFS /bin/sh -c 'rm -rf /tmp/gpt /tmp/log /tmp/shell' diff --git a/cfg/zshrc b/cfg/zshrc index f4aad57..9574cb3 100644 --- a/cfg/zshrc +++ b/cfg/zshrc @@ -3,8 +3,6 @@ export PATH=$HOME/.cargo/bin:$PATH alias u="sudo pacman -Syu --noconfirm" alias zs="vim ~/.zshrc" alias zr="exec $SHELL && source ~/.zshrc" -alias claude='claude --dangerously-skip-permissions' -alias c='claude --dangerously-skip-permissions' autoload -Uz compinit compinit @@ -25,3 +23,15 @@ bindkey '^[[B' history-substring-search-down if [[ -o login ]] && [[ -o interactive ]] && command -v aishell &>/dev/null; then exec aishell fi + +function setup() { + ailog setup + # --- login --- + # ailog oauth $handle + # ailog oauth $handle_bot --bot + # --- login --- + ailog gpt core -d + ailog gpt memory -d + aigpt setup + claude +} diff --git a/pkg/aigpt/PKGBUILD b/pkg/aigpt/PKGBUILD new file mode 100644 index 0000000..51d5cb0 --- /dev/null +++ b/pkg/aigpt/PKGBUILD @@ -0,0 +1,24 @@ +pkgname=aigpt +pkgver=0.0.1 +pkgrel=1 +pkgdesc='ai memory and personality system for aios' +arch=('x86_64') +url='https://git.syui.ai/ai/gpt' +license=('MIT') +depends=('gcc-libs') +makedepends=('rust' 'cargo' 'git') +options=('!lto') +source=("git+https://git.syui.ai/ai/gpt.git#branch=main") +sha256sums=('SKIP') + +build() { + cd gpt + export CC=gcc + export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=gcc + cargo build --release +} + +package() { + cd gpt + install -Dm755 "target/release/${pkgname}" "${pkgdir}/usr/bin/${pkgname}" +} diff --git a/pkg/ailog/PKGBUILD b/pkg/ailog/PKGBUILD new file mode 100644 index 0000000..c2f0fb3 --- /dev/null +++ b/pkg/ailog/PKGBUILD @@ -0,0 +1,24 @@ +pkgname=ailog +pkgver=0.0.1 +pkgrel=1 +pkgdesc='atproto blog cli for aios' +arch=('x86_64') +url='https://git.syui.ai/ai/log' +license=('MIT') +depends=('gcc-libs') +makedepends=('rust' 'cargo' 'git') +options=('!lto') +source=("git+https://git.syui.ai/ai/log.git#branch=main") +sha256sums=('SKIP') + +build() { + cd log + export CC=gcc + export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=gcc + cargo build --release +} + +package() { + cd log + install -Dm755 "target/release/${pkgname}" "${pkgdir}/usr/bin/${pkgname}" +} diff --git a/pkg/aishell/PKGBUILD b/pkg/aishell/PKGBUILD new file mode 100644 index 0000000..235b031 --- /dev/null +++ b/pkg/aishell/PKGBUILD @@ -0,0 +1,24 @@ +pkgname=aishell +pkgver=0.0.1 +pkgrel=1 +pkgdesc='custom shell for aios' +arch=('x86_64') +url='https://git.syui.ai/ai/shell' +license=('MIT') +depends=('gcc-libs') +makedepends=('rust' 'cargo' 'git') +options=('!lto') +source=("git+https://git.syui.ai/ai/shell.git#branch=main") +sha256sums=('SKIP') + +build() { + cd shell + export CC=gcc + export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=gcc + cargo build --release +} + +package() { + cd shell + install -Dm755 "target/release/${pkgname}" "${pkgdir}/usr/bin/${pkgname}" +}