From 0bbc3e7e3d8e0d00eda73a4e9e55d505aba88ef2 Mon Sep 17 00:00:00 2001 From: Hugo Hromic Date: Wed, 17 Nov 2021 23:51:40 +0000 Subject: [PATCH] Add support for alternatives system in Debian package (#1935) * Allows for micro to be selectable in the `editor` group * Use same priority as in the nano package Ref: https://wiki.debian.org/DebianAlternatives --- assets/packaging/deb/micro.postinst | 9 +++++++++ assets/packaging/deb/micro.prerm | 7 +++++++ tools/package-deb.sh | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100755 assets/packaging/deb/micro.postinst create mode 100755 assets/packaging/deb/micro.prerm diff --git a/assets/packaging/deb/micro.postinst b/assets/packaging/deb/micro.postinst new file mode 100755 index 00000000..5a24444a --- /dev/null +++ b/assets/packaging/deb/micro.postinst @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ]; then + update-alternatives --install /usr/bin/editor editor /usr/bin/micro 40 \ + --slave /usr/share/man/man1/editor.1 editor.1 \ + /usr/share/man/man1/micro.1 +fi diff --git a/assets/packaging/deb/micro.prerm b/assets/packaging/deb/micro.prerm new file mode 100755 index 00000000..9999d9ef --- /dev/null +++ b/assets/packaging/deb/micro.prerm @@ -0,0 +1,7 @@ +#!/bin/sh + +set -e + +if [ "$1" != "upgrade" ]; then + update-alternatives --remove editor /usr/bin/micro +fi diff --git a/tools/package-deb.sh b/tools/package-deb.sh index 7f3b81bc..416b88f9 100755 --- a/tools/package-deb.sh +++ b/tools/package-deb.sh @@ -1 +1 @@ -fpm -s dir -t deb -p micro-$1-amd64.deb --name micro --license mit --version $1 --deb-recommends xclip --description "A modern and intuitive terminal-based text editor" ./micro=/usr/bin/micro ./assets/packaging/micro.1=/usr/share/man/man1/micro.1 +fpm -s dir -t deb -p micro-$1-amd64.deb --name micro --license mit --version $1 --deb-recommends xclip --description "A modern and intuitive terminal-based text editor" --after-install ./assets/packaging/deb/micro.postinst --before-remove ./assets/packaging/deb/micro.prerm ./micro=/usr/bin/micro ./assets/packaging/micro.1=/usr/share/man/man1/micro.1