Compare commits

...

7 Commits

30 changed files with 174 additions and 249 deletions

View File

@ -1,5 +1,6 @@
.build-image.*
.versions
distfiles/
target/
synit-apk-key
synit-apk-key.pub
target/

View File

@ -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"

View File

@ -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"

View File

@ -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

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

@ -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
"

View File

@ -1 +1,6 @@
VERSION
buildlog.*
preserves-tool.aarch64
preserves-tool.armv7
preserves-tool.x86_64
preserves/

View File

@ -1 +0,0 @@
APKBUILD.released

View File

@ -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"
}

View File

@ -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
"

View File

@ -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"

View File

@ -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

View File

@ -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
"

View File

@ -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
"

View File

@ -1 +1,7 @@
VERSION
buildlog.*
protocols/
syndicate-rs/
syndicate-server.aarch64
syndicate-server.armv7
syndicate-server.x86_64

View File

@ -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/."
}

View File

@ -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

View File

@ -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 $@

View File

@ -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„„„„„

View File

@ -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 ...] .

View File

@ -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
.

View File

@ -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 ...:... }.

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,7 @@
# -*- makefile -*-
prepare:
rsync -a ../../../protocols .
clean:
rm -rf protocols

View File

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

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,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

View File

@ -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