summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2021-06-01v0.1.4v0.1.4v0.1.xMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-06-01Update changelog for the 0.1.4 releaseMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-06-01Remove sourcehut buildsMatthias Beyer
Since today, sourcehut builds should only work if payment is enabled. Right now it still seems to work. I am not sure whether this is a bug or intended. Either way, to be nice, remove the build setup for now until we figured out what is happening and how to continue. Signed-off-by: Matthias Beyer <mail@beyermatthias.de> (cherry picked from commit 63d03bc7662815ffcd2695b28b28a7f6978ad0d3)
2021-06-01Fix: Insert shouldn't be done with LogItem::display()Matthias Beyer
This fixes a nasty bug; because we used the LogItem::display() function to build the log string that was put into the database, the database contained _colorized_ log lines. Because of this, our parsing of the log text later (when reading historical data from the database) failed to parse whether the job was successfull or not. The issue was actually introduced in b3a6458ce34e3065192208826b2fc85edd4761f9, where we changed the `LogItem::display()` implementation. With this fix in place, the log text in the database is corrected again (only for new logs that get put into the database). Fixes: b3a6458ce34e3065192208826b2fc85edd4761f9 ("Add color support in LogItem::display() impl") Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> Tested-by: Matthias Beyer <matthias.beyer@atos.net> (cherry picked from commit 55715ffb14cd24a27fd70c0ad4154eedc6251976)
2021-05-25Fix: Error out if a dependency cannot be foundMatthias Beyer
This fixes a bug where dependencies were not found, but this was ignored. This happened even if there was a typo in the version of the dependency, for example. Signed-off-by: Matthias Beyer <mail@beyermatthias.de> Tested-by: Matthias Beyer <mail@beyermatthias.de> (cherry picked from commit 45806c89605c155df992c1e5e9917f315e9fa495)
2021-05-25Impl Display for PackageVersionConstraintMatthias Beyer
Cherry-picked to the v0.1.x branch so that commit 45806c89605c155df992c1e5e9917f315e9fa495 can be backported. Signed-off-by: Matthias Beyer <mail@beyermatthias.de> (cherry picked from commit 2c4306ac8b5c7f0938e04f1056f5fc59d1a6a477)
2021-05-18Fix typo in help messageMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> (cherry picked from commit fcc2a8f770464e58646e965a86b544767a6cec91)
2021-05-17v0.1.3v0.1.3Matthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-05-17Update changelog for the 0.1.3 releaseMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-05-17Fix: Consume all items before failingMatthias Beyer
This patch changes the download implementation so that one failing download does not fail the whole process, but errors are collected instead and reported after all other downloads are finished. This is the simple case implementation where only one error is reported, though multiple could have happened. Tested-by: Matthias Beyer <matthias.beyer@atos.net> Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> (cherry picked from commit 17a469d3dc1324bcbeba743fe3df3fede0a385f7)
2021-05-17Fix: Helptext is for downloadingMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> (cherry picked from commit aad61cd0d4aa2e87100dc1f964923d15fe98eb14)
2021-05-17Fix: Do not print database password in debug logMatthias Beyer
This fix is backported from commit 3b1701075a0591ea8d349b4b3fcfff2140185159. From the original commit message: We have to manually implement Debug here, because otherwise we would print the database password in the debug output, which is CLEARLY a bad idea. Hence, change the debug!() call in the establish_connection() function to (debug-)print `self` and hand-implement the `Debug` trait. Signed-off-by: Matthias Beyer <mail@beyermatthias.de> (cherry picked from commit 3b1701075a0591ea8d349b4b3fcfff2140185159)
2021-05-17Fix: Check whether environments are equalMatthias Beyer
This change fixes a bug where two submits that differed only in an environment variable where considered equal: butido build pkg butido build pkg -E FOO=1 the second build reused the artifacts from the first one, which is a bug. Signed-off-by: Matthias Beyer <mail@beyermatthias.de> Tested-by: Matthias Beyer <mail@beyermatthias.de> (cherry picked from commit f81e363e22ac6f3d0884879be8de9ece30514ff6)
2021-05-11v0.1.2v0.1.2Matthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-05-11Update changelog for the 0.1.2 releaseMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-05-11Fix: Do not return "dependencies missing" error on closed channelMatthias Beyer
This patch fixes the implementation of the perform_receive() helper function to return Ok(false) if the channel was closed (recv() returned None) and there are already errors in the error buffer. This case wasn't taken care of before, which resulted in the inconveniance that the channel was closed but if a task still performed a receive, it got a `None`, checked its dependencies and noted that there were dependencies missing. This resulted in a "Childs finished, but dependencies missing" error being printed to the user. This is not the case, though. This fix changes the implementation so that the `perform_receive()` function simply returns a `Ok(false)` if the channel was closed and there were errors. The call to the function was hence moved _after_ the check whether errors were received (in the caller), so that these errors are propagated appropriately. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> (cherry picked from commit 338ea0827c6d6ab0ac41b35a7bd066c528c5c811)
2021-04-27Fix typoMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> (cherry picked from commit 876f3be733c174ac83a889aa78f2463f875a08c0)
2021-04-27Fix: copy release artifact instead of renaming itMatthias Beyer
Because renaming does not work if there is a filesystem boundary. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> (cherry picked from commit c83e376bdd4801e10a879385c89054c7320440f8)
2021-04-27Fix: clap value querying should match CLI specMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> Backports: 56a0036cb55fad022c05b961563b46d1c284e02d ("Fix: clap value querying should match CLI spec")
2021-04-22v0.1.1v0.1.1Matthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-22Update changelog for 0.1.1 releaseMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-22Fix: If no, returnMatthias Beyer
Fixes a bug where the return value of the function was not used. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> (cherry picked from commit e16f3cf50879bf97a27ac5afc2b85429b28d62ed)
2021-04-20Update dependency: diesel 1.4 -> 1.4.6Matthias Beyer
See also: https://rustsec.org/advisories/RUSTSEC-2021-0037.html https://github.com/diesel-rs/diesel/pull/2663 Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> (cherry picked from commit 38b6ded40c6d840c9d3951f0a082cd55b1b0109c)
2021-04-20Update dependency: tar 0.4 -> 0.4.16Matthias Beyer
See: https://rustsec.org/advisories/RUSTSEC-2018-0002.html https://github.com/alexcrichton/tar-rs/pull/156 Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> (cherry picked from commit c75d620e5bc6e454f8c6cecf1e440d430dac97a8)
2021-04-13Fix: Value nameChristoph Prokop
Signed-off-by: Christoph Prokop <christoph.prokop@atos.net> Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> (cherry picked from commit b1d9a89c93eb500bfd14f236830b8bdc73f2ee74)
2021-04-09Fix: Patch file finding algorithmMatthias Beyer
Because commit 5c36c119f9448baf6bfe5245c6ebac1aa09d5b43 was not enough and was actually buggy, this fixes the patch-file-finding algorithm _again_. The approach changed a bit. It actually introduces even more overhead to the loading algorithm, because of constant type-conversions. But it's as good as it can be right now. So first of all, we're collecting the patches before the merge into a Vec<PathBuf>. Each of those are existing. Then we check whether the new patch exists, and if it not does, we check whether the file actually exists in the patches from before the merge (by filename). If it does, it seems that we dragged the entry from the previous recursion. In this case, the patches from before the merge were valid, and the recursion invalidated the path. I.E.: /pkg.toml with patches = [ "a" ] /a /sub/pkg.toml with no patches=[] in the recursion for /sub/pkg.toml, we get a ["a"] in the patches array, because that's how the layered configuration works. But because the path is invalid, we check whether before the merge (so, the patches array from /pkg.toml) has a file named equally - which it does. So the array before the merge is the correct one. I did some tests on this and it seems to work correctly, but more edge-cases may exist. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> Tested-by: Matthias Beyer <matthias.beyer@atos.net> Fixes: 5c36c119f9448baf6bfe5245c6ebac1aa09d5b43 ("Fix: Error out if a patch file is missing") (cherry picked from commit f78df9eeb3c8d6aa6f74c0bb774282662b1ef635)
2021-04-09Fix: Error out if a patch file is missingMatthias Beyer
This patch fixes a bug where a patch file is not there. Before this patch, we were simply ignoring non-existing files in the iterator, because during development of this algorithm, it seemed to be the right idea because of the recursion that is happending. The patch-branch-patching that is happening in the recursion, that rewrites the pathes to the patches during the recursive loading of the packages, used to yield invalid pathes at some point, which simply could be ignored. That happened before that patch. But because during the development of the recursive loading, the scheme how this all works was changed, it does not yield invalid pathes anymore. Hence, we can be sure that either the file is here or it is not - which is an error then. I have to say that I'm not particularly good with recursion, but as far as my tests go, this seems to work as intended now. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net> Tested-by: Matthias Beyer <matthias.beyer@atos.net> (cherry picked from commit 5c36c119f9448baf6bfe5245c6ebac1aa09d5b43)
2021-03-17v0.1.0v0.1.0Matthias Beyer
This commit marks the first release of butido. The Cargo.lock file is added with this commit on the v0.1.x branch, as we do not (yet?) want that file on master. And now, build the world! Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-03-17Merge branch 'prepare-0.1.0'Matthias Beyer
2021-03-17Add entry for 0.1.0Matthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-03-17Add crate metadataMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-03-17Add note about MSRVMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-03-17Make error on closed channel more verboseMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-03-17Add check whether package name or version is emptyMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-03-17Update config: own fork -> 0.11Matthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-03-17Merge branch 'update-deps'Matthias Beyer
2021-03-16Merge branch 'ban-fuchsia'Matthias Beyer
2021-03-16Merge branch 'fix-confirm'Matthias Beyer
2021-03-16Update dialoguer: 0.7 -> 0.8Matthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-03-16Fix: Check return value of confirmation promptMatthias Beyer
This is an embarrassing bug. :-/ Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-03-13Add lint in CI to check banned cratesMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-03-13Ban fuchsia-cprgnMatthias Beyer
So we do not accidentially update diesel or some other lib and depend on it by accident. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-03-13Switch from sha1 to sha-1Matthias Beyer
This is because the "sha1" crate seems to be unmaintained (no release in 3 years) but the sha-1 crate seems to be actively maintained in the context of a bigger rust-crypto-functions project. Signed-off-by: Matthias Beyer <mail@beyermatthias.de> Tested-by: Matthias Beyer <mail@beyermatthias.de>
2021-03-11Fix: Make XDG configuration not requiredMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-03-11Merge branch 'misc'Matthias Beyer
2021-03-11Merge branch 'xdg-config'Matthias Beyer
2021-03-11Add more error context to config loadingMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
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-11Add xdg-based config file mergingMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-03-11Add more verbose error if ./. is not a git repositoryMatthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>