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) | |
| crun | |
| skopeo | |
| slirp4netns | |
| make dependencies | skopeo |
| runc | |
| device-mapper | |
| go | |
| go-md2man |
apt install runc
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