summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2020-10-12 18:03:35 +0200
committerMatthias Beyer <mail@beyermatthias.de>2020-10-12 19:45:21 +0200
commit0bc00d9c2ab63cba1d77bc6f664f80c7a9c3b126 (patch)
tree799c638817aeabcd81317537b78f6407f6c871f5 /examples
parente7b4869b2688590fdcd605e21a213255c0f1f4c7 (diff)
Add example package hierarchy
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'examples')
-rw-r--r--examples/packages/example_1/Makefile8
-rw-r--r--examples/packages/example_1/README.md8
-rw-r--r--examples/packages/example_1/config.toml25
-rw-r--r--examples/packages/example_1/pkg.toml41
-rw-r--r--examples/packages/example_1/pkgA/pkg.toml16
-rw-r--r--examples/packages/example_1/pkgB/pkg.toml15
6 files changed, 113 insertions, 0 deletions
diff --git a/examples/packages/example_1/Makefile b/examples/packages/example_1/Makefile
new file mode 100644
index 0000000..5cb6a74
--- /dev/null
+++ b/examples/packages/example_1/Makefile
@@ -0,0 +1,8 @@
+REPO=/tmp/yabos_example_1
+
+setup:
+ @echo Setting up repository in ${REPO}
+ @rm -r ${REPO}
+ @mkdir -p ${REPO}
+ @cp -r . ${REPO}/
+ @echo Ready.
diff --git a/examples/packages/example_1/README.md b/examples/packages/example_1/README.md
new file mode 100644
index 0000000..532fedf
--- /dev/null
+++ b/examples/packages/example_1/README.md
@@ -0,0 +1,8 @@
+# Example package repository 1
+
+Example package repository 1 includes a simple chain of dependencies:
+
+ pkgA depends on pkgB
+
+The root "pkg.toml" file contains some default settings for the packages.
+
diff --git a/examples/packages/example_1/config.toml b/examples/packages/example_1/config.toml
new file mode 100644
index 0000000..dc56f49
--- /dev/null
+++ b/examples/packages/example_1/config.toml
@@ -0,0 +1,25 @@
+# Configuration file for YABOS for this repository
+
+# repository of package definitions
+repository = "/tmp/yabos_example_1"
+
+# Phases which can be configured in the packages
+available_phases = [ "unpack", "build", "install", "package" ]
+
+[docker]
+# Images which can be used to build
+# images not listed here are automatically rejected
+images = [ "debian:bullseye" ]
+
+# List of docker endpoints
+[[docker.endpoints]]
+name = "example host name"
+uri = "http://0.0.0.0:8095"
+endpoint_type = "http"
+
+
+[containers]
+# environment variables which are allowed during container start
+# This way, errors (typos) when passing environment to a build can be prevented
+allowed_env = [ "PATH" ]
+
diff --git a/examples/packages/example_1/pkg.toml b/examples/packages/example_1/pkg.toml
new file mode 100644
index 0000000..1d206c1
--- /dev/null
+++ b/examples/packages/example_1/pkg.toml
@@ -0,0 +1,41 @@
+# root package definition
+
+# We only use semver here
+version_is_semver = true
+
+# environment which is automatically inherited to all other packages
+# but can also be overridden in the other packages
+environment.FOO = "bar"
+environment.BAZ = "bla"
+
+# no patches by default
+patches = []
+
+[dependencies]
+system = []
+system_dep_script = ""
+build = []
+build_dep_script = ""
+runtime = []
+script = ""
+
+# Root description of phases
+# can be overridden as well
+[phases]
+
+unpack.script = '''
+ echo UnpackPhase
+'''
+
+build.script = '''
+ echo BuildPhase
+'''
+
+install.script = '''
+ echo InstallPhase
+'''
+
+package.script = '''
+ echo PackagePhase
+'''
+
diff --git a/examples/packages/example_1/pkgA/pkg.toml b/examples/packages/example_1/pkgA/pkg.toml
new file mode 100644
index 0000000..056a0f7
--- /dev/null
+++ b/examples/packages/example_1/pkgA/pkg.toml
@@ -0,0 +1,16 @@
+name = "pkgA"
+version = "1.0.0"
+
+[dependencies]
+runtime = [ "pkgB-1.0.0" ]
+
+[source]
+url = "http://somerandomthi.ng/foo/bar.tar.gz"
+hash.type = "sha1"
+hash.hash = "23465"
+
+# overwrites
+phases.install.script = '''
+ echo Overridden install phase in package pkgA
+'''
+
diff --git a/examples/packages/example_1/pkgB/pkg.toml b/examples/packages/example_1/pkgB/pkg.toml
new file mode 100644
index 0000000..95af716
--- /dev/null
+++ b/examples/packages/example_1/pkgB/pkg.toml
@@ -0,0 +1,15 @@
+name = "pkgB"
+version = "1.0.0"
+
+[source]
+url = "http://somerandomthi.ng/foo/bar.tar.gz"
+hash.type = "sha1"
+hash.hash = "23465"
+
+# overwrites
+[phases]
+
+build.script = '''
+ echo Overridden build phase in package pkgB
+'''
+