buildsys: make build-dir generation atomic

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Stoiko Ivanov 2023-06-19 19:59:32 +02:00 committed by Thomas Lamprecht
parent ca6500923f
commit 9e7376675d

View File

@ -4,13 +4,14 @@ PACKAGE=proxmox-mailgateway
GITVERSION:=$(shell git rev-parse HEAD) GITVERSION:=$(shell git rev-parse HEAD)
BUILDDIR=$(PACKAGE)-$(DEB_VERSION)
DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_all.deb DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_all.deb
CT_DEB=$(PACKAGE)-container_$(DEB_VERSION_UPSTREAM_REVISION)_all.deb CT_DEB=$(PACKAGE)-container_$(DEB_VERSION_UPSTREAM_REVISION)_all.deb
HEADER_DEB=pve-headers_$(DEB_VERSION_UPSTREAM_REVISION)_all.deb HEADER_DEB=pve-headers_$(DEB_VERSION_UPSTREAM_REVISION)_all.deb
DEBS=$(DEB) $(CT_DEB) $(HEADER_DEB) DEBS=$(DEB) $(CT_DEB) $(HEADER_DEB)
BUILD_DIR=build
ARCH=amd64 ARCH=amd64
@ -18,12 +19,16 @@ all: $(DEB)
.PHONY: deb .PHONY: deb
deb $(CT_DEB) $(HEADER_DEB): $(DEB) deb $(CT_DEB) $(HEADER_DEB): $(DEB)
$(DEB): debian
rm -rf $(BUILD_DIR) $(BUILDDIR): debian
mkdir -p $(BUILD_DIR)/debian rm -rf $@ $@.tmp
cp -ar debian/* $(BUILD_DIR)/debian/ mkdir -p $@.tmp/debian
echo "git clone git://git.proxmox.com/git/proxmox-mailgateway.git\\ngit checkout $(GITVERSION)" > $(BUILD_DIR)/debian/SOURCE cp -a debian/ $@.tmp/
cd $(BUILD_DIR); dpkg-buildpackage -b -uc -us echo "git clone git://git.proxmox.com/git/proxmox-mailgateway.git\\ngit checkout $(GITVERSION)" > $@.tmp/debian/SOURCE
mv $@.tmp $@
$(DEB): $(BUILDDIR)
cd $(BUILDDIR); dpkg-buildpackage -b -uc -us
lintian $(DEBS) lintian $(DEBS)
.PHONY: upload .PHONY: upload
@ -31,5 +36,5 @@ upload: $(DEBS)
tar cf - $(DEBS)|ssh -X repoman@repo.proxmox.com -- upload --product pmg --dist bullseye --arch $(ARCH) tar cf - $(DEBS)|ssh -X repoman@repo.proxmox.com -- upload --product pmg --dist bullseye --arch $(ARCH)
clean: clean:
rm -rf $(BUILD_DIR) *.deb *.buildinfo *.changes rm -rf $(PACKAGE)-[0-9]*/ *.deb *.buildinfo *.changes
find . -name '*~' -exec rm {} ';' find . -name '*~' -exec rm {} ';'