[arch-releng] [PATCH] Initialize pacman keyring on bootup

Pierre Schmitz pierre at archlinux.de
Mon Jun 18 13:06:02 EDT 2012


This will allow users to install packages within the live environment.
We use the haveged daemon to increase entropy from CPU timings.

See http://www.issihosts.com/haveged/ for details.

Signed-off-by: Pierre Schmitz <pierre at archlinux.de>
---
 configs/releng/packages.i686                   |    1 +
 configs/releng/packages.x86_64                 |    1 +
 configs/releng/root-image/etc/rc.conf          |    2 +-
 configs/releng/root-image/etc/rc.d/pacman-init |   36 ++++++++++++++++++++++++
 4 Dateien geändert, 39 Zeilen hinzugefügt(+), 1 Zeile entfernt(-)
 create mode 100755 configs/releng/root-image/etc/rc.d/pacman-init

diff --git a/configs/releng/packages.i686 b/configs/releng/packages.i686
index 4e29737..6012e7c 100644
--- a/configs/releng/packages.i686
+++ b/configs/releng/packages.i686
@@ -14,6 +14,7 @@ efibootmgr
 elinks
 gnu-netcat
 gptfdisk
+haveged
 hdparm
 ipw2100-fw
 ipw2200-fw
diff --git a/configs/releng/packages.x86_64 b/configs/releng/packages.x86_64
index 4e29737..6012e7c 100644
--- a/configs/releng/packages.x86_64
+++ b/configs/releng/packages.x86_64
@@ -14,6 +14,7 @@ efibootmgr
 elinks
 gnu-netcat
 gptfdisk
+haveged
 hdparm
 ipw2100-fw
 ipw2200-fw
diff --git a/configs/releng/root-image/etc/rc.conf b/configs/releng/root-image/etc/rc.conf
index a3e3d8a..90aa930 100644
--- a/configs/releng/root-image/etc/rc.conf
+++ b/configs/releng/root-image/etc/rc.conf
@@ -30,4 +30,4 @@ USELVM="no"
 
 HOSTNAME="archiso"
 
-DAEMONS=(hwclock syslog-ng)
+DAEMONS=(hwclock syslog-ng haveged pacman-init)
diff --git a/configs/releng/root-image/etc/rc.d/pacman-init b/configs/releng/root-image/etc/rc.d/pacman-init
new file mode 100755
index 0000000..1b8d93f
--- /dev/null
+++ b/configs/releng/root-image/etc/rc.d/pacman-init
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+	start)
+		stat_busy "Initializing pacman keyring"
+		pacman-key --init >/dev/null 2>&1 \
+			&& pacman-key --populate archlinux >/dev/null 2>&1
+		if [[ $? -gt 0 ]]; then
+			stat_fail
+			exit 1
+		else
+			add_daemon pacman-init
+			stat_done
+		fi
+		;;
+
+	stop)
+		stat_busy "Removing pacman keyring"
+		rm -rf /etc/pacman.d/gnupg
+		rm_daemon pacman-init
+		stat_done
+		;;
+
+	restart)
+		$0 stop
+		$0 start
+		;;
+
+	*)
+		echo "usage: $0 {start|stop|restart"
+esac
+
+exit 0
-- 
1.7.10.4


More information about the arch-releng mailing list