forked from SynoCommunity/spksrc
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDockerfile
More file actions
128 lines (117 loc) · 2.42 KB
/
Dockerfile
File metadata and controls
128 lines (117 loc) · 2.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
FROM debian:trixie
LABEL description="Framework for maintaining and compiling native community packages for Synology devices"
LABEL maintainer="SynoCommunity <https://github.com/SynoCommunity/spksrc/graphs/contributors>"
LABEL url="https://synocommunity.com"
LABEL vcs-url="https://github.com/SynoCommunity/spksrc"
ENV LANG C.UTF-8
# Manage i386 arch
RUN dpkg --add-architecture i386
# Install required packages (in sync with README.rst instructions)
# ATTENTION: the total length of the following RUN command must not exceed 1024 characters
RUN apt update && apt install --no-install-recommends -y \
autoconf-archive \
autogen \
automake \
autopoint \
bash \
bash-completion \
bc \
bison \
build-essential \
check \
cmake \
curl \
cython3 \
debootstrap \
ed \
expect \
fakeroot \
flex \
gh \
g++-multilib \
gawk \
gettext \
gfortran \
git \
glslang-tools \
gobject-introspection \
gperf \
imagemagick \
intltool \
jq \
libbz2-dev \
libc6-i386 \
libcppunit-dev \
libelf-dev \
libffi-dev \
libgc-dev \
libgmp3-dev \
libicu76 \
libltdl-dev \
libmount-dev \
libncurses-dev \
libpcre2-dev \
libssl-dev \
libtool \
libtool-bin \
libunistring-dev \
lzip \
man-db \
manpages-dev \
plocate \
moreutils \
nasm \
p7zip \
patchelf \
php \
pkg-config \
rename \
ripgrep \
rsync \
ruby-mustache \
scons \
spirv-tools \
subversion \
sudo \
swig \
texinfo \
time \
tree \
unzip \
xmlto \
yasm \
zip \
zlib1g-dev
# Python based apps
RUN apt install --no-install-recommends -y \
httpie \
mercurial \
meson \
ninja-build \
python3 \
python3-mako \
python3-pip \
python3-setuptools \
python3-virtualenv \
python3-yaml
###
### Keeping backport channel management for later use
###
# Add backport channel
RUN echo "deb http://deb.debian.org/debian trixie-backports main" > /etc/apt/sources.list.d/backports.list && \
echo "Package: *\nPin: release a=trixie-backports\nPin-Priority: 100" > /etc/apt/preferences.d/99-backports
# Update package list & install needed package from backport
RUN apt-get update
###RUN apt-get install -y -t trixie-backports meson
# Clean-up apt db
RUN apt clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Update locate db
RUN updatedb
# Add user
RUN adduser --disabled-password --gecos '' user && \
adduser user sudo && \
echo "%user ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/users
# Volume pointing to spksrc sources
VOLUME /spksrc
WORKDIR /spksrc