-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
74 lines (63 loc) · 1.4 KB
/
Dockerfile
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
FROM alpine:edge as builder
# for updates, see: https://wimlib.net/downloads/index.html
ARG TAG="v1.14.3"
RUN set -eux; \
apk add --no-cache \
autoconf \
automake \
file \
fuse3-dev \
gcc \
git \
libtool \
libxml2-dev \
linux-headers \
make \
musl-dev \
ntfs-3g-dev \
openssl-dev \
pkgconf \
;
WORKDIR /build
RUN git clone "git://wimlib.net/wimlib" /build
COPY patch /patch/
RUN set -eux; \
( [ -z "$TAG" ] || git checkout "tags/${TAG}" -b "$TAG" ); \
find /patch -type f -print | xargs -r -t -n 1 git apply; \
./bootstrap; \
( ./configure --prefix=/usr --disable-dependency-tracking || ( cat "config.log"; false ) ); \
make install
FROM alpine:edge
LABEL maintainer="Backplane BV <[email protected]>"
RUN set -eux; \
apk add --no-cache \
fuse3 \
libxml2 \
ntfs-3g \
xz-libs \
;
COPY --from=builder /usr/bin/wimlib-imagex /usr/bin/mkwinpeimg /usr/bin/
COPY --from=builder /usr/lib/libwim.so.?? /usr/lib/
RUN set -eux; \
for name in \
wimappend \
wimapply \
wimcapture \
wimdelete \
wimdir \
wimexport \
wimextract \
wiminfo \
wimjoin \
wimmount \
wimmountrw \
wimoptimize \
wimsplit \
wimunmount \
wimupdate \
wimverify \
; do \
ln -s /usr/bin/wimlib-imagex "/usr/bin/${name}"; \
done
WORKDIR /work
ENTRYPOINT [ "/usr/bin/wimlib-imagex" ]