]> git.proxmox.com Git - zfsonlinux.git/commit
Preserve /etc/zfs/zed.d configuration on upgrade
authorAntonio Russo <antonio.e.russo@gmail.com>
Fri, 20 Mar 2020 16:28:43 +0000 (17:28 +0100)
committerFabian Grünbichler <f.gruenbichler@proxmox.com>
Mon, 23 Mar 2020 07:08:11 +0000 (08:08 +0100)
commit4d56f4c5b53ec79ba18030f062e2c239bd2bf8ee
treeedd2c2dd569405be8ff30ec04cef42c8a73c5c6a
parent475af1bc20cb5a3d9089a3eaa32c616d2d435e17
Preserve /etc/zfs/zed.d configuration on upgrade

Of the zedlet scripts shipped by upstream, a subset are enabled by
default, by creating symlinks in /etc/zfs/zed.d.  These symlinks are
shipped in the zfs-zed package.  dpkg, however, does not support
conffile handling of symlinks, and therefore any changes (removals) to
the symlinks are not preserved on package upgrade.

To address this policy violation, we:

 1. During package build, create a list of enabled-by-default zedlets,
    instead of creating symlinks.
 2. On package removal, identify all enabled-by-default zedlets whose
    symlinks do not exist (i.e., were removed by the user). This is done
    by creating "whiteout" links to /dev/null in their place).
 3. On package installation, create links to enabled-by-default zedlets
    UNLESS there is already a file there (i.e., abort if there is a
    whiteout link).
 4. We also clean up broken symlinks to removed zedlets at package
    postinst.

(cherry picked and adapted from 5cee380324d74e640d5dd7a360faba3994c8007f [0])

[0] https://salsa.debian.org/zfsonlinux-team/zfs.git

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
debian/patches/0006-dont-symlink-zed-scripts.patch [new file with mode: 0644]
debian/patches/series
debian/zfs-zed.postinst [new file with mode: 0644]
debian/zfs-zed.prerm [new file with mode: 0644]