Merge pull request #156 from leorochael/simpler-static-build

Simpler static build
This commit is contained in:
Giuseppe Scrivano 2019-12-11 16:31:43 +01:00 committed by GitHub
commit 53c17dab78
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 10 deletions

11
Dockerfile.static.ubuntu 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

@ -43,23 +43,16 @@ the install script will usually create the device automatically; or
* manually create the device with the command `mknod /dev/fuse -m 0666 c 10 229`
(see [this code](https://github.com/libfuse/libfuse/blob/f0e08cc700d629da2d46def8b620b0ed858cc0d9/util/install_helper.sh#L35))
3. Clone this repository, and switch to the top-level folder containing the file `Dockerfile.static`;
3. Clone this repository, and switch to the top-level folder containing the file "`Dockerfile.static.ubuntu`";
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.static.ubuntu .
```
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/
```