diff --git a/scripts/aur_packages.sh b/scripts/aur_packages.sh new file mode 100644 index 0000000..ca06793 --- /dev/null +++ b/scripts/aur_packages.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +# Variables +arch=$(uname -m) +## Add your archive server ip and user (rsync auth user) +server="$(cat /etc/rsyncd.server)" +user="$(cat /etc/rsyncd.user)" +real_user=$SUDO_USER +aurhelper=$(pacman -Qmq | grep -E 'yay|pikaur|paru|trizen') + +# Rsync daemon +rsync -chavzP --password-file=/etc/rsyncd.password --ignore-existing /home/$real_user/.cache/$aurhelper/pkg/* rsync://$user@$server/archiverepo/archlinux/$arch/aur diff --git a/scripts/client.sh b/scripts/client.sh index 2213839..0bb01fd 100644 --- a/scripts/client.sh +++ b/scripts/client.sh @@ -19,6 +19,8 @@ cp hooks/2.archive_packages-client.hook /etc/pacman.d/hooks/2.archive_packages.h # Script/s cp scripts/archive_packages.sh /root/ chmod +x /root/archive_packages.sh +cp scripts/aur_packages.sh $HOME +chmod +x $HOME/aur_packages.sh # Rsync credentials echo "$user" > /etc/rsyncd.user @@ -28,4 +30,6 @@ chmod 400 /etc/rsyncd.user /etc/rsyncd.password /etc/rsyncd.server # Add repository to pacman.conf echo "[homerepo] -Server = http://$server:8080/archlinux/\$arch" >> /etc/pacman.conf \ No newline at end of file +Server = http://$server:8080/archlinux/\$arch" >> /etc/pacman.conf +echo "[homerepo-aur] +Server = http://$server:8080/archlinux/\$arch/aur" >> /etc/pacman.conf \ No newline at end of file diff --git a/scripts/repo-add.sh b/scripts/repo-add.sh index 543b908..61f768e 100644 --- a/scripts/repo-add.sh +++ b/scripts/repo-add.sh @@ -1,3 +1,4 @@ #!/bin/bash # Used for `2.archive_packages-SERVER.hook` and rsync daemon `post-xfer exec = /root/repo-add.sh` -repo-add /srv/http/repo/archlinux/*/homerepo.db.tar.zst /srv/http/repo/archlinux/*/{*.zst,*.gz,*.xz} \ No newline at end of file +repo-add /srv/http/repo/archlinux/*/homerepo.db.tar.zst /srv/http/repo/archlinux/*/{*.zst,*.gz,*.xz} +repo-add /srv/http/repo/archlinux/*/aur/homerepo-aur.db.tar.zst /srv/http/repo/archlinux/*/aur/{*.zst,*.gz,*.xz} \ No newline at end of file diff --git a/scripts/server.sh b/scripts/server.sh index 3f1bdcb..4e7fb91 100644 --- a/scripts/server.sh +++ b/scripts/server.sh @@ -23,11 +23,11 @@ cp scripts/repo-add.sh /root/ chmod +x /root/repo-add.sh # Database -mkdir -p /srv/http/repo/archlinux/{x86_64,aarch64}/AUR +mkdir -p /srv/http/repo/archlinux/{x86_64,aarch64}/aur repo-add /srv/http/repo/archlinux/x86_64/homerepo.db.tar.zst -repo-add /srv/http/repo/archlinux/x86_64/AUR/homerepo.db.tar.zst +repo-add /srv/http/repo/archlinux/x86_64/aur/homerepo-aur.db.tar.zst repo-add /srv/http/repo/archlinux/aarch64/homerepo.db.tar.zst -repo-add /srv/http/repo/archlinux/aarch64/AUR/homerepo.db.tar.zst +repo-add /srv/http/repo/archlinux/aarch64/aur/homerepo-aur.db.tar.zst # Move existing packages mv /var/cache/pacman/pkg/*pkg* /srv/http/repo/archlinux/$arch/ @@ -61,4 +61,6 @@ systemctl enable --now rsyncd.service # Add repository to pacman.conf echo "[homerepo] -Server = http://$server:8080/archlinux/\$arch" >> /etc/pacman.conf \ No newline at end of file +Server = http://$server:8080/archlinux/\$arch" >> /etc/pacman.conf +echo "[homerepo-aur] +Server = http://$server:8080/archlinux/\$arch/aur" >> /etc/pacman.conf \ No newline at end of file