initial commit

This commit is contained in:
2026-05-05 21:58:43 +03:00
commit 862b7abbac
79 changed files with 4132 additions and 0 deletions
+113
View File
@@ -0,0 +1,113 @@
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar
# make less more friendly for non-text input files, see lesspipe(1)
#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color|*-256color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;35m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
#alias grep='grep --color=auto'
#alias fgrep='fgrep --color=auto'
#alias egrep='egrep --color=auto'
fi
# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
+55
View File
@@ -0,0 +1,55 @@
ARG image_from
FROM ${image_from}
ARG image_prepare_script
ARG JOBS_COUNT=4
ENV QT_SELECT=5
ENV LANG=en_US.utf8
ENV CUR_FFTW_VERSION=3.3.10
ENV CUR_MICROHTTPD_VERSION=1.0.2
RUN apt-get update && apt-get install -y ca-certificates gpg
# configs
COPY .bashrc /root/.bashrc
COPY inputrc /etc/inputrc
COPY os-release /usr/lib/os-release
COPY astra.list /etc/apt/sources.list.d/astra.list
COPY key.gpg /soft/key.gpg
RUN echo 'root:12345' | chpasswd
# prepare current distributive
RUN cat /soft/key.gpg | apt-key add -
RUN apt-get update
COPY *.sh /soft/
RUN if [ -n "${image_prepare_script}" ]; then \
bash /soft/${image_prepare_script} ${QT_FROM_SOURCE}; \
fi
ENV BUILD_TYPE=Release
# fftw3
WORKDIR /soft
RUN wget -nv http://www.fftw.org/fftw-${CUR_FFTW_VERSION}.tar.gz \
&& tar -xf fftw-${CUR_FFTW_VERSION}.tar.gz -C /soft \
&& rm -f fftw-${CUR_FFTW_VERSION}.tar.gz \
&& mkdir -p /soft/build/fftw3 && cd /soft/build/fftw3 \
&& cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_FLOAT=0 -DENABLE_LONG_DOUBLE=0 -DENABLE_QUAD_PRECISION=0 -DENABLE_THREADS=1 -DWITH_COMBINED_THREADS=1 -DBUILD_SHARED_LIBS=0 /soft/fftw-* \
&& make install -j${JOBS_COUNT} && rm -rf ./* \
&& cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_FLOAT=1 -DENABLE_LONG_DOUBLE=0 -DENABLE_QUAD_PRECISION=0 -DENABLE_THREADS=1 -DWITH_COMBINED_THREADS=1 -DBUILD_SHARED_LIBS=0 /soft/fftw-* \
&& make install -j${JOBS_COUNT} && rm -rf ./* \
&& cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_FLOAT=0 -DENABLE_LONG_DOUBLE=1 -DENABLE_QUAD_PRECISION=0 -DENABLE_THREADS=1 -DWITH_COMBINED_THREADS=1 -DBUILD_SHARED_LIBS=0 /soft/fftw-* \
&& make install -j${JOBS_COUNT} && rm -rf ./* \
&& rm -rf /soft/fftw-*
# microhttpd
WORKDIR /soft/
RUN wget -nv https://mirror.tochlab.net/pub/gnu/libmicrohttpd/libmicrohttpd-${CUR_MICROHTTPD_VERSION}.tar.gz \
&& tar -xf /soft/libmicrohttpd-${CUR_MICROHTTPD_VERSION}.tar.gz -C /soft/ \
&& rm /soft/libmicrohttpd-${CUR_MICROHTTPD_VERSION}.tar.gz \
&& mkdir -p /soft/build/microhttpd && cd /soft/build/microhttpd \
&& sh -c 'CFLAGS="-O3 -fPIC" LDFLAGS="-O3 -fPIC" /soft/libmicrohttpd-${CUR_MICROHTTPD_VERSION}/configure --prefix=/usr/local/ --enable-shared=no --enable-static=yes && make install -j${JOBS_COUNT}' \
&& cd /soft && rm -rf /soft/build/microhttpd && rm -rf /soft/libmicrohttpd-*
WORKDIR /soft
+2
View File
@@ -0,0 +1,2 @@
deb https://download.astralinux.ru/astra/stable/1.8_x86-64/repository-main/ 1.8_x86-64 main contrib non-free non-free-firmware
deb https://download.astralinux.ru/astra/stable/1.8_x86-64/repository-extended/ 1.8_x86-64 main contrib non-free non-free-firmware
+67
View File
@@ -0,0 +1,67 @@
# /etc/inputrc - global inputrc for libreadline
# See readline(3readline) and `info rluserman' for more information.
# Be 8 bit clean.
set input-meta on
set output-meta on
# To allow the use of 8bit-characters like the german umlauts, uncomment
# the line below. However this makes the meta key not work as a meta key,
# which is annoying to those which don't need to type in 8-bit characters.
# set convert-meta off
# try to enable the application keypad when it is called. Some systems
# need this to enable the arrow keys.
# set enable-keypad on
# see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys
# do not bell on tab-completion
# set bell-style none
# set bell-style visible
# some defaults / modifications for the emacs mode
$if mode=emacs
# allow the use of the Home/End keys
"\e[1~": beginning-of-line
"\e[4~": end-of-line
# allow the use of the Delete/Insert keys
"\e[3~": delete-char
"\e[2~": quoted-insert
# mappings for "page up" and "page down" to step to the beginning/end
# of the history
# "\e[5~": beginning-of-history
# "\e[6~": end-of-history
# alternate mappings for "page up" and "page down" to search the history
"\e[5~": history-search-backward
"\e[6~": history-search-forward
# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word
$if term=rxvt
"\e[7~": beginning-of-line
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word
$endif
# for non RH/Debian xterm, can't hurt for RH/Debian xterm
# "\eOH": beginning-of-line
# "\eOF": end-of-line
# for freebsd console
# "\e[H": beginning-of-line
# "\e[F": end-of-line
$endif
+113
View File
@@ -0,0 +1,113 @@
#!/bin/bash
apt-get update
# locales
apt-get install -y locales
localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
TZ=Europe/Moscow
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime
echo $TZ > /etc/timezone
# base soft
apt-get install -y \
"^libxcb.*" \
bison \
ccache \
cpio \
curl \
debconf \
debhelper \
default-libmysqlclient-dev \
doxygen \
dpkg \
flex \
g++ \
git \
gperf \
graphviz \
htop \
iputils-ping \
libbz2-dev \
libffi-dev \
libfontconfig1-dev \
libfreetype6-dev \
libgl1-mesa-dev \
libglew-dev \
libglu1-mesa-dev \
libgmp-dev \
libicu-dev \
liblzma-dev \
libmpc-dev \
libmpfr-dev \
libncurses-dev \
libpkgconfig-perl \
libpq-dev \
libreadline-dev \
libssl-dev \
libusb-1.0-0-dev \
libwayland-dev \
libx11-dev \
libx11-xcb-dev \
libxkbcommon-dev \
libxkbcommon-x11-dev \
libxml2-dev \
libxrender-dev \
lsb-release \
lzma-dev \
mc \
md5deep \
nano \
net-tools \
ninja-build \
ocl-icd-opencl-dev \
p7zip-full \
patchelf \
python3 \
python3-click \
python3-cryptography \
python3-future \
python3-pip \
python3-pyelftools \
python3-pyparsing \
python3-serial \
python3-setuptools \
screen \
subversion \
unzip \
wget \
zip \
zlib1g-dev \
qtbase5-dev-tools \
qtconnectivity5-dev \
qtbase5-dev \
qttools5-dev \
qtscript5-dev \
qtdeclarative5-dev \
qtpositioning5-dev \
qtmultimedia5-dev \
libqt5datavisualization5-dev \
libqt5networkauth5-dev \
libqt5opengl5-dev \
qtscript5-dev \
libqt5serialport5-dev \
libqt5serialbus5-dev \
libqt5sensors5-dev \
libqt5svg5-dev \
libqt5websockets5-dev \
libqt5x11extras5-dev \
libqt5xmlpatterns5-dev \
libqt5charts5-dev \
qtbase5-private-dev \
qttools5-private-dev \
cmake \
libsodium-dev \
libassimp-dev \
discount \
libhdf5-dev \
libcurl4-openssl-dev \
libpcsclite-dev
# cleanup
rm -rf /var/cache/apt/archives/*
+76
View File
@@ -0,0 +1,76 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=LtGE
-----END PGP PUBLIC KEY BLOCK-----
+8
View File
@@ -0,0 +1,8 @@
PRETTY_NAME="Astra Linux"
NAME="Astra Linux"
ID=astra
ID_LIKE=debian
HOME_URL="https://astralinux.ru"
SUPPORT_URL="https://astralinux.ru/support"
VERSION_ID=1.8
VERSION_CODENAME=1.8_x86-64