From 48ab0d84e8b7da61cac40391478fb6f9fb6ce266 Mon Sep 17 00:00:00 2001 From: CrazyMax Date: Fri, 26 Aug 2022 23:55:23 +0200 Subject: [PATCH] Fix deb package Signed-off-by: CrazyMax --- Makefile | 4 ++-- deb/Dockerfile | 28 ++++++++++++++++++++++------ deb/build-deb | 8 ++------ deb/debian/rules | 3 ++- 4 files changed, 28 insertions(+), 15 deletions(-) diff --git a/Makefile b/Makefile index 4a44c11..4bad9a8 100644 --- a/Makefile +++ b/Makefile @@ -79,8 +79,8 @@ BUILDIMG:=docker-credential-secretservice-$(VERSION) deb: mkdir -p release docker build -f deb/Dockerfile \ - --build-arg VERSION=$(VERSION) \ - --build-arg DISTRO=xenial \ + --build-arg VERSION=$(patsubst v%,%,$(VERSION)) \ + --build-arg REVISION=$(REVISION) \ --tag $(BUILDIMG) \ . docker run --rm --net=none $(BUILDIMG) tar cf - /release | tar xf - diff --git a/deb/Dockerfile b/deb/Dockerfile index 1e97b96..c36ae0a 100644 --- a/deb/Dockerfile +++ b/deb/Dockerfile @@ -1,13 +1,21 @@ -FROM ubuntu:xenial +ARG GO_VERSION=1.18.5 +ARG DISTRO=ubuntu +ARG SUITE=focal -ARG VERSION -ARG DISTRO +FROM golang:${GO_VERSION}-buster AS golang -RUN apt-get update && apt-get install -yy debhelper dh-make golang-go libsecret-1-dev +FROM ${DISTRO}:${SUITE} + +ARG DEBIAN_FRONTEND=noninteractive +RUN apt-get update && apt-get install -yy debhelper dh-make libsecret-1-dev RUN mkdir -p /build WORKDIR /build -ENV GOPATH /build +ENV GOPROXY=https://proxy.golang.org|direct +ENV GO111MODULE=off +ENV GOPATH=/build +ENV PATH=$PATH:/usr/local/go/bin:$GOPATH/bin +COPY --from=golang /usr/local/go /usr/local/go COPY Makefile . COPY credentials credentials @@ -16,4 +24,12 @@ COPY pass pass COPY deb/debian ./debian COPY deb/build-deb . -RUN /build/build-deb ${VERSION} ${DISTRO} +ARG VERSION +ENV VERSION=${VERSION} +ARG REVISION +ENV REVISION=${REVISION} +ARG DISTRO +ENV DISTRO=${DISTRO} +ARG SUITE +ENV SUITE=${SUITE} +RUN /build/build-deb diff --git a/deb/build-deb b/deb/build-deb index dbb9172..04d3de1 100755 --- a/deb/build-deb +++ b/deb/build-deb @@ -1,14 +1,10 @@ #!/usr/bin/env bash -set -x -set -e - -version=$1 -distro=$2 +set -ex maintainer=$(awk -F ': ' '$1 == "Maintainer" { print $2; exit }' debian/control) cat > "debian/changelog" <<-EOF -docker-credential-helpers ($version) $DISTRO; urgency=low +docker-credential-helpers ($VERSION) $DISTRO-$SUITE; urgency=low * New upstream version diff --git a/deb/debian/rules b/deb/debian/rules index e3421e9..4750af3 100755 --- a/deb/debian/rules +++ b/deb/debian/rules @@ -3,7 +3,8 @@ DESTDIR := $(CURDIR)/debian/tmp override_dh_auto_build: - make secretservice pass + make build-secretservice DESTDIR=bin + make build-pass DESTDIR=bin override_dh_auto_install: install -D bin/docker-credential-secretservice $(DESTDIR)/usr/bin/docker-credential-secretservice