User Tools

Site Tools


buildroot:buildah

Table of Contents

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)
crun
skopeo
slirp4netns
make dependencies 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) ├── libsecc+mp (Libraries/Other) ├── git (De elopment 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
buildroot/buildah.txt · Last modified: 2025/02/19 10:59 by 127.0.0.1