From 08dc072196aad6b2dedbdb9fd04dc4bd3eac9020 Mon Sep 17 00:00:00 2001 From: fbt Date: Fri, 5 Mar 2021 09:01:31 +0300 Subject: [PATCH] init Signed-off-by: fbt --- Containerfile | 15 +++++ build | 3 + build-rootfs | 14 ++++ builder.pgp.pub | 52 +++++++++++++++ root/etc/pacman.conf | 102 +++++++++++++++++++++++++++++ root/etc/pacman.d/mirrorlist-spark | 7 ++ root/etc/pacman.d/spark.conf | 11 ++++ 7 files changed, 204 insertions(+) create mode 100644 Containerfile create mode 100755 build create mode 100755 build-rootfs create mode 100644 builder.pgp.pub create mode 100644 root/etc/pacman.conf create mode 100644 root/etc/pacman.d/mirrorlist-spark create mode 100644 root/etc/pacman.d/spark.conf diff --git a/Containerfile b/Containerfile new file mode 100644 index 0000000..4cf7b80 --- /dev/null +++ b/Containerfile @@ -0,0 +1,15 @@ +FROM localhost/archlinux:fullbase +RUN pacman -Suy --noconfirm + +COPY root/etc /etc +COPY builder.pgp.pub / + +RUN pacman-key -a /builder.pgp.pub +RUN rm -vf /builder.pgp.pub /etc/os-release + +RUN pacman -Sy +RUN pacman -Rdd --noconfirm systemd systemd-libs systemd-sysvcompat +RUN pacman -S --noconfirm halt-ubase-git sinit-spark sinit-sysvcompat sinit-tools spark-etc spark-rc ssm ssm-service ssm-services-git systemd-dummy udev-dummy systemd-libs-systemd systemd-libs-udev + +RUN rm -vf /var/cache/pacman/pkg/* +RUN pacman -Scc --noconfirm diff --git a/build b/build new file mode 100755 index 0000000..065f300 --- /dev/null +++ b/build @@ -0,0 +1,3 @@ +#!/bin/sh + +podman build --rm -t localhost/spark:latest . diff --git a/build-rootfs b/build-rootfs new file mode 100755 index 0000000..c3f9fe6 --- /dev/null +++ b/build-rootfs @@ -0,0 +1,14 @@ +#!/bin/sh + +workdir="$HOME/public/rootfs" +filename="spark-x86_64-$(date '+%Y%m%d').tar.xz" + +cd "$workdir" + +podman create --name spark-rootfs localhost/spark:latest bash +podman export spark-rootfs | xz > ".$filename.part" +podman rm spark-rootfs + +mv ".$filename.part" "$filename" + +./switch "$filename" diff --git a/builder.pgp.pub b/builder.pgp.pub new file mode 100644 index 0000000..cf4ed3f --- /dev/null +++ b/builder.pgp.pub @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2 + +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 +=uUbZ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/root/etc/pacman.conf b/root/etc/pacman.conf new file mode 100644 index 0000000..a05f8cc --- /dev/null +++ b/root/etc/pacman.conf @@ -0,0 +1,102 @@ +# +# /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 +#TotalDownload +CheckSpace +#VerbosePkgLists + +# 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. +# + +# Spark repo config +Include = /etc/pacman.d/spark.conf + +# 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 diff --git a/root/etc/pacman.d/mirrorlist-spark b/root/etc/pacman.d/mirrorlist-spark new file mode 100644 index 0000000..6ed042e --- /dev/null +++ b/root/etc/pacman.d/mirrorlist-spark @@ -0,0 +1,7 @@ +## Germany +Server = https://mirror.fleshless.org/spark/$repo +Server = https://voidcaller.fleshless.org/spark/$repo +Server = https://mirror.vdrandom.org/spark/$repo + +## Netherlands +Server = https://spike.fleshless.org/mirror/spark/$repo diff --git a/root/etc/pacman.d/spark.conf b/root/etc/pacman.d/spark.conf new file mode 100644 index 0000000..03b66b7 --- /dev/null +++ b/root/etc/pacman.d/spark.conf @@ -0,0 +1,11 @@ +[spark-updates] +Include = /etc/pacman.d/mirrorlist-spark + +[spark] +Include = /etc/pacman.d/mirrorlist-spark + +[spark-extra] +Include = /etc/pacman.d/mirrorlist-spark + +[spark-testing] +Include = /etc/pacman.d/mirrorlist-spark