pkgutils merge requestshttps://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests2024-01-12T20:23:05Zhttps://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/43Reuse hyper::Client between downloads2024-01-12T20:23:05Zbjorn3Reuse hyper::Client between downloadsThis avoids unnecessary TCP and TLS handshakes. It seems to speed up CI a tiny bit. May also be noise though.This avoids unnecessary TCP and TLS handshakes. It seems to speed up CI a tiny bit. May also be noise though.https://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/42Limit refresh rate of download progress bar to once per second2024-01-10T15:12:22Zbjorn3Limit refresh rate of download progress bar to once per secondThis should significantly reduce verbosity of CI logs.
This will hopefully prevent
```
Job's log exceeded limit of 4194304 bytes.
Job execution will continue but no more output will be collected.
```
from occurring again like happened...This should significantly reduce verbosity of CI logs.
This will hopefully prevent
```
Job's log exceeded limit of 4194304 bytes.
Job execution will continue but no more output will be collected.
```
from occurring again like happened in https://gitlab.redox-os.org/bjorn3/redox/-/jobs/43065.https://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/39Replace ordermap with indexmap2023-05-30T21:23:03Zcoolreader18Replace ordermap with indexmapWas giving a deprecation warning, since ordermap hasn't been updated since early 2018 (was renamed to indexmap to better reflect actual datastructure)Was giving a deprecation warning, since ordermap hasn't been updated since early 2018 (was renamed to indexmap to better reflect actual datastructure)https://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/38Fix description deprecation warnings2023-03-21T21:32:58ZMichael McDonnellmichael@mcdonnell.dkFix description deprecation warningsThe `description` and `cause` methods in `Error` were soft deprecated in Rust 1.27 and hard deprecated in Rust 1.42 [[1]]. This change removes the use of these deprecated methods and fixes three deprecation warnings.
You can verify that...The `description` and `cause` methods in `Error` were soft deprecated in Rust 1.27 and hard deprecated in Rust 1.42 [[1]]. This change removes the use of these deprecated methods and fixes three deprecation warnings.
You can verify that the test output has not changed with the following steps:
1. Create the file `/etc/pkg.d/localtest`
2. Add the line `localhost:1234` to `/etc/pkg.d/localtest`
3. Run Netcat on port 1234 in a new terminal to simulate a server:
```console
$ while true; do { echo -e 'HTTP/0 200 OK\r\n'; } | nc -l 1234; done
```
The server returns an invalid HTTP version on purpose.
4. Try to fetch a package, e.g. `pixelcannon`:
```console
$ cargo run -- fetch pixelcannon
```
5. Notice that you get the following error message with or without the changes:
```console
* Requesting http://localhost:1234/x86_64-unknown-linux-gnu/pixelcannon.sig
pkg: fetch: pixelcannon: failed: Invalid HTTP version specified
```
[1]: https://blog.rust-lang.org/2020/03/12/Rust-1.42.html#errordescription-is-deprecatedhttps://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/37Update documentation2020-06-05T19:27:41ZAngus FinchUpdate documentationHello,
I've been playing around with Redox OS recently & wanted to make some small, quality-of-life contributions to (hopefully) help newcomers. The changes introduced in this merge request aim to provide a bit of user-side documentatio...Hello,
I've been playing around with Redox OS recently & wanted to make some small, quality-of-life contributions to (hopefully) help newcomers. The changes introduced in this merge request aim to provide a bit of user-side documentation for users of the terminal interface, based upon [this message](https://chat.redox-os.org/redox/pl/e4uzocxyh7bx8pwgwfshy6do3o) from Jeremy.https://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/36Use Rust 2018 edition2019-12-23T00:41:46ZIan Douglas ScottUse Rust 2018 editionhttps://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/33Update Cargo.lock2019-03-15T19:20:48ZRobin RandhawaUpdate Cargo.lockAArch64 builds need a newer syscall crate.AArch64 builds need a newer syscall crate.https://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/17Better error handling2018-07-13T09:32:53ZIan Douglas ScottBetter error handlingError mesages look like `pkg: install: newlib: failed: failed to unpack '/include' (Permission denied (os error 13))`.
This fixes https://github.com/redox-os/redox/issues/982.Error mesages look like `pkg: install: newlib: failed: failed to unpack '/include' (Permission denied (os error 13))`.
This fixes https://github.com/redox-os/redox/issues/982.https://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/29update to use liner fork2018-06-03T01:28:17ZJeremy Sollerupdate to use liner fork*Created by: liamnaddell*
This pr uses redox-os/liner instead of upstream*Created by: liamnaddell*
This pr uses redox-os/liner instead of upstreamhttps://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/19Add dependency handler for package installation2017-11-05T02:03:31ZJeremy SollerAdd dependency handler for package installation*Created by: AgostonSzepessy*
This is for #10. This commit implements dependency handling for the installation of packages. Dependency handling for uninstallation will come later.
There is a new struct called `Database`, which is use...*Created by: AgostonSzepessy*
This is for #10. This commit implements dependency handling for the installation of packages. Dependency handling for uninstallation will come later.
There is a new struct called `Database`, which is used to calculate dependencies. `Database` depends on a directory, `/etc/pkg.d/pkglist/`, to contain the meta data for every package that can be installed. It uses those to calculate the dependency for each package to be installed. A dependency graph is built and then a topological sort is performed on the graph. The results are put into an `OrderMap` so that if multiple packages need to have their dependencies calculated, duplicates can be easily found.
Then the packages are downloaded and installed.
There will also have to be a way to download the meta data for all the packages and place them into `/etc/pkg.d/pkglist`. I think the easiest way to do that would be to add a command like `refresh` or something which downloads a tarball and extracts it there.https://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/20Use BufWriter2017-08-14T18:44:57ZIan Douglas ScottUse BufWriterhttps://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/18Add --root argument; print usage on no subcommand2017-07-06T21:35:05ZIan Douglas ScottAdd --root argument; print usage on no subcommandhttps://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/16Do not follow symlinks when creating package2017-07-01T18:23:35ZIan Douglas ScottDo not follow symlinks when creating packageThis depends on https://github.com/redox-os/tar-rs/pull/2.This depends on https://github.com/redox-os/tar-rs/pull/2.https://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/15Determine default target based on LLVM triple at build2017-06-30T00:10:54ZIan Douglas ScottDetermine default target based on LLVM triple at buildThis depends on https://github.com/redox-os/cookbook/pull/35.
It also depends on nighly rust since `rustc-env` was added to cargo since the last release. If this is a problem, it should not be merged until the next release.This depends on https://github.com/redox-os/cookbook/pull/35.
It also depends on nighly rust since `rustc-env` was added to cargo since the last release. If this is a problem, it should not be merged until the next release.https://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/14Use clap for argument parsing, and allow a --target argument to choose which ...2017-06-23T23:37:02ZIan Douglas ScottUse clap for argument parsing, and allow a --target argument to choose which target to download packages forThis also makes it no longer a compilation error is TARGET is not defined. But it that case, it must be specified at run time.This also makes it no longer a compilation error is TARGET is not defined. But it that case, it must be specified at run time.https://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/13Define TARGET environment variable for Travis2017-06-21T04:06:06ZJeremy SollerDefine TARGET environment variable for Travis*Created by: AgostonSzepessy*
Defines the `TARGET` environment variable for Travis.*Created by: AgostonSzepessy*
Defines the `TARGET` environment variable for Travis.https://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/12Use BufReader to extract gzip archive2017-06-20T04:00:27ZIan Douglas ScottUse BufReader to extract gzip archivehttps://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/11Use pbr crate for progress bar2017-06-19T02:57:16ZIan Douglas ScottUse pbr crate for progress bar![pkg-pb](https://user-images.githubusercontent.com/2263150/27266409-d9e141de-5455-11e7-9bf7-50a387fd09a7.png)
I had to patch pbr with a termion based backend for Redox (https://github.com/ids1024/pb/commit/3434f11276836b7d7f2eb5d9c0b...![pkg-pb](https://user-images.githubusercontent.com/2263150/27266409-d9e141de-5455-11e7-9bf7-50a387fd09a7.png)
I had to patch pbr with a termion based backend for Redox (https://github.com/ids1024/pb/commit/3434f11276836b7d7f2eb5d9c0b36b0b6c829789). I had to subtract 1 from the column count to make it display on one line (the cursor ended up on the next line, messing things up). That shouldn't be necessary, but I'm not sure where the issue is (orbterm, termion, etc).https://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/9Refactor with a Package class2017-04-26T14:41:10ZIan Douglas ScottRefactor with a Package classI find the `and_then` lines annoying; but `?` isn't an option here since returning is not desired.I find the `and_then` lines annoying; but `?` isn't an option here since returning is not desired.https://gitlab.redox-os.org/redox-os/pkgutils/-/merge_requests/8Add PackageMeta struct2017-04-26T03:56:10ZIan Douglas ScottAdd PackageMeta structThis part of #7 is something we're going to need, so I thought I might as well submit a PR with it (although it isn't used yet).This part of #7 is something we're going to need, so I thought I might as well submit a PR with it (although it isn't used yet).