William Pitcock avatar William Pitcock committed 9b8a950

archlinux: finish up specfiles

Comments (2)

    1. William Pitcock author

      because i am of the opinion that pacman's gpg stuff should be set up by the end user. setting it up automtically would:

      1. not allow the user to verify their own trust level of the system key;
      2. require a lot of resources on the domain-0 (as GPG pulls from /dev/random) when building the image

      and... we also need things to "just work" for new users, as some of them might not have a good understanding of this mechanism. so, i just turn it off for now.

Files changed (4)

appliancekit/specs/arch-base.spec

+{% extends "base.spec" %}
+{% set paths=['/tmp', '/sys', '/dev', '/run', '/etc', '/proc', '/var/cache/pacman/pkg', '/var/lib/pacman', '/var/log'] %}
+{% block bootstrap %}
+	{% for path in paths %}
+		{"operation": "mkdir_p", "path": "{{ path }}"},
+	{% endfor %}
+	{"operation": "render_template", "template": "arch/pacman-bootstrap.conf.tmpl", "target": "/etc/pacman-bootstrap.conf"},
+	{"operation": "runcmd", "chroot": false, "command": ["pacman", "-Syu", "--root", "$chroot", "--config", "$chroot/etc/pacman-bootstrap.conf", "--noconfirm", "base"]},
+	{"operation": "render_template", "template": "arch/pacman-full.conf.tmpl", "target": "/etc/pacman.conf"},
+	{"operation": "render_template", "template": "base/resolv.conf.tmpl", "target": "/etc/resolv.conf"},
+	{"operation": "runcmd", "chroot": true, "command": ["pacman", "-Sy", "openssh"]},
+	{"operation": "render_template", "template": "arch/grub-menu.lst.tmpl", "target": "/boot/grub/menu.lst"},
+{% endblock %}
+{% block packages %}
+	{% for package in packages %}
+		{"operation": "runcmd", "chroot": true, "command": ["pacman", "-Sy", "{{ package }}"]},
+	{% endfor %}
+{% endblock %}
+{% block configure %}
+	{{ super() }}
+	{"operation": "render_template", "template": "arch/network.service.tmpl", "target": "/etc/systemd/system/multi-user.target.wants/network.service"},
+	{"operation": "render_template", "template": "debian/hostname.tmpl", "target": "/etc/hostname"},
+{% endblock %}
+{% block cleanup %}
+{% endblock %}

appliancekit/specs/arch.spec

+{% extends "arch-base.spec" %}

appliancekit/specs/arch/grub-menu.lst.tmpl

+# Generated by ApplianceKit.  Do not modify unless you know what you're doing.
+{% set root=root or "/dev/xvda1" %}
+{% set groot=groot or "(hd0)" %}
+{% set kernel_flavors=kernel_flavors or ['linux'] %}
+
+timeout		5
+
+{% for flavor in kernel_flavors %}
+title		ArchLinux - kernel '{{ flavor }}'
+root		{{ groot }}
+kernel		/boot/{{ flavor }} root={{ root }} quiet
+initrd		/boot/initramfs-{{ flavor }}.img
+{% endfor %}

appliancekit/specs/arch/pacman-full.conf.tmpl

+# Generated by ApplianceKit.
+
+#
+# /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/
+HoldPkg     = pacman glibc
+#XferCommand = /usr/bin/curl -C - -f %u > %o
+#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
+#CleanMethod = KeepInstalled
+#UseDelta    = 0.7
+Architecture = {{ arch }}
+
+# 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
+SigLevel = Never
+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
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.