Introduce Makefile.external

This commit is contained in:
Tony Garnock-Jones 2022-07-23 14:47:44 +02:00
parent ad0db362d3
commit d6840d75e2
8 changed files with 44 additions and 35 deletions

View File

@ -1,5 +1,3 @@
__ignored__ := $(shell ./copy-local-resources-into-package-folders.sh)
.PHONY: check-tools build-image build sign clean veryclean keyfile
# If you run:
@ -18,7 +16,7 @@ DOCKER_SQUID_IP=$(shell docker inspect squid | preserves-tool convert -o unquote
HTTP_PROXY=http://$(DOCKER_SQUID_IP):3128/
endif
ARCH?=aarch64
export ARCH?=aarch64
DOCKER_ARCH=$(shell ./map_docker_arch.sh $(ARCH))
KEYFILE?=synit-apk-key
UID:=$(shell id -u)
@ -43,15 +41,21 @@ DOCKER_BUILD_ARGS=\
--build-arg UID=$(UID) \
--build-arg BUILD_USER=$(BUILD_USER)
build: build-image
build: build-image prepare-all
$(DOCKER_CMD) make -f Makefile.internal $@ KEYFILE=$(KEYFILE)
sign: build-image
$(DOCKER_CMD) make -f Makefile.internal $@ KEYFILE=$(KEYFILE)
%.apk: build-image
%.apk: build-image %.prepare
$(DOCKER_CMD) make -f Makefile.internal $@ KEYFILE=$(KEYFILE)
%.checksum: build-image
%.checksum: build-image %.prepare
$(DOCKER_CMD) make -f Makefile.internal $@ KEYFILE=$(KEYFILE)
prepare-all: $(patsubst %,%.prepare,$(file < package-list))
%.prepare:
@if [ -f packages/$*/Makefile.external ]; then \
$(MAKE) -C packages/$* -f Makefile.external prepare; fi
clean:
rm -f .build-image.*
-docker rmi synit-build:aarch64

View File

@ -7,19 +7,7 @@ ARCH = $(shell apk --print-arch)
ARCH_TARGET = $(TARGET)/packages/$(ARCH)
SIGNING_KEY = $(HOME)/.abuild/$(KEYFILE)
PACKAGES = \
preserves-schemas.apk \
preserves-tools.apk \
py3-preserves.apk \
py3-syndicate.apk \
squeak-cog-vm.apk \
squeak-stack-vm.apk \
syndicate-schemas.apk \
syndicate-server.apk \
syndicate-sh.apk \
synit-pid1.apk \
synit-splash.apk \
synit-config.apk \
PACKAGES = $(patsubst %,%.apk,$(file < package-list))
build: $(PACKAGES) sign

View File

@ -1,2 +0,0 @@
#!/bin/sh
rsync -a ../protocols packages/synit-config

12
packaging/package-list Normal file
View File

@ -0,0 +1,12 @@
preserves-schemas
preserves-tools
py3-preserves
py3-syndicate
squeak-cog-vm
squeak-stack-vm
syndicate-schemas
syndicate-server
syndicate-sh
synit-pid1
synit-splash
synit-config

View File

@ -0,0 +1,4 @@
# -*- makefile -*-
prepare:
rsync -a ../../../protocols .

View File

@ -1 +1,5 @@
buildlog.*
synit-pid1.x86_64
synit-pid1.armv7
synit-pid1.aarch64
VERSION

View File

@ -1,19 +1,15 @@
# Contributor: Tony Garnock-Jones <tonyg@leastfixedpoint.com>
# Maintainer: Tony Garnock-Jones <tonyg@leastfixedpoint.com>
pkgname=synit-pid1
pkgver=0.0.2
pkgrel=1
pkgver=$(cat VERSION)
pkgrel=$(date '+%Y%m%d%H%M%S')
pkgdesc="synit pid 1 program"
url="https://synit.org/"
arch="all"
license="GPLv3"
depends="syndicate-server s6"
makedepends=""
source="
synit-pid1.aarch64
synit-pid1.armv7
synit-pid1.x86_64
"
source=""
builddir="$srcdir/"
options="!check"
@ -23,12 +19,6 @@ build() {
package() {
mkdir -p "$pkgdir/sbin"
cp -p synit-pid1.${CARCH} "$pkgdir/sbin/synit-pid1"
cp -p "$startdir/synit-pid1.${CARCH}" "$pkgdir/sbin/synit-pid1"
cp -p "$startdir/synit-log" "$pkgdir/sbin/synit-log"
}
sha512sums="
03ee111c5b4d2da50219a7ba95e4afdcc90e485866472e483c8ecdd6bdc824ce3c0d6565622afb0af6372f34f93c9ca2f536c224f45868957610fd425cc8640b synit-pid1.aarch64
8c8b836e5aace4fb36c474495752ff661dd75548b6e0d779171b7508194608721982c726ceb30e30b8e21fe776de8c4150787191d482d4feeb2903765f6269b3 synit-pid1.armv7
aa993cd216e989162586c08d9656e3fd3c715430977f659c1b2fcc35311cc7936d4f39acec9c997e1be1cd6dc8563d6b8b46ce905fecd87711a9973043a2d063 synit-pid1.x86_64
"

View File

@ -0,0 +1,9 @@
# -*- makefile -*-
prepare:
rm -f synit-pid1.$(ARCH)
$(MAKE) -C ../../../synit-pid1 $(ARCH)-binary-release
cp -p ../../../synit-pid1/target/$(ARCH)-*/release/synit-pid1 synit-pid1.$(ARCH)
(cd ../../../synit-pid1 && cargo metadata --format-version 1) | \
preserves-tool convert --output-format unquoted \
--select '. "packages" / [. "name" = "synit-pid1"] . "version"' > VERSION