summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <matthias.beyer@atos.net>2021-02-04 08:11:47 +0100
committerMatthias Beyer <mail@beyermatthias.de>2021-02-05 19:29:51 +0100
commit8a4ef5e6c0126037412794699d5f80540ffd4802 (patch)
tree3ad87b9397b50310f3f0520caf615c0581872325
parent2a1e017c063c462da3702e0227cb075643013988 (diff)
Add testcase for diamond dependencies
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
-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/b/pkg.toml9
-rw-r--r--examples/packages/diamond-dependencies/repo/c/pkg.toml9
-rw-r--r--examples/packages/diamond-dependencies/repo/config.toml52
-rw-r--r--examples/packages/diamond-dependencies/repo/d/pkg.toml9
-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/diamond-dependencies/sources/d-4/src-9c6b057a2b9d96a4067a749ee3b3b0158d390cf1.source1
12 files changed, 163 insertions, 0 deletions
diff --git a/examples/packages/diamond-dependencies/Makefile b/examples/packages/diamond-dependencies/Makefile
new file mode 100644
index 0000000..45bb2aa
--- /dev/null
+++ b/examples/packages/diamond-dependencies/Makefile
@@ -0,0 +1,33 @@
+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
new file mode 100644
index 0000000..7907e79
--- /dev/null
+++ b/examples/packages/diamond-dependencies/README.md
@@ -0,0 +1,20 @@
+# 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
new file mode 100644
index 0000000..e3670c6
--- /dev/null
+++ b/examples/packages/diamond-dependencies/repo/a/pkg.toml
@@ -0,0 +1,7 @@
+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
new file mode 100644
index 0000000..6c0f448
--- /dev/null
+++ b/examples/packages/diamond-dependencies/repo/b/pkg.toml
@@ -0,0 +1,9 @@
+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
new file mode 100644
index 0000000..b3b28bb
--- /dev/null
+++ b/examples/packages/diamond-dependencies/repo/c/pkg.toml
@@ -0,0 +1,9 @@
+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
new file mode 100644
index 0000000..e097bcd
--- /dev/null
+++ b/examples/packages/diamond-dependencies/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-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
new file mode 100644
index 0000000..55aef0b
--- /dev/null
+++ b/examples/packages/diamond-dependencies/repo/d/pkg.toml
@@ -0,0 +1,9 @@
+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
new file mode 100644
index 0000000..aff709b
--- /dev/null
+++ b/examples/packages/diamond-dependencies/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/diamond-dependencies/sources/a-1/src-e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source b/examples/packages/diamond-dependencies/sources/a-1/src-e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/examples/packages/diamond-dependencies/sources/a-1/src-e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e.source
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/examples/packages/diamond-dependencies/sources/b-2/src-7448d8798a4380162d4b56f9b452e2f6f9e24e7a.source
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/examples/packages/diamond-dependencies/sources/c-3/src-a3db5c13ff90a36963278c6a39e4ee3c22e2a436.source
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/examples/packages/diamond-dependencies/sources/d-4/src-9c6b057a2b9d96a4067a749ee3b3b0158d390cf1.source
@@ -0,0 +1 @@
+4