Compare commits

...

1 Commits

Author SHA1 Message Date
Romain Dartigues 3f69895046 WIP: support Linux Mint and LMDE
Without this patch, Linux Mint and LMDE are detected as "debian" which,
somehow, does work, but do not take in consideration those distributions
specifics (such as mirror, upstream version, etc.).

This is flagged WIP as long as I do not run the tests on LMDE.
2 years ago

@ -51,6 +51,13 @@ if grep -q ^DISTRIB_ID=Ubuntu /etc/lsb-release 2>/dev/null; then
exit 0
fi
if grep -q ^DISTRIB_ID=LinuxMint /etc/lsb-release 2>/dev/null; then
echo linuxmint
exit 0
fi
#FIXME: Linux Mint Debian Edition/lmde
# devuan ascii has both devuan_version and debian_version, so we need to check devuan_version first!
if [ -f /etc/devuan_version ]; then
echo devuan

@ -41,7 +41,7 @@ in
# empty, but well...
cat /etc/arch-release
;;
debian)
debian|lmde)
debian_version=$(cat /etc/debian_version)
case $debian_version
in
@ -134,7 +134,7 @@ in
cat /etc/SuSE-release
fi
;;
ubuntu)
ubuntu|linuxmint)
if command -v lsb_release >/dev/null 2>&1
then
lsb_release -sr

@ -36,7 +36,7 @@ codename_os_release() {
# detect backport distribution
os="$(cat "$__global/explorer/os")"
case "$os" in
debian)
debian|lmde)
dist="$( codename_os_release )"
components="main"
mirror="http://deb.debian.org/debian/"
@ -46,7 +46,7 @@ case "$os" in
components="main"
mirror="http://deb.devuan.org/merged"
;;
ubuntu)
ubuntu|linuxmint)
dist="$( codename_os_release )"
components="main restricted universe multiverse"
mirror="http://archive.ubuntu.com/ubuntu"

@ -24,7 +24,7 @@ os=$(cat "$__global/explorer/os")
release="$(cat "$__object/parameter/release")"
case "$os" in
ubuntu|debian|devuan)
ubuntu|debian|devuan|linuxmint|lmde)
__file /etc/apt/apt.conf.d/99-default-release \
--owner root --group root --mode 644 \
--source - << DONE

@ -24,7 +24,7 @@ os=$(cat "${__global:?}/explorer/os")
case ${os}
in
(ubuntu|debian|devuan)
(ubuntu|debian|devuan|linuxmint|lmde)
__file /etc/apt/apt.conf.d/00InstallRecommends --state present \
--owner root --group root --mode 0644 --source - <<-'EOF'
APT::Install-Recommends "false";

@ -35,7 +35,7 @@ priority="$(cat "$__object/parameter/priority")"
case "$os" in
debian|ubuntu|devuan)
debian|ubuntu|devuan|linux|lmde)
;;
*)
printf "This type is specific to Debian and it's derivatives" >&2

@ -24,7 +24,7 @@
os=$(cat "$__global/explorer/os")
case "$os" in
alpine|scientific|centos|redhat|ubuntu|debian|devuan|archlinux|gentoo)
alpine|scientific|centos|redhat|ubuntu|debian|devuan|archlinux|gentoo|linuxmint|lmde)
# any linux should work
:
;;

@ -58,6 +58,7 @@ esac
distribution_setup () {
case "$os" in
#FIXME: Linux Mint Debian Edition/lmde
debian)
# consul is only available starting Debian 10 (buster).
# See https://packages.debian.org/buster/consul
@ -136,7 +137,7 @@ init_upstart()
manual_setup () {
case "$os" in
alpine|scientific|centos|debian|devuan|redhat|ubuntu)
alpine|scientific|centos|debian|devuan|redhat|ubuntu|linuxmint|lmde)
# whitelist safeguard
:
;;
@ -191,6 +192,7 @@ manual_setup () {
esac
;;
#FIXME: Linux Mint Debian Edition/lmde
debian)
os_version=$(cat "$__global/explorer/os_version")
major_version="${os_version%%.*}"
@ -209,6 +211,7 @@ manual_setup () {
esac
;;
#FIXME: Linux Mint
ubuntu)
init_upstart
;;

@ -44,7 +44,7 @@ case "$os" in
exit 1
fi
;;
ubuntu|debian)
ubuntu|debian|linuxmint|lmde)
if [ "${state}" = "present" ]; then
__package apt-transport-https
__package ca-certificates

@ -45,6 +45,7 @@ if [ "$init" = 'systemd' ]; then
echo "systemctl \"$cmd\" \"$name\""
else
case "$os" in
#FIXME: Linux Mint Debian Edition/lmde
debian)
case "$os_version" in
[1-7]*)
@ -72,7 +73,7 @@ else
echo "/etc/init.d/\"$name\" \"$cmd\""
;;
ubuntu)
ubuntu|linuxmint)
echo "service \"$name\" \"$cmd\""
;;

@ -5,7 +5,7 @@ go_executable=$(cat "$__object/explorer/go-executable")
os=$(cat "$__global/explorer/os")
case $os in
debian|devuan|ubuntu)
debian|devuan|ubuntu|linuxmint|lmde)
__package build-essential
;;
*)

@ -5,6 +5,7 @@ os_version=$(cat "$__global/explorer/os_version")
require=""
case $os in
#FIXME: Linux Mint Debian Edition/lmde
debian|devuan)
case $os_version in
8*|jessie)

@ -59,7 +59,7 @@ echo 'changed' >>"${__messages_out:?}"
# Use the good old way to set the hostname.
case ${os}
in
(alpine|debian|devuan|ubuntu)
(alpine|debian|devuan|ubuntu|linuxmint|lmde)
echo 'hostname -F /etc/hostname'
;;
(archlinux)

@ -56,7 +56,7 @@ fi
case ${os}
in
(alpine|debian|devuan|ubuntu|void)
(alpine|debian|devuan|ubuntu|void|linuxmint|lmde)
echo "${name_should}" | __file /etc/hostname --source -
;;
(archlinux)

@ -104,11 +104,12 @@ in
unset CDIST_ORDER_DEPENDENCY
fi
;;
(debian|devuan|ubuntu)
(debian|devuan|ubuntu|linuxmint|lmde)
os_major=$(sed 's/[^0-9].*$//' "${__global:?}/explorer/os_version")
case ${os}
in
#FIXME: Linux Mint Debian Edition/lmde
(debian)
if test "${os_major}" -ge 7
then
@ -129,7 +130,7 @@ in
(devuan)
update_rcS=false
;;
(ubuntu)
(ubuntu|linuxmint)
update_rcS=$(test "${os_major}" -lt 16 && echo true || echo false)
;;
esac

@ -48,6 +48,13 @@ if grep -q ^DISTRIB_ID=Ubuntu "$chroot/etc/lsb-release" 2>/dev/null; then
exit 0
fi
if grep -q ^DISTRIB_ID=LinuxMint "$chroot/etc/lsb-release" 2>/dev/null; then
echo linuxmint
exit 0
fi
#FIXME: Linux Mint Debian Edition/lmde
if [ -f "$chroot/etc/debian_version" ]; then
echo debian
exit 0

@ -34,7 +34,7 @@ exec > "$install_script"
printf '#!/bin/sh -l\n'
case "$target_os" in
ubuntu|debian)
ubuntu|debian|linuxmint|lmde)
if [ -s "$__global/explorer/efi" ]; then
# FIXME: untested. maybe also just run update-grub for EFI system?
printf 'grub-mkconfig --output=/boot/efi/EFI/%s/grub.cfg\n' "$target_os"

@ -15,6 +15,7 @@ if [ -z "${certbot_fullpath}" ]; then
alpine)
__package certbot
;;
#FIXME: Linux Mint Debian Edition/lmde
debian)
case "$os_version" in
8*)
@ -88,7 +89,7 @@ if [ -z "${certbot_fullpath}" ]; then
__package py37-certbot
certbot_fullpath="/usr/local/bin/certbot"
;;
ubuntu)
ubuntu|linuxmint)
__package certbot
;;
*)

@ -26,11 +26,12 @@ os=$(cat "$__global/explorer/os")
case "$os" in
#FIXME: Linux Mint Debian Edition/lmde
debian|devuan)
# Debian needs a seperate package
__package locales --state present
;;
archlinux|suse|ubuntu|scientific|centos|alpine)
archlinux|suse|ubuntu|scientific|centos|alpine|linuxmint)
:
;;
*)

@ -55,6 +55,7 @@ os=$(cat "$__global/explorer/os")
case $os
in
#FIXME: Linux Mint Debian Edition/lmde
debian)
if version_ge 4 <"${__global}/explorer/os_version"
then
@ -67,7 +68,7 @@ in
devuan)
locale_conf="/etc/default/locale"
;;
ubuntu)
ubuntu|linuxmint)
if version_ge 6.10 <"${__global}/explorer/os_version"
then
# Ubuntu 6.10 (edgy) and later

@ -61,7 +61,7 @@ in
printf '%s does not support locales.\n' "${os}" >&2
exit 1
;;
(archlinux|debian|devuan|ubuntu|suse|centos|fedora|redhat|scientific)
(archlinux|debian|devuan|ubuntu|suse|centos|fedora|redhat|scientific|linuxmint|lmde)
# FIXME: The code below only works for glibc-based installations.
# NOTE: Hardcoded, create a pull request in case it is at another

@ -24,7 +24,7 @@
case $(cat "${__global:?}/explorer/os")
in
(debian|devuan)
(debian|devuan|lmde)
__package_apt locales --state present
;;
esac

@ -37,7 +37,7 @@ case "${os}" in
tls_cipher_suite="HIGH:MEDIUM:+SSLv2"
fi
;;
debian|ubuntu|devuan)
debian|ubuntu|devuan|linuxmint|lmde)
PKGS="slapd ldap-utils"
ETC="/etc"
SLAPD_DIR="/etc/ldap"
@ -157,7 +157,7 @@ case "${os}" in
--comment "# LDAP Listener URLs" \
"${__target_host}__slapd_flags"
;;
debian|ubuntu|devuan)
debian|ubuntu|devuan|linuxmint|lmde)
require="__package/${PKG_MAIN}" __line rm_slapd_conf \
--file ${ETC}/default/slapd \
--regex 'SLAPD_CONF=.*' \

@ -33,7 +33,7 @@ else
case "$os" in
amazon|scientific|centos|fedora|redhat) type="yum" ;;
archlinux) type="pacman" ;;
debian|ubuntu|devuan) type="apt" ;;
debian|ubuntu|devuan|linuxmint|lmde) type="apt" ;;
freebsd)
if [ -n "$(cat "$__object/explorer/pkgng_exists")" ]; then
type="pkgng_freebsd"

@ -24,7 +24,7 @@ else
os="$("$__explorer/os")"
case "$os" in
amazon|scientific|centos|fedora|redhat) echo "yum" ;;
debian|ubuntu|devuan) echo "apt" ;;
debian|ubuntu|devuan|linuxmint|lmde) echo "apt" ;;
archlinux) echo "pacman" ;;
alpine) echo "apk" ;;
*)

@ -39,7 +39,7 @@ else
os="$(cat "$__global/explorer/os")"
case "$os" in
amazon|scientific|centos|fedora|redhat) type="yum" ;;
debian|ubuntu|devuan) type="apt" ;;
debian|ubuntu|devuan|linuxmint|lmde) type="apt" ;;
archlinux) type="pacman" ;;
*)
echo "Don't know how to manage packages on: $os" >&2

@ -22,7 +22,7 @@
os=$(cat "$__global/explorer/os")
case "$os" in
ubuntu|debian|archlinux|scientific|centos|devuan)
ubuntu|debian|archlinux|scientific|centos|devuan|linuxmint|lmde)
:
;;
*)

@ -22,7 +22,7 @@
os=$("$__explorer/os")
case "$os" in
alpine|ubuntu|debian|archlinux|suse|scientific|centos|devuan)
alpine|ubuntu|debian|archlinux|suse|scientific|centos|devuan|linuxmint|lmde)
:
;;
*)

@ -22,7 +22,7 @@
os=$(cat "$__global/explorer/os")
case "$os" in
alpine|archlinux|centos|debian|devuan|suse|scientific|ubuntu)
alpine|archlinux|centos|debian|devuan|suse|scientific|ubuntu|linuxmint|lmde)
:
;;
*)

@ -22,7 +22,7 @@
os=$(cat "$__global/explorer/os")
case "$os" in
ubuntu|debian|archlinux|scientific|centos|devuan)
ubuntu|debian|archlinux|scientific|centos|devuan|linuxmint|lmde)
echo "postfix reload"
;;
*)

@ -29,7 +29,7 @@ in
(centos|rhel|scientific)
echo 'postgres'
;;
(debian|devuan|ubuntu)
(debian|devuan|ubuntu|linuxmint|lmde)
echo 'postgres'
;;
(freebsd)

@ -39,7 +39,7 @@ test "$(cat "${__object}/parameter/state")" != 'absent' || exit 0
case $("${__explorer}/os")
in
debian|devuan|ubuntu)
debian|devuan|ubuntu|linuxmint|lmde)
has_alternatives=true
# NOTE: Old versions do not support `--list`, in this case ignore the errors.

@ -57,7 +57,7 @@ package_name='sensible-utils'
case $os
in
debian)
debian|linuxmint|lmde)
pkg_type='apt'
;;
devuan)

@ -24,7 +24,7 @@ state_should=$(cat "${__object:?}/parameter/state")
case ${os}
in
(alpine|centos|fedora|redhat|scientific|debian|devuan|ubuntu)
(alpine|centos|fedora|redhat|scientific|debian|devuan|ubuntu|linuxmint|lmde)
if test "${state_should}" != 'absent'
then
__package openssh-server --state present

@ -37,7 +37,7 @@ if [ "$init" = 'systemd' ]; then
else
case "$os" in
debian|openwrt|devuan)
debian|openwrt|devuan|lmde)
state="absent"
for file in "/etc/rc$runlevel.d/S"??"$name"
do
@ -48,7 +48,7 @@ else
fi
done
;;
ubuntu)
ubuntu|linuxmint)
state="absent"
for file in "/etc/rc$runlevel.d/S"??"$name"
do

@ -40,6 +40,7 @@ case "$state_should" in
echo "systemctl -q enable '$name'"
else
case "$os" in
#FIXME: Linux Mint Debian Edition/lmde
debian)
case "$os_version" in
[1-7]*)
@ -73,7 +74,7 @@ case "$state_should" in
echo "'/etc/init.d/$name' enable || [ -f /etc/rc.d/S??'$name' ]"
;;
ubuntu)
ubuntu|linuxmint)
echo "update-rc.d '$name' defaults >/dev/null"
;;

@ -30,7 +30,7 @@ fi
os=$(cat "$__global/explorer/os")
case "$os" in
# Linux
redhat|centos|ubuntu|debian|devuan|archlinux|gentoo|coreos)
redhat|centos|ubuntu|debian|devuan|archlinux|gentoo|coreos|linuxmint|lmde)
flag='-w'
;;
# BusyBox

@ -25,7 +25,7 @@ os=$(cat "$__global/explorer/os")
case "$os" in
# Linux
alpine|redhat|centos|ubuntu|debian|devuan|archlinux|coreos)
alpine|redhat|centos|ubuntu|debian|devuan|archlinux|coreos|linuxmint|lmde)
:
;;
# BSD

@ -30,7 +30,7 @@ if [ "$timezone_is" = "$timezone_should" ]; then
fi
case "$os" in
ubuntu|debian|devuan|coreos|alpine)
ubuntu|debian|devuan|coreos|alpine|linuxmint|lmde)
echo "echo \"$timezone_should\" > /etc/timezone"
;;
esac

@ -26,7 +26,7 @@ timezone=$(cat "$__object/parameter/tz")
os=$(cat "$__global/explorer/os")
case "$os" in
archlinux|debian|ubuntu|devuan|alpine)
archlinux|debian|ubuntu|devuan|alpine|linuxmint|lmde)
__package tzdata
export require="__package/tzdata"
;;

@ -20,7 +20,7 @@ case "$src" in
;;
*.lzma|*.xz|*.txz)
case "$os" in
debian|ubuntu|devuan)
debian|ubuntu|devuan|linuxmint|lmde)
__package xz-utils
;;
alpine|centos)
@ -30,7 +30,7 @@ case "$src" in
;;
*.rar)
case "$os" in
debian|ubuntu|devuan|alpine|freebsd)
debian|ubuntu|devuan|alpine|freebsd|linuxmint|lmde)
__package unrar
;;
esac

@ -21,7 +21,7 @@ state=$(cat "$__object/parameter/state")
os=$(cat "$__global/explorer/os")
case "$os" in
debian|ubuntu)
debian|ubuntu|linuxmint|lmde)
:
;;
*)

@ -21,7 +21,7 @@ state=$(cat "$__object/parameter/state")
os=$(cat "$__global/explorer/os")
case "$os" in
debian|ubuntu)
debian|ubuntu|linuxmint|lmde)
:
;;
*)

@ -22,7 +22,7 @@ servers=$(cat "$__object/parameter/servers")
os=$(cat "$__global/explorer/os")
case "$os" in
debian|ubuntu)
debian|ubuntu|linuxmint|lmde)
:
;;
*)

@ -26,7 +26,7 @@ fi
os=$(cat "$__global/explorer/os")
case "$os" in
debian|ubuntu)
debian|ubuntu|linuxmint|lmde)
:
;;
*)

@ -50,6 +50,13 @@ if grep -q ^DISTRIB_ID=Ubuntu /etc/lsb-release 2>/dev/null; then
exit 0
fi
if grep -q ^DISTRIB_ID=LinuxMint /etc/lsb-release 2>/dev/null; then
echo linuxmint
exit 0
fi
#FIXME: Linux Mint Debian Edition/lmde
if [ -f /etc/debian_version ]; then
echo debian
exit 0

@ -30,6 +30,7 @@ case "$($__explorer/os)" in
# empty, but well...
cat /etc/arch-release
;;
#FIXME: Linux Mint Debian Edition/lmde
debian)
cat /etc/debian_version
;;
@ -67,7 +68,7 @@ case "$($__explorer/os)" in
cat /etc/SuSE-release
fi
;;
ubuntu)
ubuntu|linuxmint)
lsb_release -sr
;;
esac

Loading…
Cancel
Save