arch/pkg/de-p1st-repo
2021-05-13 13:57:58 +00:00
..
arch-repo-push-new.sh update arch-repo 2021-05-13 13:57:01 +00:00
arch-repo-receive-new.sh move git to codeberg.org 2021-04-26 18:25:29 +02:00
arch-repo-vercmp.sh installer script: work in progress (4) 2021-05-01 12:25:25 +02:00
arch-repo.cfg update arch-repo 2021-05-13 13:57:01 +00:00
bash-unique-array-test.sh arch-repo: improve receive; add vercmp to check for AUR updates 2021-04-26 14:45:18 +02:00
iterate-files-test.sh fix shell globbing in case of no matching files 2021-04-27 11:41:35 +02:00
PKGBUILD update arch-repo 2021-05-13 13:57:58 +00:00
README.md grub: remember selected menu entry 2021-05-03 16:12:27 +02:00

Arch repository manager

Special thanks to nachoparker for his article:

Setup

Install de-p1st-repo on your local machine as well as on a remote server.

Adjust /etc/de-p1st-repo/arch-repo.conf according to your needs.

Run a webserver on the server to serve static content:

  • https://hub.docker.com/_/nginx/ -> Hosting some simple static content
  • sudo docker run --name arch-repo -v /mnt/data/live/arch-repo:/usr/share/nginx/html:ro -d nginx

Add the newly created mirror to your /etc/pacman.conf:

[de-p1st]
SigLevel = Optional TrustAll
Server = https://arch.p1st.de

Normal usage

Build and push

Build packages on local machine

  • e.g. with aur sync -c SOME_AUR_PACKAGE

Push new packages to remote repository

  • arch-repo-push-new

Check for AUR updates and push

Check remote repository four AUR packages that can be updated

  • arch-repo-vercmp

Then build those packages locally and push changes to remote repository

  • e.g. with aur sync -c SOME_AUR_PACKAGE
  • arch-repo-push-new

example output

user@localMachine ~ % arch-repo-push-new 
de-p1st-pacman-0.0.7-2-any.pkg.tar.zst
          2.84K 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=325/384)
de-p1st-repo-0.1.1-2-any.pkg.tar.zst
          5.13K 100%    4.90MB/s    0:00:00 (xfr#2, to-chk=308/384)
de-p1st-repo-0.1.1-3-any.pkg.tar.zst
          5.13K 100%    4.90MB/s    0:00:00 (xfr#3, to-chk=307/384)
new-pkg.txt
            113 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=0/1)
Adding new packages to db ...
Sorting new packages by package name and package version ...
Creating file ./db/de-p1st-pacman/0.0.7-2 with content de-p1st-pacman-0.0.7-2-any.pkg.tar.zst ...
Creating file ./db/de-p1st-repo/0.1.1-2 with content de-p1st-repo-0.1.1-2-any.pkg.tar.zst ...
Creating file ./db/de-p1st-repo/0.1.1-3 with content de-p1st-repo-0.1.1-3-any.pkg.tar.zst ...
For each new package name: Add latest version to database ...
==> Extracting de-p1st.db.tar.gz to a temporary location...
==> Extracting de-p1st.files.tar.gz to a temporary location...
==> Adding package 'de-p1st-pacman-0.0.7-2-any.pkg.tar.zst'
  -> Computing checksums...
  -> Removing existing entry 'de-p1st-pacman-0.0.7-1'...
  -> Creating 'desc' db entry...
  -> Creating 'files' db entry...
==> Creating updated database file 'de-p1st.db.tar.gz'
==> Extracting de-p1st.db.tar.gz to a temporary location...
==> Extracting de-p1st.files.tar.gz to a temporary location...
==> Adding package 'de-p1st-repo-0.1.1-3-any.pkg.tar.zst'
  -> Computing checksums...
  -> Removing existing entry 'de-p1st-repo-0.1.1-1'...
  -> Creating 'desc' db entry...
  -> Creating 'files' db entry...
==> Creating updated database file 'de-p1st.db.tar.gz'
Generating index.html with links to all packages ...

Where the generated new-pkg.txt has this content:

de-p1st-pacman-0.0.7-2-any.pkg.tar.zst
de-p1st-repo-0.1.1-2-any.pkg.tar.zst
de-p1st-repo-0.1.1-3-any.pkg.tar.zst