diff options
| author | Shulhan <ms@kilabit.info> | 2022-07-03 02:59:54 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2022-07-25 19:29:22 +0700 |
| commit | 7be14a53dc3426fe722036c189a611726d5e04dd (patch) | |
| tree | 8849b3c7e3378491bf2d0c14033e50d28c2b3b40 | |
| parent | ff5f303619eade1089cb22a3acbd6584facad414 (diff) | |
| download | compute-archlinux-image-builder-7be14a53dc3426fe722036c189a611726d5e04dd.tar.xz | |
all: use predefined pacman.conf
The pacman.conf file is rarely updated, so we add the gce repository
directly into file and use it during pacstrap and to replace the
target root.
| -rwxr-xr-x | build-arch-gce | 16 | ||||
| -rw-r--r-- | sys/etc/pacman.conf | 104 |
2 files changed, 106 insertions, 14 deletions
diff --git a/build-arch-gce b/build-arch-gce index ececc62..2ea7fbb 100755 --- a/build-arch-gce +++ b/build-arch-gce @@ -65,21 +65,9 @@ mkdir -p -- "$mount_dir/boot" mount -- "$efi_dev" "$mount_dir/boot" echo '- Installing Arch Linux.' -append_gce_repo() { - gawk -i inplace ' - /^\[gce\]$/ { found = 1 } { print } - ENDFILE { if (!found) { - print "" - print "[gce]" - print "Server = https://storage.googleapis.com/arch-linux-gce/repo" - print "SigLevel = Optional TrustAll" - } }' "$1" -} -cp /etc/pacman.conf "$work_dir" -append_gce_repo "$work_dir/pacman.conf" -pacstrap -c -G -M -C "$work_dir/pacman.conf" -- "$mount_dir" \ +pacstrap -c -G -M -C "./sys/etc/pacman.conf" -- "$mount_dir" \ base linux dosfstools e2fsprogs dhclient openssh sudo google-compute-engine -append_gce_repo "$mount_dir/etc/pacman.conf" +cp -f ./sys/etc/pacman.conf "$mount_dir/etc/pacman.conf" echo '- Configuring fstab.' root_uuid=$(lsblk --noheadings --raw --output UUID -- "$root_dev") diff --git a/sys/etc/pacman.conf b/sys/etc/pacman.conf new file mode 100644 index 0000000..427f73d --- /dev/null +++ b/sys/etc/pacman.conf @@ -0,0 +1,104 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +#HookDir = /etc/pacman.d/hooks/ +HoldPkg = pacman glibc +#XferCommand = /usr/bin/curl -L -C - -f -o %o %u +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#Color +#NoProgressBar +CheckSpace +#VerbosePkgLists +#ParallelDownloads = 5 + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all official Arch Linux +# packagers with `pacman-key --populate archlinux`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#[testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +#Include = /etc/pacman.d/mirrorlist + +[community] +Include = /etc/pacman.d/mirrorlist + +# If you want to run 32 bit applications on your x86_64 system, +# enable the multilib repositories as required here. + +#[multilib-testing] +#Include = /etc/pacman.d/mirrorlist + +[multilib] +Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs + +[gce] +Server = https://storage.googleapis.com/arch-linux-gce/repo +SigLevel = Optional TrustAll |
