Archived
24 lines
615 B
Bash
Executable File
24 lines
615 B
Bash
Executable File
#!/bin/bash
|
|
# Simplified pacstrap for Docker (doesn't require mounts)
|
|
|
|
set -e
|
|
|
|
newroot=$1
|
|
shift
|
|
pacman_args=("${@:-base}")
|
|
|
|
[[ -d "$newroot" ]] || { echo "ERROR: $newroot is not a directory"; exit 1; }
|
|
|
|
echo "==> Creating install root at $newroot"
|
|
mkdir -m 0755 -p "$newroot"/var/{cache/pacman/pkg,lib/pacman,log} "$newroot"/{dev,run,etc}
|
|
mkdir -m 1777 -p "$newroot"/tmp
|
|
mkdir -m 0555 -p "$newroot"/{sys,proc}
|
|
|
|
echo "==> Installing packages to $newroot"
|
|
if ! pacman -r "$newroot" -Sy --noconfirm "${pacman_args[@]}"; then
|
|
echo "ERROR: Failed to install packages"
|
|
exit 1
|
|
fi
|
|
|
|
echo "==> Installation complete"
|