Skip to content

Commit d00e611

Browse files
committed
Move installation of wine dependencies into a "common" layer
For someone who needs multiple wine variants, this should safe some storage space and downloads.
1 parent aefe3fc commit d00e611

4 files changed

Lines changed: 411 additions & 1 deletion

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/*.log

Dockerfile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ADD https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini /tin
1010
RUN chmod +x /tini
1111

1212
COPY apt /etc/apt
13-
COPY fix-xvfb.sh /tmp/
13+
COPY fix-xvfb.sh wine-dependencies.txt /tmp/
1414

1515
RUN \
1616
dpkg --add-architecture i386 \
@@ -20,6 +20,9 @@ RUN \
2020
unzip \
2121
xauth \
2222
xvfb \
23+
&& apt-get install -y --no-install-recommends --mark-auto \
24+
$(cat /tmp/wine-dependencies.txt) \
25+
&& rm /tmp/wine-dependencies.txt \
2326
&& /tmp/fix-xvfb.sh \
2427
&& apt-get clean \
2528
&& rm -rf /var/lib/apt/lists/*

localbuild.sh

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/sh
2+
update="$1"
3+
set -eu
4+
5+
cd "$(dirname "$0")" || exit 1
6+
7+
if [ "$update" = "-u" ]
8+
then
9+
echo > wine-dependencies.txt
10+
fi
11+
12+
for flavour in stable devel staging
13+
do
14+
podman build --build-arg WINE_FLAVOUR=$flavour -t wine:$flavour .
15+
podman run --rm wine:$flavour awk -F': ' \
16+
'$1 == "Install" { last=$2 } END { print last }' /var/log/apt/history.log | \
17+
sed 's/ ([^)]*)//g; s/, /\n/g' | sort -u > dependencies-${flavour}.log
18+
done
19+
20+
if [ "$update" = "-u" ]
21+
then
22+
cat dependencies-*.log | sort | uniq -c | sed -n -e 's/^ *[23] \(.*\)/\1/p' > wine-dependencies.txt
23+
fi

0 commit comments

Comments
 (0)