mirror of
https://github.com/9001/copyparty.git
synced 2025-10-02 14:42:28 -06:00
shrink docker-min from 45 to 33 MiB
This commit is contained in:
parent
3f59710294
commit
a8f53d5ef0
|
@ -52,6 +52,12 @@ find -name __pycache__ |
|
||||||
grep -E 'ty/web/|/pycpar' |
|
grep -E 'ty/web/|/pycpar' |
|
||||||
tr '\n' '\0' | xargs -0 rm -rf
|
tr '\n' '\0' | xargs -0 rm -rf
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
smoketest() {
|
||||||
|
|
||||||
# two-for-one:
|
# two-for-one:
|
||||||
# 1) smoketest copyparty even starts
|
# 1) smoketest copyparty even starts
|
||||||
# 2) build any bytecode we missed
|
# 2) build any bytecode we missed
|
||||||
|
@ -88,5 +94,95 @@ kill $pid; wait $pid
|
||||||
# output from -e2d
|
# output from -e2d
|
||||||
rm -rf .hist /cfg/copyparty
|
rm -rf .hist /cfg/copyparty
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
smoketest
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[ "$1" == min ] && {
|
||||||
|
# shrink amd64 from 45.5 to 33.2 MiB
|
||||||
|
|
||||||
|
# libstdc++ is pulled in by libmpdec++ in libmpdec; keep libmpdec.so
|
||||||
|
cd /usr/lib ; rm -rf \
|
||||||
|
libmpdec++.so* \
|
||||||
|
libncurses* \
|
||||||
|
libpanelw* \
|
||||||
|
libreadline* \
|
||||||
|
libstdc++.so* \
|
||||||
|
--
|
||||||
|
|
||||||
|
cd /usr/lib/python3.*/lib-dynload/ ; rm -rf \
|
||||||
|
*audioop.* \
|
||||||
|
_asyncio.* \
|
||||||
|
_ctypes_test.* \
|
||||||
|
_curses* \
|
||||||
|
_test* \
|
||||||
|
_xx* \
|
||||||
|
ossaudio.* \
|
||||||
|
readline.* \
|
||||||
|
xx* \
|
||||||
|
--
|
||||||
|
|
||||||
|
# keep http/client for u2c
|
||||||
|
cd /usr/lib/python3.*/ ; rm -rf \
|
||||||
|
site-packages/*.dist-info \
|
||||||
|
aifc.py \
|
||||||
|
asyncio \
|
||||||
|
bdb.py \
|
||||||
|
cgi.py \
|
||||||
|
config-3.*/Makefile \
|
||||||
|
ctypes/macholib \
|
||||||
|
dbm \
|
||||||
|
difflib.py \
|
||||||
|
doctest.py \
|
||||||
|
email/_header_value_parser.py \
|
||||||
|
html \
|
||||||
|
http/cookiejar.* \
|
||||||
|
http/server.* \
|
||||||
|
imaplib.py \
|
||||||
|
importlib/resources \
|
||||||
|
mailbox.py \
|
||||||
|
nntplib.py \
|
||||||
|
pickletools.py \
|
||||||
|
pydoc.py \
|
||||||
|
smtplib.py \
|
||||||
|
statistics.py \
|
||||||
|
tomllib \
|
||||||
|
unittest \
|
||||||
|
urllib/request.* \
|
||||||
|
venv \
|
||||||
|
wsgiref \
|
||||||
|
xml/dom \
|
||||||
|
xml/sax \
|
||||||
|
xmlrpc \
|
||||||
|
--
|
||||||
|
|
||||||
|
set +x
|
||||||
|
find -iname '*.pyc' |
|
||||||
|
grep -viE 'tftpy' |
|
||||||
|
while IFS= read -r x; do
|
||||||
|
y="$(printf '%s\n' "$x" | sed -r 's`/__pycache__/([^/]+)\.cpython-312\.pyc$`/\1.py`')"
|
||||||
|
[ -e "$y" ] || continue
|
||||||
|
[ "$y" = "$x" ] && continue
|
||||||
|
rm "$y"
|
||||||
|
mv "$x" "${y}c"
|
||||||
|
done
|
||||||
|
find -iname __pycache__ -print0 | xargs -0 rm -rf --
|
||||||
|
rm -rf /a
|
||||||
|
set -x
|
||||||
|
|
||||||
|
smoketest
|
||||||
|
|
||||||
|
# printf '%s\n' 'FROM localhost/copyparty-min-amd64' 'COPY a /' 'RUN /bin/ash /a' >Dockerfile
|
||||||
|
# podman rmi localhost/m2 ; podman build --squash-all -t m2 . && podman images && podman run --rm -it localhost/m2 --exit=idx && podman images
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# goodbye
|
# goodbye
|
||||||
exec rm innvikler.sh
|
exec rm innvikler.sh
|
||||||
|
|
0
scripts/docker/make.sh
Executable file → Normal file
0
scripts/docker/make.sh
Executable file → Normal file
Loading…
Reference in a new issue