Compare commits
7 Commits
f0403a657e
...
d95ebea6dc
Author | SHA1 | Date |
---|---|---|
Tony Garnock-Jones | d95ebea6dc | |
Tony Garnock-Jones | ca06131d8a | |
Tony Garnock-Jones | 6c7980e03f | |
Tony Garnock-Jones | a51b349137 | |
Tony Garnock-Jones | d6840d75e2 | |
Tony Garnock-Jones | ad0db362d3 | |
Tony Garnock-Jones | 525819291e |
|
@ -1,5 +1,6 @@
|
|||
.build-image.*
|
||||
.versions
|
||||
distfiles/
|
||||
target/
|
||||
synit-apk-key
|
||||
synit-apk-key.pub
|
||||
target/
|
||||
|
|
|
@ -26,16 +26,3 @@ RUN echo "PACKAGER_PRIVKEY=/home/${BUILD_USER}/.abuild/${KEYFILE}" >> /home/${BU
|
|||
|
||||
USER ${BUILD_USER}
|
||||
WORKDIR /data
|
||||
|
||||
# When (if?) I switch to in-docker Rust builds, the following will be useful.
|
||||
#
|
||||
# # Running without proxy for now, to ensure reasonable freshness and consistency:
|
||||
# # RUN http_proxy=${http_proxy} https_proxy=${http_proxy} rustup-init -y --default-toolchain nightly
|
||||
# #
|
||||
# RUN rustup-init -y --default-toolchain nightly
|
||||
# ENV PATH=/home/${BUILD_USER}/.cargo/bin:$PATH
|
||||
# # Prime the crates.io index
|
||||
# RUN cargo search --limit 0
|
||||
#
|
||||
# # Hack to workaround https://github.com/rust-lang/rust/issues/89626
|
||||
# ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-Zgcc-ld=lld"
|
||||
|
|
|
@ -2,19 +2,20 @@ ARG ALPINE_ARCH
|
|||
ARG DOCKER_ARCH
|
||||
FROM --platform=linux/${DOCKER_ARCH} synit-build:${ALPINE_ARCH}
|
||||
|
||||
USER root
|
||||
|
||||
ARG http_proxy
|
||||
RUN http_proxy=${http_proxy} https_proxy=${http_proxy} apk add rustup openssl-dev
|
||||
|
||||
ARG BUILD_USER
|
||||
USER ${BUILD_USER}
|
||||
|
||||
# Running without proxy for now, to ensure reasonable freshness and consistency:
|
||||
# RUN http_proxy=${http_proxy} https_proxy=${http_proxy} rustup-init -y --default-toolchain nightly
|
||||
#
|
||||
RUN rustup-init -y --default-toolchain nightly
|
||||
|
||||
ARG BUILD_USER
|
||||
ENV PATH=/home/${BUILD_USER}/.cargo/bin:$PATH
|
||||
|
||||
# Prime the crates.io index
|
||||
RUN cargo search --limit 0
|
||||
|
||||
# Hack to workaround https://github.com/rust-lang/rust/issues/89626
|
||||
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-Zgcc-ld=lld"
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
__ignored__ := $(shell ./copy-local-resources-into-package-folders.sh)
|
||||
|
||||
.PHONY: build-image build sign clean veryclean keyfile
|
||||
.PHONY: check-tools build-image build sign clean veryclean keyfile prepare-all clean-all
|
||||
|
||||
# If you run:
|
||||
# docker run --rm --name squid adricu/alpine-squid
|
||||
|
@ -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)
|
||||
|
@ -32,7 +30,7 @@ DOCKER_CMD=\
|
|||
-v `pwd`:/data \
|
||||
-v `pwd`/$(KEYFILE):/home/$(BUILD_USER)/.abuild/$(KEYFILE) \
|
||||
-v $(CURDIR)/distfiles:/var/cache/distfiles \
|
||||
synit-build:$(ARCH)
|
||||
synit-build-rust:$(ARCH)
|
||||
|
||||
DOCKER_BUILD_ARGS=\
|
||||
--build-arg http_proxy=$(HTTP_PROXY) \
|
||||
|
@ -43,25 +41,40 @@ 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)
|
||||
|
||||
clean:
|
||||
prepare-all: $(patsubst %,%.prepare,$(file < package-list))
|
||||
|
||||
%.prepare:
|
||||
@if [ -f packages/$*/Makefile.external ]; then \
|
||||
$(MAKE) -C packages/$* -f Makefile.external prepare; fi
|
||||
|
||||
clean-all: $(patsubst %,%.clean,$(file < package-list))
|
||||
|
||||
%.clean:
|
||||
@if [ -f packages/$*/Makefile.external ]; then \
|
||||
$(MAKE) -C packages/$* -f Makefile.external clean; fi
|
||||
|
||||
clean: clean-all
|
||||
rm -f .build-image.*
|
||||
-docker rmi synit-build:aarch64
|
||||
-docker rmi synit-build:x86_64
|
||||
-docker rmi synit-build:armv7
|
||||
-docker rmi synit-build-rust:aarch64
|
||||
-docker rmi synit-build-rust:x86_64
|
||||
-docker rmi synit-build-rust:armv7
|
||||
|
||||
veryclean: clean
|
||||
rm -rf target
|
||||
|
||||
build-image: .build-image.$(ARCH)
|
||||
build-image: check-tools .build-image.rust.$(ARCH)
|
||||
|
||||
.build-image.$(ARCH): $(KEYFILE)
|
||||
docker buildx build \
|
||||
|
@ -71,8 +84,6 @@ build-image: .build-image.$(ARCH)
|
|||
-t synit-build:$(ARCH) .
|
||||
touch $@
|
||||
|
||||
build-image.rust: .build-image.rust.$(ARCH)
|
||||
|
||||
.build-image.rust.$(ARCH): .build-image.$(ARCH)
|
||||
docker buildx build \
|
||||
--progress plain \
|
||||
|
@ -88,3 +99,15 @@ $(KEYFILE):
|
|||
-v `pwd`:/data \
|
||||
alpine \
|
||||
sh -c "apk add abuild && echo /data/$(KEYFILE) | abuild-keygen && chown $(UID):$(GID) /data/$(KEYFILE)*"
|
||||
|
||||
check-tools:
|
||||
@rm -f .versions
|
||||
@preserves-tool --version >> .versions
|
||||
@git --version >> .versions
|
||||
@ssh -V >> .versions 2>&1
|
||||
@rsync --version | head -1 >> .versions
|
||||
@python3 --version >> .versions
|
||||
@rustc --version >> .versions
|
||||
@cargo --version >> .versions
|
||||
@make --version | head -1 >> .versions
|
||||
@docker --version >> .versions
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/sh
|
||||
rsync -a ../protocols packages/synit-config
|
|
@ -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
|
|
@ -1,6 +1,6 @@
|
|||
# Maintainer: Tony Garnock-Jones <tonyg@leastfixedpoint.com>
|
||||
pkgname=preserves-schemas
|
||||
pkgver=0.6.0-r20220114
|
||||
pkgver=0.6.3-r20220619
|
||||
pkgrel=0
|
||||
pkgdesc="Shared Preserves Schema definitions"
|
||||
url="https://preserves.dev/"
|
||||
|
@ -20,5 +20,5 @@ package() {
|
|||
}
|
||||
|
||||
sha512sums="
|
||||
62363962bc6849f026fe03faf1b41b4880f41cd2cacb26bb6e716f5c0d3b68f025aa306e0caa367bea32292694729f5e47069624b7395bb755b306a54532e288 preserves-0.6.0-r20220114.zip
|
||||
9fde41df7ca69252924da758eb7e7129fb83edb6a2dd9ec2d7115b17a8e390b9f30335393cdd4d06219a1b002fb04b4bd867a0bd8d80d18e1be85f857d5da3b0 preserves-0.6.3-r20220619.zip
|
||||
"
|
||||
|
|
|
@ -1 +1,6 @@
|
|||
VERSION
|
||||
buildlog.*
|
||||
preserves-tool.aarch64
|
||||
preserves-tool.armv7
|
||||
preserves-tool.x86_64
|
||||
preserves/
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
APKBUILD.released
|
|
@ -0,0 +1,23 @@
|
|||
# Contributor: Tony Garnock-Jones <tonyg@leastfixedpoint.com>
|
||||
# Maintainer: Tony Garnock-Jones <tonyg@leastfixedpoint.com>
|
||||
pkgname=preserves-tools
|
||||
pkgver=$(cat VERSION)
|
||||
pkgrel=$(date '+%Y%m%d%H%M%S')
|
||||
pkgdesc="Command-line tools for working with Preserves documents"
|
||||
url="https://preserves.dev/"
|
||||
arch="all"
|
||||
license="GPLv3"
|
||||
depends=""
|
||||
makedepends=""
|
||||
source=""
|
||||
builddir="$srcdir/"
|
||||
options="!check"
|
||||
|
||||
build() {
|
||||
:
|
||||
}
|
||||
|
||||
package() {
|
||||
mkdir -p "$pkgdir/usr/bin"
|
||||
cp -p "$startdir/preserves-tool.${CARCH}" "$pkgdir/usr/bin/preserves-tool"
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
# Contributor: Tony Garnock-Jones <tonyg@leastfixedpoint.com>
|
||||
# Maintainer: Tony Garnock-Jones <tonyg@leastfixedpoint.com>
|
||||
pkgname=preserves-tools
|
||||
pkgver=2.4.0
|
||||
pkgrel=0
|
||||
pkgdesc="Command-line tools for working with Preserves documents"
|
||||
url="https://preserves.dev/"
|
||||
arch="all"
|
||||
license="GPLv3"
|
||||
depends=""
|
||||
makedepends=""
|
||||
source="
|
||||
preserves-tool.aarch64
|
||||
preserves-tool.armv7
|
||||
preserves-tool.x86_64
|
||||
"
|
||||
builddir="$srcdir/"
|
||||
options="!check"
|
||||
|
||||
build() {
|
||||
:
|
||||
}
|
||||
|
||||
package() {
|
||||
mkdir -p "$pkgdir/usr/bin"
|
||||
cp -p preserves-tool.${CARCH} "$pkgdir/usr/bin/preserves-tool"
|
||||
}
|
||||
sha512sums="
|
||||
0a9f8b80ed78470dfe532e95c114f633db4f5526e579de4b60d9d3c99afa6d1210838dad21518cb0ce4d5413152bc0264a6eaec574b9422d8d69c2c895f34b6e preserves-tool.aarch64
|
||||
7e14e389483a93b9c640c00f2b8d0ebc88b1c814369c925ce99f9a4e023346ab0a35a294c2d5a42d0a9ace75271fc57aca52b0971a9e2888230c8ea99fd562e5 preserves-tool.armv7
|
||||
526a77a2dd1356f486b3fc199cf014b21ac565b333f01f4475e42a3d62fb43f986c6701f3b6dd10e18fcaa3866149ce192149685a1073a89cd48f86844f5b69e preserves-tool.x86_64
|
||||
"
|
|
@ -8,7 +8,7 @@ url="https://preserves.dev/"
|
|||
arch="all"
|
||||
license="GPLv3"
|
||||
depends=""
|
||||
makedepends="cargo"
|
||||
makedepends=""
|
||||
source="$pkgname-$pkgver.tar.gz::https://gitlab.com/preserves/preserves/-/archive/rust-preserves-tools@$pkgver/preserves-rust-preserves-tools@$pkgver.tar.gz"
|
||||
builddir="$srcdir/preserves-rust-preserves-tools@$pkgver/implementations/rust/"
|
||||
options="!check"
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
# -*- makefile -*-
|
||||
|
||||
prepare: preserves miniclean
|
||||
echo nightly > preserves/implementations/rust/rust-toolchain
|
||||
$(MAKE) -C preserves/implementations/rust $(ARCH)-binary-release
|
||||
cp -p preserves/implementations/rust/target/$(ARCH)-*/release/preserves-tool \
|
||||
preserves-tool.$(ARCH)
|
||||
(cd preserves/implementations/rust/preserves-tools && cargo metadata --format-version 1) \
|
||||
| preserves-tool convert --output-format unquoted \
|
||||
--select '. "packages" / [. "name" = "preserves-tools"] . "version"' \
|
||||
> VERSION
|
||||
|
||||
preserves:
|
||||
git clone https://gitlab.com/preserves/preserves
|
||||
|
||||
miniclean:
|
||||
rm -f preserves-tool.$(ARCH)
|
||||
|
||||
clean: miniclean
|
||||
rm -rf preserves/implementations/rust/target
|
||||
rm -f preserves/implementations/rust/rust-toolchain
|
||||
rm -f VERSION
|
|
@ -1,7 +1,7 @@
|
|||
# Maintainer: Tony Garnock-Jones <tonyg@leastfixedpoint.com>
|
||||
pkgname=py3-preserves
|
||||
_pyname=preserves
|
||||
pkgver=0.11.0
|
||||
pkgver=0.16.1
|
||||
pkgrel=0
|
||||
pkgdesc="Preserves serialization format"
|
||||
url="https://preserves.dev/"
|
||||
|
@ -12,19 +12,16 @@ makedepends="py3-setuptools py3-pip py3-wheel"
|
|||
_pypiprefix="${_pyname%${_pyname#?}}"
|
||||
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
|
||||
builddir="$srcdir/$_pyname-$pkgver"
|
||||
options="!check"
|
||||
|
||||
build() {
|
||||
python3 setup.py build
|
||||
}
|
||||
|
||||
check() {
|
||||
python3 setup.py test
|
||||
}
|
||||
|
||||
package() {
|
||||
python3 setup.py install --prefix=/usr --root="$pkgdir"
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
96c889f733e3a4910af5c785735730b6b5894551b97eac24fc228fa173a0ea0c2e539f6c4f5f03bebb2d56c3f8125e054ce648102dde19740656f66bc9646fb4 preserves-0.11.0.tar.gz
|
||||
4091fbdcff4c6a276248267d7af288aec035c88b0fd8295e48c3ee6fd1caca9071184ec8467bcc9e2685810e78db8151baabaaba4b5c0562d533af7039dd003e preserves-0.16.1.tar.gz
|
||||
"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Maintainer: Tony Garnock-Jones <tonyg@leastfixedpoint.com>
|
||||
pkgname=py3-syndicate
|
||||
_pyname=syndicate-py
|
||||
pkgver=0.8.4
|
||||
pkgver=0.8.5
|
||||
pkgrel=0
|
||||
pkgdesc="Syndicated Actor model for Python"
|
||||
url="https://syndicate-lang.org/"
|
||||
|
@ -12,19 +12,16 @@ makedepends="py3-setuptools py3-pip py3-wheel"
|
|||
_pypiprefix="${_pyname%${_pyname#?}}"
|
||||
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
|
||||
builddir="$srcdir/$_pyname-$pkgver"
|
||||
options="!check"
|
||||
|
||||
build() {
|
||||
python3 setup.py build
|
||||
}
|
||||
|
||||
check() {
|
||||
python3 setup.py test
|
||||
}
|
||||
|
||||
package() {
|
||||
python3 setup.py install --prefix=/usr --root="$pkgdir"
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
ce0d1337756a1b1f538d1fe73efe8c442c6e932b4eb40daa805bf51490d7f7be2fb8ca5b6d1c74da58fdc2877c2944dd395ab6f0679bcd993647b21467dd0873 syndicate-py-0.8.4.tar.gz
|
||||
34de54a53d6a8197b534a2b3982b501439f7a1b4e9befd19b60a01516a36ce0b8bf61681d4b4b798e6a17d8ece3ffcff0017c1858e5f5f8b43f8677e19b78d88 syndicate-py-0.8.5.tar.gz
|
||||
"
|
||||
|
|
|
@ -1 +1,7 @@
|
|||
VERSION
|
||||
buildlog.*
|
||||
protocols/
|
||||
syndicate-rs/
|
||||
syndicate-server.aarch64
|
||||
syndicate-server.armv7
|
||||
syndicate-server.x86_64
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Contributor: Tony Garnock-Jones <tonyg@leastfixedpoint.com>
|
||||
# Maintainer: Tony Garnock-Jones <tonyg@leastfixedpoint.com>
|
||||
pkgname=syndicate-server
|
||||
pkgver=0.0.0
|
||||
pkgver=$(cat VERSION)
|
||||
pkgrel=$(date '+%Y%m%d%H%M%S')
|
||||
pkgdesc="Syndicate server"
|
||||
url="https://syndicate-lang.org/"
|
||||
|
@ -19,9 +19,9 @@ build() {
|
|||
|
||||
package() {
|
||||
mkdir -p "$pkgdir/usr/bin"
|
||||
cp -p ../syndicate-server.${CARCH} "$pkgdir/usr/bin/syndicate-server"
|
||||
cp -p "$startdir/syndicate-server.${CARCH}" "$pkgdir/usr/bin/syndicate-server"
|
||||
|
||||
mkdir -p "$pkgdir/usr/share/syndicate-server/schemas"
|
||||
cp ../protocols/schema-bundle.bin "$pkgdir/usr/share/syndicate-server/schemas/schema-bundle.prb"
|
||||
cp ../protocols/schemas/*.prs "$pkgdir/usr/share/syndicate-server/schemas/."
|
||||
cp "$startdir/protocols/schema-bundle.bin" "$pkgdir/usr/share/syndicate-server/schemas/schema-bundle.prb"
|
||||
cp "$startdir/protocols/schemas"/*.prs "$pkgdir/usr/share/syndicate-server/schemas/."
|
||||
}
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
# -*- makefile -*-
|
||||
|
||||
prepare: syndicate-rs miniclean
|
||||
$(MAKE) -C syndicate-rs $(ARCH)-binary-release
|
||||
cp -p syndicate-rs/target/$(ARCH)-*/release/syndicate-server syndicate-server.$(ARCH)
|
||||
(cd syndicate-rs/syndicate-server && cargo metadata --format-version 1) \
|
||||
| preserves-tool convert --output-format unquoted \
|
||||
--select '. "packages" / [. "name" = "syndicate-server"] . "version"' \
|
||||
> VERSION
|
||||
rsync -a syndicate-rs/syndicate-server/protocols .
|
||||
|
||||
syndicate-rs:
|
||||
git clone https://git.syndicate-lang.org/syndicate-lang/syndicate-rs
|
||||
|
||||
miniclean:
|
||||
rm -f syndicate-server.$(ARCH)
|
||||
|
||||
clean: miniclean
|
||||
rm -rf syndicate-rs/target
|
||||
rm -rf protocols
|
||||
rm -f VERSION
|
|
@ -1,8 +0,0 @@
|
|||
all: schema-bundle.bin
|
||||
|
||||
clean:
|
||||
rm -f schema-bundle.bin
|
||||
|
||||
schema-bundle.bin: schemas/*.prs
|
||||
preserves-schemac schemas > $@.tmp
|
||||
mv $@.tmp $@
|
|
@ -1,10 +0,0 @@
|
|||
´³bundle·µ³
documentation„´³schema·³version‘³definitions·³Url´³orµµ±present´³dict·³url´³named³url´³atom³String„„„„„µ±invalid´³dict·³url´³named³url³any„„„„µ±absent´³dict·„„„„„³IOList´³orµµ±bytes´³atom³
|
||||
ByteString„„µ±string´³atom³String„„µ±nested´³seqof´³refµ„³IOList„„„„„³Metadata´³rec´³lit³metadata„´³tupleµ´³named³object³any„´³named³info´³dictof´³atom³Symbol„³any„„„„„³Description´³orµµ±present´³dict·³description´³named³description´³refµ„³IOList„„„„„µ±invalid´³dict·³description´³named³description³any„„„„µ±absent´³dict·„„„„„„³embeddedType€„„µ³externalServices„´³schema·³version‘³definitions·³Process´³orµµ±simple´³refµ„³CommandLine„„µ±full´³refµ„³FullProcess„„„„³Service´³refµ„³
DaemonService„³ClearEnv´³orµµ±present´³dict·³clearEnv´³named³clearEnv´³atom³Boolean„„„„„µ±invalid´³dict·³clearEnv´³named³clearEnv³any„„„„µ±absent´³dict·„„„„„³EnvValue´³orµµ±set´³atom³String„„µ±remove´³lit€„„µ±invalid³any„„„³Protocol´³orµµ±none´³lit³none„„µ±binarySyndicate´³lit³application/syndicate„„µ±
textSyndicate´³lit³text/syndicate„„„„³
|
||||
ProcessDir´³orµµ±present´³dict·³dir´³named³dir´³atom³String„„„„„µ±invalid´³dict·³dir´³named³dir³any„„„„µ±absent´³dict·„„„„„³
|
||||
ProcessEnv´³orµµ±present´³dict·³env´³named³env´³dictof´³refµ„³EnvVariable„´³refµ„³EnvValue„„„„„„µ±invalid´³dict·³env´³named³env³any„„„„µ±absent´³dict·„„„„„³CommandLine´³orµµ±shell´³atom³String„„µ±full´³refµ„³FullCommandLine„„„„³EnvVariable´³orµµ±string´³atom³String„„µ±symbol´³atom³Symbol„„µ±invalid³any„„„³FullProcess´³andµ´³dict·³argv´³named³argv´³refµ„³CommandLine„„„„´³named³env´³refµ„³
|
||||
ProcessEnv„„´³named³dir´³refµ„³
|
||||
ProcessDir„„´³named³clearEnv´³refµ„³ClearEnv„„„„³ReadyOnStart´³orµµ±present´³dict·³readyOnStart´³named³readyOnStart´³atom³Boolean„„„„„µ±invalid´³dict·³readyOnStart´³named³readyOnStart³any„„„„µ±absent´³dict·„„„„„³RestartField´³orµµ±present´³dict·³restart´³named³restart´³refµ„³
RestartPolicy„„„„„µ±invalid´³dict·³restart´³named³restart³any„„„„µ±absent´³dict·„„„„„³
DaemonProcess´³rec´³lit³daemon„´³tupleµ´³named³id³any„´³named³config´³refµ„³DaemonProcessSpec„„„„„³
DaemonService´³rec´³lit³daemon„´³tupleµ´³named³id³any„„„„³
ProtocolField´³orµµ±present´³dict·³protocol´³named³protocol´³refµ„³Protocol„„„„„µ±invalid´³dict·³protocol´³named³protocol³any„„„„µ±absent´³dict·„„„„„³
RestartPolicy´³orµµ±always´³lit³always„„µ±onError´³lit³on-error„„µ±all´³lit³all„„µ±never´³lit³never„„„„³FullCommandLine´³tuplePrefixµ´³named³program´³atom³String„„„´³named³args´³seqof´³atom³String„„„„³DaemonProcessSpec´³orµµ±simple´³refµ„³CommandLine„„µ±oneShot´³rec´³lit³one-shot„´³tupleµ´³named³setup´³refµ„³CommandLine„„„„„„µ±full´³refµ„³FullDaemonProcess„„„„³FullDaemonProcess´³andµ´³named³process´³refµ„³FullProcess„„´³named³readyOnStart´³refµ„³ReadyOnStart„„´³named³restart´³refµ„³RestartField„„´³named³protocol´³refµ„³
ProtocolField„„„„„³embeddedType´³refµ³ EntityRef„³Cap„„„µ³internalServices„´³schema·³version‘³definitions·³ ConfigEnv´³dictof´³atom³Symbol„³any„³DebtReporter´³rec´³lit³
debt-reporter„´³tupleµ´³named³intervalSeconds´³atom³Double„„„„„³
ConfigWatcher´³rec´³lit³config-watcher„´³tupleµ´³named³path´³atom³String„„´³named³env´³refµ„³ ConfigEnv„„„„„³TcpRelayListener´³rec´³lit³relay-listener„´³tupleµ´³named³addr´³refµ³TransportAddress„³Tcp„„´³named³
|
||||
gatekeeper´³embedded´³refµ³
|
||||
gatekeeper„³Resolve„„„„„„³UnixRelayListener´³rec´³lit³relay-listener„´³tupleµ´³named³addr´³refµ³TransportAddress„³Unix„„´³named³
|
||||
gatekeeper´³embedded´³refµ³
|
||||
gatekeeper„³Resolve„„„„„„„³embeddedType´³refµ³ EntityRef„³Cap„„„„„
|
|
@ -1,11 +0,0 @@
|
|||
version 1 .
|
||||
|
||||
; Assertion. Describes `object`.
|
||||
Metadata = <metadata @object any @info { symbol: any ...:... }> .
|
||||
|
||||
; Projections of the `info` in a `Metadata` record.
|
||||
Description = @present { description: IOList } / @invalid { description: any } / @absent {} .
|
||||
Url = @present { url: string } / @invalid { url: any } / @absent {} .
|
||||
|
||||
; Data type. From preserves' `conventions.md`.
|
||||
IOList = @bytes bytes / @string string / @nested [IOList ...] .
|
|
@ -1,55 +0,0 @@
|
|||
version 1 .
|
||||
embeddedType EntityRef.Cap .
|
||||
|
||||
Service = DaemonService .
|
||||
|
||||
DaemonService = <daemon @id any> .
|
||||
DaemonProcess = <daemon @id any @config DaemonProcessSpec>.
|
||||
|
||||
DaemonProcessSpec = @simple CommandLine / @oneShot <one-shot @setup CommandLine> / @full FullDaemonProcess .
|
||||
FullDaemonProcess = @process FullProcess & @readyOnStart ReadyOnStart & @restart RestartField & @protocol ProtocolField .
|
||||
ReadyOnStart = @present { readyOnStart: bool } / @invalid { readyOnStart: any } / @absent {} .
|
||||
RestartField = @present { restart: RestartPolicy } / @invalid { restart: any } / @absent {} .
|
||||
ProtocolField = @present { protocol: Protocol } / @invalid { protocol: any } / @absent {} .
|
||||
|
||||
Process = @simple CommandLine / @full FullProcess .
|
||||
FullProcess =
|
||||
& { argv: CommandLine }
|
||||
& @env ProcessEnv
|
||||
& @dir ProcessDir
|
||||
& @clearEnv ClearEnv
|
||||
.
|
||||
ProcessEnv = @present { env: { EnvVariable: EnvValue ...:... } } / @invalid { env: any } / @absent {} .
|
||||
ProcessDir = @present { dir: string } / @invalid { dir: any } / @absent {} .
|
||||
ClearEnv = @present { clearEnv: bool } / @invalid { clearEnv: any } / @absent {} .
|
||||
|
||||
CommandLine = @shell string / @full FullCommandLine .
|
||||
FullCommandLine = [@program string, @args string ...] .
|
||||
|
||||
EnvVariable = @string string / @symbol symbol / @invalid any .
|
||||
EnvValue = @set string / @remove #f / @invalid any .
|
||||
|
||||
RestartPolicy =
|
||||
/ ; Whether the process terminates normally or abnormally, restart it
|
||||
; without affecting any peer processes within the service.
|
||||
=always
|
||||
/ ; If the process terminates normally, leave everything alone; if it
|
||||
; terminates abnormally, restart it without affecting peers.
|
||||
@onError =on-error
|
||||
/ ; If the process terminates normally, leave everything alone; if it
|
||||
; terminates abnormally, restart the whole daemon (all processes
|
||||
; within the daemon).
|
||||
=all
|
||||
/ ; Treat both normal and abnormal termination as normal termination; that is, never restart,
|
||||
; and enter state "complete" even if the process fails.
|
||||
=never
|
||||
.
|
||||
|
||||
Protocol =
|
||||
/ ; stdin is /dev/null, output and error are logged
|
||||
=none
|
||||
/ ; stdin and stdout are *binary* Syndicate-protocol channels
|
||||
@binarySyndicate =application/syndicate
|
||||
/ ; stdin and stdout are *text* Syndicate-protocol channels
|
||||
@textSyndicate =text/syndicate
|
||||
.
|
|
@ -1,10 +0,0 @@
|
|||
version 1 .
|
||||
embeddedType EntityRef.Cap .
|
||||
|
||||
DebtReporter = <debt-reporter @intervalSeconds double>.
|
||||
|
||||
TcpRelayListener = <relay-listener @addr TransportAddress.Tcp @gatekeeper #!gatekeeper.Resolve> .
|
||||
UnixRelayListener = <relay-listener @addr TransportAddress.Unix @gatekeeper #!gatekeeper.Resolve> .
|
||||
ConfigWatcher = <config-watcher @path string @env ConfigEnv>.
|
||||
|
||||
ConfigEnv = { symbol: any ...:... }.
|
|
@ -1,15 +0,0 @@
|
|||
#!/bin/sh
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
set -e
|
||||
|
||||
build() {
|
||||
make -C ~/src/syndicate-rs $1-binary-debug 2>&1 | tee buildlog.$1
|
||||
cp -p ~/src/syndicate-rs/target/$1-*/debug/syndicate-server syndicate-server.$1
|
||||
}
|
||||
|
||||
cp -r ~/src/syndicate-rs/syndicate-server/protocols .
|
||||
build x86_64 &
|
||||
#build armv7 &
|
||||
#build aarch64 &
|
||||
wait
|
|
@ -1,15 +0,0 @@
|
|||
#!/bin/sh
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
set -e
|
||||
|
||||
build() {
|
||||
make -C ~/src/syndicate-rs $1-binary-release 2>&1 | tee buildlog.$1
|
||||
cp -p ~/src/syndicate-rs/target/$1-*/release/syndicate-server syndicate-server.$1
|
||||
}
|
||||
|
||||
cp -r ~/src/syndicate-rs/syndicate-server/protocols .
|
||||
build x86_64 &
|
||||
build armv7 &
|
||||
build aarch64 &
|
||||
wait
|
|
@ -0,0 +1,7 @@
|
|||
# -*- makefile -*-
|
||||
|
||||
prepare:
|
||||
rsync -a ../../../protocols .
|
||||
|
||||
clean:
|
||||
rm -rf protocols
|
|
@ -1 +1,5 @@
|
|||
VERSION
|
||||
buildlog.*
|
||||
synit-pid1.aarch64
|
||||
synit-pid1.armv7
|
||||
synit-pid1.x86_64
|
||||
|
|
|
@ -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
|
||||
"
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
# -*- makefile -*-
|
||||
|
||||
prepare: miniclean
|
||||
$(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
|
||||
|
||||
miniclean:
|
||||
rm -f synit-pid1.$(ARCH)
|
||||
|
||||
clean: miniclean
|
||||
rm -f VERSION
|
|
@ -1,14 +0,0 @@
|
|||
#!/bin/sh
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
set -e
|
||||
|
||||
build() {
|
||||
make -C ../../../synit-pid1 $1-binary-release 2>&1 | tee buildlog.$1
|
||||
cp -p ../../../synit-pid1/target/$1-*/release/synit-pid1 synit-pid1.$1
|
||||
}
|
||||
|
||||
build x86_64 &
|
||||
build armv7 &
|
||||
build aarch64 &
|
||||
wait
|
Loading…
Reference in New Issue