# buildah A tool which facilitates building OCI images ^ runtime dependencies | systemd (System tools) | ^ ::: | btrfs-progs (Filesystem and flash utilities) | ^ ::: | git (Development tools) | ^ ::: | bats-core (Development tool) | ^ ::: | libassuan (Libraries/Crypto) | ^ ::: | libgpgme (Libraries/Crypto) | ^ ::: | bzip2 (Compressors and decompressors) | ^ ::: | [[buildroot:crun]] | ^ ::: | [[buildroot:skopeo]] | ^ ::: | [[buildroot:slirp4netns]] | ^ make dependencies | [[buildroot:skopeo]] | ^ ::: | runc | ^ ::: | device-mapper | ^ ::: | go | ^ ::: | go-md2man | buildah ├── systemd (System tools) ├── btrfs-progs (Filesystem and flash utilities) ├── git (Development tools) ├── bats-core (Development tool) ├── libassuan (Libraries/Crypto) ├── libgpgme (Libraries/Crypto) ├── bzip2 (Compressors and decompressors) ├── crun (Custom) │   ├── libseccomp (Libraries/Other) │   ├── libcap (Libraries/Other) │   ├── yajl (Libraries/JSON/XML) │   ├── systemd (System tools) │   └── criu (Custom) │   ├── libbsd (Libraries/Other) │   ├── protobuf-c (Libraries/Other) │   ├── libnet (Libraries/Networking) │   ├── libnl (Libraries/Networking) │   ├── gnutls (Libraries/Crypto) │   ├── nftables (Networking applications) │   └── libprotobuf-c (Custom) ├── skopeo (Custom) │    └── libgpgme (Libraries/Crypto) └── slirp4netns (Custom) ├── libglib2 (Libraries/Other) ├── libcap (Libraries/Other) ├── libseccomp (Libraries/Other) ├── git (Development tools) ├── qemu (Miscellaneous) └── slirp (Libraries/Networking) ## Pré requis ``` apt install runc ``` ## Recette ``` mkdir /data/buildroot/package/buildah cat > /data/buildroot/package/buildah/Config.in<< 'EOF' config BR2_PACKAGE_BUILDAH bool "buildah" depends on BR2_PACKAGE_GIT depends on BR2_PACKAGE_BTRFS_PROGS depends on BR2_PACKAGE_LIBASSUAN depends on BR2_PACKAGE_BZIP2 depends on BR2_PACKAGE_CRUN depends on BR2_PACKAGE_SKOPEO depends on BR2_PACKAGE_SYSTEMD depends on BR2_PACKAGE_SLIRP4NETNS help Build and distribute virtualized development environments EOF cat > /data/buildroot/package/buildah/buildah.mk<< 'EOF' ############################################################# # # buildah #https://github.com/containers/buildah/archive/refs/tags/v1.26.1.tar.gz ############################################################# BUILDAH_VERSION = 1.26.1 BUILDAH_SOURCE = v$(BUILDAH_VERSION).tar.gz BUILDAH_SITE = https://github.com/containers/buildah/archive/refs/tags BUILDAH_DEPENDENCIES = git btrfs-progs libassuan bzip2 crun skopeo systemd slirp4netns define BUILDAH_BUILD_CMDS git clone https://github.com/containers/buildah.git $(@D)/build cd $(@D)/build && \ CGO_CPPFLAGS="${CPPFLAGS}" \ CGO_CFLAGS="${CFLAGS}" \ CGO_CXXFLAGS="${CXXFLAGS}" \ CGO_LDFLAGS="${LDFLAGS}" \ PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig/" GOROOT=/go GOPATH=$(@D)/go \ GOFLAGS="-buildmode=pie -trimpath" \ make EXTRA_LDFLAGS='-s -w -linkmode=external' endef define BUILDAH_INSTALL_TARGET_CMDS cd $(@D)/build && \ GOROOT=/go GOPATH=$(@D)/go make install install.completions DESTDIR="$(TARGET_DIR)" PREFIX=/usr install -Dm644 $(@D)/LICENSE "$(TARGET_DIR)/usr/share/licenses/${pkgname}/LICENSE" endef $(eval $(generic-package)) EOF sed -i '/menu "Custom packages"/a source "package/buildah/Config.in"' /data/buildroot/package/Config.in ```