summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2021-02-10 19:14:55 +0100
committerMatthias Beyer <mail@beyermatthias.de>2021-02-11 18:22:38 +0100
commitc2fb88e4ea953d4dbc01ffc6341ccb4e9e59290c (patch)
tree8b6d21dd6a91a6e014beecb58bff32cd08542d06
parentf1eca4972dafc3e5eeb63a1efd65f76d2d7c6ed4 (diff)
Remove simple examples, add complex one
This patch removes the many simple examples and replaces them with one big example repository with 26 packages that have a complex dependency setup. This is nice for testing. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--examples/packages/1/Makefile62
-rw-r--r--examples/packages/1/README.md60
-rw-r--r--examples/packages/1/repo/a/pkg.toml14
-rw-r--r--examples/packages/1/repo/b/pkg.toml41
-rw-r--r--examples/packages/1/repo/c/pkg.toml15
-rw-r--r--examples/packages/1/repo/config.toml41
-rw-r--r--examples/packages/1/repo/d/pkg.toml14
-rw-r--r--examples/packages/1/repo/e/pkg.toml11
-rw-r--r--examples/packages/1/repo/f/pkg.toml11
-rw-r--r--examples/packages/1/repo/g/pkg.toml11
-rw-r--r--examples/packages/1/repo/h/pkg.toml14
-rw-r--r--examples/packages/1/repo/i/pkg.toml11
-rw-r--r--examples/packages/1/repo/j/pkg.toml11
-rw-r--r--examples/packages/1/repo/linterscript3
-rw-r--r--examples/packages/1/repo/pkg.toml71
-rw-r--r--examples/packages/1/sources/a-1.source1
-rw-r--r--examples/packages/1/sources/b-2.source1
-rw-r--r--examples/packages/1/sources/c-3.source1
-rw-r--r--examples/packages/1/sources/d-4.source1
-rw-r--r--examples/packages/1/sources/e-5.source1
-rw-r--r--examples/packages/1/sources/f-6.source1
-rw-r--r--examples/packages/1/sources/g-7.source1
-rw-r--r--examples/packages/1/sources/h-8.source1
-rw-r--r--examples/packages/1/sources/i-9.source1
-rw-r--r--examples/packages/1/sources/j-10.source1
-rw-r--r--examples/packages/Makefile (renamed from examples/packages/chain-dependencies/Makefile)11
-rw-r--r--examples/packages/README.md69
-rw-r--r--examples/packages/chain-dependencies/README.md25
-rw-r--r--examples/packages/chain-dependencies/repo/b/pkg.toml9
-rw-r--r--examples/packages/chain-dependencies/repo/c/pkg.toml9
-rw-r--r--examples/packages/diamond-dependencies/Makefile33
-rw-r--r--examples/packages/diamond-dependencies/README.md20
-rw-r--r--examples/packages/diamond-dependencies/repo/a/pkg.toml7
-rw-r--r--examples/packages/diamond-dependencies/repo/config.toml52
-rw-r--r--examples/packages/diamond-dependencies/repo/pkg.toml20
-rw-r--r--examples/packages/diamond-dependencies/sources/a-1/src-e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source1
-rw-r--r--examples/packages/diamond-dependencies/sources/b-2/src-7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source1
-rw-r--r--examples/packages/diamond-dependencies/sources/c-3/src-a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source1
-rw-r--r--examples/packages/example_tmux/Makefile38
-rw-r--r--examples/packages/example_tmux/README.md4
-rw-r--r--examples/packages/example_tmux/config.toml46
-rw-r--r--examples/packages/example_tmux/pkg.toml60
-rw-r--r--examples/packages/repo/a/pkg.toml (renamed from examples/packages/chain-dependencies/repo/a/pkg.toml)3
-rw-r--r--examples/packages/repo/b/pkg.toml (renamed from examples/packages/diamond-dependencies/repo/b/pkg.toml)3
-rw-r--r--examples/packages/repo/c/pkg.toml (renamed from examples/packages/diamond-dependencies/repo/c/pkg.toml)3
-rw-r--r--examples/packages/repo/config.toml (renamed from examples/packages/chain-dependencies/repo/config.toml)8
-rw-r--r--examples/packages/repo/d/pkg.toml (renamed from examples/packages/diamond-dependencies/repo/d/pkg.toml)3
-rw-r--r--examples/packages/repo/e/pkg.toml10
-rw-r--r--examples/packages/repo/f/pkg.toml10
-rw-r--r--examples/packages/repo/g/pkg.toml10
-rw-r--r--examples/packages/repo/h/pkg.toml7
-rw-r--r--examples/packages/repo/i/pkg.toml10
-rw-r--r--examples/packages/repo/j/pkg.toml10
-rw-r--r--examples/packages/repo/k/pkg.toml10
-rw-r--r--examples/packages/repo/l/pkg.toml10
-rw-r--r--examples/packages/repo/m/pkg.toml7
-rw-r--r--examples/packages/repo/n/pkg.toml7
-rw-r--r--examples/packages/repo/o/pkg.toml10
-rw-r--r--examples/packages/repo/p/pkg.toml10
-rw-r--r--examples/packages/repo/pkg.toml (renamed from examples/packages/chain-dependencies/repo/pkg.toml)0
-rw-r--r--examples/packages/repo/q/pkg.toml10
-rw-r--r--examples/packages/repo/r/pkg.toml7
-rw-r--r--examples/packages/repo/s/pkg.toml7
-rw-r--r--examples/packages/repo/t/pkg.toml7
-rw-r--r--examples/packages/repo/u/pkg.toml7
-rw-r--r--examples/packages/repo/v/pkg.toml10
-rw-r--r--examples/packages/repo/w/pkg.toml10
-rw-r--r--examples/packages/repo/x/pkg.toml10
-rw-r--r--examples/packages/repo/y/pkg.toml10
-rw-r--r--examples/packages/repo/z/pkg.toml7
-rw-r--r--examples/packages/sources/a-1/src-e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source (renamed from examples/packages/chain-dependencies/sources/a-1/src-e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source)0
-rw-r--r--examples/packages/sources/b-2/src-7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source (renamed from examples/packages/chain-dependencies/sources/b-2/src-7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source)0
-rw-r--r--examples/packages/sources/c-3/src-a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source (renamed from examples/packages/chain-dependencies/sources/c-3/src-a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source)0
-rw-r--r--examples/packages/sources/d-4/src-9c6b057a2b9d96a4067a749ee3b3b0158d390cf1.source (renamed from examples/packages/diamond-dependencies/sources/d-4/src-9c6b057a2b9d96a4067a749ee3b3b0158d390cf1.source)0
-rw-r--r--examples/packages/sources/e-5/src-5d9474c0309b7ca09a182d888f73b37a8fe1362c.source1
-rw-r--r--examples/packages/sources/f-6/src-ccf271b7830882da1791852baeca1737fcbe4b90.source1
-rw-r--r--examples/packages/sources/g-7/src-d3964f9dad9f60363c81b688324d95b4ec7c8038.source1
-rw-r--r--examples/packages/sources/h-8/src-136571b41aa14adc10c5f3c987d43c02c8f5d498.source1
-rw-r--r--examples/packages/sources/i-9/src-b6abd567fa79cbe0196d093a067271361dc6ca8b.source1
-rw-r--r--examples/packages/sources/j-10/src-4143d3a341877154d6e95211464e1df1015b74bd.source1
-rw-r--r--examples/packages/sources/k-11/src-dd71038f3463f511ee7403dbcbc87195302d891c.source1
-rw-r--r--examples/packages/sources/l-12/src-ad552e6dc057d1d825bf49df79d6b98eba846ebe.source1
-rw-r--r--examples/packages/sources/m-13/src-feee44ad365b6b1ec75c5621a0ad067371102854.source1
-rw-r--r--examples/packages/sources/n-14/src-030514d80869744a4e2f60d2fd37d6081f5ed01a.source1
-rw-r--r--examples/packages/sources/o-15/src-587b596f04f7db9c2cad3d6b87dd2b3a05de4f35.source1
-rw-r--r--examples/packages/sources/p-16/src-3596ea087bfdaf52380eae441077572ed289d657.source1
-rw-r--r--examples/packages/sources/q-17/src-ad48103e4fc71796e9708cafc43adeed0d1076b7.source1
-rw-r--r--examples/packages/sources/r-18/src-24b9c1f3fddff79893e5304f998f2f95ebebd149.source1
-rw-r--r--examples/packages/sources/s-19/src-ba9f376fa71904ccde2a756a24a4e47ec014ee0a.source1
-rw-r--r--examples/packages/sources/t-20/src-d0758565fd06c37aa66b071160d156f5628cd518.source1
-rw-r--r--examples/packages/sources/u-21/src-8eecbb71d418ef8c7d583dd506a994b1bc1c3f7b.source1
-rw-r--r--examples/packages/sources/v-22/src-a66ca4290ebaf525721fc670ea53476a15957f9e.source1
-rw-r--r--examples/packages/sources/w-23/src-aec46dc0de48f39f98f9572b6560ca3f0916b715.source1
-rw-r--r--examples/packages/sources/x-24/src-b31990eea1cee9f421c933461a2f3c3dd741a58b.source1
-rw-r--r--examples/packages/sources/y-25/src-c6e4ffdb7e1f4c736fb7ab897162332b4619d9ca.source1
-rw-r--r--examples/packages/sources/z-26/src-a0361d509d714f50e954ffeb49ac18222609cf2a.source1
96 files changed, 306 insertions, 738 deletions
diff --git a/examples/packages/1/Makefile b/examples/packages/1/Makefile
deleted file mode 100644
index 9de0fb9..0000000
--- a/examples/packages/1/Makefile
+++ /dev/null
@@ -1,62 +0,0 @@
-.PHONY: all
-all: directories copyrepo
-
-directories: ${BUTIDO_RELEASES} ${BUTIDO_STAGING} ${BUTIDO_SOURCE_CACHE} ${BUTIDO_LOG_DIR} ${BUTIDO_REPO}
-
-
-# to start a webserver for serving the source files.
-webserver: ./sources ${BUTIDO_SOURCE_CACHE}
- devd -A 127.0.0.1 -p 8180 -T ./sources
-
-
-copyrepo: ${BUTIDO_REPO} check-env
- cp -rv ./repo/* ${BUTIDO_REPO}/
- cd ${BUTIDO_REPO}/ && git init && git add . && git commit -m init
-
-${BUTIDO_RELEASES}: check-env
- mkdir -p "${BUTIDO_RELEASES}"
-
-${BUTIDO_STAGING}: check-env
- mkdir -p "${BUTIDO_STAGING}"
-
-${BUTIDO_SOURCE_CACHE}: check-env
- mkdir -p "${BUTIDO_SOURCE_CACHE}"
-
-${BUTIDO_LOG_DIR}: check-env
- mkdir -p "${BUTIDO_LOG_DIR}"
-
-${BUTIDO_REPO}: check-env
- mkdir -p "${BUTIDO_REPO}"
-
-
-check-env:
-ifndef BUTIDO_RELEASES
- $(error BUTIDO_RELEASES is undefined)
-endif
-ifndef BUTIDO_STAGING
- $(error BUTIDO_STAGING is undefined)
-endif
-ifndef BUTIDO_SOURCE_CACHE
- $(error BUTIDO_SOURCE_CACHE is undefined)
-endif
-ifndef BUTIDO_LOG_DIR
- $(error BUTIDO_LOG_DIR is undefined)
-endif
-ifndef BUTIDO_REPO
- $(error BUTIDO_REPO is undefined)
-endif
-ifndef BUTIDO_DATABASE_HOST
- $(error BUTIDO_DATABASE_HOST is undefined)
-endif
-ifndef BUTIDO_DATABASE_PORT
- $(error BUTIDO_DATABASE_PORT is undefined)
-endif
-ifndef BUTIDO_DATABASE_USER
- $(error BUTIDO_DATABASE_USER is undefined)
-endif
-ifndef BUTIDO_DATABASE_PASSWORD
- $(error BUTIDO_DATABASE_PASSWORD is undefined)
-endif
-ifndef BUTIDO_DATABASE_NAME
- $(error BUTIDO_DATABASE_NAME is undefined)
-endif
diff --git a/examples/packages/1/README.md b/examples/packages/1/README.md
deleted file mode 100644
index 4c680d2..0000000
--- a/examples/packages/1/README.md
+++ /dev/null
@@ -1,60 +0,0 @@
-# Example 1
-
-This is an example of packages.
-
-It contains only scripts that are packaged and not real packages, but it tries
-to resemble a real packaging process cleanly, including downloads and even
-failing builds (configurable via ENV variables).
-
-
-## Setup
-
-The top-level `shell.nix` file contains a list of environment variables that are
-required for butido and the Makefile to automagically find the right locations.
-
-The `shell.nix` file can be called with
-`nix-shell ./shell.nix --argstr example 1` to explicitely select the environment
-for example 1.
-
-
-## Downloads
-
-The downloads are done from localhost, where a (python) web server has to serve
-the files.
-Butido can download from there.
-
-
-## Packages
-
-The packages are dependend on eachother like this:
-
-```
-a
- `- b
- | `- d
- | | `- i
- | `- e
- | `- f
- `- c
- `- g
- `- h
- `- j
-```
-
-## Database
-
-The database host is to be expected to run with the settings specified in the
-`shell.nix` file (see `example_1_env`).
-
-See `/scripts/dev-pg-container.sh` for how to start the container.
-Use `diesel db reset` to setup the database.
-
-
-## Build
-
-The actual build is done in /tmp, where directories are created for the sources,
-staging packages, released packages, the repository of package definitions and
-the logs.
-
-The `Makefile` can be used to do this.
-
diff --git a/examples/packages/1/repo/a/pkg.toml b/examples/packages/1/repo/a/pkg.toml
deleted file mode 100644
index 6261999..0000000
--- a/examples/packages/1/repo/a/pkg.toml
+++ /dev/null
@@ -1,14 +0,0 @@
-name = "a"
-version = "1"
-
-[sources.src]
-url = "http://localhost:8180/a-1.source"
-hash.hash = "eb68d0823f7047958133e66ebedc923825e8a8fe"
-
-[dependencies]
-runtime = ["b =2", "c =3"]
-
-[phases]
-build.script = '''
- echo "Building {{name}} in version {{version}}"
-'''
diff --git a/examples/packages/1/repo/b/pkg.toml b/examples/packages/1/repo/b/pkg.toml
deleted file mode 100644
index df8cd3f..0000000
--- a/examples/packages/1/repo/b/pkg.toml
+++ /dev/null
@@ -1,41 +0,0 @@
-name = "b"
-version = "2"
-
-[sources.src]
-url = "http://localhost:8180/b-2.source"
-hash.hash = "89cad6f574693c02c8ecf94983ec20ffad43af0b"
-
-[dependencies]
-build = ["f =6"]
-runtime = ["d =4", "e =5"]
-
-[environment]
-FOO = "123"
-BAR = "bla"
-
-[phases]
-build.script = '''
- echo "Look my pretty variables: $FOO"
- if [[ -z "$FOO" ]]; then
- {{state "ERR" "Failed to find variable FOO"}}
- exit 1
- fi
-
- if [[ "$FOO" != "123" ]]; then
- {{state "ERR" "FOO is not equal to '123'"}}
- exit 1
- fi
-
- echo "Look my pretty variables: $BAR"
- if [[ -z "$BAR" ]]; then
- {{state "ERR" "Failed to find variable BAR"}}
- exit 1
- fi
-
- if [[ "$BAR" != "bla" ]]; then
- {{state "ERR" "BAR is not equal to 'bla'"}}
- exit 1
- fi
-
- echo "Building {{name}} in version {{version}}"
-'''
diff --git a/examples/packages/1/repo/c/pkg.toml b/examples/packages/1/repo/c/pkg.toml
deleted file mode 100644
index 67533fb..0000000
--- a/examples/packages/1/repo/c/pkg.toml
+++ /dev/null
@@ -1,15 +0,0 @@
-name = "c"
-version = "3"
-
-[sources.src]
-url = "http://localhost:8180/c-3.source"
-hash.hash = "ee4110c6e42791861e5720646c965580a0ddae8d"
-
-[dependencies]
-runtime = ["g =7", "h =8"]
-
-
-[phases]
-build.script = '''
- echo "Building {{name}} in version {{version}}"
-'''
diff --git a/examples/packages/1/repo/config.toml b/examples/packages/1/repo/config.toml
deleted file mode 100644
index 79f9fc8..0000000
--- a/examples/packages/1/repo/config.toml
+++ /dev/null
@@ -1,41 +0,0 @@
-# Configuration file for BUTIDO for this repository
-
-# In the example, these are configured via the environment.
-# See README.md
-#releases = "/tmp/example-1-releases"
-#staging = "/tmp/example-1-staging"
-#source_cache = "/tmp/example-1-sources"
-#log_dir = "/tmp/example-1-logs"
-#database_host = "localhost"
-#database_port = 5432
-#database_user = "pgdev"
-#database_password = "password"
-#database_name = "butido"
-
-script_highlight_theme = "Solarized (dark)"
-
-script_linter = "linterscript"
-
-# Phases which can be configured in the packages
-available_phases = [ "checksource", "unpack", "build", "package" ]
-
-[docker]
-# Images which can be used to build
-# images not listed here are automatically rejected
-images = [ "debian:bullseye" ]
-verify_images_present = true
-
-# List of docker endpoints
-[[docker.endpoints]]
-name = "localhost"
-uri = "http://0.0.0.0:8095"
-endpoint_type = "http"
-speed = 1
-maxjobs = 10
-
-[containers]
-# environment variables which are allowed during container start
-# This way, errors (typos) when passing environment to a build can be prevented
-check_env_names = true
-allowed_env = [ "FOO", "BAR" ]
-
diff --git a/examples/packages/1/repo/d/pkg.toml b/examples/packages/1/repo/d/pkg.toml
deleted file mode 100644
index ff4430d..0000000
--- a/examples/packages/1/repo/d/pkg.toml
+++ /dev/null
@@ -1,14 +0,0 @@
-name = "d"
-version = "4"
-
-[sources.src]
-url = "http://localhost:8180/d-4.source"
-hash.hash = "e8332116d7a7104f4affc10b6c65a93027441437"
-
-[dependencies]
-build = ["i =9"]
-
-[phases]
-build.script = '''
- echo "Building {{name}} in version {{version}}"
-'''
diff --git a/examples/packages/1/repo/e/pkg.toml b/examples/packages/1/repo/e/pkg.toml
deleted file mode 100644
index 9bf14f6..0000000
--- a/examples/packages/1/repo/e/pkg.toml
+++ /dev/null
@@ -1,11 +0,0 @@