Add solo5-tenders package (#2)
Solo5-tenders.0.7.3 is the same as solo5.0.7.3 with only the tenders and solo5-elftool. Solo5-tenders opam file conflicts with solo5 as they provide the same binaries. The OS packages are named solo5 and conflict with solo5-hvt. Reviewed-on: https://git.robur.io/robur/unikernel-repo/pulls/2 Co-authored-by: Reynir Björnsson <reynir@reynir.dk> Co-committed-by: Reynir Björnsson <reynir@reynir.dk>
This commit is contained in:
parent
2279c41b62
commit
e887cd761b
7 changed files with 194 additions and 0 deletions
17
packages/solo5-tenders.0.7.3/files/packaging/FreeBSD/MANIFEST
vendored
Normal file
17
packages/solo5-tenders.0.7.3/files/packaging/FreeBSD/MANIFEST
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
name: solo5
|
||||
version: 0.7.3
|
||||
origin: local/solo5
|
||||
comment: Solo5 tenders
|
||||
www: https://github.com/Solo5/solo5
|
||||
maintainer: Robur <team@robur.coop>
|
||||
prefix: /usr/local
|
||||
licenselogic: single
|
||||
licenses: [ISC]
|
||||
flatsize: %%FLATSIZE%%
|
||||
categories: [local]
|
||||
conflict: solo5-hvt
|
||||
|
||||
desc = <<EOD
|
||||
Solo5 sandboxed execution environment (all tenders)
|
||||
|
||||
EOD;
|
44
packages/solo5-tenders.0.7.3/files/packaging/FreeBSD/create_package.sh
vendored
Executable file
44
packages/solo5-tenders.0.7.3/files/packaging/FreeBSD/create_package.sh
vendored
Executable file
|
@ -0,0 +1,44 @@
|
|||
#!/bin/sh -e
|
||||
|
||||
# only execute anything if either
|
||||
# - running under orb with package = solo5-tenders
|
||||
# - not running under opam at all
|
||||
if [ "$ORB_BUILDING_PACKAGE" != "solo5-tenders" -a "$OPAM_PACKAGE_NAME" != "" ]; then
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
basedir=$(realpath "$(dirname "$0")"/../..)
|
||||
pdir=$basedir/packaging/FreeBSD
|
||||
tmpd=$basedir/_build/stage
|
||||
manifest=$tmpd/+MANIFEST
|
||||
rootdir=$tmpd/rootdir
|
||||
bindir=$rootdir/usr/local/bin
|
||||
|
||||
trap 'rm -rf $tmpd' 0 INT EXIT
|
||||
|
||||
mkdir -p "$bindir"
|
||||
|
||||
# stage app binaries
|
||||
install -U $basedir/elftool/solo5-elftool $bindir/solo5-elftool
|
||||
install -U $basedir/tenders/hvt/solo5-hvt $bindir/solo5-hvt
|
||||
|
||||
# create +MANIFEST
|
||||
flatsize=$(find "$rootdir" -type f -exec stat -f %z {} + |
|
||||
awk 'BEGIN {s=0} {s+=$1} END {print s}')
|
||||
|
||||
sed -e "s:%%FLATSIZE%%:${flatsize}:" -e "/^[Vv]ersion:/s/-/./g" "$pdir/MANIFEST" > "$manifest"
|
||||
|
||||
{
|
||||
printf '\nfiles {\n'
|
||||
find "$rootdir" -type f -exec sha256 -r {} + | sort |
|
||||
awk '{print " " $2 ": \"" $1 "\"," }'
|
||||
find "$rootdir" -type l | sort |
|
||||
awk "{print \" \"\$1 \": -,\"}"
|
||||
printf '}\n'
|
||||
} | sed -e "s:${rootdir}::" >> "$manifest"
|
||||
|
||||
export SOURCE_DATE_EPOCH=$(git log -1 --pretty=format:%ct)
|
||||
pkg create -r "$rootdir" -M "$manifest" -o $basedir/
|
||||
mv $basedir/solo5-*.pkg $basedir/solo5.pkg
|
||||
echo 'bin: [ "solo5.pkg" ]' > $basedir/solo5-tenders.install
|
||||
echo 'doc: [ "README.md" ]' >> $basedir/solo5-tenders.install
|
5
packages/solo5-tenders.0.7.3/files/packaging/debian/changelog
vendored
Normal file
5
packages/solo5-tenders.0.7.3/files/packaging/debian/changelog
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
solo5 (0.7.3) unstable; urgency=medium
|
||||
|
||||
* Initial release
|
||||
|
||||
-- Robur team <team@robur.coop>
|
19
packages/solo5-tenders.0.7.3/files/packaging/debian/control
vendored
Normal file
19
packages/solo5-tenders.0.7.3/files/packaging/debian/control
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
Package: solo5
|
||||
Version: 0.7.3
|
||||
Section: unknown
|
||||
Priority: optional
|
||||
Maintainer: Robur Team <team@robur.coop>
|
||||
Standards-Version: 4.4.1
|
||||
Homepage: https://github.com/Solo5/solo5
|
||||
Vcs-Browser: https://github.com/Solo5/solo5
|
||||
Vcs-Git: https://github.com/Solo5/solo5.git
|
||||
Conflicts: solo5-hvt
|
||||
Architecture: all
|
||||
Description: Solo5 sandboxed execution environment (all tenders)
|
||||
Solo5 is a sandboxed execution environment primarily intended
|
||||
for, but not limited to, running applications built using various
|
||||
unikernels (a.k.a. library operating systems).
|
||||
This package provides the Solo5 components needed to run MirageOS
|
||||
unikernels on all targets, including the. The "hvt" target is
|
||||
supported on 64-bit Linux, FreeBSD and OpenBSD systems with hardware
|
||||
virtualization.
|
8
packages/solo5-tenders.0.7.3/files/packaging/debian/copyright
vendored
Normal file
8
packages/solo5-tenders.0.7.3/files/packaging/debian/copyright
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: solo5
|
||||
Upstream-Contact: Robur Team <team@robur.coop>
|
||||
Source: https://github.com/solo5/solo5
|
||||
|
||||
Files: *
|
||||
Copyright: "Dan Williams <djwillia@us.ibm.com>" "Martin Lucina <martin@lucina.net>" "Ricardo Koller <kollerr@us.ibm.com>"
|
||||
License: ISC
|
35
packages/solo5-tenders.0.7.3/files/packaging/debian/create_package.sh
vendored
Executable file
35
packages/solo5-tenders.0.7.3/files/packaging/debian/create_package.sh
vendored
Executable file
|
@ -0,0 +1,35 @@
|
|||
#!/bin/sh -e
|
||||
|
||||
# only execute anything if either
|
||||
# - running under orb with package = solo5-tenders
|
||||
# - not running under opam at all
|
||||
if [ "$ORB_BUILDING_PACKAGE" != "solo5-tenders" -a "$OPAM_PACKAGE_NAME" != "" ]; then
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
basedir=$(realpath "$(dirname "$0")"/../..)
|
||||
tmpd=$basedir/_build/stage
|
||||
rootdir=$tmpd/rootdir
|
||||
bindir=$rootdir/usr/bin
|
||||
debiandir=$rootdir/DEBIAN
|
||||
|
||||
trap 'rm -rf $tmpd' 0 INT EXIT
|
||||
|
||||
mkdir -p "$bindir" "$debiandir"
|
||||
|
||||
# stage app binaries
|
||||
install $basedir/elftool/solo5-elftool $bindir/solo5-elftool
|
||||
install $basedir/tenders/hvt/solo5-hvt $bindir/solo5-hvt
|
||||
install $basedir/tenders/spt/solo5-spt $bindir/solo5-spt
|
||||
|
||||
# install debian metadata
|
||||
install -m 0644 $basedir/packaging/debian/control $debiandir/control
|
||||
install -m 0644 $basedir/packaging/debian/changelog $debiandir/changelog
|
||||
install -m 0644 $basedir/packaging/debian/copyright $debiandir/copyright
|
||||
|
||||
ARCH=$(dpkg-architecture -q DEB_TARGET_ARCH)
|
||||
sed -i -e "s/^Architecture:.*/Architecture: ${ARCH}/" $debiandir/control
|
||||
|
||||
dpkg-deb --build $rootdir $basedir/solo5.deb
|
||||
echo 'bin: [ "solo5.deb" ]' > $basedir/solo5-tenders.install
|
||||
echo 'doc: [ "README.md" ]' >> $basedir/solo5-tenders.install
|
66
packages/solo5-tenders.0.7.3/opam
vendored
Normal file
66
packages/solo5-tenders.0.7.3/opam
vendored
Normal file
|
@ -0,0 +1,66 @@
|
|||
opam-version: "2.0"
|
||||
maintainer: "martin@lucina.net"
|
||||
authors: [
|
||||
"Dan Williams <djwillia@us.ibm.com>"
|
||||
"Martin Lucina <martin@lucina.net>"
|
||||
"Ricardo Koller <kollerr@us.ibm.com>"
|
||||
]
|
||||
homepage: "https://github.com/solo5/solo5"
|
||||
bug-reports: "https://github.com/solo5/solo5/issues"
|
||||
license: "ISC"
|
||||
dev-repo: "git+https://github.com/solo5/solo5.git"
|
||||
build: [
|
||||
["./configure.sh" "--prefix=%{prefix}%" "--disable-toolchain"]
|
||||
[make "V=1"]
|
||||
["sh" "-ex" "packaging/FreeBSD/create_package.sh"] {os = "freebsd"}
|
||||
["sh" "-ex" "packaging/debian/create_package.sh"] {os-family = "debian"}
|
||||
]
|
||||
# install: [make "V=1" "install"]
|
||||
depends: [
|
||||
"conf-pkg-config" {build & os = "linux"}
|
||||
"conf-libseccomp" {build & os = "linux"}
|
||||
]
|
||||
depexts: [
|
||||
["linux-headers"] {os-distribution = "alpine"}
|
||||
["kernel-headers"] {os-distribution = "fedora"}
|
||||
["kernel-headers"] {os-distribution = "rhel"}
|
||||
["linux-libc-dev"] {os-family = "debian"}
|
||||
]
|
||||
conflicts: [
|
||||
"ocaml-freestanding" {< "0.7.0"}
|
||||
"solo5-bindings-hvt"
|
||||
"solo5-bindings-spt"
|
||||
"solo5-bindings-virtio"
|
||||
"solo5-bindings-muen"
|
||||
"solo5-bindings-genode"
|
||||
"solo5-bindings-xen"
|
||||
# XXX(reynir) we install the same binaries
|
||||
"solo5"
|
||||
]
|
||||
available: [
|
||||
(arch = "x86_64" | arch = "arm64" | arch = "ppc64") &
|
||||
(os = "linux" | os = "freebsd" | os = "openbsd")
|
||||
]
|
||||
synopsis: "Solo5 sandboxed execution environment"
|
||||
description: """
|
||||
Solo5 is a sandboxed execution environment primarily intended
|
||||
for, but not limited to, running applications built using various
|
||||
unikernels (a.k.a. library operating systems).
|
||||
|
||||
This package provides the Solo5 components needed to run MirageOS
|
||||
unikernels on the host system.
|
||||
"""
|
||||
url {
|
||||
src:
|
||||
"https://github.com/Solo5/solo5/releases/download/v0.7.3/solo5-v0.7.3.tar.gz"
|
||||
checksum:
|
||||
"sha512=cafc590923b7bb53f27d46255914af620e47f14ce772c2e03afb0badf3c89abe06e625db290a8ccfaf280320ad4e63cf4876106f5d1d8a7801b13ccb5c033f2d"
|
||||
}
|
||||
extra-files: [
|
||||
["packaging/FreeBSD/MANIFEST" "sha512=321f26281126749bb7307c4375a56ebedf32fd4c9028f21c8e2b995c04bb6ac83fd0971f213f01d3442cfcfd353e6a2578c6e24501fd84868914a2fa2c7859c8"]
|
||||
["packaging/FreeBSD/create_package.sh" "sha512=3c3c3b5d82fbd2651b9701f42a010c0a8a25f7b9dd0c134bc1f254a45d5d6b2589140f25af2a2ea87af2b5973a89e351d3a15e597026b850c110022f49a78f7d"]
|
||||
["packaging/debian/changelog" "sha512=c99c931846f6066be06fb69b19914dd1385a445b0d6d976f04a95198301469bd8e2d33bcc997796d81dd21c8b49d15cfec604ec707cfd9e8663f4bc8f5c7c22b"]
|
||||
["packaging/debian/control" "sha512=abb4458916e1e7574070c3ef243cfad58aabf600ef82a22585e55ad279c9f18753c94224bc34d55533e5069801d84c701996d572470ced9f8e9b9da25c484615"]
|
||||
["packaging/debian/copyright" "sha512=722fe8f14e03d015dec7bced1b3cca619e0aee2d9e067e298281052956b24aa41ed95f9c1917205a37097261d5ae3707c8053bad8aea144f0220ff50c02b9625"]
|
||||
["packaging/debian/create_package.sh" "sha512=383c4dde2ee85ad9357bcec3053a91326b9e091cd4cfb15c8c163af6c9d8b0759fcce21f9e7278b3444f7733886f468f59cec82322864f42b6ea7010e543bc3d"]
|
||||
]
|
Loading…
Reference in a new issue