[pacman-dev] [PATCH v2 5/7] add example hooks

Allan McRae allan at archlinux.org
Sat Sep 19 08:09:00 UTC 2015


On 15/09/15 08:42, Andrew Gregory wrote:
> Signed-off-by: Andrew Gregory <andrew.gregory.8 at gmail.com>
> ---
>  hooks/checkboot.hook  | 17 +++++++++++++++++
>  hooks/checkmount      | 13 +++++++++++++
>  hooks/checkmount.conf |  1 +
>  hooks/checkmount.hook | 17 +++++++++++++++++

checkmount and checkboot seem a bit redundant.  But patch is fine.

A

>  hooks/sync.hook       | 16 ++++++++++++++++
>  5 files changed, 64 insertions(+)
>  create mode 100644 hooks/checkboot.hook
>  create mode 100644 hooks/checkmount
>  create mode 100644 hooks/checkmount.conf
>  create mode 100644 hooks/checkmount.hook
>  create mode 100644 hooks/sync.hook
> 
> diff --git a/hooks/checkboot.hook b/hooks/checkboot.hook
> new file mode 100644
> index 0000000..74a2dcf
> --- /dev/null
> +++ b/hooks/checkboot.hook
> @@ -0,0 +1,17 @@
> +# Make sure /boot is mounted before we modify it
> +
> +[Trigger]
> +Operation = Sync
> +Type = File
> +Target = boot/*
> +
> +[Trigger]
> +Operation = Remove
> +Type = File
> +Target = boot/*
> +
> +[Action]
> +AbortOnFail
> +Depends = util-linux
> +When = PreTransaction
> +Exec = /usr/share/alpm/hooks/checkmount
> diff --git a/hooks/checkmount b/hooks/checkmount
> new file mode 100644
> index 0000000..00fff7f
> --- /dev/null
> +++ b/hooks/checkmount
> @@ -0,0 +1,13 @@
> +#!/usr/bin/bash
> +
> +[[ -f /etc/checkmount ]] || exit 0
> +
> +source /etc/checkmount
> +ret=0
> +for mp in "${mountpoints[@]}"; do
> +    if ! findmnt "$mp" &>/dev/null; then
> +        printf "error: $mp not mounted\n" >&2
> +        ret=1
> +    fi
> +done
> +exit $ret
> diff --git a/hooks/checkmount.conf b/hooks/checkmount.conf
> new file mode 100644
> index 0000000..7ac515b
> --- /dev/null
> +++ b/hooks/checkmount.conf
> @@ -0,0 +1 @@
> +mountpoints=( /boot )
> diff --git a/hooks/checkmount.hook b/hooks/checkmount.hook
> new file mode 100644
> index 0000000..7b9d9d7
> --- /dev/null
> +++ b/hooks/checkmount.hook
> @@ -0,0 +1,17 @@
> +# Make sure all our filesystems are mounted
> +
> +[Trigger]
> +Operation = Sync
> +Type = File
> +Target = *
> +
> +[Trigger]
> +Operation = Remove
> +Type = File
> +Target = *
> +
> +[Action]
> +AbortOnFail
> +Depends = util-linux
> +When = PreTransaction
> +Exec = /usr/share/alpm/hooks/checkmount
> diff --git a/hooks/sync.hook b/hooks/sync.hook
> new file mode 100644
> index 0000000..43c2869
> --- /dev/null
> +++ b/hooks/sync.hook
> @@ -0,0 +1,16 @@
> +# Force disks to sync to prevent data corruption
> +
> +[Trigger]
> +Operation = Sync
> +Type = Package
> +Target = *
> +
> +[Trigger]
> +Operation = Remove
> +Type = Package
> +Target = *
> +
> +[Action]
> +Depends = coreutils
> +When = PostTransaction
> +Exec = /usr/bin/sync
> 


More information about the pacman-dev mailing list