Simpler static build

Use an ubuntu image to obtain a static libfuse without compiling.

Remove the need for sharing /dev/fuse with the build container.

Simpler build instructions.
This commit is contained in:
Leonardo Rochael Almeida 2019-12-06 00:49:47 -03:00
parent f6cbfc6489
commit d6f7ae40b6
2 changed files with 13 additions and 9 deletions

11
Dockerfile.simpler Normal file
View File

@ -0,0 +1,11 @@
FROM docker.io/ubuntu:rolling
WORKDIR /build
RUN apt-get update && \
apt-get install --no-install-recommends -y \
libc6-dev gcc g++ make automake autoconf clang pkgconf libfuse3-dev
RUN cd fuse-overlayfs && \
sh autogen.sh && \
LIBS="-ldl" LDFLAGS="-static" ./configure --prefix /usr && \
make

View File

@ -47,19 +47,12 @@ the install script will usually create the device automatically; or
4. Launch the build with the command (note the single dot `.` at the end):
```
buildah bud --device /dev/fuse -t fuse-overlayfs -f ./Dockerfile.static .
buildah bud -v $PWD:/build/fuse-overlayfs -t fuse-overlayfs -f ./Dockerfile.simpler .
```
5. Copy the resulting binary to your host:
* if you have `podman` installed:
```
podman run --rm --entrypoint="[]" fuse-overlayfs cat /usr/bin/fuse-overlayfs | sudo tee /usr/bin/fuse-overlayfs > /dev/null
```
* or, if you only have `buildah` installed:
```
container="$(buildah from fuse-overlayfs)"
buildah run "$container" cat /usr/bin/fuse-overlayfs | sudo tee /usr/bin/fuse-overlayfs > /dev/null
buildah rm "$container"
sudo cp fuse-overlayfs /usr/bin/
```