From 9539d82e07a22550b9a6d9ecbef47be6250e5d90 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Fri, 30 Dec 2016 17:06:08 -0700 Subject: Refactor to be friendlier with OpenRC; expand README. --- fill | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100755 fill (limited to 'fill') diff --git a/fill b/fill new file mode 100755 index 0000000..f12ae2a --- /dev/null +++ b/fill @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +# Copyright 2016 Luke Shumaker +# This work is free. You can redistribute it and/or modify it under the +# terms of the Do What The Fuck You Want To Public License, Version 2, +# as published by Sam Hocevar. See the COPYING file for more details. + +declare -r workdir=/var/lib/pristine-etc + +lock() { + local fd=$1 + local file=$2 + eval "exec $fd>"'"$file"' + flock "${@:3}" "$fd" +} + +unlock() { + local fd=$1 + exec {fd}>&- +} + +drain() { + if [[ -d /run/systemd/system ]]; then + systemctl reset-failed pristine-etc-keeper.service &>/dev/null || true + systemctl start pristine-etc-keeper.service + else + /etc/etckeeper/pristine/drain & + fi +} + +main() { + set -e + umask 0022 + + if [[ $# -gt 0 ]]; then + lock 8 "${workdir}/spool.spool" + printf '%s\n' "$*" >> "${workdir}/spool" + unlock 8 + fi + + drain +} + +main "$@" -- cgit v1.2.2