Giter Site home page Giter Site logo

static-toolbox's Introduction

STATIC TOOLBOX

Dockerfile based build scripts to compile various static binaries of useful tools.

I often found myself in shells where I needed a newer version of a particular tool, which was not available through the package manager .. or the system even lacked a package manager to begin with. In that case it can be helpful to have portable binaries that you can just copy to the target without worrying about library dependencies and be able to use it right away. This does not account for cross-compilation for a different architecture of course but most of the systems in question were x86_64, anyway.

The scripts placed in build/ are Dockerfiles that are built with the builtkit frontend. However, the end result is not a container image but a built binary that is saved in the base directory, which you can then copy where-ever you like. The fact that everything is built inside a container means that you do not need to provide any specific build environment โ€“ besides an installation of Docker.

REQUIREMENTS

  • Docker with DOCKER_BUILDKIT=1 support, i.e. 19.03+
  • GNU make, find

USAGE

Available build targets are given by the Dockerfiles in build/:

  • make fdisk
  • make gpg
  • make git
  • make make
  • make zstd
  • make busybox
  • make curl

Some of the scripts use GPG signatures for which the trusted signing keys are stored in build/*.keys files and are imported before checking the downloaded sources.

ADD YOUR OWN

Add your own build scripts in build/:

  • add a Dockerfile named like the binary you want to compile
  • use seperate RUN commands for better caching of steps
  • the build/ directory will be the context, so you may add scripts and COPY them
  • use a final FROM scratch stage and only copy the output binary into this rootfs

static-toolbox's People

Contributors

ansemjo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.