Compare commits

..

1 commit

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.
2021-12-27 14:41:37 +01:00
77 changed files with 188 additions and 298 deletions

View file

@ -1,6 +1,6 @@
#!/bin/sh
#
# 2011-2022 Nico Schottelius (nico-cdist at schottelius.org)
# 2011-2013 Nico Schottelius (nico-cdist at schottelius.org)
# 2016-2019 Darko Poljak (darko.poljak at gmail.com)
#
# This file is part of cdist.
@ -534,8 +534,7 @@ eof
;;
version)
target_version="$(git describe | sed 's/-/.dev/; s/-/+/g')"
printf "VERSION = \"%s\"\n" "${target_version}" > cdist/version.py
printf "VERSION = \"%s\"\n" "$(git describe)" > cdist/version.py
;;
target-version)

View file

@ -472,6 +472,9 @@ def get_parsers():
parser['info'].set_defaults(func=cdist.info.Info.commandline)
# Scan = config + further
parser['scan'] = parser['sub'].add_parser('scan', add_help=False,
parents=[parser['config']])
parser['scan'] = parser['sub'].add_parser(
'scan', parents=[parser['loglevel'],
parser['beta'],

View file

@ -21,9 +21,6 @@
set +e
case "$("$__explorer/os")" in
checkpoint)
awk '{printf("%s\n", $(NF-1))}' /etc/cp-release
;;
openwrt)
# shellcheck disable=SC1091
(. /etc/openwrt_release && echo "$DISTRIB_CODENAME")

View file

@ -21,9 +21,6 @@
set +e
case "$("$__explorer/os")" in
checkpoint)
cat /etc/cp-release
;;
openwrt)
# shellcheck disable=SC1091
(. /etc/openwrt_release && echo "$DISTRIB_DESCRIPTION")

View file

@ -21,9 +21,6 @@
set +e
case "$("$__explorer/os")" in
checkpoint)
echo "CheckPoint"
;;
openwrt)
# shellcheck disable=SC1091
(. /etc/openwrt_release && echo "$DISTRIB_ID")

View file

@ -21,9 +21,6 @@
set +e
case "$("$__explorer/os")" in
checkpoint)
sed /etc/cp-release -e 's/.* R\([1-9][0-9]*\)\.[0-9]*$/\1/'
;;
openwrt)
# shellcheck disable=SC1091
(. /etc/openwrt_release && echo "$DISTRIB_RELEASE")

View file

@ -515,7 +515,7 @@ check_vm_arch_specific() {
&& return 0
fi
if has_cpuinfo \
&& grep -q -i -e '^flags.*:.*\(hypervisor\|vmm\)\( \|$\)' /proc/cpuinfo
&& grep -q -i -e '^flags.*:.*\(hypervisor\|vmm\)' /proc/cpuinfo
then
return 0
fi

View file

@ -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
@ -116,13 +123,6 @@ if [ -f /etc/slackware-version ]; then
exit 0
fi
# Appliances
if grep -q '^Check Point Gaia' /etc/cp-release 2>/dev/null; then
echo checkpoint
exit 0
fi
uname_s="$(uname -s)"
# Assume there is no tr on the client -> do lower case ourselves

View file

@ -34,9 +34,5 @@ elif test -f /var/run/os-release
then
# FreeBSD (created by os-release service)
cat /var/run/os-release
elif test -f /etc/cp-release
then
# Checkpoint firewall or management (actually linux based)
cat /etc/cp-release
fi

View file

@ -41,10 +41,7 @@ in
# empty, but well...
cat /etc/arch-release
;;
checkpoint)
awk '{version=$NF; printf("%s\n", substr(version, 2))}' /etc/cp-release
;;
debian)
debian|lmde)
debian_version=$(cat /etc/debian_version)
case $debian_version
in
@ -82,7 +79,6 @@ in
# ceres versions don't have a number, so we decode by codename:
case ${devuan_version}
in
(daedalus/ceres) echo 4.99 ;;
(chimaera/ceres) echo 3.99 ;;
(beowulf/ceres) echo 2.99 ;;
(ascii/ceres) echo 1.99 ;;
@ -138,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

View file

@ -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"

View file

@ -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

View file

@ -24,4 +24,4 @@ else
name="$__object_id"
fi
apt-mark showhold | grep -q "^${name}$" && echo hold || echo unhold
apt-mark showhold | grep -Fq "$name" && echo hold || echo unhold

View file

@ -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";

View file

@ -23,7 +23,7 @@ package
Package name, glob or regular expression to match (multiple) packages. If not specified `__object_id` is used.
priority
The priority value to assign to matching packages. Defaults to 500. (To match the default target distro's priority)
The priority value to assign to matching packages. Deafults to 500. (To match the default target distro's priority)
state
Will be passed to underlying `__file` type; see there for valid values and defaults.

View file

@ -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
@ -57,11 +57,6 @@ __file "/etc/apt/preferences.d/$name" \
--owner root --group root --mode 0644 \
--state "$state" \
--source - << EOF
# Created by cdist ${__type##*/}
# Do not change. Changes will be overwritten.
#
# $name
Package: $package
Pin: $pin
Pin-Priority: $priority

View file

@ -1,3 +1,2 @@
state
package
priority

View file

@ -1 +1,2 @@
distribution
priority

View file

@ -0,0 +1,55 @@
#!/usr/bin/env python
#
# Remove the given apt repository.
#
# Exit with:
# 0: if it worked
# 1: if not
# 2: on other error
import os
import sys
from aptsources import distro, sourceslist
from softwareproperties import ppa
from softwareproperties.SoftwareProperties import SoftwareProperties
def remove_if_empty(file_name):
with open(file_name, 'r') as f:
if f.read().strip():
return
os.unlink(file_name)
def remove_repository(repository):
#print 'repository:', repository
codename = distro.get_distro().codename
#print 'codename:', codename
(line, file) = ppa.expand_ppa_line(repository.strip(), codename)
#print 'line:', line
#print 'file:', file
deb_source_entry = sourceslist.SourceEntry(line, file)
src_source_entry = sourceslist.SourceEntry('deb-src{}'.format(line[3:]), file)
try:
sp = SoftwareProperties()
sp.remove_source(deb_source_entry)
try:
# If there's a deb-src entry, remove that too
sp.remove_source(src_source_entry)
except:
pass
remove_if_empty(file)
return True
except ValueError:
print >> sys.stderr, "Error: '%s' doesn't exists in a sourcelist file" % line
return False
if __name__ == '__main__':
if (len(sys.argv) != 2):
print >> sys.stderr, 'Error: need a repository as argument'
sys.exit(2)
repository = sys.argv[1]
if remove_repository(repository):
sys.exit(0)
else:
sys.exit(1)

View file

@ -29,9 +29,9 @@ fi
case "$state_should" in
present)
echo "add-apt-repository -y '$name'"
echo "add-apt-repository '$name'"
;;
absent)
echo "add-apt-repository -r -y '$name'"
echo "remove-apt-repository '$name'"
;;
esac

View file

@ -20,4 +20,9 @@
__package software-properties-common
require="__package/software-properties-common" \
__file /usr/local/bin/remove-apt-repository \
--source "$__type/files/remove-apt-repository" \
--mode 0755
require="$__object_name" __apt_update_index

View file

@ -2,14 +2,13 @@
set -u
entry="$uri $distribution $component"
cat << DONE
# Created by cdist ${__type##*/}
# Do not change. Changes will be overwritten.
#
# $name
deb ${options} $entry
deb ${forcedarch} $entry
DONE
if [ -f "$__object/parameter/include-src" ]; then
echo "deb-src $entry"

View file

@ -23,9 +23,6 @@ OPTIONAL PARAMETERS
arch
set this if you need to force and specific arch (ubuntu specific)
signed-by
provide a GPG key fingerprint or keyring path for signature checks
state
'present' or 'absent', defaults to 'present'
@ -59,11 +56,6 @@ EXAMPLES
--uri http://archive.canonical.com/ \
--component partner --state present
__apt_source goaccess \
--uri http://deb.goaccess.io/ \
--component main \
--signed-by C03B48887D5E56B046715D3297BD1A0133449C3D
AUTHORS
-------

View file

@ -21,7 +21,6 @@
name="$__object_id"
state="$(cat "$__object/parameter/state")"
uri="$(cat "$__object/parameter/uri")"
options=""
if [ -f "$__object/parameter/distribution" ]; then
distribution="$(cat "$__object/parameter/distribution")"
@ -32,15 +31,9 @@ fi
component="$(cat "$__object/parameter/component")"
if [ -f "$__object/parameter/arch" ]; then
options="arch=$(cat "$__object/parameter/arch")"
fi
if [ -f "$__object/parameter/signed-by" ]; then
options="$options signed-by=$(cat "$__object/parameter/signed-by")"
fi
if [ "$options" ]; then
options="[$options]"
forcedarch="[arch=$(cat "$__object/parameter/arch")]"
else
forcedarch=""
fi
# export variables for use in template
@ -48,7 +41,7 @@ export name
export uri
export distribution
export component
export options
export forcedarch
# generate file from template
mkdir "$__object/files"

View file

@ -1,5 +1,4 @@
state
distribution
component
arch
signed-by
arch

View file

@ -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
:
;;

View file

@ -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
;;

View file

@ -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

View file

@ -37,12 +37,6 @@ state
source
forwarded to :strong:`__file` type
file
forwarded to :strong:`__file` type
This can be used if multiple users need to have a dotfile updated,
which will result in duplicate object id errors. When using the
file parameter the object id can be some unique value.
MESSAGES
--------
@ -67,15 +61,6 @@ EXAMPLES
# Install default xmonad config for user 'eve'. Parent directory is created automatically.
__dot_file .xmonad/xmonad.hs --user eve --state exists --source "$__files/xmonad.hs"
# install .vimrc for root and some users
for user in root userx usery userz; do
__dot_file "${user}_dot_vimrc" \
--user $user \
--file .vimrc \
--state exists \
--source "$__files/$user/.vimrc"
done
SEE ALSO
--------

View file

@ -20,19 +20,13 @@ user="$(cat "${__object}/parameter/user")"
home="$(cat "${__object}/explorer/home")"
primary_group="$(cat "${__object}/explorer/primary_group")"
dirmode="$(cat "${__object}/parameter/dirmode")"
if [ -f "${__object}/parameter/file" ]; then
file="$(cat "${__object}/parameter/file")"
else
file="${__object_id}"
fi
# Create parent directory. Type __directory has flag 'parents', but it
# will leave us with root-owned directory in user home, which is not
# acceptable. So we create parent directories one-by-one. XXX: maybe
# it should be fixed in '__directory'?
set --
subpath=${file}
subpath=${__object_id}
while subpath="$(dirname "${subpath}")" ; do
[ "${subpath}" = . ] && break
set -- "${subpath}" "$@"
@ -70,4 +64,4 @@ if [ "${source}" = "-" ] ; then
fi
unset source
__file "${home}/${file}" --owner "$user" --group "$primary_group" "$@"
__file "${home}/${__object_id}" --owner "$user" --group "$primary_group" "$@"

View file

@ -1,7 +1,7 @@
#!/bin/sh -e
#
# 2011-2012 Nico Schottelius (nico-cdist at schottelius.org)
# 2013-2022 Steven Armstrong (steven-cdist armstrong.cc)
# 2013 Steven Armstrong (steven-cdist armstrong.cc)
#
# This file is part of cdist.
#
@ -72,7 +72,6 @@ if [ "$state_should" = "present" ] || [ "$state_should" = "exists" ]; then
if [ "$type" != "file" ]; then
# destination is not a regular file, upload source to replace it
upload_file=1
echo upload >> "$__messages_out"
else
local_cksum="$(cksum < "$source")"
remote_cksum="$(cat "$__object/explorer/cksum")"
@ -89,39 +88,27 @@ if [ "$state_should" = "present" ] || [ "$state_should" = "exists" ]; then
mkdir "$__object/files"
touch "$__object/files/set-attributes"
if [ "$create_file" ]; then
# When creating an empty file we create it locally and then
# upload it so that permissions can be set before moving the file
# into place.
source="$__object/files/empty"
touch "$source"
fi
# upload file to temp location
upload_destination="${destination}.cdist.${__cdist_object_marker}.$$"
# Yes, we are aware that this is a race condition.
# However:
# a) cdist usually writes to directories that are not user writable
# (probably > 99.9%)
# b) if they are user owned, the user / attacker always wins
# (probably < 0.1%)
# c) the only case which we could improve are tmp directories and we
# don't think managing tmp directories with cdist is a typical case
# ("the rest %)"
# Tell gencode-remote to where we uploaded the file so it can move
# it to its final destination.
echo "$upload_destination" > "$__object/files/upload-destination"
# IPv6 fix
if echo "${__target_host}" | grep -q -E '^[0-9a-fA-F:]+$'
then
my_target_host="[${__target_host}]"
else
my_target_host="${__target_host}"
fi
tempfile_template="${destination}.cdist.XXXXXXXXXX"
cat << DONE
$__remote_copy "$source" "${my_target_host}:${upload_destination}"
destination_upload="\$($__remote_exec $__target_host "mktemp $tempfile_template")"
DONE
if [ "$upload_file" ]; then
echo upload >> "$__messages_out"
# IPv6 fix
if echo "${__target_host}" | grep -q -E '^[0-9a-fA-F:]+$'
then
my_target_host="[${__target_host}]"
else
my_target_host="${__target_host}"
fi
cat << DONE
$__remote_copy "$source" "${my_target_host}:\$destination_upload"
DONE
fi
# move uploaded file into place
cat << DONE
$__remote_exec $__target_host "rm -rf \"$destination\"; mv \"\$destination_upload\" \"$destination\""
DONE
fi
fi

View file

@ -1,7 +1,7 @@
#!/bin/sh -e
#
# 2011-2013 Nico Schottelius (nico-cdist at schottelius.org)
# 2013-2022 Steven Armstrong (steven-cdist armstrong.cc)
# 2013 Steven Armstrong (steven-cdist armstrong.cc)
#
# This file is part of cdist.
#
@ -62,13 +62,6 @@ set_mode() {
case "$state_should" in
present|exists)
if [ -f "$__object/files/upload-destination" ]; then
final_destination="$destination"
# We change the 'global' $destination variable here so we can
# change attributes of the new/uploaded file before moving it
# to it's final destination.
destination="$(cat "$__object/files/upload-destination")"
fi
# Note: Mode - needs to happen last as a chown/chgrp can alter mode by
# clearing S_ISUID and S_ISGID bits (see chown(2))
for attribute in group owner mode; do
@ -88,11 +81,6 @@ case "$state_should" in
fi
fi
done
if [ -f "$__object/files/upload-destination" ]; then
# move uploaded file into place
printf 'rm -rf "%s"\n' "$final_destination"
printf 'mv "%s" "%s"\n' "$destination" "$final_destination"
fi
if [ -f "$__object/files/set-attributes" ]; then
# set-attributes is created if file is created or uploaded in gencode-local
fire_onchange=1

View file

@ -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\""
;;

View file

@ -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
;;
*)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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"

View file

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

View file

@ -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)
:
;;
*)

View file

@ -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

View file

@ -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

View file

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

View file

@ -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=.*' \

View file

@ -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"

View file

@ -19,5 +19,5 @@
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
#
__package luarocks --state present
__package make --state present
__package luarocks --state installed
__package make --state installed

View file

@ -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" ;;
*)

View file

@ -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

View file

@ -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)
:
;;
*)

View file

@ -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)
:
;;
*)

View file

@ -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)
:
;;
*)

View file

@ -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"
;;
*)

View file

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

View file

@ -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.

View file

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

View file

@ -40,7 +40,6 @@ if [ -f "$file" ]; then
grep -v -F -x '$line' '$file' >\$tmpfile
fi
cat "\$tmpfile" >"$file"
rm -f "\$tmpfile"
DONE
}

View file

@ -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

View file

<
@ -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
;;