A command line utility for various operations on container images and image repositories.
runtime dependencies | libgpgme (Libraries/Crypto) |
---|---|
make dependencies | btrfs-progs (Filesystem and flash utilities) |
git (Development tools) | |
systemd (System tools) | |
go | |
go-md2man | |
systemd | |
libgpgme-dev | |
libbtrfs-dev | |
libdevmapper-dev |
apt install systemd libgpgme-dev libbtrfs-dev libdevmapper-dev
mkdir /data/buildroot/package/skopeo cat > /data/buildroot/package/skopeo/Config.in<< 'EOF' config BR2_PACKAGE_SKOPEO bool "skopeo" depends on BR2_PACKAGE_LIBGPGME help A command line utility for various operations on container images and image repositories.' EOF cat > /data/buildroot/package/skopeo/skopeo.mk<< 'EOF' ############################################################# # # skopeo # ############################################################# SKOPEO_VERSION = 1.6.1 SKOPEO_SOURCE = v$(SKOPEO_VERSION).tar.gz SKOPEO_SITE = https://github.com/containers/skopeo/archive/refs/tags SKOPEO_DEPENDENCIES = libgpgme lvm2 SKOPEO_INSTALL_STAGING = YES define SKOPEO_CONFIGURE_CMDS cd $(@D)/ && \ git clone https://github.com/containers/common.git && \ sed -i 's|.PHONY: bin/skopeo||' Makefile && \ sed -i 's|-gcflags "$(GOGCFLAGS)"||' Makefile endef define SKOPEO_BUILD_CMDS cd $(@D)/ && \ PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig/" GOROOT=$(@D)/ GOPATH=$(@D)/go make bin/skopeo GO_DYN_FLAGS="-buildmode=pie -trimpath" BUILDTAGS='containers_image_ostree_stub' endef define SKOPEO_INSTALL_STAGING_CMDS cd $(@D)/ && \ make DESTDIR="${STAGING_DIR}" PREFIX="/usr" install && \ install -vdm 755 "${STAGING_DIR}/etc/containers/oci/hooks.d/" install -vdm 755 "${STAGING_DIR}/etc/containers/registries.conf.d/" install -vdm 755 "${STAGING_DIR}/usr/share/containers/oci/hooks.d/" install -vdm 755 "${STAGING_DIR}/var/lib/containers/" install -vDm 644 $(@D)/common/pkg/config/containers.conf -t "${STAGING_DIR}/etc/containers/" install -vDm 644 $(@D)/common/pkg/config/containers.conf -t "${STAGING_DIR}/usr/share/containers/" install -vDm 644 $(@D)/common/pkg/seccomp/seccomp.json -t "${STAGING_DIR}/etc/containers/" install -vDm 644 $(@D)/common/pkg/seccomp/seccomp.json -t "${STAGING_DIR}/usr/share/containers/" install -vDm 644 $(@D)/default-policy.json "${STAGING_DIR}/etc/containers/policy.json" install -vDm 644 $(@D)/default.yaml -t "${STAGING_DIR}/etc/containers/registries.d/" endef define SKOPEO_INSTALL_TARGET_CMDS cd $(@D)/ && \ make DESTDIR="${TARGET_DIR}" PREFIX="/usr" install && \ install -vdm 755 "${TARGET_DIR}/etc/containers/oci/hooks.d/" install -vdm 755 "${TARGET_DIR}/etc/containers/registries.conf.d/" install -vdm 755 "${TARGET_DIR}/usr/share/containers/oci/hooks.d/" install -vdm 755 "${TARGET_DIR}/var/lib/containers/" install -vDm 644 $(@D)/common/pkg/config/containers.conf -t "${TARGET_DIR}/etc/containers/" install -vDm 644 $(@D)/common/pkg/config/containers.conf -t "${TARGET_DIR}/usr/share/containers/" install -vDm 644 $(@D)/common/pkg/seccomp/seccomp.json -t "${TARGET_DIR}/etc/containers/" install -vDm 644 $(@D)/common/pkg/seccomp/seccomp.json -t "${TARGET_DIR}/usr/share/containers/" install -vDm 644 $(@D)/default-policy.json "${TARGET_DIR}/etc/containers/policy.json" install -vDm 644 $(@D)/default.yaml -t "${TARGET_DIR}/etc/containers/registries.d/" endef $(eval $(generic-package)) EOF sed -i '/menu "Custom packages"/a source "package/skopeo/Config.in' /data/buildroot/package/Config.in