From c2fb88e4ea953d4dbc01ffc6341ccb4e9e59290c Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Wed, 10 Feb 2021 19:14:55 +0100 Subject: 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 --- examples/packages/1/Makefile | 62 ------------------- examples/packages/1/README.md | 60 ------------------ examples/packages/1/repo/a/pkg.toml | 14 ----- examples/packages/1/repo/b/pkg.toml | 41 ------------- examples/packages/1/repo/c/pkg.toml | 15 ----- examples/packages/1/repo/config.toml | 41 ------------- examples/packages/1/repo/d/pkg.toml | 14 ----- examples/packages/1/repo/e/pkg.toml | 11 ---- examples/packages/1/repo/f/pkg.toml | 11 ---- examples/packages/1/repo/g/pkg.toml | 11 ---- examples/packages/1/repo/h/pkg.toml | 14 ----- examples/packages/1/repo/i/pkg.toml | 11 ---- examples/packages/1/repo/j/pkg.toml | 11 ---- examples/packages/1/repo/linterscript | 3 - examples/packages/1/repo/pkg.toml | 71 ---------------------- examples/packages/1/sources/a-1.source | 1 - examples/packages/1/sources/b-2.source | 1 - examples/packages/1/sources/c-3.source | 1 - examples/packages/1/sources/d-4.source | 1 - examples/packages/1/sources/e-5.source | 1 - examples/packages/1/sources/f-6.source | 1 - examples/packages/1/sources/g-7.source | 1 - examples/packages/1/sources/h-8.source | 1 - examples/packages/1/sources/i-9.source | 1 - examples/packages/1/sources/j-10.source | 1 - examples/packages/Makefile | 34 +++++++++++ examples/packages/README.md | 69 +++++++++++++++++++++ examples/packages/chain-dependencies/Makefile | 33 ---------- examples/packages/chain-dependencies/README.md | 25 -------- .../packages/chain-dependencies/repo/a/pkg.toml | 7 --- .../packages/chain-dependencies/repo/b/pkg.toml | 9 --- .../packages/chain-dependencies/repo/c/pkg.toml | 9 --- .../packages/chain-dependencies/repo/config.toml | 52 ---------------- examples/packages/chain-dependencies/repo/pkg.toml | 20 ------ ...e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source | 1 - ...7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source | 1 - ...a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source | 1 - examples/packages/diamond-dependencies/Makefile | 33 ---------- examples/packages/diamond-dependencies/README.md | 20 ------ .../packages/diamond-dependencies/repo/a/pkg.toml | 7 --- .../packages/diamond-dependencies/repo/b/pkg.toml | 9 --- .../packages/diamond-dependencies/repo/c/pkg.toml | 9 --- .../packages/diamond-dependencies/repo/config.toml | 52 ---------------- .../packages/diamond-dependencies/repo/d/pkg.toml | 9 --- .../packages/diamond-dependencies/repo/pkg.toml | 20 ------ ...e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source | 1 - ...7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source | 1 - ...a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source | 1 - ...9c6b057a2b9d96a4067a749ee3b3b0158d390cf1.source | 1 - examples/packages/example_tmux/Makefile | 38 ------------ examples/packages/example_tmux/README.md | 4 -- examples/packages/example_tmux/config.toml | 46 -------------- examples/packages/example_tmux/pkg.toml | 60 ------------------ examples/packages/repo/a/pkg.toml | 10 +++ examples/packages/repo/b/pkg.toml | 10 +++ examples/packages/repo/c/pkg.toml | 10 +++ examples/packages/repo/config.toml | 52 ++++++++++++++++ examples/packages/repo/d/pkg.toml | 10 +++ examples/packages/repo/e/pkg.toml | 10 +++ examples/packages/repo/f/pkg.toml | 10 +++ examples/packages/repo/g/pkg.toml | 10 +++ examples/packages/repo/h/pkg.toml | 7 +++ examples/packages/repo/i/pkg.toml | 10 +++ examples/packages/repo/j/pkg.toml | 10 +++ examples/packages/repo/k/pkg.toml | 10 +++ examples/packages/repo/l/pkg.toml | 10 +++ examples/packages/repo/m/pkg.toml | 7 +++ examples/packages/repo/n/pkg.toml | 7 +++ examples/packages/repo/o/pkg.toml | 10 +++ examples/packages/repo/p/pkg.toml | 10 +++ examples/packages/repo/pkg.toml | 20 ++++++ examples/packages/repo/q/pkg.toml | 10 +++ examples/packages/repo/r/pkg.toml | 7 +++ examples/packages/repo/s/pkg.toml | 7 +++ examples/packages/repo/t/pkg.toml | 7 +++ examples/packages/repo/u/pkg.toml | 7 +++ examples/packages/repo/v/pkg.toml | 10 +++ examples/packages/repo/w/pkg.toml | 10 +++ examples/packages/repo/x/pkg.toml | 10 +++ examples/packages/repo/y/pkg.toml | 10 +++ examples/packages/repo/z/pkg.toml | 7 +++ ...e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source | 1 + ...7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source | 1 + ...a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source | 1 + ...9c6b057a2b9d96a4067a749ee3b3b0158d390cf1.source | 1 + ...5d9474c0309b7ca09a182d888f73b37a8fe1362c.source | 1 + ...ccf271b7830882da1791852baeca1737fcbe4b90.source | 1 + ...d3964f9dad9f60363c81b688324d95b4ec7c8038.source | 1 + ...136571b41aa14adc10c5f3c987d43c02c8f5d498.source | 1 + ...b6abd567fa79cbe0196d093a067271361dc6ca8b.source | 1 + ...4143d3a341877154d6e95211464e1df1015b74bd.source | 1 + ...dd71038f3463f511ee7403dbcbc87195302d891c.source | 1 + ...ad552e6dc057d1d825bf49df79d6b98eba846ebe.source | 1 + ...feee44ad365b6b1ec75c5621a0ad067371102854.source | 1 + ...030514d80869744a4e2f60d2fd37d6081f5ed01a.source | 1 + ...587b596f04f7db9c2cad3d6b87dd2b3a05de4f35.source | 1 + ...3596ea087bfdaf52380eae441077572ed289d657.source | 1 + ...ad48103e4fc71796e9708cafc43adeed0d1076b7.source | 1 + ...24b9c1f3fddff79893e5304f998f2f95ebebd149.source | 1 + ...ba9f376fa71904ccde2a756a24a4e47ec014ee0a.source | 1 + ...d0758565fd06c37aa66b071160d156f5628cd518.source | 1 + ...8eecbb71d418ef8c7d583dd506a994b1bc1c3f7b.source | 1 + ...a66ca4290ebaf525721fc670ea53476a15957f9e.source | 1 + ...aec46dc0de48f39f98f9572b6560ca3f0916b715.source | 1 + ...b31990eea1cee9f421c933461a2f3c3dd741a58b.source | 1 + ...c6e4ffdb7e1f4c736fb7ab897162332b4619d9ca.source | 1 + ...a0361d509d714f50e954ffeb49ac18222609cf2a.source | 1 + 107 files changed, 437 insertions(+), 869 deletions(-) delete mode 100644 examples/packages/1/Makefile delete mode 100644 examples/packages/1/README.md delete mode 100644 examples/packages/1/repo/a/pkg.toml delete mode 100644 examples/packages/1/repo/b/pkg.toml delete mode 100644 examples/packages/1/repo/c/pkg.toml delete mode 100644 examples/packages/1/repo/config.toml delete mode 100644 examples/packages/1/repo/d/pkg.toml delete mode 100644 examples/packages/1/repo/e/pkg.toml delete mode 100644 examples/packages/1/repo/f/pkg.toml delete mode 100644 examples/packages/1/repo/g/pkg.toml delete mode 100644 examples/packages/1/repo/h/pkg.toml delete mode 100644 examples/packages/1/repo/i/pkg.toml delete mode 100644 examples/packages/1/repo/j/pkg.toml delete mode 100644 examples/packages/1/repo/linterscript delete mode 100644 examples/packages/1/repo/pkg.toml delete mode 100644 examples/packages/1/sources/a-1.source delete mode 100644 examples/packages/1/sources/b-2.source delete mode 100644 examples/packages/1/sources/c-3.source delete mode 100644 examples/packages/1/sources/d-4.source delete mode 100644 examples/packages/1/sources/e-5.source delete mode 100644 examples/packages/1/sources/f-6.source delete mode 100644 examples/packages/1/sources/g-7.source delete mode 100644 examples/packages/1/sources/h-8.source delete mode 100644 examples/packages/1/sources/i-9.source delete mode 100644 examples/packages/1/sources/j-10.source create mode 100644 examples/packages/Makefile create mode 100644 examples/packages/README.md delete mode 100644 examples/packages/chain-dependencies/Makefile delete mode 100644 examples/packages/chain-dependencies/README.md delete mode 100644 examples/packages/chain-dependencies/repo/a/pkg.toml delete mode 100644 examples/packages/chain-dependencies/repo/b/pkg.toml delete mode 100644 examples/packages/chain-dependencies/repo/c/pkg.toml delete mode 100644 examples/packages/chain-dependencies/repo/config.toml delete mode 100644 examples/packages/chain-dependencies/repo/pkg.toml delete mode 100644 examples/packages/chain-dependencies/sources/a-1/src-e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source delete mode 100644 examples/packages/chain-dependencies/sources/b-2/src-7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source delete mode 100644 examples/packages/chain-dependencies/sources/c-3/src-a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source delete mode 100644 examples/packages/diamond-dependencies/Makefile delete mode 100644 examples/packages/diamond-dependencies/README.md delete mode 100644 examples/packages/diamond-dependencies/repo/a/pkg.toml delete mode 100644 examples/packages/diamond-dependencies/repo/b/pkg.toml delete mode 100644 examples/packages/diamond-dependencies/repo/c/pkg.toml delete mode 100644 examples/packages/diamond-dependencies/repo/config.toml delete mode 100644 examples/packages/diamond-dependencies/repo/d/pkg.toml delete mode 100644 examples/packages/diamond-dependencies/repo/pkg.toml delete mode 100644 examples/packages/diamond-dependencies/sources/a-1/src-e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source delete mode 100644 examples/packages/diamond-dependencies/sources/b-2/src-7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source delete mode 100644 examples/packages/diamond-dependencies/sources/c-3/src-a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source delete mode 100644 examples/packages/diamond-dependencies/sources/d-4/src-9c6b057a2b9d96a4067a749ee3b3b0158d390cf1.source delete mode 100644 examples/packages/example_tmux/Makefile delete mode 100644 examples/packages/example_tmux/README.md delete mode 100644 examples/packages/example_tmux/config.toml delete mode 100644 examples/packages/example_tmux/pkg.toml create mode 100644 examples/packages/repo/a/pkg.toml create mode 100644 examples/packages/repo/b/pkg.toml create mode 100644 examples/packages/repo/c/pkg.toml create mode 100644 examples/packages/repo/config.toml create mode 100644 examples/packages/repo/d/pkg.toml create mode 100644 examples/packages/repo/e/pkg.toml create mode 100644 examples/packages/repo/f/pkg.toml create mode 100644 examples/packages/repo/g/pkg.toml create mode 100644 examples/packages/repo/h/pkg.toml create mode 100644 examples/packages/repo/i/pkg.toml create mode 100644 examples/packages/repo/j/pkg.toml create mode 100644 examples/packages/repo/k/pkg.toml create mode 100644 examples/packages/repo/l/pkg.toml create mode 100644 examples/packages/repo/m/pkg.toml create mode 100644 examples/packages/repo/n/pkg.toml create mode 100644 examples/packages/repo/o/pkg.toml create mode 100644 examples/packages/repo/p/pkg.toml create mode 100644 examples/packages/repo/pkg.toml create mode 100644 examples/packages/repo/q/pkg.toml create mode 100644 examples/packages/repo/r/pkg.toml create mode 100644 examples/packages/repo/s/pkg.toml create mode 100644 examples/packages/repo/t/pkg.toml create mode 100644 examples/packages/repo/u/pkg.toml create mode 100644 examples/packages/repo/v/pkg.toml create mode 100644 examples/packages/repo/w/pkg.toml create mode 100644 examples/packages/repo/x/pkg.toml create mode 100644 examples/packages/repo/y/pkg.toml create mode 100644 examples/packages/repo/z/pkg.toml create mode 100644 examples/packages/sources/a-1/src-e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source create mode 100644 examples/packages/sources/b-2/src-7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source create mode 100644 examples/packages/sources/c-3/src-a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source create mode 100644 examples/packages/sources/d-4/src-9c6b057a2b9d96a4067a749ee3b3b0158d390cf1.source create mode 100644 examples/packages/sources/e-5/src-5d9474c0309b7ca09a182d888f73b37a8fe1362c.source create mode 100644 examples/packages/sources/f-6/src-ccf271b7830882da1791852baeca1737fcbe4b90.source create mode 100644 examples/packages/sources/g-7/src-d3964f9dad9f60363c81b688324d95b4ec7c8038.source create mode 100644 examples/packages/sources/h-8/src-136571b41aa14adc10c5f3c987d43c02c8f5d498.source create mode 100644 examples/packages/sources/i-9/src-b6abd567fa79cbe0196d093a067271361dc6ca8b.source create mode 100644 examples/packages/sources/j-10/src-4143d3a341877154d6e95211464e1df1015b74bd.source create mode 100644 examples/packages/sources/k-11/src-dd71038f3463f511ee7403dbcbc87195302d891c.source create mode 100644 examples/packages/sources/l-12/src-ad552e6dc057d1d825bf49df79d6b98eba846ebe.source create mode 100644 examples/packages/sources/m-13/src-feee44ad365b6b1ec75c5621a0ad067371102854.source create mode 100644 examples/packages/sources/n-14/src-030514d80869744a4e2f60d2fd37d6081f5ed01a.source create mode 100644 examples/packages/sources/o-15/src-587b596f04f7db9c2cad3d6b87dd2b3a05de4f35.source create mode 100644 examples/packages/sources/p-16/src-3596ea087bfdaf52380eae441077572ed289d657.source create mode 100644 examples/packages/sources/q-17/src-ad48103e4fc71796e9708cafc43adeed0d1076b7.source create mode 100644 examples/packages/sources/r-18/src-24b9c1f3fddff79893e5304f998f2f95ebebd149.source create mode 100644 examples/packages/sources/s-19/src-ba9f376fa71904ccde2a756a24a4e47ec014ee0a.source create mode 100644 examples/packages/sources/t-20/src-d0758565fd06c37aa66b071160d156f5628cd518.source create mode 100644 examples/packages/sources/u-21/src-8eecbb71d418ef8c7d583dd506a994b1bc1c3f7b.source create mode 100644 examples/packages/sources/v-22/src-a66ca4290ebaf525721fc670ea53476a15957f9e.source create mode 100644 examples/packages/sources/w-23/src-aec46dc0de48f39f98f9572b6560ca3f0916b715.source create mode 100644 examples/packages/sources/x-24/src-b31990eea1cee9f421c933461a2f3c3dd741a58b.source create mode 100644 examples/packages/sources/y-25/src-c6e4ffdb7e1f4c736fb7ab897162332b4619d9ca.source create mode 100644 examples/packages/sources/z-26/src-a0361d509d714f50e954ffeb49ac18222609cf2a.source (limited to 'examples') 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 @@ -name = "e" -version = "5" - -[sources.src] -url = "http://localhost:8180/e-5.source" -hash.hash = "f2c844feb6ccb9e4977f256a5126aac77334ec5a" - -[phases] -build.script = ''' - echo "Building {{name}} in version {{version}}" -''' diff --git a/examples/packages/1/repo/f/pkg.toml b/examples/packages/1/repo/f/pkg.toml deleted file mode 100644 index c78e6fe..0000000 --- a/examples/packages/1/repo/f/pkg.toml +++ /dev/null @@ -1,11 +0,0 @@ -name = "f" -version = "6" - -[sources.src] -url = "http://localhost:8180/f-6.source" -hash.hash = "1ad43418fb476e812c7c27c225a823eda89efc50" - -[phases] -build.script = ''' - echo "Building {{name}} in version {{version}}" -''' diff --git a/examples/packages/1/repo/g/pkg.toml b/examples/packages/1/repo/g/pkg.toml deleted file mode 100644 index caaea2f..0000000 --- a/examples/packages/1/repo/g/pkg.toml +++ /dev/null @@ -1,11 +0,0 @@ -name = "g" -version = "7" - -[sources.src] -url = "http://localhost:8180/g-7.source" -hash.hash = "c7af27a237cb21368eb2b25a068e72283b528684" - -[phases] -build.script = ''' - echo "Building {{name}} in version {{version}}" -''' diff --git a/examples/packages/1/repo/h/pkg.toml b/examples/packages/1/repo/h/pkg.toml deleted file mode 100644 index eff3fdf..0000000 --- a/examples/packages/1/repo/h/pkg.toml +++ /dev/null @@ -1,14 +0,0 @@ -name = "h" -version = "8" - -[sources.src] -url = "http://localhost:8180/h-8.source" -hash.hash = "387d6873dfbdbaf116e1091c8b11eaf406b98f8f" - -[dependencies] -build = ["j =10"] - -[phases] -build.script = ''' - echo "Building {{name}} in version {{version}}" -''' diff --git a/examples/packages/1/repo/i/pkg.toml b/examples/packages/1/repo/i/pkg.toml deleted file mode 100644 index 7545e0b..0000000 --- a/examples/packages/1/repo/i/pkg.toml +++ /dev/null @@ -1,11 +0,0 @@ -name = "i" -version = "9" - -[sources.src] -url = "http://localhost:8180/i-9.source" -hash.hash = "11578a82ef30e5c9787f6a2342dec4b856c257d2" - -[phases] -build.script = ''' - echo "Building {{name}} in version {{version}}" -''' diff --git a/examples/packages/1/repo/j/pkg.toml b/examples/packages/1/repo/j/pkg.toml deleted file mode 100644 index a1b87c6..0000000 --- a/examples/packages/1/repo/j/pkg.toml +++ /dev/null @@ -1,11 +0,0 @@ -name = "j" -version = "10" - -[sources.src] -url = "http://localhost:8180/j-10.source" -hash.hash = "96ef992ccecfcef89a6a964af8a83b88a1351129" - -[phases] -build.script = ''' - echo "Building {{name}} in version {{version}}" -''' diff --git a/examples/packages/1/repo/linterscript b/examples/packages/1/repo/linterscript deleted file mode 100644 index 0178583..0000000 --- a/examples/packages/1/repo/linterscript +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -shellcheck - diff --git a/examples/packages/1/repo/pkg.toml b/examples/packages/1/repo/pkg.toml deleted file mode 100644 index 1ad8345..0000000 --- a/examples/packages/1/repo/pkg.toml +++ /dev/null @@ -1,71 +0,0 @@ -version = "1" -version_is_semver = false - -# no patches by default -patches = [] - -[sources.src] -hash.type = "sha1" -download_manually = false - -[dependencies] -build = [] -runtime = [] - -# Root description of phases -# can be overridden as well -[phases] - -checksource.script = ''' - {{phase "Checking sources"}} - {{progress 0}} - - echo "Sources for this Package:" - {{#each sources}} - echo "{{@key}} : {{this.url}}" - echo "{{this.hash.type}}: {{this.hash.hash}}" - - if [ ! -e /inputs/{{@key}}-{{this.hash.hash}}.source ]; then - {{state "ERR" "Failed to find source" }} - exit 1 - fi - {{/each}} - {{progress 20}} - - echo "All sources:" - echo "------------" - - ls /inputs - - echo "------------" -''' - -unpack.script = ''' - {{phase "Unpacking sources"}} - - mkdir /build - {{#each sources}} - mv /inputs/{{@key}}-{{this.hash.hash}}.source /build/ - {{/each}} - {{progress 40}} - - echo "Moving dependencies to /build" - mv /inputs/*.pkg /build/ - {{progress 60}} - - - ls /build -''' - -package.script = ''' - {{phase "package"}} - - mkdir /outputs - for f in /build/*; do - cat "$f" | sed 's,^, ,' >> /outputs/{{name}}-{{version}}.pkg - done - - {{progress 100}} - {{state "OK"}} - - diff --git a/examples/packages/1/sources/a-1.source b/examples/packages/1/sources/a-1.source deleted file mode 100644 index 186e86d..0000000 --- a/examples/packages/1/sources/a-1.source +++ /dev/null @@ -1 +0,0 @@ -a-1 diff --git a/examples/packages/1/sources/b-2.source b/examples/packages/1/sources/b-2.source deleted file mode 100644 index 99add72..0000000 --- a/examples/packages/1/sources/b-2.source +++ /dev/null @@ -1 +0,0 @@ -b-2 diff --git a/examples/packages/1/sources/c-3.source b/examples/packages/1/sources/c-3.source deleted file mode 100644 index fff5324..0000000 --- a/examples/packages/1/sources/c-3.source +++ /dev/null @@ -1 +0,0 @@ -c-3 diff --git a/examples/packages/1/sources/d-4.source b/examples/packages/1/sources/d-4.source deleted file mode 100644 index db8f742..0000000 --- a/examples/packages/1/sources/d-4.source +++ /dev/null @@ -1 +0,0 @@ -d-4 diff --git a/examples/packages/1/sources/e-5.source b/examples/packages/1/sources/e-5.source deleted file mode 100644 index a55d5b7..0000000 --- a/examples/packages/1/sources/e-5.source +++ /dev/null @@ -1 +0,0 @@ -e-5 diff --git a/examples/packages/1/sources/f-6.source b/examples/packages/1/sources/f-6.source deleted file mode 100644 index a959d8f..0000000 --- a/examples/packages/1/sources/f-6.source +++ /dev/null @@ -1 +0,0 @@ -f-6 diff --git a/examples/packages/1/sources/g-7.source b/examples/packages/1/sources/g-7.source deleted file mode 100644 index e0ede95..0000000 --- a/examples/packages/1/sources/g-7.source +++ /dev/null @@ -1 +0,0 @@ -g-7 diff --git a/examples/packages/1/sources/h-8.source b/examples/packages/1/sources/h-8.source deleted file mode 100644 index 7f16a18..0000000 --- a/examples/packages/1/sources/h-8.source +++ /dev/null @@ -1 +0,0 @@ -h-8 diff --git a/examples/packages/1/sources/i-9.source b/examples/packages/1/sources/i-9.source deleted file mode 100644 index a1215d1..0000000 --- a/examples/packages/1/sources/i-9.source +++ /dev/null @@ -1 +0,0 @@ -i-9 diff --git a/examples/packages/1/sources/j-10.source b/examples/packages/1/sources/j-10.source deleted file mode 100644 index 7c049e2..0000000 --- a/examples/packages/1/sources/j-10.source +++ /dev/null @@ -1 +0,0 @@ -j-10 diff --git a/examples/packages/Makefile b/examples/packages/Makefile new file mode 100644 index 0000000..eca35f8 --- /dev/null +++ b/examples/packages/Makefile @@ -0,0 +1,34 @@ +export BUTIDO_RELEASES="/tmp/butido-test-releases" +export BUTIDO_STAGING="/tmp/butido-test-staging" +export BUTIDO_SOURCE_CACHE="/tmp/butido-test-sources" +export BUTIDO_LOG_DIR="/tmp/butido-test-logs" +export BUTIDO_REPO="/tmp/butido-test-repo" + +.PHONY: all +all: directories copyrepo copysrc + +directories: ${BUTIDO_RELEASES} ${BUTIDO_STAGING} ${BUTIDO_SOURCE_CACHE} ${BUTIDO_LOG_DIR} ${BUTIDO_REPO} + +copyrepo: ${BUTIDO_REPO} + cp -rv ./repo/* ${BUTIDO_REPO}/ + cd ${BUTIDO_REPO}/ && git init && git add . && git commit -m init + +copysrc: ${BUTIDO_SOURCE_CACHE} + cp -rv ./sources/* ${BUTIDO_SOURCE_CACHE}/ + +${BUTIDO_RELEASES}: + mkdir -p "${BUTIDO_RELEASES}" + +${BUTIDO_STAGING}: + mkdir -p "${BUTIDO_STAGING}" + +${BUTIDO_SOURCE_CACHE}: + mkdir -p "${BUTIDO_SOURCE_CACHE}" + +${BUTIDO_LOG_DIR}: + mkdir -p "${BUTIDO_LOG_DIR}" + +${BUTIDO_REPO}: + mkdir -p "${BUTIDO_REPO}" + + diff --git a/examples/packages/README.md b/examples/packages/README.md new file mode 100644 index 0000000..5271689 --- /dev/null +++ b/examples/packages/README.md @@ -0,0 +1,69 @@ +# Example package tree + +This subtree contains a large number of "packages", whereas each "package" is +nothing more than a number piped to a file. +This can be used to test out butido and how it works. + + +## The packages + +Each package has a single-letter name ('a'..'z') and a version number that +increases for each package, so 'a' has version '1', and 'b' has version '2' and +so on. + +The hierarchy of packages is described as follows: + + A + + + | + +---------------+----------------+ + | | + v v + B C + + + + | +--------------------+ + +-------------+ | | | + v v v v v v + D E F+--------+ G H I + + + + | + + + | | | | | +---+---+ + v v v +---+-+-+---+ v v + J K L | | | | Q R + + + + v v v v + + +--+---+ | | M N O P | + v v | v + + v + S T +----->U | | V + + | | + + | | | | + | | | v + | | | W + | | | + + | | | | + | | | v + +-----------------+---+-------> X + + + | + v + Y + + + | + v + Z + + +The important features here: + +* A simple chain of dependencies: Q -> V -> W -> X -> Y -> Z +* DAG-Features (non-treeish dependencies): + * F -> M + * K -> U + * O -> X + * P -> X + + +The order of builds should be opposite of the arrows, with builds for Z, R, H, +N, M, T and S starting right away. + + +Multiple versions of one package are not yet considered in this setup. + diff --git a/examples/packages/chain-dependencies/Makefile b/examples/packages/chain-dependencies/Makefile deleted file mode 100644 index c8b13d4..0000000 --- a/examples/packages/chain-dependencies/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -export BUTIDO_RELEASES="/tmp/butido-test-chain-dependencies-releases" -export BUTIDO_STAGING="/tmp/butido-test-chain-dependencies-staging" -export BUTIDO_SOURCE_CACHE="/tmp/butido-test-chain-dependencies-sources" -export BUTIDO_LOG_DIR="/tmp/butido-test-chain-dependencies-logs" -export BUTIDO_REPO="/tmp/butido-test-chain-dependencies-repo" - -.PHONY: all -all: directories copyrepo copysrc - -directories: ${BUTIDO_RELEASES} ${BUTIDO_STAGING} ${BUTIDO_SOURCE_CACHE} ${BUTIDO_LOG_DIR} ${BUTIDO_REPO} - -copyrepo: ${BUTIDO_REPO} - cp -rv ./repo/* ${BUTIDO_REPO}/ - cd ${BUTIDO_REPO}/ && git init && git add . && git commit -m init - -copysrc: ${BUTIDO_SOURCE_CACHE} - cp -rv ./sources/* ${BUTIDO_SOURCE_CACHE}/ - -${BUTIDO_RELEASES}: - mkdir -p "${BUTIDO_RELEASES}" - -${BUTIDO_STAGING}: - mkdir -p "${BUTIDO_STAGING}" - -${BUTIDO_SOURCE_CACHE}: - mkdir -p "${BUTIDO_SOURCE_CACHE}" - -${BUTIDO_LOG_DIR}: - mkdir -p "${BUTIDO_LOG_DIR}" - -${BUTIDO_REPO}: - mkdir -p "${BUTIDO_REPO}" - diff --git a/examples/packages/chain-dependencies/README.md b/examples/packages/chain-dependencies/README.md deleted file mode 100644 index d6a9a7d..0000000 --- a/examples/packages/chain-dependencies/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# Test chained dependencies - -This subtree provides a testcase for the following: - -If we have a package tree that looks like this: - - C -> B -> A - -("->" means "depends on"). - -We construct three jobs, where B waits for results from A and C waits for -results from B and A. - -Though, the implementation has a bug right now, where C waits for results from B -and A, but the results from A are not forwarded from B to C. - -This subtree provides a test for reproducing the issue as a baseline to solve -it. - - -## Note - -To reproduce the issue, make sure to adapt the ./repo/config.toml as appropriate -for your environment. - diff --git a/examples/packages/chain-dependencies/repo/a/pkg.toml b/examples/packages/chain-dependencies/repo/a/pkg.toml deleted file mode 100644 index e3670c6..0000000 --- a/examples/packages/chain-dependencies/repo/a/pkg.toml +++ /dev/null @@ -1,7 +0,0 @@ -name = "a" -version = "1" - -[sources.src] -url = "https://example.com" -hash.hash = "e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e" - diff --git a/examples/packages/chain-dependencies/repo/b/pkg.toml b/examples/packages/chain-dependencies/repo/b/pkg.toml deleted file mode 100644 index 6c0f448..0000000 --- a/examples/packages/chain-dependencies/repo/b/pkg.toml +++ /dev/null @@ -1,9 +0,0 @@ -name = "b" -version = "2" - -[dependencies] -build = ["a =1"] - -[sources.src] -url = "https://example.com" -hash.hash = "7448d8798a4380162d4b56f9b452e2f6f9e24e7a" diff --git a/examples/packages/chain-dependencies/repo/c/pkg.toml b/examples/packages/chain-dependencies/repo/c/pkg.toml deleted file mode 100644 index d03035d..0000000 --- a/examples/packages/chain-dependencies/repo/c/pkg.toml +++ /dev/null @@ -1,9 +0,0 @@ -name = "c" -version = "3" - -[dependencies] -build = ["b =2"] - -[sources.src] -url = "https://example.com" -hash.hash = "a3db5c13ff90a36963278c6a39e4ee3c22e2a436" diff --git a/examples/packages/chain-dependencies/repo/config.toml b/examples/packages/chain-dependencies/repo/config.toml deleted file mode 100644 index e96d1f1..0000000 --- a/examples/packages/chain-dependencies/repo/config.toml +++ /dev/null @@ -1,52 +0,0 @@ -# Example configuration file for butido -compatibility = "0.1.0" -script_highlight_theme = "Solarized (dark)" - -releases = "/tmp/butido-test-chain-dependencies-releases" -staging = "/tmp/butido-test-chain-dependencies-staging" -source_cache = "/tmp/butido-test-chain-dependencies-sources" -log_dir = "/tmp/butido-test-chain-dependencies-logs" - - -strict_script_interpolation = true - - -# -# -# Log database configuration -# -# - -# Database configuration should be self-explanatory -database_host = "localhost" -database_port = 5432 -database_user = "pgdev" -database_password = "password" -database_name = "butido" - -available_phases = [ "dummy" ] - - -[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 = "testhostname" -uri = "http://0.0.0.0:8095" # the URI of the endpoint. Either http or socket path -endpoint_type = "http" # either "http" or "socket" -speed = 1 # currently ignored, but required to be present -maxjobs = 1 # currently ignored, but required to be present - - -[containers] -check_env_names = true -allowed_env = [ ] - diff --git a/examples/packages/chain-dependencies/repo/pkg.toml b/examples/packages/chain-dependencies/repo/pkg.toml deleted file mode 100644 index aff709b..0000000 --- a/examples/packages/chain-dependencies/repo/pkg.toml +++ /dev/null @@ -1,20 +0,0 @@ -version_is_semver = false -patches = [] - -[dependencies] -build = [] -runtime = [] - -[sources.src] -hash.type = "sha1" -download_manually = false - -[phases] - -dummy.script = ''' - echo "Dummy" - - mkdir /outputs - touch /outputs/{{this.name}}-{{this.version}}.pkg -''' - diff --git a/examples/packages/chain-dependencies/sources/a-1/src-e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source b/examples/packages/chain-dependencies/sources/a-1/src-e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source deleted file mode 100644 index d00491f..0000000 --- a/examples/packages/chain-dependencies/sources/a-1/src-e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/examples/packages/chain-dependencies/sources/b-2/src-7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source b/examples/packages/chain-dependencies/sources/b-2/src-7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source deleted file mode 100644 index 0cfbf08..0000000 --- a/examples/packages/chain-dependencies/sources/b-2/src-7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source +++ /dev/null @@ -1 +0,0 @@ -2 diff --git a/examples/packages/chain-dependencies/sources/c-3/src-a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source b/examples/packages/chain-dependencies/sources/c-3/src-a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source deleted file mode 100644 index 00750ed..0000000 --- a/examples/packages/chain-dependencies/sources/c-3/src-a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source +++ /dev/null @@ -1 +0,0 @@ -3 diff --git a/examples/packages/diamond-dependencies/Makefile b/examples/packages/diamond-dependencies/Makefile deleted file mode 100644 index 45bb2aa..0000000 --- a/examples/packages/diamond-dependencies/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -export BUTIDO_RELEASES="/tmp/butido-test-diamond-dependencies-releases" -export BUTIDO_STAGING="/tmp/butido-test-diamond-dependencies-staging" -export BUTIDO_SOURCE_CACHE="/tmp/butido-test-diamond-dependencies-sources" -export BUTIDO_LOG_DIR="/tmp/butido-test-diamond-dependencies-logs" -export BUTIDO_REPO="/tmp/butido-test-diamond-dependencies-repo" - -.PHONY: all -all: directories copyrepo copysrc - -directories: ${BUTIDO_RELEASES} ${BUTIDO_STAGING} ${BUTIDO_SOURCE_CACHE} ${BUTIDO_LOG_DIR} ${BUTIDO_REPO} - -copyrepo: ${BUTIDO_REPO} - cp -rv ./repo/* ${BUTIDO_REPO}/ - cd ${BUTIDO_REPO}/ && git init && git add . && git commit -m init - -copysrc: ${BUTIDO_SOURCE_CACHE} - cp -rv ./sources/* ${BUTIDO_SOURCE_CACHE}/ - -${BUTIDO_RELEASES}: - mkdir -p "${BUTIDO_RELEASES}" - -${BUTIDO_STAGING}: - mkdir -p "${BUTIDO_STAGING}" - -${BUTIDO_SOURCE_CACHE}: - mkdir -p "${BUTIDO_SOURCE_CACHE}" - -${BUTIDO_LOG_DIR}: - mkdir -p "${BUTIDO_LOG_DIR}" - -${BUTIDO_REPO}: - mkdir -p "${BUTIDO_REPO}" - diff --git a/examples/packages/diamond-dependencies/README.md b/examples/packages/diamond-dependencies/README.md deleted file mode 100644 index 7907e79..0000000 --- a/examples/packages/diamond-dependencies/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# Test diamond dependencies - -This subtree provides a testcase for the following: - -If we have a package tree that looks like this: - - .-> C -. - / \ - D > A - \ / - `-> B -ยด - -(arrow means "depends on"). - - -## Note - -To reproduce the issue, make sure to adapt the ./repo/config.toml as appropriate -for your environment. - diff --git a/examples/packages/diamond-dependencies/repo/a/pkg.toml b/examples/packages/diamond-dependencies/repo/a/pkg.toml deleted file mode 100644 index e3670c6..0000000 --- a/examples/packages/diamond-dependencies/repo/a/pkg.toml +++ /dev/null @@ -1,7 +0,0 @@ -name = "a" -version = "1" - -[sources.src] -url = "https://example.com" -hash.hash = "e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e" - diff --git a/examples/packages/diamond-dependencies/repo/b/pkg.toml b/examples/packages/diamond-dependencies/repo/b/pkg.toml deleted file mode 100644 index 6c0f448..0000000 --- a/examples/packages/diamond-dependencies/repo/b/pkg.toml +++ /dev/null @@ -1,9 +0,0 @@ -name = "b" -version = "2" - -[dependencies] -build = ["a =1"] - -[sources.src] -url = "https://example.com" -hash.hash = "7448d8798a4380162d4b56f9b452e2f6f9e24e7a" diff --git a/examples/packages/diamond-dependencies/repo/c/pkg.toml b/examples/packages/diamond-dependencies/repo/c/pkg.toml deleted file mode 100644 index b3b28bb..0000000 --- a/examples/packages/diamond-dependencies/repo/c/pkg.toml +++ /dev/null @@ -1,9 +0,0 @@ -name = "c" -version = "3" - -[dependencies] -build = ["a =1"] - -[sources.src] -url = "https://example.com" -hash.hash = "a3db5c13ff90a36963278c6a39e4ee3c22e2a436" diff --git a/examples/packages/diamond-dependencies/repo/config.toml b/examples/packages/diamond-dependencies/repo/config.toml deleted file mode 100644 index e097bcd..0000000 --- a/examples/packages/diamond-dependencies/repo/config.toml +++ /dev/null @@ -1,52 +0,0 @@ -# Example configuration file for butido -compatibility = "0.1.0" -script_highlight_theme = "Solarized (dark)" - -releases = "/tmp/butido-test-diamond-dependencies-releases" -staging = "/tmp/butido-test-diamond-dependencies-staging" -source_cache = "/tmp/butido-test-diamond-dependencies-sources" -log_dir = "/tmp/butido-test-diamond-dependencies-logs" - - -strict_script_interpolation = true - - -# -# -# Log database configuration -# -# - -# Database configuration should be self-explanatory -database_host = "localhost" -database_port = 5432 -database_user = "pgdev" -database_password = "password" -database_name = "butido" - -available_phases = [ "dummy" ] - - -[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 = "testhostname" -uri = "http://0.0.0.0:8095" # the URI of the endpoint. Either http or socket path -endpoint_type = "http" # either "http" or "socket" -speed = 1 # currently ignored, but required to be present -maxjobs = 1 # currently ignored, but required to be present - - -[containers] -check_env_names = true -allowed_env = [ ] - diff --git a/examples/packages/diamond-dependencies/repo/d/pkg.toml b/examples/packages/diamond-dependencies/repo/d/pkg.toml deleted file mode 100644 index 55aef0b..0000000 --- a/examples/packages/diamond-dependencies/repo/d/pkg.toml +++ /dev/null @@ -1,9 +0,0 @@ -name = "d" -version = "4" - -[dependencies] -build = ["b =2", "c =3"] - -[sources.src] -url = "https://example.com" -hash.hash = "9c6b057a2b9d96a4067a749ee3b3b0158d390cf1" diff --git a/examples/packages/diamond-dependencies/repo/pkg.toml b/examples/packages/diamond-dependencies/repo/pkg.toml deleted file mode 100644 index aff709b..0000000 --- a/examples/packages/diamond-dependencies/repo/pkg.toml +++ /dev/null @@ -1,20 +0,0 @@ -version_is_semver = false -patches = [] - -[dependencies] -build = [] -runtime = [] - -[sources.src] -hash.type = "sha1" -download_manually = false - -[phases] - -dummy.script = ''' - echo "Dummy" - - mkdir /outputs - touch /outputs/{{this.name}}-{{this.version}}.pkg -''' - diff --git a/examples/packages/diamond-dependencies/sources/a-1/src-e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source b/examples/packages/diamond-dependencies/sources/a-1/src-e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source deleted file mode 100644 index d00491f..0000000 --- a/examples/packages/diamond-dependencies/sources/a-1/src-e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/examples/packages/diamond-dependencies/sources/b-2/src-7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source b/examples/packages/diamond-dependencies/sources/b-2/src-7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source deleted file mode 100644 index 0cfbf08..0000000 --- a/examples/packages/diamond-dependencies/sources/b-2/src-7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source +++ /dev/null @@ -1 +0,0 @@ -2 diff --git a/examples/packages/diamond-dependencies/sources/c-3/src-a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source b/examples/packages/diamond-dependencies/sources/c-3/src-a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source deleted file mode 100644 index 00750ed..0000000 --- a/examples/packages/diamond-dependencies/sources/c-3/src-a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source +++ /dev/null @@ -1 +0,0 @@ -3 diff --git a/examples/packages/diamond-dependencies/sources/d-4/src-9c6b057a2b9d96a4067a749ee3b3b0158d390cf1.source b/examples/packages/diamond-dependencies/sources/d-4/src-9c6b057a2b9d96a4067a749ee3b3b0158d390cf1.source deleted file mode 100644 index b8626c4..0000000 --- a/examples/packages/diamond-dependencies/sources/d-4/src-9c6b057a2b9d96a4067a749ee3b3b0158d390cf1.source +++ /dev/null @@ -1 +0,0 @@ -4 diff --git a/examples/packages/example_tmux/Makefile b/examples/packages/example_tmux/Makefile deleted file mode 100644 index 28ce019..0000000 --- a/examples/packages/example_tmux/Makefile +++ /dev/null @@ -1,38 +0,0 @@ -setup: dirs repo - @echo Ready. - -repo_content: repo_dir - @cp ./pkg.toml /tmp/tmux-repo/pkg.toml - -repo: repo_dir repo_content - cd /tmp/tmux-repo && git init && git add . && git commit -m init - -dirs: release_dir staging_dir repo_dir sources_dir - -release_dir: - @mkdir -p /tmp/tmux-releases - -staging_dir: - @mkdir -p /tmp/tmux-staging - -repo_dir: - @mkdir -p /tmp/tmux-repo - -sources_dir: - @mkdir -p /tmp/tmux-sources - - -dirs_clean: release_dir_clean staging_dir_clean repo_dir_clean sources_dir_clean - -release_dir_dir: - @rm /tmp/tmux-releases/* || true - -staging_dir_dir: - @rm /tmp/tmux-staging/* || true - -repo_dir_dir: - @rm /tmp/tmux-repo/* || true - -sources_dir_dir: - @rm /tmp/tmux-sources/* || true - diff --git a/examples/packages/example_tmux/README.md b/examples/packages/example_tmux/README.md deleted file mode 100644 index 80be0de..0000000 --- a/examples/packages/example_tmux/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# Example package repository for tmux - -This is a example repository which only contains tmux as an example package. - diff --git a/examples/packages/example_tmux/config.toml b/examples/packages/example_tmux/config.toml deleted file mode 100644 index d86ea96..0000000 --- a/examples/packages/example_tmux/config.toml +++ /dev/null @@ -1,46 +0,0 @@ -# Configuration file for BUTIDO for this repository - -# repository of package definitions -releases = "/tmp/tmux-releases" -staging = "/tmp/tmux-staging" -source_cache = "/tmp/tmux-sources" - -# #### -# -# Log database configuration -# -# #### - -# The database to use -# -# Can be overridden via environment vairbale BUTIDO_DATABASE_URI or set via CLI. -database_host = "localhost" -database_port = 5432 -database_user = "pgdev" -database_password = "password" -database_name = "butido" - - -# Phases which can be configured in the packages -available_phases = [ "unpack", "depinst", "configure", "build", "install", "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 = "example host name" -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 -allowed_env = [ "PATH" ] - diff --git a/examples/packages/example_tmux/pkg.toml b/examples/packages/example_tmux/pkg.toml deleted file mode 100644 index 747e9f1..0000000 --- a/examples/packages/example_tmux/pkg.toml +++ /dev/null @@ -1,60 +0,0 @@ -name = "tmux" -version = "3.1c" -version_is_semver = false - -# no patches by default -patches = [] - -[[sources]] -url = "https://github.com/tmux/tmux/archive/3.1c.tar.gz" -hash.type = "sha1" -hash.hash = "5e8bcaa3c758f84f01935a914e2bbf01309462ae" - - -[dependencies] -build = [] -runtime = [] - -# Root description of phases -# can be overridden as well -[phases] - -unpack.script = ''' - mkdir /build - tar -C /build -xzf /inputs/*source -''' - -# We use a depinst phase here because we don't want to add a Dockerfile to the -# repo where we prepare a build container. -# This is, of course, not be the way it would be done in a real-world scenario! -depinst.script = ''' - apt update - apt install -y pkg-config gcc bison make autotools-dev autoconf libevent-dev libncurses5-dev -''' - -configure.script = ''' - cd /build/tmux-3.1c/ - echo "SOURCES: " - ls - echo "-----" - - ./autogen.sh || exit 1 - ./configure || exit 1 -''' - -build.script = ''' - cd /build/tmux-3.1c - make || exit 1 -''' - -install.script = ''' - cd /build/tmux-3.1c - make install || exit 1 -''' - -package.script = ''' - # I am simple - mkdir /outputs/ - tar czf /outputs/tmux-3.1c.tgz /usr/local/bin/tmux -''' - diff --git a/examples/packages/repo/a/pkg.toml b/examples/packages/repo/a/pkg.toml new file mode 100644 index 0000000..fdb7238 --- /dev/null +++ b/examples/packages/repo/a/pkg.toml @@ -0,0 +1,10 @@ +name = "a" +version = "1" + +[dependencies] +runtime = ["b =2", "c =3"] + +[sources.src] +url = "https://example.com" +hash.hash = "e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e" + diff --git a/examples/packages/repo/b/pkg.toml b/examples/packages/repo/b/pkg.toml new file mode 100644 index 0000000..7f116c5 --- /dev/null +++ b/examples/packages/repo/b/pkg.toml @@ -0,0 +1,10 @@ +name = "b" +version = "2" + +[dependencies] +runtime = ["d =4", "e =5", "f =6"] + +[sources.src] +url = "https://example.com" +hash.hash = "7448d8798a4380162d4b56f9b452e2f6f9e24e7a" + diff --git a/examples/packages/repo/c/pkg.toml b/examples/packages/repo/c/pkg.toml new file mode 100644 index 0000000..2a94e60 --- /dev/null +++ b/examples/packages/repo/c/pkg.toml @@ -0,0 +1,10 @@ +name = "c" +version = "3" + +[dependencies] +runtime = ["g =7", "h =8", "i =9"] + +[sources.src] +url = "https://example.com" +hash.hash = "a3db5c13ff90a36963278c6a39e4ee3c22e2a436" + diff --git a/examples/packages/repo/config.toml b/examples/packages/repo/config.toml new file mode 100644 index 0000000..62275e5 --- /dev/null +++ b/examples/packages/repo/config.toml @@ -0,0 +1,52 @@ +# Example configuration file for butido +compatibility = "0.1.0" +script_highlight_theme = "Solarized (dark)" + +releases = "/tmp/butido-test-releases" +staging = "/tmp/butido-test-staging" +source_cache = "/tmp/butido-test-sources" +log_dir = "/tmp/butido-test-logs" + + +strict_script_interpolation = true + + +# +# +# Log database configuration +# +# + +# Database configuration should be self-explanatory +database_host = "localhost" +database_port = 5432 +database_user = "pgdev" +database_password = "password" +database_name = "butido" + +available_phases = [ "dummy" ] + + +[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 = "testhostname" +uri = "http://0.0.0.0:8095" # the URI of the endpoint. Either http or socket path +endpoint_type = "http" # either "http" or "socket" +speed = 1 # currently ignored, but required to be present +maxjobs = 1 # currently ignored, but required to be present + + +[containers] +check_env_names = true +allowed_env = [ ] + diff --git a/examples/packages/repo/d/pkg.toml b/examples/packages/repo/d/pkg.toml new file mode 100644 index 0000000..27fbb62 --- /dev/null +++ b/examples/packages/repo/d/pkg.toml @@ -0,0 +1,10 @@ +name = "d" +version = "4" + +[dependencies] +runtime = ["j =10"] + +[sources.src] +url = "https://example.com" +hash.hash = "9c6b057a2b9d96a4067a749ee3b3b0158d390cf1" + diff --git a/examples/packages/repo/e/pkg.toml b/examples/packages/repo/e/pkg.toml new file mode 100644 index 0000000..38785b8 --- /dev/null +++ b/examples/packages/repo/e/pkg.toml @@ -0,0 +1,10 @@ +name = "e" +version = "5" + +[dependencies] +runtime = ["k =11"] + +[sources.src] +url = "https://example.com" +hash.hash = "5d9474c0309b7ca09a182d888f73b37a8fe1362c" + diff --git a/examples/packages/repo/f/pkg.toml b/examples/packages/repo/f/pkg.toml new file mode 100644 index 0000000..1f157a7 --- /dev/null +++ b/examples/packages/repo/f/pkg.toml @@ -0,0 +1,10 @@ +name = "f" +version = "6" + +[dependencies] +runtime = ["l =12", "m =13"] + +[sources.src] +url = "https://example.com" +hash.hash = "ccf271b7830882da1791852baeca1737fcbe4b90" + diff --git a/examples/packages/repo/g/pkg.toml b/examples/packages/repo/g/pkg.toml new file mode 100644 index 0000000..8c6304e --- /dev/null +++ b/examples/packages/repo/g/pkg.toml @@ -0,0 +1,10 @@ +name = "g" +version = "7" + +[dependencies] +runtime = ["m =13", "n =14", "o =15", "p =16"] + +[sources.src] +url = "https://example.com" +hash.hash = "d3964f9dad9f60363c81b688324d95b4ec7c8038" + diff --git a/examples/packages/repo/h/pkg.toml b/examples/packages/repo/h/pkg.toml new file mode 100644 index 0000000..895d392 --- /dev/null +++ b/examples/packages/repo/h/pkg.toml @@ -0,0 +1,7 @@ +name = "h" +version = "8" + +[sources.src] +url = "https://example.com" +hash.hash = "136571b41aa14adc10c5f3c987d43c02c8f5d498" + diff --git a/examples/packages/repo/i/pkg.toml b/examples/packages/repo/i/pkg.toml new file mode 100644 index 0000000..82ba3b9 --- /dev/null +++ b/examples/packages/repo/i/pkg.toml @@ -0,0 +1,10 @@ +name = "i" +version = "9" + +[dependencies] +runtime = ["q =17", "r =18"] + +[sources.src] +url = "https://example.com" +hash.hash = "b6abd567fa79cbe0196d093a067271361dc6ca8b" + diff --git a/examples/packages/repo/j/pkg.toml b/examples/packages/repo/j/pkg.toml new file mode 100644 index 0000000..0506476 --- /dev/null +++ b/examples/packages/repo/j/pkg.toml @@ -0,0 +1,10 @@ +name = "j" +version = "10" + +[dependencies] +runtime = ["s =19", "t =20"] + +[sources.src] +url = "https://example.com" +hash.hash = "4143d3a341877154d6e95211464e1df1015b74bd" + diff --git a/examples/packages/repo/k/pkg.toml b/examples/packages/repo/k/pkg.toml new file mode 100644 index 0000000..c88b07b --- /dev/null +++ b/examples/packages/repo/k/pkg.toml @@ -0,0 +1,10 @@ +name = "k" +version = "11" + +[dependencies] +runtime = ["u =21"] + +[sources.src] +url = "https://example.com" +hash.hash = "dd71038f3463f511ee7403dbcbc87195302d891c" + diff --git a/examples/packages/repo/l/pkg.toml b/examples/packages/repo/l/pkg.toml new file mode 100644 index 0000000..29722f8 --- /dev/null +++ b/examples/packages/repo/l/pkg.toml @@ -0,0 +1,10 @@ +name = "l" +version = "12" + +[dependencies] +runtime = ["u =21"] + +[sources.src] +url = "https://example.com" +hash.hash = "ad552e6dc057d1d825bf49df79d6b98eba846ebe" + diff --git a/examples/packages/repo/m/pkg.toml b/examples/packages/repo/m/pkg.toml new file mode 100644 index 0000000..30cbe67 --- /dev/null +++ b/examples/packages/repo/m/pkg.toml @@ -0,0 +1,7 @@ +name = "m" +version = "13" + +[sources.src] +url = "https://example.com" +hash.hash = "feee44ad365b6b1ec75c5621a0ad067371102854" + diff --git a/examples/packages/repo/n/pkg.toml b/examples/packages/repo/n/pkg.toml new file mode 100644 index 0000000..31e0cf3 --- /dev/null +++ b/examples/packages/repo/n/pkg.toml @@ -0,0 +1,7 @@ +name = "n" +version = "14" + +[sources.src] +url = "https://example.com" +hash.hash = "030514d80869744a4e2f60d2fd37d6081f5ed01a" + diff --git a/examples/packages/repo/o/pkg.toml b/examples/packages/repo/o/pkg.toml new file mode 100644 index 0000000..5604117 --- /dev/null +++ b/examples/packages/repo/o/pkg.toml @@ -0,0 +1,10 @@ +name = "o" +version = "15" + +[dependencies] +runtime = ["x =24"] + +[sources.src] +url = "https://example.com" +hash.hash = "587b596f04f7db9c2cad3d6b87dd2b3a05de4f35" + diff --git a/examples/packages/repo/p/pkg.toml b/examples/packages/repo/p/pkg.toml new file mode 100644 index 0000000..5a89101 --- /dev/null +++ b/examples/packages/repo/p/pkg.toml @@ -0,0 +1,10 @@ +name = "p" +version = "16" + +[dependencies] +runtime = ["x =24"] + +[sources.src] +url = "https://example.com" +hash.hash = "3596ea087bfdaf52380eae441077572ed289d657" + diff --git a/examples/packages/repo/pkg.toml b/examples/packages/repo/pkg.toml new file mode 100644 index 0000000..aff709b --- /dev/null +++ b/examples/packages/repo/pkg.toml @@ -0,0 +1,20 @@ +version_is_semver = false +patches = [] + +[dependencies] +build = [] +runtime = [] + +[sources.src] +hash.type = "sha1" +download_manually = false + +[phases] + +dummy.script = ''' + echo "Dummy" + + mkdir /outputs + touch /outputs/{{this.name}}-{{this.version}}.pkg +''' + diff --git a/examples/packages/repo/q/pkg.toml b/examples/packages/repo/q/pkg.toml new file mode 100644 index 0000000..69ae22d --- /dev/null +++ b/examples/packages/repo/q/pkg.toml @@ -0,0 +1,10 @@ +name = "q" +version = "17" + +[dependencies] +runtime = ["v =22"] + +[sources.src] +url = "https://example.com" +hash.hash = "ad48103e4fc71796e9708cafc43adeed0d1076b7" + diff --git a/examples/packages/repo/r/pkg.toml b/examples/packages/repo/r/pkg.toml new file mode 100644 index 0000000..44abc0a --- /dev/null +++ b/examples/packages/repo/r/pkg.toml @@ -0,0 +1,7 @@ +name = "r" +version = "18" + +[sources.src] +url = "https://example.com" +hash.hash = "24b9c1f3fddff79893e5304f998f2f95ebebd149" + diff --git a/examples/packages/repo/s/pkg.toml b/examples/packages/repo/s/pkg.toml new file mode 100644 index 0000000..30fa66a --- /dev/null +++ b/examples/packages/repo/s/pkg.toml @@ -0,0 +1,7 @@ +name = "s" +version = "19" + +[sources.src] +url = "https://example.com" +hash.hash = "ba9f376fa71904ccde2a756a24a4e47ec014ee0a" + diff --git a/examples/packages/repo/t/pkg.toml b/examples/packages/repo/t/pkg.toml new file mode 100644 index 0000000..53f8146 --- /dev/null +++ b/examples/packages/repo/t/pkg.toml @@ -0,0 +1,7 @@ +name = "t" +version = "20" + +[sources.src] +url = "https://example.com" +hash.hash = "d0758565fd06c37aa66b071160d156f5628cd518" + diff --git a/examples/packages/repo/u/pkg.toml b/examples/packages/repo/u/pkg.toml new file mode 100644 index 0000000..1a75d6e --- /dev/null +++ b/examples/packages/repo/u/pkg.toml @@ -0,0 +1,7 @@ +name = "u" +version = "21" + +[sources.src] +url = "https://example.com" +hash.hash = "8eecbb71d418ef8c7d583dd506a994b1bc1c3f7b" + diff --git a/examples/packages/repo/v/pkg.toml b/examples/packages/repo/v/pkg.toml new file mode 100644 index 0000000..9fcdb74 --- /dev/null +++ b/examples/packages/repo/v/pkg.toml @@ -0,0 +1,10 @@ +name = "v" +version = "22" + +[dependencies] +runtime = ["w =23"] + +[sources.src] +url = "https://example.com" +hash.hash = "a66ca4290ebaf525721fc670ea53476a15957f9e" + diff --git a/examples/packages/repo/w/pkg.toml b/examples/packages/repo/w/pkg.toml new file mode 100644 index 0000000..0a27b1f --- /dev/null +++ b/examples/packages/repo/w/pkg.toml @@ -0,0 +1,10 @@ +name = "w" +version = "23" + +[dependencies] +runtime = ["x =24"] + +[sources.src] +url = "https://example.com" +hash.hash = "aec46dc0de48f39f98f9572b6560ca3f0916b715" + diff --git a/examples/packages/repo/x/pkg.toml b/examples/packages/repo/x/pkg.toml new file mode 100644 index 0000000..e537593 --- /dev/null +++ b/examples/packages/repo/x/pkg.toml @@ -0,0 +1,10 @@ +name = "x" +version = "24" + +[dependencies] +runtime = ["y =25"] + +[sources.src] +url = "https://example.com" +hash.hash = "b31990eea1cee9f421c933461a2f3c3dd741a58b" + diff --git a/examples/packages/repo/y/pkg.toml b/examples/packages/repo/y/pkg.toml new file mode 100644 index 0000000..36fa8b7 --- /dev/null +++ b/examples/packages/repo/y/pkg.toml @@ -0,0 +1,10 @@ +name = "y" +version = "25" + +[dependencies] +runtime = ["z =26"] + +[sources.src] +url = "https://example.com" +hash.hash = "c6e4ffdb7e1f4c736fb7ab897162332b4619d9ca" + diff --git a/examples/packages/repo/z/pkg.toml b/examples/packages/repo/z/pkg.toml new file mode 100644 index 0000000..8e39d1f --- /dev/null +++ b/examples/packages/repo/z/pkg.toml @@ -0,0 +1,7 @@ +name = "z" +version = "26" + +[sources.src] +url = "https://example.com" +hash.hash = "a0361d509d714f50e954ffeb49ac18222609cf2a" + diff --git a/examples/packages/sources/a-1/src-e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source b/examples/packages/sources/a-1/src-e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/examples/packages/sources/a-1/src-e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source @@ -0,0 +1 @@ +1 diff --git a/examples/packages/sources/b-2/src-7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source b/examples/packages/sources/b-2/src-7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/examples/packages/sources/b-2/src-7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source @@ -0,0 +1 @@ +2 diff --git a/examples/packages/sources/c-3/src-a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source b/examples/packages/sources/c-3/src-a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/examples/packages/sources/c-3/src-a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source @@ -0,0 +1 @@ +3 diff --git a/examples/packages/sources/d-4/src-9c6b057a2b9d96a4067a749ee3b3b0158d390cf1.source b/examples/packages/sources/d-4/src-9c6b057a2b9d96a4067a749ee3b3b0158d390cf1.source new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/examples/packages/sources/d-4/src-9c6b057a2b9d96a4067a749ee3b3b0158d390cf1.source @@ -0,0 +1 @@ +4 diff --git a/examples/packages/sources/e-5/src-5d9474c0309b7ca09a182d888f73b37a8fe1362c.source b/examples/packages/sources/e-5/src-5d9474c0309b7ca09a182d888f73b37a8fe1362c.source new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/examples/packages/sources/e-5/src-5d9474c0309b7ca09a182d888f73b37a8fe1362c.source @@ -0,0 +1 @@ +5 diff --git a/examples/packages/sources/f-6/src-ccf271b7830882da1791852baeca1737fcbe4b90.source b/examples/packages/sources/f-6/src-ccf271b7830882da1791852baeca1737fcbe4b90.source new file mode 100644 index 0000000..1e8b314 --- /dev/null +++ b/examples/packages/sources/f-6/src-ccf271b7830882da1791852baeca1737fcbe4b90.source @@ -0,0 +1 @@ +6 diff --git a/examples/packages/sources/g-7/src-d3964f9dad9f60363c81b688324d95b4ec7c8038.source b/examples/packages/sources/g-7/src-d3964f9dad9f60363c81b688324d95b4ec7c8038.source new file mode 100644 index 0000000..7f8f011 --- /dev/null +++ b/examples/packages/sources/g-7/src-d3964f9dad9f60363c81b688324d95b4ec7c8038.source @@ -0,0 +1 @@ +7 diff --git