diff --git a/common/packages.hcl b/common/packages.hcl index b1209f1f..02f68007 100644 --- a/common/packages.hcl +++ b/common/packages.hcl @@ -21,7 +21,10 @@ variable "PKG_TYPE" { variable "PKG_DISTRO" { default = "" } -variable "PKG_SUITE" { +variable "PKG_DISTRO_ID" { + default = "" +} +variable "PKG_DISTRO_SUITE" { default = "" } variable "PKG_BASE_IMAGE" { @@ -33,7 +36,8 @@ target "_pkg-alpine314" { PKG_RELEASE = "alpine314" PKG_TYPE = "apk" PKG_DISTRO = "alpine" - PKG_SUITE = "3.14" + PKG_DISTRO_ID = "3.14" + PKG_DISTRO_SUITE = "3.14" PKG_BASE_IMAGE = "alpine:3.14" } } @@ -43,7 +47,8 @@ target "_pkg-alpine315" { PKG_RELEASE = "alpine315" PKG_TYPE = "apk" PKG_DISTRO = "alpine" - PKG_SUITE = "3.15" + PKG_DISTRO_ID = "3.15" + PKG_DISTRO_SUITE = "3.15" PKG_BASE_IMAGE = "alpine:3.15" } } @@ -53,7 +58,8 @@ target "_pkg-alpine316" { PKG_RELEASE = "alpine316" PKG_TYPE = "apk" PKG_DISTRO = "alpine" - PKG_SUITE = "3.16" + PKG_DISTRO_ID = "3.16" + PKG_DISTRO_SUITE = "3.16" PKG_BASE_IMAGE = "alpine:3.16" } } @@ -63,7 +69,8 @@ target "_pkg-debian10" { PKG_RELEASE = "debian10" PKG_TYPE = "deb" PKG_DISTRO = "debian" - PKG_SUITE = "buster" + PKG_DISTRO_ID = "10" + PKG_DISTRO_SUITE = "buster" PKG_BASE_IMAGE = "debian:buster" } } @@ -73,7 +80,8 @@ target "_pkg-debian11" { PKG_RELEASE = "debian11" PKG_TYPE = "deb" PKG_DISTRO = "debian" - PKG_SUITE = "bullseye" + PKG_DISTRO_ID = "11" + PKG_DISTRO_SUITE = "bullseye" PKG_BASE_IMAGE = "debian:bullseye" } } @@ -83,7 +91,8 @@ target "_pkg-debian12" { PKG_RELEASE = "debian12" PKG_TYPE = "deb" PKG_DISTRO = "debian" - PKG_SUITE = "bookworm" + PKG_DISTRO_ID = "12" + PKG_DISTRO_SUITE = "bookworm" PKG_BASE_IMAGE = "debian:bookworm" } } @@ -93,7 +102,8 @@ target "_pkg-raspbian10" { PKG_RELEASE = "raspbian10" PKG_TYPE = "deb" PKG_DISTRO = "raspbian" - PKG_SUITE = "buster" + PKG_DISTRO_ID = "10" + PKG_DISTRO_SUITE = "buster" PKG_BASE_IMAGE = "balenalib/rpi-raspbian:buster" } } @@ -103,7 +113,8 @@ target "_pkg-raspbian11" { PKG_RELEASE = "raspbian11" PKG_TYPE = "deb" PKG_DISTRO = "raspbian" - PKG_SUITE = "bullseye" + PKG_DISTRO_ID = "11" + PKG_DISTRO_SUITE = "bullseye" PKG_BASE_IMAGE = "balenalib/rpi-raspbian:bullseye" } } @@ -113,7 +124,8 @@ target "_pkg-raspbian12" { PKG_RELEASE = "raspbian12" PKG_TYPE = "deb" PKG_DISTRO = "raspbian" - PKG_SUITE = "bookworm" + PKG_DISTRO_ID = "12" + PKG_DISTRO_SUITE = "bookworm" PKG_BASE_IMAGE = "balenalib/rpi-raspbian:bookworm" } } @@ -123,7 +135,8 @@ target "_pkg-ubuntu1804" { PKG_RELEASE = "ubuntu1804" PKG_TYPE = "deb" PKG_DISTRO = "ubuntu" - PKG_SUITE = "bionic" + PKG_DISTRO_ID = "18.04" + PKG_DISTRO_SUITE = "bionic" PKG_BASE_IMAGE = "ubuntu:bionic" } } @@ -133,7 +146,8 @@ target "_pkg-ubuntu2004" { PKG_RELEASE = "ubuntu2004" PKG_TYPE = "deb" PKG_DISTRO = "ubuntu" - PKG_SUITE = "focal" + PKG_DISTRO_ID = "20.04" + PKG_DISTRO_SUITE = "focal" PKG_BASE_IMAGE = "ubuntu:focal" } } @@ -143,7 +157,8 @@ target "_pkg-ubuntu2204" { PKG_RELEASE = "ubuntu2204" PKG_TYPE = "deb" PKG_DISTRO = "ubuntu" - PKG_SUITE = "jammy" + PKG_DISTRO_ID = "22.04" + PKG_DISTRO_SUITE = "jammy" PKG_BASE_IMAGE = "ubuntu:jammy" } } @@ -153,7 +168,8 @@ target "_pkg-ubuntu2210" { PKG_RELEASE = "ubuntu2210" PKG_TYPE = "deb" PKG_DISTRO = "ubuntu" - PKG_SUITE = "kinetic" + PKG_DISTRO_ID = "22.10" + PKG_DISTRO_SUITE = "kinetic" PKG_BASE_IMAGE = "ubuntu:kinetic" } } @@ -163,7 +179,8 @@ target "_pkg-ubuntu2304" { PKG_RELEASE = "ubuntu2304" PKG_TYPE = "deb" PKG_DISTRO = "ubuntu" - PKG_SUITE = "lunar" + PKG_DISTRO_ID = "23.04" + PKG_DISTRO_SUITE = "lunar" PKG_BASE_IMAGE = "ubuntu:lunar" } } @@ -173,7 +190,8 @@ target "_pkg-centos7" { PKG_RELEASE = "centos7" PKG_TYPE = "rpm" PKG_DISTRO = "centos" - PKG_SUITE = "7" + PKG_DISTRO_ID = "7" + PKG_DISTRO_SUITE = "7" PKG_BASE_IMAGE = "centos:7" } } @@ -183,7 +201,8 @@ target "_pkg-centos8" { PKG_RELEASE = "centos8" PKG_TYPE = "rpm" PKG_DISTRO = "centos" - PKG_SUITE = "8" + PKG_DISTRO_ID = "8" + PKG_DISTRO_SUITE = "8" PKG_BASE_IMAGE = "quay.io/centos/centos:stream8" } } @@ -193,7 +212,8 @@ target "_pkg-centos9" { PKG_RELEASE = "centos9" PKG_TYPE = "rpm" PKG_DISTRO = "centos" - PKG_SUITE = "9" + PKG_DISTRO_ID = "9" + PKG_DISTRO_SUITE = "9" PKG_BASE_IMAGE = "quay.io/centos/centos:stream9" } } @@ -203,7 +223,8 @@ target "_pkg-fedora36" { PKG_RELEASE = "fedora36" PKG_TYPE = "rpm" PKG_DISTRO = "fedora" - PKG_SUITE = "36" + PKG_DISTRO_ID = "36" + PKG_DISTRO_SUITE = "36" PKG_BASE_IMAGE = "fedora:36" } } @@ -213,7 +234,8 @@ target "_pkg-fedora37" { PKG_RELEASE = "fedora37" PKG_TYPE = "rpm" PKG_DISTRO = "fedora" - PKG_SUITE = "37" + PKG_DISTRO_ID = "37" + PKG_DISTRO_SUITE = "37" PKG_BASE_IMAGE = "fedora:37" } } @@ -223,7 +245,8 @@ target "_pkg-oraclelinux7" { PKG_RELEASE = "oraclelinux7" PKG_TYPE = "rpm" PKG_DISTRO = "oraclelinux" - PKG_SUITE = "7" + PKG_DISTRO_ID = "7" + PKG_DISTRO_SUITE = "7" PKG_BASE_IMAGE = "oraclelinux:7" } } @@ -233,7 +256,8 @@ target "_pkg-oraclelinux8" { PKG_RELEASE = "oraclelinux8" PKG_TYPE = "rpm" PKG_DISTRO = "oraclelinux" - PKG_SUITE = "8" + PKG_DISTRO_ID = "8" + PKG_DISTRO_SUITE = "8" PKG_BASE_IMAGE = "oraclelinux:8" } } @@ -243,7 +267,8 @@ target "_pkg-oraclelinux9" { PKG_RELEASE = "oraclelinux9" PKG_TYPE = "rpm" PKG_DISTRO = "oraclelinux" - PKG_SUITE = "9" + PKG_DISTRO_ID = "9" + PKG_DISTRO_SUITE = "9" PKG_BASE_IMAGE = "oraclelinux:9" } } @@ -253,7 +278,8 @@ target "_pkg-static" { PKG_RELEASE = "" PKG_TYPE = "static" PKG_DISTRO = "static" - PKG_SUITE = "" + PKG_DISTRO_ID = "" + PKG_DISTRO_SUITE = "" PKG_BASE_IMAGE = "debian:bullseye" } } diff --git a/common/packages.mk b/common/packages.mk index cf80e655..25fda83e 100644 --- a/common/packages.mk +++ b/common/packages.mk @@ -41,7 +41,8 @@ pkg-static-releases: pkg-info-alpine314: $(eval PKG_TYPE = apk) $(eval PKG_DISTRO = alpine) - $(eval PKG_SUITE = 3.14) + $(eval PKG_DISTRO_ID = 3.14) + $(eval PKG_DISTRO_SUITE = 3.14) $(eval PKG_BASE_IMAGE = alpine:3.14) $(eval PKG_SUPPORTED_PLATFORMS = linux/386 linux/amd64 linux/arm64 linux/arm/v7 linux/arm/v6 linux/arm/v5 linux/ppc64le linux/s390x) @@ -49,7 +50,8 @@ pkg-info-alpine314: pkg-info-alpine315: $(eval PKG_TYPE = apk) $(eval PKG_DISTRO = alpine) - $(eval PKG_SUITE = 3.15) + $(eval PKG_DISTRO_ID = 3.15) + $(eval PKG_DISTRO_SUITE = 3.15) $(eval PKG_BASE_IMAGE = alpine:3.15) $(eval PKG_SUPPORTED_PLATFORMS = linux/386 linux/amd64 linux/arm64 linux/arm/v7 linux/arm/v6 linux/arm/v5 linux/ppc64le linux/s390x) @@ -57,7 +59,8 @@ pkg-info-alpine315: pkg-info-alpine316: $(eval PKG_TYPE = apk) $(eval PKG_DISTRO = alpine) - $(eval PKG_SUITE = 3.16) + $(eval PKG_DISTRO_ID = 3.16) + $(eval PKG_DISTRO_SUITE = 3.16) $(eval PKG_BASE_IMAGE = alpine:3.16) $(eval PKG_SUPPORTED_PLATFORMS = linux/386 linux/amd64 linux/arm64 linux/arm/v7 linux/arm/v6 linux/arm/v5 linux/ppc64le linux/s390x) @@ -65,7 +68,8 @@ pkg-info-alpine316: pkg-info-debian10: $(eval PKG_TYPE = deb) $(eval PKG_DISTRO = debian) - $(eval PKG_SUITE = buster) + $(eval PKG_DISTRO_ID = 10) + $(eval PKG_DISTRO_SUITE = buster) $(eval PKG_BASE_IMAGE = debian:buster) $(eval PKG_SUPPORTED_PLATFORMS = linux/386 linux/amd64 linux/arm64 linux/arm/v7) @@ -73,7 +77,8 @@ pkg-info-debian10: pkg-info-debian11: $(eval PKG_TYPE = deb) $(eval PKG_DISTRO = debian) - $(eval PKG_SUITE = bullseye) + $(eval PKG_DISTRO_ID = 11) + $(eval PKG_DISTRO_SUITE = bullseye) $(eval PKG_BASE_IMAGE = debian:bullseye) $(eval PKG_SUPPORTED_PLATFORMS = linux/386 linux/amd64 linux/arm64 linux/arm/v5 linux/arm/v6 linux/arm/v7 linux/mips64le linux/ppc64le linux/s390x) @@ -81,7 +86,8 @@ pkg-info-debian11: pkg-info-debian12: $(eval PKG_TYPE = deb) $(eval PKG_DISTRO = debian) - $(eval PKG_SUITE = bookworm) + $(eval PKG_DISTRO_ID = 12) + $(eval PKG_DISTRO_SUITE = bookworm) $(eval PKG_BASE_IMAGE = debian:bookworm) $(eval PKG_SUPPORTED_PLATFORMS = linux/386 linux/amd64 linux/arm64 linux/arm/v5 linux/arm/v6 linux/arm/v7 linux/mips64le linux/ppc64le linux/s390x) @@ -89,7 +95,8 @@ pkg-info-debian12: pkg-info-raspbian10: $(eval PKG_TYPE = deb) $(eval PKG_DISTRO = raspbian) - $(eval PKG_SUITE = buster) + $(eval PKG_DISTRO_ID = 10) + $(eval PKG_DISTRO_SUITE = buster) $(eval PKG_BASE_IMAGE = balenalib/rpi-raspbian:buster) $(eval PKG_SUPPORTED_PLATFORMS = linux/arm/v7) @@ -97,7 +104,8 @@ pkg-info-raspbian10: pkg-info-raspbian11: $(eval PKG_TYPE = deb) $(eval PKG_DISTRO = raspbian) - $(eval PKG_SUITE = bullseye) + $(eval PKG_DISTRO_ID = 11) + $(eval PKG_DISTRO_SUITE = bullseye) $(eval PKG_BASE_IMAGE = balenalib/rpi-raspbian:bullseye) $(eval PKG_SUPPORTED_PLATFORMS = linux/arm/v7) @@ -105,7 +113,8 @@ pkg-info-raspbian11: pkg-info-raspbian12: $(eval PKG_TYPE = deb) $(eval PKG_DISTRO = raspbian) - $(eval PKG_SUITE = bookworm) + $(eval PKG_DISTRO_ID = 12) + $(eval PKG_DISTRO_SUITE = bookworm) $(eval PKG_BASE_IMAGE = balenalib/rpi-raspbian:bookworm) $(eval PKG_SUPPORTED_PLATFORMS = linux/arm/v7) @@ -113,7 +122,8 @@ pkg-info-raspbian12: pkg-info-ubuntu1804: $(eval PKG_TYPE = deb) $(eval PKG_DISTRO = ubuntu) - $(eval PKG_SUITE = bionic) + $(eval PKG_DISTRO_ID = 18.04) + $(eval PKG_DISTRO_SUITE = bionic) $(eval PKG_BASE_IMAGE = ubuntu:bionic) $(eval PKG_SUPPORTED_PLATFORMS = linux/386 linux/amd64 linux/arm64 linux/arm/v7 linux/ppc64le linux/s390x) @@ -121,7 +131,8 @@ pkg-info-ubuntu1804: pkg-info-ubuntu2004: $(eval PKG_TYPE = deb) $(eval PKG_DISTRO = ubuntu) - $(eval PKG_SUITE = focal) + $(eval PKG_DISTRO_ID = 20.04) + $(eval PKG_DISTRO_SUITE = focal) $(eval PKG_BASE_IMAGE = ubuntu:focal) @# FIXME: linux/riscv64 is not supported (golang base image does not support riscv64) $(eval PKG_SUPPORTED_PLATFORMS = linux/amd64 linux/arm64 linux/arm/v7 linux/ppc64le linux/s390x) @@ -130,7 +141,8 @@ pkg-info-ubuntu2004: pkg-info-ubuntu2204: $(eval PKG_TYPE = deb) $(eval PKG_DISTRO = ubuntu) - $(eval PKG_SUITE = jammy) + $(eval PKG_DISTRO_ID = 22.04) + $(eval PKG_DISTRO_SUITE = jammy) $(eval PKG_BASE_IMAGE = ubuntu:jammy) @# FIXME: linux/riscv64 is not supported (golang base image does not support riscv64) $(eval PKG_SUPPORTED_PLATFORMS = linux/amd64 linux/arm64 linux/arm/v7 linux/ppc64le linux/s390x) @@ -139,7 +151,8 @@ pkg-info-ubuntu2204: pkg-info-ubuntu2210: $(eval PKG_TYPE = deb) $(eval PKG_DISTRO = ubuntu) - $(eval PKG_SUITE = kinetic) + $(eval PKG_DISTRO_ID = 22.10) + $(eval PKG_DISTRO_SUITE = kinetic) $(eval PKG_BASE_IMAGE = ubuntu:kinetic) @# FIXME: linux/riscv64 is not supported (golang base image does not support riscv64) $(eval PKG_SUPPORTED_PLATFORMS = linux/amd64 linux/arm64 linux/arm/v7 linux/ppc64le linux/s390x) @@ -148,7 +161,8 @@ pkg-info-ubuntu2210: pkg-info-ubuntu2304: $(eval PKG_TYPE = deb) $(eval PKG_DISTRO = ubuntu) - $(eval PKG_SUITE = lunar) + $(eval PKG_DISTRO_ID = 23.04) + $(eval PKG_DISTRO_SUITE = lunar) $(eval PKG_BASE_IMAGE = ubuntu:lunar) @# FIXME: linux/riscv64 is not supported (golang base image does not support riscv64) $(eval PKG_SUPPORTED_PLATFORMS = linux/amd64 linux/arm64 linux/arm/v7 linux/ppc64le linux/s390x) @@ -157,7 +171,8 @@ pkg-info-ubuntu2304: pkg-info-centos7: $(eval PKG_TYPE = rpm) $(eval PKG_DISTRO = centos) - $(eval PKG_SUITE = 7) + $(eval PKG_DISTRO_ID = 7) + $(eval PKG_DISTRO_SUITE = 7) $(eval PKG_BASE_IMAGE = centos:7) @# FIXME: packages look broken for linux/arm/v7 on centos:7 $(eval PKG_SUPPORTED_PLATFORMS = linux/amd64 linux/arm64 linux/ppc64le) @@ -166,7 +181,8 @@ pkg-info-centos7: pkg-info-centos8: $(eval PKG_TYPE = rpm) $(eval PKG_DISTRO = centos) - $(eval PKG_SUITE = 8) + $(eval PKG_DISTRO_ID = 8) + $(eval PKG_DISTRO_SUITE = 8) $(eval PKG_BASE_IMAGE = quay.io/centos/centos:stream8) $(eval PKG_SUPPORTED_PLATFORMS = linux/amd64 linux/arm64 linux/ppc64le) @@ -174,7 +190,8 @@ pkg-info-centos8: pkg-info-centos9: $(eval PKG_TYPE = rpm) $(eval PKG_DISTRO = centos) - $(eval PKG_SUITE = 9) + $(eval PKG_DISTRO_ID = 9) + $(eval PKG_DISTRO_SUITE = 9) $(eval PKG_BASE_IMAGE = quay.io/centos/centos:stream9) @# FIXME: packages look broken for linux/s390x on centos:stream9 $(eval PKG_SUPPORTED_PLATFORMS = linux/amd64 linux/arm64 linux/ppc64le) @@ -183,7 +200,8 @@ pkg-info-centos9: pkg-info-fedora36: $(eval PKG_TYPE = rpm) $(eval PKG_DISTRO = fedora) - $(eval PKG_SUITE = 36) + $(eval PKG_DISTRO_ID = 36) + $(eval PKG_DISTRO_SUITE = 36) $(eval PKG_BASE_IMAGE = fedora:36) $(eval PKG_SUPPORTED_PLATFORMS = linux/amd64 linux/arm64 linux/ppc64le linux/s390x) @@ -191,7 +209,8 @@ pkg-info-fedora36: pkg-info-fedora37: $(eval PKG_TYPE = rpm) $(eval PKG_DISTRO = fedora) - $(eval PKG_SUITE = 37) + $(eval PKG_DISTRO_ID = 37) + $(eval PKG_DISTRO_SUITE = 37) $(eval PKG_BASE_IMAGE = fedora:37) $(eval PKG_SUPPORTED_PLATFORMS = linux/amd64 linux/arm64 linux/ppc64le linux/s390x) @@ -199,7 +218,8 @@ pkg-info-fedora37: pkg-info-oraclelinux7: $(eval PKG_TYPE = rpm) $(eval PKG_DISTRO = oraclelinux) - $(eval PKG_SUITE = 7) + $(eval PKG_DISTRO_ID = 7) + $(eval PKG_DISTRO_SUITE = 7) $(eval PKG_BASE_IMAGE = oraclelinux:7) $(eval PKG_SUPPORTED_PLATFORMS = linux/amd64 linux/arm64) @@ -207,7 +227,8 @@ pkg-info-oraclelinux7: pkg-info-oraclelinux8: $(eval PKG_TYPE = rpm) $(eval PKG_DISTRO = oraclelinux) - $(eval PKG_SUITE = 8) + $(eval PKG_DISTRO_ID = 8) + $(eval PKG_DISTRO_SUITE = 8) $(eval PKG_BASE_IMAGE = oraclelinux:8) $(eval PKG_SUPPORTED_PLATFORMS = linux/amd64 linux/arm64) @@ -215,7 +236,8 @@ pkg-info-oraclelinux8: pkg-info-oraclelinux9: $(eval PKG_TYPE = rpm) $(eval PKG_DISTRO = oraclelinux) - $(eval PKG_SUITE = 9) + $(eval PKG_DISTRO_ID = 9) + $(eval PKG_DISTRO_SUITE = 9) $(eval PKG_BASE_IMAGE = oraclelinux:9) $(eval PKG_SUPPORTED_PLATFORMS = linux/amd64 linux/arm64) @@ -223,6 +245,7 @@ pkg-info-oraclelinux9: pkg-info-static: $(eval PKG_TYPE = static) $(eval PKG_DISTRO = static) - $(eval PKG_SUITE =) + $(eval PKG_DISTRO_ID =) + $(eval PKG_DISTRO_SUITE =) $(eval PKG_BASE_IMAGE = debian:bullseye) $(eval PKG_SUPPORTED_PLATFORMS =) diff --git a/common/scripts/gen-deb-changelog.sh b/common/scripts/gen-deb-changelog.sh new file mode 100755 index 00000000..3f8d2712 --- /dev/null +++ b/common/scripts/gen-deb-changelog.sh @@ -0,0 +1,92 @@ +#!/usr/bin/env bash + +# Copyright 2023 Docker Packaging authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +version="$1" +pkgVersion="$2" +pkgDistro="$3" +pkgDistroId="$4" +pkgDistroSuite="$5" +if [[ -z "$version" ]] || [[ -z "$pkgVersion" ]] || [[ -z "$pkgDistro" ]] || [[ -z "$pkgDistroId" ]] || [[ -z "$pkgDistroSuite" ]]; then + echo "usage: ./gen-deb-changelog [ ]" >&2 + exit 1 +fi +if [ ! -d "debian" ]; then + echo "This script should be run the root package" >&2 + exit 1 +fi + +# Include an extra `1` in the version, in case we ever would have to re-build an +# already published release with a packaging-only change. +pkgRevision=${6:-1} + +# This is a single (generally small) unsigned integer. It may be omitted, in +# which case zero is assumed. Epochs can help when the upstream version +# numbering scheme changes, but they must be used with care. You should not +# change the epoch, even in experimental, without getting consensus on +# debian-devel first. +pkgEpoch=${7:-} +pkgEpochSep="" +if [ -n "$pkgEpoch" ]; then + pkgEpochSep=":" +fi + +pkgSource="$(awk -F ': ' '$1 == "Source" { print $2; exit }' debian/control)" +pkgMaintainer="$(awk -F ': ' '$1 == "Maintainer" { print $2; exit }' debian/control)" +pkgDate="$(date --rfc-2822)" + +# Generate changelog. The version/name of the generated packages are based on this. +# +# Resulting packages are formatted as; +# +# - name of the package (e.g., "docker-ce") +# - version (e.g., "23.0.0~beta.0") +# - pkgRevision (usually "-0", see above), which allows updating packages with +# packaging-only changes (without a corresponding release of the software +# that's packaged). +# - distro (e.g., "ubuntu") +# - VERSION_ID (e.g. "22.04" or "11") this must be "sortable" to make sure that +# packages are upgraded when upgrading to a newer distro version ("codename" +# cannot be used for this, as they're not sorted) +# - SUITE ("codename"), e.g. "jammy" or "bullseye". This is mostly for convenience, +# because some places refer to distro versions by codename, others by version. +# we prefix the codename with a tilde (~), which effectively excludes it from +# version comparison. +# +# Note that while the `${EPOCH}${EPOCH_SEP}` is part of the version, it is not +# included in the package's *filename*. (And if you're wondering: we needed the +# EPOCH because of our use of CalVer, which made version comparing not work in +# some cases). +# +# Examples: +# +# docker-ce_23.0.0~beta.0-1~debian.11~bullseye_amd64.deb +# docker-ce_23.0.0~beta.0-1~ubuntu.22.04~jammy_amd64.deb + +if [[ -f "debian/changelog" ]] && [[ "${version}" != "v${pkgVersion}" ]]; then + cp "debian/changelog" "debian/changelog.or" +fi +if [[ ! -f "debian/changelog" ]] || [[ "${version}" != "v${pkgVersion}" ]]; then + cat > "debian/changelog" <<-EOF +$pkgSource (${pkgEpoch}${pkgEpochSep}${pkgVersion}-${pkgRevision}~${pkgDistro}.${pkgDistroId}~${pkgDistroSuite}) $pkgDistroSuite; urgency=low + * Version: $version + -- $pkgMaintainer $pkgDate +EOF + # The space above at the start of the line for the pkgMaintainer is very important +fi +if [ -f "debian/changelog.or" ]; then + cat "debian/changelog.or" >> "debian/changelog" + rm "debian/changelog.or" +fi diff --git a/pkg/buildx/Dockerfile b/pkg/buildx/Dockerfile index ea358ac4..c80f7bac 100644 --- a/pkg/buildx/Dockerfile +++ b/pkg/buildx/Dockerfile @@ -24,7 +24,8 @@ ARG GO_IMAGE_VARIANT="bullseye" ARG PKG_RELEASE="debian11" ARG PKG_TYPE="deb" ARG PKG_DISTRO="debian" -ARG PKG_SUITE="bullseye" +ARG PKG_DISTRO_ID="11" +ARG PKG_DISTRO_SUITE="bullseye" ARG PKG_BASE_IMAGE="debian:bullseye" # stage used as named context that mounts common/scripts @@ -95,7 +96,8 @@ ARG BUILDX_REF ARG NIGHTLY_BUILD ARG PKG_NAME ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE ARG PKG_PACKAGER ARG PKG_DEB_BUILDFLAGS ARG PKG_DEB_REVISION @@ -103,6 +105,7 @@ ARG PKG_DEB_EPOCH ARG SOURCE_DATE_EPOCH RUN --mount=type=bind,source=scripts/pkg-deb-build.sh,target=/usr/local/bin/pkg-deb-build \ --mount=type=bind,from=common-scripts,source=gen-ver.sh,target=/usr/local/bin/gen-ver \ + --mount=type=bind,from=common-scripts,source=gen-deb-changelog.sh,target=/usr/local/bin/gen-deb-changelog \ --mount=type=bind,from=common-scripts,source=fix-cc.sh,target=/usr/local/bin/fix-cc \ --mount=type=bind,from=src,source=/src,target=/root/package/buildx,rw \ --mount=type=bind,from=go,source=/usr/local/go,target=/usr/local/go \ @@ -140,7 +143,8 @@ ARG BUILDX_REF ARG NIGHTLY_BUILD ARG PKG_NAME ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE ARG PKG_PACKAGER ARG PKG_RPM_BUILDFLAGS ARG PKG_RPM_RELEASE diff --git a/pkg/buildx/scripts/pkg-deb-build.sh b/pkg/buildx/scripts/pkg-deb-build.sh index d7bccebd..23086398 100755 --- a/pkg/buildx/scripts/pkg-deb-build.sh +++ b/pkg/buildx/scripts/pkg-deb-build.sh @@ -19,7 +19,8 @@ : "${PKG_NAME=}" : "${PKG_RELEASE=}" : "${PKG_DISTRO=}" -: "${PKG_SUITE=}" +: "${PKG_DISTRO_ID=}" +: "${PKG_DISTRO_SUITE=}" : "${PKG_PACKAGER=}" : "${PKG_VENDOR=}" @@ -55,13 +56,9 @@ done xx-go --wrap fix-cc -cat > "debian/changelog" <<-EOF -${PKG_NAME} (${PKG_DEB_EPOCH}$([ -n "$PKG_DEB_EPOCH" ] && echo ":")${GENVER_PKG_VERSION}-${PKG_DEB_REVISION}) $PKG_SUITE; urgency=low - * Version: $GENVER_VERSION - -- $(awk -F ': ' '$1 == "Maintainer" { print $2; exit }' debian/control) $(date --rfc-2822) -EOF +gen-deb-changelog "$GENVER_VERSION" "$GENVER_PKG_VERSION" "$PKG_DISTRO" "$PKG_DISTRO_ID" "$PKG_DISTRO_SUITE" "$PKG_DEB_REVISION" "$PKG_DEB_EPOCH" -pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_SUITE}/$(xx-info arch)" +pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_DISTRO_SUITE}/$(xx-info arch)" if [ -n "$(xx-info variant)" ]; then pkgoutput="${pkgoutput}/$(xx-info variant)" fi diff --git a/pkg/buildx/scripts/pkg-rpm-build.sh b/pkg/buildx/scripts/pkg-rpm-build.sh index fa6dd9ab..c309ab14 100755 --- a/pkg/buildx/scripts/pkg-rpm-build.sh +++ b/pkg/buildx/scripts/pkg-rpm-build.sh @@ -19,7 +19,8 @@ : "${PKG_NAME=}" : "${PKG_RELEASE=}" : "${PKG_DISTRO=}" -: "${PKG_SUITE=}" +: "${PKG_DISTRO_ID=}" +: "${PKG_DISTRO_SUITE=}" : "${PKG_PACKAGER=}" : "${PKG_VENDOR=}" @@ -61,7 +62,7 @@ rpmDefine=( --define "_commit ${GENVER_COMMIT}" ) -pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_SUITE}/$(xx-info arch)" +pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_DISTRO_SUITE}/$(xx-info arch)" if [ -n "$(xx-info variant)" ]; then pkgoutput="${pkgoutput}/$(xx-info variant)" fi diff --git a/pkg/buildx/verify.Dockerfile b/pkg/buildx/verify.Dockerfile index 1f57470b..634d699c 100644 --- a/pkg/buildx/verify.Dockerfile +++ b/pkg/buildx/verify.Dockerfile @@ -29,11 +29,12 @@ FROM ${PKG_BASE_IMAGE} AS verify-deb RUN apt-get update COPY --from=xx / / ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <&2 "warning: no packages found in $dir" exit 0 @@ -53,13 +54,14 @@ FROM ${PKG_BASE_IMAGE} AS verify-rpm COPY --from=xx / / ARG PKG_RELEASE ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE RUN --mount=type=bind,from=common-scripts,source=verify-rpm-init.sh,target=/usr/local/bin/verify-rpm-init \ verify-rpm-init $PKG_RELEASE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <&2 "warning: no packages found in $dir" exit 0 @@ -79,7 +81,8 @@ FROM ${PKG_BASE_IMAGE} AS verify-static RUN apt-get update && apt-get install -y --no-install-recommends tar COPY --from=xx / / ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build < "debian/changelog" <<-EOF -${PKG_NAME} (${PKG_DEB_EPOCH}$([ -n "$PKG_DEB_EPOCH" ] && echo ":")${GENVER_PKG_VERSION}-${PKG_DEB_REVISION}) $PKG_SUITE; urgency=low +${PKG_NAME} (${PKG_DEB_EPOCH}$([ -n "$PKG_DEB_EPOCH" ] && echo ":")${GENVER_PKG_VERSION}-${PKG_DEB_REVISION}) $PKG_DISTRO_SUITE; urgency=low * Version: ${GENVER_VERSION} -- $(awk -F ': ' '$1 == "Maintainer" { print $2; exit }' debian/control) $(date --rfc-2822) EOF -pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_SUITE}/$(xx-info arch)" +pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_DISTRO_SUITE}/$(xx-info arch)" if [ -n "$(xx-info variant)" ]; then pkgoutput="${pkgoutput}/$(xx-info variant)" fi diff --git a/pkg/compose/scripts/pkg-rpm-build.sh b/pkg/compose/scripts/pkg-rpm-build.sh index fa6dd9ab..c309ab14 100755 --- a/pkg/compose/scripts/pkg-rpm-build.sh +++ b/pkg/compose/scripts/pkg-rpm-build.sh @@ -19,7 +19,8 @@ : "${PKG_NAME=}" : "${PKG_RELEASE=}" : "${PKG_DISTRO=}" -: "${PKG_SUITE=}" +: "${PKG_DISTRO_ID=}" +: "${PKG_DISTRO_SUITE=}" : "${PKG_PACKAGER=}" : "${PKG_VENDOR=}" @@ -61,7 +62,7 @@ rpmDefine=( --define "_commit ${GENVER_COMMIT}" ) -pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_SUITE}/$(xx-info arch)" +pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_DISTRO_SUITE}/$(xx-info arch)" if [ -n "$(xx-info variant)" ]; then pkgoutput="${pkgoutput}/$(xx-info variant)" fi diff --git a/pkg/compose/verify.Dockerfile b/pkg/compose/verify.Dockerfile index 8d583c68..20b7e1c0 100644 --- a/pkg/compose/verify.Dockerfile +++ b/pkg/compose/verify.Dockerfile @@ -29,11 +29,12 @@ FROM ${PKG_BASE_IMAGE} AS verify-deb RUN apt-get update COPY --from=xx / / ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <&2 "warning: no packages found in $dir" exit 0 @@ -53,13 +54,14 @@ FROM ${PKG_BASE_IMAGE} AS verify-rpm COPY --from=xx / / ARG PKG_RELEASE ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE RUN --mount=type=bind,from=common-scripts,source=verify-rpm-init.sh,target=/usr/local/bin/verify-rpm-init \ verify-rpm-init $PKG_RELEASE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <&2 "warning: no packages found in $dir" exit 0 @@ -79,7 +81,8 @@ FROM ${PKG_BASE_IMAGE} AS verify-static RUN apt-get update && apt-get install -y --no-install-recommends tar COPY --from=xx / / ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build < "debian/changelog.or" - cat > "debian/changelog" <<-EOF -${PKG_NAME} (${PKG_DEB_EPOCH}$([ -n "$PKG_DEB_EPOCH" ] && echo ":")${GENVER_PKG_VERSION}-${PKG_DEB_REVISION}) $PKG_SUITE; urgency=low - * Version: ${GENVER_VERSION} - -- $(awk -F ': ' '$1 == "Maintainer" { print $2; exit }' debian/control) $(date --rfc-2822) +gen-deb-changelog "$GENVER_VERSION" "$GENVER_PKG_VERSION" "$PKG_DISTRO" "$PKG_DISTRO_ID" "$PKG_DISTRO_SUITE" "$PKG_DEB_REVISION" "$PKG_DEB_EPOCH" -EOF - cat "debian/changelog.or" >> "debian/changelog" - rm "debian/changelog.or" -fi - -pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_SUITE}/$(xx-info arch)" +pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_DISTRO_SUITE}/$(xx-info arch)" if [ -n "$(xx-info variant)" ]; then pkgoutput="${pkgoutput}/$(xx-info variant)" fi diff --git a/pkg/containerd/scripts/pkg-rpm-build.sh b/pkg/containerd/scripts/pkg-rpm-build.sh index 5767cc99..d4c659d8 100755 --- a/pkg/containerd/scripts/pkg-rpm-build.sh +++ b/pkg/containerd/scripts/pkg-rpm-build.sh @@ -19,7 +19,8 @@ : "${PKG_NAME=}" : "${PKG_RELEASE=}" : "${PKG_DISTRO=}" -: "${PKG_SUITE=}" +: "${PKG_DISTRO_ID=}" +: "${PKG_DISTRO_SUITE=}" : "${PKG_PACKAGER=}" : "${PKG_VENDOR=}" @@ -61,7 +62,7 @@ rpmDefine=( --define "_commit ${GENVER_COMMIT}" ) -pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_SUITE}/$(xx-info arch)" +pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_DISTRO_SUITE}/$(xx-info arch)" if [ -n "$(xx-info variant)" ]; then pkgoutput="${pkgoutput}/$(xx-info variant)" fi diff --git a/pkg/containerd/verify.Dockerfile b/pkg/containerd/verify.Dockerfile index 4486f05b..83e7529b 100644 --- a/pkg/containerd/verify.Dockerfile +++ b/pkg/containerd/verify.Dockerfile @@ -29,11 +29,12 @@ FROM ${PKG_BASE_IMAGE} AS verify-deb RUN apt-get update COPY --from=xx / / ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <&2 "warning: no packages found in $dir" exit 0 @@ -55,13 +56,14 @@ FROM ${PKG_BASE_IMAGE} AS verify-rpm COPY --from=xx / / ARG PKG_RELEASE ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE RUN --mount=type=bind,from=common-scripts,source=verify-rpm-init.sh,target=/usr/local/bin/verify-rpm-init \ verify-rpm-init $PKG_RELEASE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <&2 "warning: no packages found in $dir" exit 0 @@ -83,7 +85,8 @@ FROM ${PKG_BASE_IMAGE} AS verify-static RUN apt-get update && apt-get install -y --no-install-recommends tar COPY --from=xx / / ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build < "debian/changelog" <<-EOF -${PKG_NAME} (${PKG_DEB_EPOCH}$([ -n "$PKG_DEB_EPOCH" ] && echo ":")${GENVER_PKG_VERSION}-${PKG_DEB_REVISION}) $PKG_SUITE; urgency=low - * Version: ${GENVER_VERSION} - -- $(awk -F ': ' '$1 == "Maintainer" { print $2; exit }' debian/control) $(date --rfc-2822) -EOF +gen-deb-changelog "$GENVER_VERSION" "$GENVER_PKG_VERSION" "$PKG_DISTRO" "$PKG_DISTRO_ID" "$PKG_DISTRO_SUITE" "$PKG_DEB_REVISION" "$PKG_DEB_EPOCH" xx-go --wrap fix-cc -pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_SUITE}/$(xx-info arch)" +pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_DISTRO_SUITE}/$(xx-info arch)" if [ -n "$(xx-info variant)" ]; then pkgoutput="${pkgoutput}/$(xx-info variant)" fi diff --git a/pkg/credential-helpers/scripts/pkg-rpm-build.sh b/pkg/credential-helpers/scripts/pkg-rpm-build.sh index f2a1ea68..1ddb35cc 100755 --- a/pkg/credential-helpers/scripts/pkg-rpm-build.sh +++ b/pkg/credential-helpers/scripts/pkg-rpm-build.sh @@ -19,7 +19,8 @@ : "${PKG_NAME=}" : "${PKG_RELEASE=}" : "${PKG_DISTRO=}" -: "${PKG_SUITE=}" +: "${PKG_DISTRO_ID=}" +: "${PKG_DISTRO_SUITE=}" : "${PKG_PACKAGER=}" : "${PKG_VENDOR=}" @@ -61,7 +62,7 @@ rpmDefine=( --define "_commit ${GENVER_COMMIT}" ) -pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_SUITE}/$(xx-info arch)" +pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_DISTRO_SUITE}/$(xx-info arch)" if [ -n "$(xx-info variant)" ]; then pkgoutput="${pkgoutput}/$(xx-info variant)" fi diff --git a/pkg/credential-helpers/verify.Dockerfile b/pkg/credential-helpers/verify.Dockerfile index 2a65b710..5266c22e 100644 --- a/pkg/credential-helpers/verify.Dockerfile +++ b/pkg/credential-helpers/verify.Dockerfile @@ -29,11 +29,12 @@ FROM ${PKG_BASE_IMAGE} AS verify-deb RUN apt-get update COPY --from=xx / / ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <&2 "warning: no packages found in $dir" exit 0 @@ -54,13 +55,14 @@ FROM ${PKG_BASE_IMAGE} AS verify-rpm COPY --from=xx / / ARG PKG_RELEASE ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE RUN --mount=type=bind,from=common-scripts,source=verify-rpm-init.sh,target=/usr/local/bin/verify-rpm-init \ verify-rpm-init $PKG_RELEASE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <&2 "warning: no packages found in $dir" exit 0 @@ -96,7 +98,8 @@ FROM ${PKG_BASE_IMAGE} AS verify-static RUN apt-get update && apt-get install -y --no-install-recommends tar libsecret-1-0 COPY --from=xx / / ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build < "debian/changelog" <<-EOF -${PKG_NAME} (${PKG_DEB_EPOCH}$([ -n "$PKG_DEB_EPOCH" ] && echo ":")${GENVER_PKG_VERSION}-${PKG_DEB_REVISION}) $PKG_SUITE; urgency=low - * Version: ${GENVER_VERSION} - -- $(awk -F ': ' '$1 == "Maintainer" { print $2; exit }' debian/control) $(date --rfc-2822) -EOF +gen-deb-changelog "$GENVER_VERSION" "$GENVER_PKG_VERSION" "$PKG_DISTRO" "$PKG_DISTRO_ID" "$PKG_DISTRO_SUITE" "$PKG_DEB_REVISION" "$PKG_DEB_EPOCH" xx-go --wrap fix-cc -pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_SUITE}/$(xx-info arch)" +pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_DISTRO_SUITE}/$(xx-info arch)" if [ -n "$(xx-info variant)" ]; then pkgoutput="${pkgoutput}/$(xx-info variant)" fi diff --git a/pkg/docker-cli/scripts/pkg-rpm-build.sh b/pkg/docker-cli/scripts/pkg-rpm-build.sh index fa6dd9ab..c309ab14 100755 --- a/pkg/docker-cli/scripts/pkg-rpm-build.sh +++ b/pkg/docker-cli/scripts/pkg-rpm-build.sh @@ -19,7 +19,8 @@ : "${PKG_NAME=}" : "${PKG_RELEASE=}" : "${PKG_DISTRO=}" -: "${PKG_SUITE=}" +: "${PKG_DISTRO_ID=}" +: "${PKG_DISTRO_SUITE=}" : "${PKG_PACKAGER=}" : "${PKG_VENDOR=}" @@ -61,7 +62,7 @@ rpmDefine=( --define "_commit ${GENVER_COMMIT}" ) -pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_SUITE}/$(xx-info arch)" +pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_DISTRO_SUITE}/$(xx-info arch)" if [ -n "$(xx-info variant)" ]; then pkgoutput="${pkgoutput}/$(xx-info variant)" fi diff --git a/pkg/docker-cli/verify.Dockerfile b/pkg/docker-cli/verify.Dockerfile index c13ecb58..1469be98 100644 --- a/pkg/docker-cli/verify.Dockerfile +++ b/pkg/docker-cli/verify.Dockerfile @@ -29,11 +29,12 @@ FROM ${PKG_BASE_IMAGE} AS verify-deb RUN apt-get update COPY --from=xx / / ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <&2 "warning: no packages found in $dir" exit 0 @@ -53,13 +54,14 @@ FROM ${PKG_BASE_IMAGE} AS verify-rpm COPY --from=xx / / ARG PKG_RELEASE ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE RUN --mount=type=bind,from=common-scripts,source=verify-rpm-init.sh,target=/usr/local/bin/verify-rpm-init \ verify-rpm-init $PKG_RELEASE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <&2 "warning: no packages found in $dir" exit 0 @@ -86,7 +88,8 @@ FROM ${PKG_BASE_IMAGE} AS verify-static RUN apt-get update && apt-get install -y --no-install-recommends tar COPY --from=xx / / ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build < "debian/changelog" <<-EOF -${PKG_NAME} (${PKG_DEB_EPOCH}$([ -n "$PKG_DEB_EPOCH" ] && echo ":")${GENVER_PKG_VERSION}-${PKG_DEB_REVISION}) $PKG_SUITE; urgency=low - * Version: ${GENVER_VERSION} - -- $(awk -F ': ' '$1 == "Maintainer" { print $2; exit }' debian/control) $(date --rfc-2822) -EOF +gen-deb-changelog "$GENVER_VERSION" "$GENVER_PKG_VERSION" "$PKG_DISTRO" "$PKG_DISTRO_ID" "$PKG_DISTRO_SUITE" "$PKG_DEB_REVISION" "$PKG_DEB_EPOCH" -pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_SUITE}/$(xx-info arch)" +pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_DISTRO_SUITE}/$(xx-info arch)" if [ -n "$(xx-info variant)" ]; then pkgoutput="${pkgoutput}/$(xx-info variant)" fi diff --git a/pkg/docker-engine/scripts/pkg-rpm-build.sh b/pkg/docker-engine/scripts/pkg-rpm-build.sh index a0c4b77b..ed49341e 100755 --- a/pkg/docker-engine/scripts/pkg-rpm-build.sh +++ b/pkg/docker-engine/scripts/pkg-rpm-build.sh @@ -19,7 +19,8 @@ : "${PKG_NAME=}" : "${PKG_RELEASE=}" : "${PKG_DISTRO=}" -: "${PKG_SUITE=}" +: "${PKG_DISTRO_ID=}" +: "${PKG_DISTRO_SUITE=}" : "${PKG_PACKAGER=}" : "${PKG_VENDOR=}" @@ -61,7 +62,7 @@ rpmDefine=( --define "_commit ${GENVER_COMMIT_SHORT}" ) -pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_SUITE}/$(xx-info arch)" +pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_DISTRO_SUITE}/$(xx-info arch)" if [ -n "$(xx-info variant)" ]; then pkgoutput="${pkgoutput}/$(xx-info variant)" fi diff --git a/pkg/docker-engine/verify.Dockerfile b/pkg/docker-engine/verify.Dockerfile index 8c50f35b..6ec83956 100644 --- a/pkg/docker-engine/verify.Dockerfile +++ b/pkg/docker-engine/verify.Dockerfile @@ -29,11 +29,12 @@ FROM ${PKG_BASE_IMAGE} AS verify-deb RUN apt-get update && apt-get install -y --no-install-recommends libdevmapper-dev COPY --from=xx / / ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <&2 "warning: no packages found in $dir" exit 0 @@ -53,14 +54,15 @@ FROM ${PKG_BASE_IMAGE} AS verify-rpm COPY --from=xx / / ARG PKG_RELEASE ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE RUN --mount=type=bind,from=common-scripts,source=verify-rpm-init.sh,target=/usr/local/bin/verify-rpm-init \ verify-rpm-init $PKG_RELEASE && \ yum install -y device-mapper-devel ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <&2 "warning: no packages found in $dir" exit 0 @@ -80,7 +82,8 @@ FROM ${PKG_BASE_IMAGE} AS verify-static RUN apt-get update && apt-get install -y --no-install-recommends tar COPY --from=xx / / ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <"debian/changelog" <<-EOF -${PKG_NAME} (${PKG_DEB_EPOCH}$([ -n "$PKG_DEB_EPOCH" ] && echo ":")${GENVER_PKG_VERSION}-${PKG_DEB_REVISION}) $PKG_SUITE; urgency=low - * Version: ${GENVER_VERSION} - -- $(awk -F ': ' '$1 == "Maintainer" { print $2; exit }' debian/control) $(date --rfc-2822) -EOF +gen-deb-changelog "$GENVER_VERSION" "$GENVER_PKG_VERSION" "$PKG_DISTRO" "$PKG_DISTRO_ID" "$PKG_DISTRO_SUITE" "$PKG_DEB_REVISION" "$PKG_DEB_EPOCH" -pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_SUITE}/$(xx-info arch)" +pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_DISTRO_SUITE}/$(xx-info arch)" if [ -n "$(xx-info variant)" ]; then pkgoutput="${pkgoutput}/$(xx-info variant)" fi diff --git a/pkg/sbom/scripts/pkg-rpm-build.sh b/pkg/sbom/scripts/pkg-rpm-build.sh index 10b98064..aff55e89 100755 --- a/pkg/sbom/scripts/pkg-rpm-build.sh +++ b/pkg/sbom/scripts/pkg-rpm-build.sh @@ -19,7 +19,8 @@ : "${PKG_NAME=}" : "${PKG_RELEASE=}" : "${PKG_DISTRO=}" -: "${PKG_SUITE=}" +: "${PKG_DISTRO_ID=}" +: "${PKG_DISTRO_SUITE=}" : "${PKG_PACKAGER=}" : "${PKG_VENDOR=}" @@ -65,7 +66,7 @@ rpmDefine=( --define "_commit ${GENVER_COMMIT}" ) -pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_SUITE}/$(xx-info arch)" +pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_DISTRO_SUITE}/$(xx-info arch)" if [ -n "$(xx-info variant)" ]; then pkgoutput="${pkgoutput}/$(xx-info variant)" fi diff --git a/pkg/sbom/verify.Dockerfile b/pkg/sbom/verify.Dockerfile index b9ddba0a..a69a2195 100644 --- a/pkg/sbom/verify.Dockerfile +++ b/pkg/sbom/verify.Dockerfile @@ -29,11 +29,12 @@ FROM ${PKG_BASE_IMAGE} AS verify-deb RUN apt-get update COPY --from=xx / / ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <&2 "warning: no packages found in $dir" exit 0 @@ -54,13 +55,14 @@ FROM ${PKG_BASE_IMAGE} AS verify-rpm COPY --from=xx / / ARG PKG_RELEASE ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE RUN --mount=type=bind,from=common-scripts,source=verify-rpm-init.sh,target=/usr/local/bin/verify-rpm-init \ verify-rpm-init $PKG_RELEASE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <&2 "warning: no packages found in $dir" exit 0 @@ -81,7 +83,8 @@ FROM ${PKG_BASE_IMAGE} AS verify-static RUN apt-get update && apt-get install -y --no-install-recommends tar COPY --from=xx / / ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <"debian/changelog" <<-EOF -${PKG_NAME} (${PKG_DEB_EPOCH}$([ -n "$PKG_DEB_EPOCH" ] && echo ":")${GENVER_PKG_VERSION}-${PKG_DEB_REVISION}) $PKG_SUITE; urgency=low - * Version: ${GENVER_VERSION} - -- $(awk -F ': ' '$1 == "Maintainer" { print $2; exit }' debian/control) $(date --rfc-2822) -EOF +gen-deb-changelog "$GENVER_VERSION" "$GENVER_PKG_VERSION" "$PKG_DISTRO" "$PKG_DISTRO_ID" "$PKG_DISTRO_SUITE" "$PKG_DEB_REVISION" "$PKG_DEB_EPOCH" -pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_SUITE}/$(xx-info arch)" +pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_DISTRO_SUITE}/$(xx-info arch)" if [ -n "$(xx-info variant)" ]; then pkgoutput="${pkgoutput}/$(xx-info variant)" fi diff --git a/pkg/scan/scripts/pkg-rpm-build.sh b/pkg/scan/scripts/pkg-rpm-build.sh index fa6dd9ab..c309ab14 100755 --- a/pkg/scan/scripts/pkg-rpm-build.sh +++ b/pkg/scan/scripts/pkg-rpm-build.sh @@ -19,7 +19,8 @@ : "${PKG_NAME=}" : "${PKG_RELEASE=}" : "${PKG_DISTRO=}" -: "${PKG_SUITE=}" +: "${PKG_DISTRO_ID=}" +: "${PKG_DISTRO_SUITE=}" : "${PKG_PACKAGER=}" : "${PKG_VENDOR=}" @@ -61,7 +62,7 @@ rpmDefine=( --define "_commit ${GENVER_COMMIT}" ) -pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_SUITE}/$(xx-info arch)" +pkgoutput="${OUTDIR}/${PKG_DISTRO}/${PKG_DISTRO_SUITE}/$(xx-info arch)" if [ -n "$(xx-info variant)" ]; then pkgoutput="${pkgoutput}/$(xx-info variant)" fi diff --git a/pkg/scan/verify.Dockerfile b/pkg/scan/verify.Dockerfile index f25da2dd..0aa699e3 100644 --- a/pkg/scan/verify.Dockerfile +++ b/pkg/scan/verify.Dockerfile @@ -29,11 +29,12 @@ FROM ${PKG_BASE_IMAGE} AS verify-deb RUN apt-get update COPY --from=xx / / ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <&2 "warning: no packages found in $dir" exit 0 @@ -54,13 +55,14 @@ FROM ${PKG_BASE_IMAGE} AS verify-rpm COPY --from=xx / / ARG PKG_RELEASE ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE RUN --mount=type=bind,from=common-scripts,source=verify-rpm-init.sh,target=/usr/local/bin/verify-rpm-init \ verify-rpm-init $PKG_RELEASE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <&2 "warning: no packages found in $dir" exit 0 @@ -81,7 +83,8 @@ FROM ${PKG_BASE_IMAGE} AS verify-static RUN apt-get update && apt-get install -y --no-install-recommends tar COPY --from=xx / / ARG PKG_DISTRO -ARG PKG_SUITE +ARG PKG_DISTRO_ID +ARG PKG_DISTRO_SUITE ARG TARGETPLATFORM RUN --mount=from=bin-folder,target=/build <