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
+5
View File
@@ -0,0 +1,5 @@
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-main/ 1.7_x86-64 main contrib non-free
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-update/ 1.7_x86-64 main contrib non-free
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 main contrib non-free
+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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
=qIiz
-----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.7
VERSION_CODENAME=1.7_x86-64