arch/README.md
2021-06-26 16:48:17 +02:00

2.4 KiB

My personalized Arch Linux distribution

Submodules - Initialization and Updating

There are several AUR packages added as submodules inside pkg. See build-pkg/pkglist-AUR.txt for a full list.

They were added in the following manner:

AUR=(xorg-meta riseup-vpn nordic-kde-git ...)

for pkg in "${AUR[@]}"; do
  git submodule add "https://aur.archlinux.org/${pkg}.git" pkg/"${pkg}"
done

To initialize the submodules, run

git submodule init

To update all submodules and print a list of those who received an update, run

if stdout="$(git submodule update --remote)"; then
  # We capture only the part after "pkg" until the next "'" using sed
  # Source: https://unix.stackexchange.com/a/165590/315162 
  sed 's|^Submodule path '\''pkg/\([^'\'']*\).*|\1|' <<< "$stdout"
else
  echo "Some error occurred! Maybe there are local changes in some of the submodules?
"
  #echo "$stdout"
fi

It may happen that some submodules have a detached HEAD (due to local changes, etc.) and do not get updated with the above command. One can list those submodules as follows:

git submodule status | grep --invert-match '(heads/master)$'

# One could then reset them to master with e.g.
# git reset --hard
# git checkout master

Build packages from source

Fork this repository.

Then and adjust the following files:

Build de-p1st-repo:

cd build-pkg
sudo docker-compose run --rm makepkg de-p1st-repo

Install it on your build-machine and your mirror-server:

# On your local machine
sudo pacman -U out/de-p1st-repo*.pkg.tar.*

# Copy the package to your mirror-server and install it there as well!

Then you can start building all packages and adding them to your mirror-server:

./build-all.sh

Install Arch Linux

See pkg/de-p1st-installer/README.md

Notes and TODOs

See notes.md