From 57615b0941d7404ca5ecb21d5b13b333b1222ae4 Mon Sep 17 00:00:00 2001 From: Htylol Date: Thu, 8 Aug 2024 17:26:04 +0500 Subject: [PATCH] Added altlinux in distrobox --- distrobox-generate-entry | 1 + distrobox-init | 129 +++++++++++++++++++++- docs/assets/png/distros/alt-distrobox.png | Bin 0 -> 31699 bytes 3 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 docs/assets/png/distros/alt-distrobox.png diff --git a/distrobox-generate-entry b/distrobox-generate-entry index 7198638de4..187fd802ab 100755 --- a/distrobox-generate-entry +++ b/distrobox-generate-entry @@ -302,6 +302,7 @@ if [ "${icon}" = "auto" ]; then DISTRO_ICON_MAP=" alma:https://raw.githubusercontent.com/89luca89/distrobox/main/docs/assets/png/distros/alma-distrobox.png alpine:https://raw.githubusercontent.com/89luca89/distrobox/main/docs/assets/png/distros/alpine-distrobox.png + alt:https://raw.githubusercontent.com/89luca89/distrobox/main/docs/assets/png/distros/alt-distrobox.png arch:https://raw.githubusercontent.com/89luca89/distrobox/main/docs/assets/png/distros/arch-distrobox.png centos:https://raw.githubusercontent.com/89luca89/distrobox/main/docs/assets/png/distros/centos-distrobox.png clear--os:https://raw.githubusercontent.com/89luca89/distrobox/main/docs/assets/png/distros/clear-distrobox.png diff --git a/distrobox-init b/distrobox-init index b6bc6364b3..c8878a03d4 100755 --- a/distrobox-init +++ b/distrobox-init @@ -841,6 +841,129 @@ setup_apt() fi } +# setup_aptrpm will upgrade or setup all packages for apt-rpm based systems. +# Arguments: +# None +# Expected global variables: +# upgrade: if we need to upgrade or not +# container_additional_packages: additional packages to install during this phase +# Expected env variables: +# None +# Outputs: +# None +setup_aptrpm() +{ + setup_rpm_exceptions + + # If we need to upgrade, do it and exit, no further action required. + if [ "${upgrade}" -ne 0 ]; then + apt-get update + apt-get dist-upgrade -y + exit + fi + + apt-get update + # Check if shell_pkg is available in distro's repo. If not we + # fall back to bash, and we set the SHELL variable to bash so + # that it is set up correctly for the user. + if ! apt-get install -y "${shell_pkg}"; then + shell_pkg="bash" + fi + deps=" + ${shell_pkg} + apt-repo-tools + apt-rsync + bash-completion + bc + bzip2 + curl + cracklib + dialog + diffutils + eepm + findutils + fontconfig + gettext + glibc + glibc-i18ndata + gnupg + gnupg2 + iconv + iproute2 + iputils + keyutils + less + libcap + libEGL + libGL + libkrb5 + libnss-mdns + libnss-myhostname + vte3 + libvulkan1 + lsof + man-db + mount + mtr + ncurses + openssh-clients + pam + passwd + pigz + pinentry-common + procps + su + sudo + tcpdump + time + traceroute + tree + tzdata + unzip + util-linux + wget + xauth + xorg-dri-intel + xorg-dri-radeon + xorg-utils + xz + zip + " + # shellcheck disable=SC2086,2046 + apt-get install -y ${deps} + + # Altlinux hooks. Without them the commands su, sudo, sudoreplay and passwd do not work + control passwd traditional + control sudo public + control sudoreplay public + control su wheel + mkdir /etc/tcb/"${container_user_name}" + echo "${container_user_name}::::::::" > /etc/tcb/"${container_user_name}"/shadow + sed -i 's/*//g' /etc/passwd + + # In case the locale is not available, install it + # will ensure we don't fallback to C.UTF-8 + if [ ! -e /usr/share/i18n/charmaps ]; then + apt-get --reinstall install -y glibc-i18ndata iconv + fi + if ! locale -a | grep -qi en_us.utf8 || ! locale -a | grep -qi "${HOST_LOCALE}"; then + LANG="${HOST_LOCALE}" localedef -i "${HOST_LOCALE_LANG}" -f "${HOST_LOCALE_ENCODING}" "${HOST_LOCALE}" + fi + + # Ensure we have tzdata installed and populated, sometimes container + # images blank the zoneinfo directory, so we reinstall the package to + # ensure population + if [ ! -e /usr/share/zoneinfo/UTC ]; then + apt-get --reinstall install -y tzdata + fi + + # Install additional packages passed at distrbox-create time + if [ -n "${container_additional_packages}" ]; then + # shellcheck disable=SC2086 + apt-get install -y ${container_additional_packages} + fi +} + # setup_dnf will upgrade or setup all packages for dnf/yum based systems. # Arguments: # manager: yum or dnf @@ -1661,7 +1784,11 @@ if [ "${upgrade}" -ne 0 ] || if command -v apk; then setup_apk elif command -v apt-get; then - setup_apt + if ! grep -q "ID=altlinux" /etc/os-release; then + setup_apt + else + setup_aptrpm + fi elif command -v emerge; then setup_emerge elif command -v pacman; then diff --git a/docs/assets/png/distros/alt-distrobox.png b/docs/assets/png/distros/alt-distrobox.png new file mode 100644 index 0000000000000000000000000000000000000000..6f4f4f3f48d8f3e068b48a2ee5529e7cbaf16947 GIT binary patch literal 31699 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