summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2021-08-31v0.2.1v0.2.1v0.2.xMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-08-31Add CHANGELOG for v0.2.1Matthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-08-31Fix: Construct logfile name properlyMatthias Beyer
Previously we constructed <log dir>/<job id>/.log but the job id shouldn't be a directory name but the filename of the logfile. This patch fixes this bug. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> Tested-by: Matthias Beyer <matthias.beyer@atos.net> (cherry picked from commit 3922865ad3950564e96ca2e4be974564fd798aef)
2021-08-31Fix: Allow punctuation (.-) in package nameMatthias Beyer
This patch fixes that punctuation (namingly dot and dash) are allowed in a package name. A testcase was added. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> (cherry picked from commit 589f428b05d7a7bae1759f92e82d29b1281522db)
2021-08-31Fix: Remove indention from after_help() textMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> (cherry picked from commit d51fad98de71f90ac62883346d0f707fef89ab89)
2021-08-31Fix: Follow HTTP redirectsMatthias Beyer
This patch fixes the reqwest GET call by building a Client and a Request object configured to follow HTTP redirects (10 by now, maybe this will later need to be configurable). This patch was backported from commit d2cc4a734a808afc4a2fc0f8661d65090e8ccffb Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-08-31Fix: Propagate information whether an Artifact was built or reusedMatthias Beyer
This patch fixes a bug where butido did not rebuild a package if one of its dependencies was rebuild. Of course, if in a dependency chain with libA -> libB, if libB gets rebuild, we need to rebuild libA as well. For this, a new (Wrapper-)type `ProducedArtifact` was added (private to the orchestrator module) that holds that information. This information is only necessary between the individual build workers. If we know from all dependencies that the artifacts were reused, we can check for a similar job in the database and reuse artifacts from that job as well. If one dependency was built, we need to rebuild the current package as well. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> (cherry picked from commit 507aeeb8899a714fe794814615b61eeef91c7ed2)
2021-08-31Fix package print format defaultMatthias Beyer
Maybe this is necessary because of the handlebars update, I am not entirely sure (because it is actually a not-so-much-used feature). This patch styles the default format string for the output to be more visually pleasing. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> Tested-by: Matthias Beyer <matthias.beyer@atos.net> (cherry picked from commit a1e759348fe9184ec6f234a91d1d6d80468cdcfa)
2021-08-31Fix: trace output variable interpolationMatthias Beyer
The PATCH_DIR_PATH was interpolated as first argument, which was wrong. Also, it is contained in the `destinations`, so it is not required anyways. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> (cherry picked from commit ab5e2ed512306fa89f47ef089b1594c665b9d386)
2021-08-12v0.2.0v0.2.0Matthias Beyer
This commit marks the 0.2.0 release of butido. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-08-12Changelog for v0.2.0Matthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-08-12Import Cargo.lock for v0.2.0 releaseMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-08-12Fix: Do not use wildcard expression in dependenciesMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de> (cherry picked from commit 2d4945938be440411e43c3440a368df0f70e5810) Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-08-12Fix clippy: Remove unnecessary return keywordMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de> (cherry picked from commit 7c2a62eade889d2432424513dc3dd74001fd3016) Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-08-12Fix Allow enum variant names with equal prefix hereMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de> (cherry picked from commit 4ca3eefc246f86b3662896e49d26c3dc822b8fc5) Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-08-12Fix clippy: Remove needless borrowsMatthias Beyer
This patch was slightly adapted, for the moved src/ui.rs file. (cherry picked from commit 80825bb43c7a4f188aa060b04513168978c1db0b) Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-07-27env_logger: 0.8 -> 0.9Matthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-07-27Pin transitive dependency "zeroize"Matthias Beyer
dialoguer depends on zeroize, which broke their public interface in 1.4.0 by updating the minimum required rust version to 1.51.0. Because we have 1.50.0, this does not work anymore. Because dialoguer depends on zeroize "1.1.1", we can pin zeroize to 1.3 in our dependencies, to force the build to not use the 1.4.* release (or newer) of zeroize. This is of course not a long-term solution. The proper fix is to update our MSRV, but I do not want to do that right before our 0.2.0 release. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-16Merge branch 'try-update-handlebars'Matthias Beyer
2021-06-16Update handlebars: 4 -> >=4.0.1Matthias Beyer
Because the 4.0.0 contained a bug which was fixed (by us!) in https://github.com/sunng87/handlebars-rust/pull/445 we must use 4.0.1 as minimum version requirement. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> Tested-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-16Debug-Print all package details before renderingMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-16Add more debug information for Package typeMatthias Beyer
This patch adds a possibility to print the Package object with more detailed information. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-15Update dependency: handlebars: 3 -> 4Matthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-11Refactor: Simplify iterationMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-09Revert "Fix: Make patch path absolute"Matthias Beyer
This fix was actually buggy. The problem here is that the `Package` struct is used to fill variables in the script. If we overwrite the patch pathes with their absolute variant, the script gets interpolated with the absolute paths, resulting in things like patch -p0 < /patches//home/user/package_repository/software/p.patch but the copy-to-container process copies (should copy) the patch file to /patches/software/p.patch This reverts commit dcc8b42810d34b2b906f0307c26c4826d16ad997. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-09Use constant for patch destination prefixMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-09Merge branch 'error-output'Matthias Beyer
2021-06-09Add more error contextMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-09Add error contextMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-09Remove too verbose trace outputMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-09Merge branch 'config-only-toml'Matthias Beyer
2021-06-09Revert "Update dependency: handlebars: 3 -> 4"Matthias Beyer
Because the update broke interpolation of the "patches" variable from the package definitions (and possibly others), we revert the update for now until we figured out what is actually wrong here. This reverts commit 3cb481417b13c5664bb4157d932b8ad4df5cb66d. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> Tested-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-09The config crate should only support toml as backendMatthias Beyer
This should reduce our dependencies by a certain number. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-06-08Fix: Do not fail if directory existsMatthias Beyer
butido should not fail if the source cache directory already exists (which is the case when downloading two source files for one package). Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> Tested-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-08Insert-and-get should be executed as transactionMatthias Beyer
This patch makes sure all database functions are executed as transactions, so that we do not accidentially end up in a data race if two butido instances are executing these functions at the same time. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-08Merge branch 'update-dependencies'Matthias Beyer
2021-06-08Update dependency: semver: 0.11 -> 1.0Matthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-08Update dependency: parse-display: 0.4 -> 0.5Matthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-08Update dependency: handlebars: 3 -> 4Matthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-07Merge branch 'release-filtering'Matthias Beyer
2021-06-07Add flag to filter releases by packageMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-07Revert "Add support for filtering releases by package name and version"Matthias Beyer
Filtering the releases from the database should not be done via a regex in the application code. Rationale is that filtering with a regex is only wanted if the user _searches_ for something. In this instance, the user is expected to know already what they want to see, so this is not a _search_, but a _filtering_. Hence, we rather implement the filtering via an appropriate database query instead of loading all releases and then filtering by regex. This reverts commit b665c7cd4aa4ea900dc194a6ba5ad9de527f978c. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-07Add flag to filter releases by storeMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-07Merge branch 'db-jobs-flags'Matthias Beyer
2021-06-07Add package filtering for "db jobs" subcommandMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-07Add endpoint filtering in "db jobs" subcommandMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-07Add date-filtering to "db jobs" subcommandMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-07Refactor: Simplify query buildingMatthias Beyer
Simplify query building by making `sel` variable `mut` and not reassigning it in else cases. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-07Capitalize table headingsMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-06-07Remove database IDs from outputMatthias Beyer
The database IDs are an implementation detail and the user does not need to see them in any case. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>