Not depending on python-distro.
- Python-distro is new and isn't packaged in many distributions. - Can just get the distribution ID directly.
This commit is contained in:
parent
3f7fdfe443
commit
c162d2b886
3 changed files with 12 additions and 13 deletions
|
|
@ -10,29 +10,22 @@ set -e
|
|||
DIST_ID=$(cat /etc/os-release | grep "^ID=" | cut -d "=" -f 2)
|
||||
if [ $DIST_ID == "fedora" ]; then
|
||||
INSTALL_CMD="dnf -y install"
|
||||
DEPS="python3-distro python3-inotify python3-pygments python3-docopt python3-pillow"
|
||||
DEPS="python3-inotify python3-pygments python3-docopt python3-pillow"
|
||||
elif [ $DIST_ID == "arch" ]; then
|
||||
INSTALL_CMD="pacman -S --noconfirm --needed"
|
||||
DEPS="python-pyinotify python-pygments python-docopt python-pillow"
|
||||
sudo pacman -S --noconfirm python-pip
|
||||
sudo pip3 install distro
|
||||
elif [ $DIST_ID == "opensuse" ]; then
|
||||
INSTALL_CMD="zypper -n install"
|
||||
DEPS="python3-pyinotify python3-Pygments python3-docopt python3-Pillow"
|
||||
sudo pip3 install distro
|
||||
elif [ $DIST_ID == "debian" ]; then
|
||||
INSTALL_CMD="apt --yes install"
|
||||
DEPS="python3-pyinotify python3-pygments python3-docopt python3-pillow"
|
||||
sudo apt --yes install python3-pip
|
||||
sudo pip3 install distro
|
||||
elif [ $DIST_ID == "gentoo" ]; then
|
||||
INSTALL_CMD="emerge --noreplace"
|
||||
DEPS="pyinotify pygments docopt pillow"
|
||||
emerge --noreplace dev-python/pip
|
||||
sudo pip3 install --user distro
|
||||
else
|
||||
INSTALL_CMD="apt --yes install"
|
||||
DEPS="python3-distro python3-pyinotify python3-pygments python3-docopt python3-pillow"
|
||||
DEPS="python3-pyinotify python3-pygments python3-docopt python3-pillow"
|
||||
fi
|
||||
echo "Installing the dependencies of the vigil script..."
|
||||
sudo $INSTALL_CMD $DEPS util-linux
|
||||
|
|
|
|||
|
|
@ -4,12 +4,11 @@
|
|||
# Licensed under the Artistic License 2.0.
|
||||
|
||||
|
||||
import distro
|
||||
import subprocess
|
||||
import tools
|
||||
|
||||
|
||||
dist_id = distro.id()
|
||||
dist_id = tools.get_distro_id()
|
||||
pip_deps, pip3_deps, dist_deps = set(), set(), set()
|
||||
for dependency in tools.dependencies(dist_id):
|
||||
if "/" in dependency:
|
||||
|
|
|
|||
11
tools.py
11
tools.py
|
|
@ -23,7 +23,6 @@ import tempfile
|
|||
import time
|
||||
import traceback
|
||||
|
||||
import distro
|
||||
import PIL.Image
|
||||
import pygments
|
||||
import pygments.lexers
|
||||
|
|
@ -878,9 +877,17 @@ def is_tool_in_distribution(tool, distribution):
|
|||
return tool
|
||||
|
||||
|
||||
def get_distro_id():
|
||||
with open("/etc/os-release") as os_release_file:
|
||||
for line in os_release_file:
|
||||
if line.startswith("ID="):
|
||||
return line[len("ID="):].strip()
|
||||
raise AssertionError
|
||||
|
||||
|
||||
@functools.lru_cache(maxsize=1)
|
||||
def _tools_for_extension():
|
||||
distribution = distro.id()
|
||||
distribution = get_distro_id()
|
||||
result = {}
|
||||
for extensions, tools in TOOLS_FOR_EXTENSIONS:
|
||||
for extension in extensions:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue