summaryrefslogtreecommitdiffstats
path: root/examples
AgeCommit message (Collapse)Author
2021-05-17Fix example: Fix syntaxMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-05-17Fix example: releases are now stored in subdir of releases rootMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-03-11Endpoint configuration as MapMatthias Beyer
This patch rewrites the endpoint configuration format to be a map. The problem here is, that a list of endpoints cannot easily be used with layered configuration, where a part of the configuration lives in the XDG config home of the user and the rest lives in the repository. With this patch, the endpoints are configured with a map instead of an array, which makes it less complicated to overwrite. The name of an endpoint is now the key in the map. A type `EndpointName` was introduced to take advantage of strong typing. Thus, the patch touches a bit more code to adapt to the new type in use. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> Tested-by: Matthias Beyer <matthias.beyer@atos.net>
2021-03-10Example: Add multiple sub-versions of "s", with different patchesMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-03-10Add "patch" file to sMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-03-10Example: Add patchcheck phase to check whether patches are presentMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-02-11Make the package script "complex"Matthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-02-11Remove simple examples, add complex oneMatthias Beyer
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>
2021-02-05Add testcase for diamond dependenciesMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-02-04Add testcase for chained dependenciesMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-01-15Add feature to mark a source entry as manual downloadMatthias Beyer
This patch adds a feature where a source entry in a package can be marked for manual download. This gives us the ability to mask downloads which are hidden behind cruel JavaScript bullshit bloat where a `curl` cannot access the remote file. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-12-14Example: Add example linterMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-12-14Fix example: OK state does not have a message parameterMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-12-09Add example package repositoryMatthias Beyer
This patch adds an example package repository including a "source repository" where sources for packages are located. The Makefile can be used to setup an testing environment, controlled via environment settings (which are created via shell.nix for example) and spin up a webserver for the sources. Butido can then be used to download and build the sources into packages. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-12-09Move existing definitions to subdirectoryMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-12-09Add README for exampleMatthias Beyer
2020-12-09Remove old examples, rename example 3 to scriptsMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-12-07Add script helpersMatthias Beyer
This patch adds script helpers, so that we do not have to write out echo "#BUTIDO:STATE:OK:succeeded" but can write {{state "OK"}} for example. Three helpers were added, for progress, state and phase. These can be only used in bash scripts for now. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-12-07Add example how to reference a source objectMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-12-07Make sources namedMatthias Beyer
This patch changes the sources to be named. This is required for nice interpolation when layering pkg.toml files. Before this, we had to make sure that the `[[sources]]` array element was on the right position. For example, consider two files: /pkg.toml /package/pkg.toml in the first: [[sources]] url = "some/thing" in the second: [[sources] hash.type = "sha1" hash.value = "asdf..." When merged: [[sources] url = "some/thing" hash.type = "sha1" hash.value = "asdf..." but because the _position_ was responsible for merging these elements, adding a new source file _before_ the existing on in /pkg.toml would yield the /package/pkg.toml incomplete when merged onto /pkg.toml, thus resulting in an error. With named source entries, this is less likely. The source file name includes the source name as well, of course. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-12-03Remove accidentially committed fileMatthias Beyer
This file was accidentially committed to the wrong location. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-12-03Remove the idea of "system dependencies"Matthias Beyer
Because we want to be able to work on different distros, we cannot have a concept of "system dependencies", because each distro names their packages differently. The concept of installing stuff from a distro image can still be accomplished easily via environment variables. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-12-03Allow multiple sources per packageMatthias Beyer
This patch implements multiple (unnamed) sources per package. This means that a package can have an array of sources. What was adapted to allow multiple sources per package: * Downloads are made in parallel now * The cache structure was changed to /<package>-<version>/<hash>.source * The UI was changed to contain the full `Package` struct (as JSON object) in a UI format string Tests were adapted. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-11-26Fix: Repo path should be cwd, not configurableMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-11-16Update example with some environment variablesMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-11-14Add another example configurationMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-11-11Add README for tmux exampleMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-11-11Have tmux as example packagedMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-11-11Add optional version filtering for "source" subcommandsMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-11-07example: Add check whether "dependency" existsMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-11-07Example 1: Add some "package generating" example script contentMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-11-07Fix: Add missing example settingsMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-11-07Fix: Make release directories for testingMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-11-02Fix: Add missing settings in example configurationMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-10-14Rename: yabos -> butidoMatthias Beyer
Because, after some google-fu, I noticed that "yabos" is indeed not a very good or even decent name for a piece of software. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-10-13Fix: Do not fail if removal did not workMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-10-13Differentiate between system-buildtime and system-runtime dependenciesMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-10-13Add deeper layered exampleMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-10-13Implement version / constraint parsingMatthias Beyer
2020-10-12Add example package hierarchyMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>