first commit
This commit is contained in:
commit
8f672c9404
|
|
@ -0,0 +1,2 @@
|
||||||
|
.DS_Store
|
||||||
|
.vscode
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,170 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# CREDITS: https://github.com/MidnightRocket/posix-colors
|
||||||
|
if [ -z "${NO_COLOR+x}" ] && { [ -t 1 ] && [ -t 2 ] || [ -n "${CLICOLOR_FORCE+x}" ];} ; then readonly T_USE_COLOR=true; else unset T_USE_COLOR; fi
|
||||||
|
|
||||||
|
T_ESC="\033[" # ¯\_(ツ)_/¯
|
||||||
|
readonly T_ESC="${T_USE_COLOR+"$T_ESC"}"
|
||||||
|
|
||||||
|
readonly TR="${T_ESC}${T_USE_COLOR+"0m"}"
|
||||||
|
readonly TR_F="${T_ESC}${T_USE_COLOR+"39m"}" TR_B="${T_ESC}${T_USE_COLOR+"49m"}"
|
||||||
|
|
||||||
|
readonly TF_BLACK="${T_ESC}${T_USE_COLOR+"30m"}" TF_WHITE="${T_ESC}${T_USE_COLOR+"97m"}"
|
||||||
|
readonly TF_RED="${T_ESC}${T_USE_COLOR+"31m"}" TF_BRIGHT_RED="${T_ESC}${T_USE_COLOR+"91m"}"
|
||||||
|
readonly TF_GREEN="${T_ESC}${T_USE_COLOR+"32m"}" TF_BRIGHT_GREEN="${T_ESC}${T_USE_COLOR+"92m"}"
|
||||||
|
readonly TF_YELLOW="${T_ESC}${T_USE_COLOR+"33m"}" TF_BRIGHT_YELLOW="${T_ESC}${T_USE_COLOR+"93m"}"
|
||||||
|
readonly TF_BLUE="${T_ESC}${T_USE_COLOR+"34m"}" TF_BRIGHT_BLUE="${T_ESC}${T_USE_COLOR+"94m"}"
|
||||||
|
readonly TF_MAGENTA="${T_ESC}${T_USE_COLOR+"35m"}" TF_BRIGHT_MAGENTA="${T_ESC}${T_USE_COLOR+"95m"}"
|
||||||
|
readonly TF_CYAN="${T_ESC}${T_USE_COLOR+"36m"}" TF_BRIGHT_CYAN="${T_ESC}${T_USE_COLOR+"96m"}"
|
||||||
|
readonly TF_DARK_GRAY="${T_ESC}${T_USE_COLOR+"90m"}" TF_BRIGHT_GRAY="${T_ESC}${T_USE_COLOR+"37m"}"
|
||||||
|
|
||||||
|
print() { printf "%b%b" "${1-""}" "${2-"${TR}\\n"}"; }
|
||||||
|
stderr() { print "$@" 1>&2; }
|
||||||
|
|
||||||
|
if [ -f /etc/os-release ]; then
|
||||||
|
. /etc/os-release
|
||||||
|
else
|
||||||
|
print 'Операционная система не поддерживается.'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
packages=
|
||||||
|
type=
|
||||||
|
distrib="${VERSION_CODENAME}"
|
||||||
|
|
||||||
|
if [ $(id -u) -ne 0 ]; then
|
||||||
|
print "${TF_BRIGHT_RED}Установка требует запуска с правами суперпользователя (root).${TR}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
check_package_rpm()
|
||||||
|
{
|
||||||
|
if rpm --quiet --query $1>/dev/null 2>&1; then
|
||||||
|
retval='установлен'
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
retval="${TF_WHITE}не установлен${TR}"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
check_package_deb()
|
||||||
|
{
|
||||||
|
if dpkg-query -W -f='${Status}' $1>/dev/null 2>&1; then
|
||||||
|
retval='установлен'
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
retval="${TF_WHITE}не установлен${TR}"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
check_cryptopro()
|
||||||
|
{
|
||||||
|
status=0
|
||||||
|
print 'Проверка КриптоПро:'
|
||||||
|
for pkg in lsb-cprocsp-base cprocsp-pki-cades-64 lsb-cprocsp-capilite-64 lsb-cprocsp-rdr-64; do
|
||||||
|
if [ "$type" = 'apt' ]; then
|
||||||
|
check_package_deb $pkg
|
||||||
|
status=$((status+$?))
|
||||||
|
else
|
||||||
|
check_package_rpm $pkg
|
||||||
|
status=$((status+$?))
|
||||||
|
fi
|
||||||
|
print " пакет $pkg: $retval"
|
||||||
|
done
|
||||||
|
return $status
|
||||||
|
}
|
||||||
|
|
||||||
|
case "${ID}_${VERSION_ID}" in
|
||||||
|
debian_12)
|
||||||
|
print "Установка для ${TF_GREEN}Debian 12${TR} «Bookworm»"
|
||||||
|
type=apt
|
||||||
|
;;
|
||||||
|
ubuntu_20.04)
|
||||||
|
print "Установка для ${TF_GREEN}Ubuntu 20.04${TR} «Focal Fossa»"
|
||||||
|
type=apt
|
||||||
|
;;
|
||||||
|
ubuntu_22.04)
|
||||||
|
print "Установка для ${TF_GREEN}Ubuntu 22.04${TR} «Jammy Jellyfish»"
|
||||||
|
type=apt
|
||||||
|
;;
|
||||||
|
ubuntu_24.04)
|
||||||
|
print "Установка для ${TF_GREEN}Ubuntu 24.04${TR} «Noble Numbat»"
|
||||||
|
type=apt
|
||||||
|
;;
|
||||||
|
astra_1.7_x86-64)
|
||||||
|
print "Установка для ${TF_GREEN}Astra Linux Special Edition 1.7${TR} «Смоленск»"
|
||||||
|
type=apt
|
||||||
|
distrib=alse17
|
||||||
|
packages='libkf5js5=5.78.0-0ubuntu2+alse17 libkf5jsapi5=5.78.0-0ubuntu2+alse17'
|
||||||
|
;;
|
||||||
|
fedora_40)
|
||||||
|
print "Установка для ${TF_GREEN}Fedora 40${TR}"
|
||||||
|
type=dnf
|
||||||
|
distrib=fedora
|
||||||
|
;;
|
||||||
|
rosa_2021.1)
|
||||||
|
print "Установка для ${TF_GREEN}Росы 2021.1${TR}"
|
||||||
|
type=dnf
|
||||||
|
distrib=rosa
|
||||||
|
;;
|
||||||
|
redos_7.3*)
|
||||||
|
print "Установка для ${TF_GREEN}РEД ОС 7.3${TR}"
|
||||||
|
type=dnf
|
||||||
|
distrib=redos
|
||||||
|
;;
|
||||||
|
redos_8.0)
|
||||||
|
print "Установка для ${TF_GREEN}РEД ОС 8${TR}"
|
||||||
|
type=dnf
|
||||||
|
distrib=redos
|
||||||
|
;;
|
||||||
|
altlinux_10* | altlinux_p10)
|
||||||
|
print "Установка для ${TF_GREEN}Альт 10${TR}"
|
||||||
|
type=alt
|
||||||
|
distrib=p10
|
||||||
|
;;
|
||||||
|
altlinux_11* | altlinux_p11)
|
||||||
|
print "Установка для ${TF_GREEN}Альт 11${TR}"
|
||||||
|
type=alt
|
||||||
|
distrib=p11
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
print "Операционная система «$PRETTY_NAME» ${TF_BRIGHT_REF}не поддерживается.${TR}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if check_cryptopro; then
|
||||||
|
packages="$packages okular-csp"
|
||||||
|
else
|
||||||
|
packages="$packages okular-gost"
|
||||||
|
print "${TF_BRIGHT_RED}КриптоПро не установлен.${TR} Окуляр ГОСТ будет установлен без модуля КриптоПро."
|
||||||
|
print 'После установки недостающих пакетов вы можете перезапустить установку.'
|
||||||
|
fi
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Установка плагинов dnf для РЕД ОС.
|
||||||
|
if [ "$distrib" = 'redos' ]; then
|
||||||
|
dnf install -y dnf-plugins-core
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$type" = 'apt' ]; then
|
||||||
|
echo "deb http://packages.lab50.net/okular $distrib main non-free" > /etc/apt/sources.list.d/okulargost.list
|
||||||
|
if [ ! -f /etc/apt/trusted.gpg.d/lab50.gpg ]; then
|
||||||
|
wget -q -O /etc/apt/trusted.gpg.d/lab50.gpg http://packages.lab50.net/lab50.gpg > /dev/null
|
||||||
|
chmod 0644 /etc/apt/trusted.gpg.d/lab50.gpg
|
||||||
|
fi
|
||||||
|
apt-get update > /dev/null
|
||||||
|
apt-get install -y $packages
|
||||||
|
elif [ "$type" = 'dnf' ]; then
|
||||||
|
dnf config-manager --add-repo http://packages.lab50.net/okular/$distrib/okularcsp.repo
|
||||||
|
dnf install -y $packages
|
||||||
|
else
|
||||||
|
echo "rpm http://packages.lab50.net/okular/alt $distrib/x86_64 okulargost" > /etc/apt/sources.list.d/okulargost.list
|
||||||
|
apt-get update > /dev/null
|
||||||
|
apt-get install -y $packages
|
||||||
|
fi
|
||||||
|
|
||||||
|
print "${TF_WHITE}Окуляр ГОСТ успешно установлен.${TR}"
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
FROM ubuntu:22.04
|
||||||
|
|
||||||
|
RUN apt update && apt install -y wget libgtk-3-0
|
||||||
|
COPY 3party/cprocsp/linux-amd64_deb.tgz /tmp/src/
|
||||||
|
RUN cd /tmp/src && \
|
||||||
|
tar -xf linux-amd64_deb.tgz && \
|
||||||
|
linux-amd64_deb/install.sh && \
|
||||||
|
dpkg -i linux-amd64_deb/cprocsp-pki-cades-64*.deb && \
|
||||||
|
dpkg -i linux-amd64_deb/cprocsp-rdr-gui-gtk-64*.deb && \
|
||||||
|
# делаем симлинки
|
||||||
|
cd /bin && \
|
||||||
|
ln -s /opt/cprocsp/bin/amd64/certmgr && \
|
||||||
|
ln -s /opt/cprocsp/bin/amd64/cpverify && \
|
||||||
|
ln -s /opt/cprocsp/bin/amd64/cryptcp && \
|
||||||
|
ln -s /opt/cprocsp/bin/amd64/csptest && \
|
||||||
|
ln -s /opt/cprocsp/bin/amd64/csptestf && \
|
||||||
|
ln -s /opt/cprocsp/bin/amd64/der2xer && \
|
||||||
|
ln -s /opt/cprocsp/bin/amd64/inittst && \
|
||||||
|
ln -s /opt/cprocsp/bin/amd64/wipefile && \
|
||||||
|
ln -s /opt/cprocsp/sbin/amd64/cpconfig && \
|
||||||
|
# прибираемся
|
||||||
|
rm -rf /tmp/src
|
||||||
|
|
||||||
|
COPY 3party/okular/install.sh /tmp/
|
||||||
|
RUN bash /tmp/install.sh && rm -fv /tmp/install.sh
|
||||||
Loading…
Reference in New Issue