Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debian Packaging #2

Open
vsoch opened this issue Sep 30, 2019 · 34 comments
Open

Debian Packaging #2

vsoch opened this issue Sep 30, 2019 · 34 comments

Comments

@vsoch
Copy link

vsoch commented Sep 30, 2019

I reached out to @yarikoptic about proper Debian packaging (I've never done it!) and he has shared his wisdom! Here is his proposal for going about this:

The best way is to release Debian package via Debian ;) I.e. create a proper debian source package (.dsc file with associated .tar.gz and .debian.tar.gz or analogous .xz etc). From that .dsc binary packages would be built by debian infrastructure or anybody (e.g. we could provide backports via neurodebian), and distributed accordingly via Debian.

Typically we don't use docker to build them, but use a Debian-based machine, gbp-buildpackage (as a helper, not mandatory) with pbuilder (builds in a clean chroot).

our neurodebian setup described in http://neuro.debian.net/blog/2012/2012-04-14_ndtools.html which still works for me. You better also file an ITP (intent to package) bug report first (to be
closed in your first debian/changelog entry):

    reportbug -b wnpp

select ITP, proceed filling out the form, should get a new bug report with a # as a result via email

when you are ready with the package, and it passes "lintian" tests, upload to https://mentors.debian.net so some debian developer (e.g. me if I get a moment) could review and upload

This doesn't really afford a complete GitHub or general CI release cycle, and for this reason we can definitely provide the Docker build, but maybe we should also try to do this proper? Thoughts?

@jankoprowski
Copy link

The question is how to create .dsc package?

@vsoch
Copy link
Author

vsoch commented Sep 30, 2019

I think the "dsc" file is just a metadata file that has package information (checksums, etc.) looking at this guide https://wiki.debian.org/SimplePackagingTutorial

And you can see an example in this repository:

https://github.com/trevorsandy/lpub3d/blob/master/builds/linux/obs/debian/lpub3d.dsc

The instructions for the simple packaging tutorial seem pretty straight forward, but I'll let @yarikoptic weigh in.

@yarikoptic
Copy link

dpkg-buildpackage and (gbp buildpacke if you use it) would do that as a part of the overall procedure. You could also use dpkg-source -b directly iirc but that one might not create .changes which you need to use for upload to Debian (mentors) using eg dput.

@est31
Copy link

est31 commented Oct 9, 2019

If you haven't already, you should contact the people from https://wiki.debian.org/Teams/RustPackaging

@vsoch
Copy link
Author

vsoch commented Oct 17, 2019

okay I posted to the list, here https://alioth-lists.debian.net/pipermail/pkg-rust-maintainers/2019-October/007819.html and got a response quickly! https://alioth-lists.debian.net/pipermail/pkg-rust-maintainers/2019-October/007820.html

You can read the response in detail, but in summary:

  • every dependency crate must first be a package
  • we have a LOT of missing dependencies - I used cargo-debstatus per instruction of the response, and (using an image to show colors) - anything that isn't green is missing (or actually, outdated, but it still would need work to patch). I can't show colors, but I've generated the output for anyone interested - do  find for "(outdated)" to see the packages that would render in yellow.

https://gist.github.com/vsoch/af0d7533775e3c21418e6b8a6a3825bd

Also note that I ran the command cargo-debstatus debstatus from the root of the repo, after commenting out #default-run = "nu" otherwise I got an error message.

And directly from the response - the other challenges we'd run into:

As a spoiler, the output for nu is quite long unfortunately. Other issues you'd run into:

  • nu currently requires a beta release of rust that isn't in debian (I ran into this when I was trying to package - it said it was missing a default-run)
  • it has pre-release versions of futures 0.3.0 in its dependency tree that Debian currently can't support with their tooling

So - thinking / looking this over, I think we could try to tackle this now, and it would be huge amounts of work to first add all these other projects, but more realistically if we just wait some time for the ecosystem to develop, the dependencies will be available as packages, and perhaps a stable version will exist that doesn't require a beta release.

Thoughts? This isn't blocking anyone from developing or using rust - there are containers available along with the ability to hack around locally. My thinking is that the best strategy is to wait, and then come back when nu doesn't need a beta rust, and cargo-debstatus doesn't return (mostly missing) packages.

@est31
Copy link

est31 commented Oct 17, 2019

nu currently requires a beta release of rust that isn't in debian (I ran into this when I was trying to package - it said it was missing a default-run)
it has pre-release versions of futures 0.3.0 in its dependency tree that Debian currently can't support with their tooling

As is noted in the e-mail, both issues are bound to resolve. 1.39.0 release will happen on Nov 7, 2019, so in precisely three weeks, while futures 0.3.0 will likely have a release around that time as well: rust-lang/futures-rs#1893

@vsoch
Copy link
Author

vsoch commented Oct 17, 2019

Great! So @est31 should we put a TODO to take a look on November 8th?

@andrasio
Copy link
Member

andrasio commented Nov 2, 2019

Hi :)

How are we doing here? @vsoch @yarikoptic

@andrasio
Copy link
Member

andrasio commented Nov 2, 2019

nushell/nushell#900

@vsoch
Copy link
Author

vsoch commented Nov 2, 2019

@est31 said that a release will be in debian on November 7th, so I suggested looking on November 8th. It's still November 2nd @andrasio ! :)

@vsoch
Copy link
Author

vsoch commented Nov 2, 2019

Also please read - even with the rust release it may be there are too many dependencies not packaged yet to do. #2, and time might be the best asset here. Note that I'm not an experienced debian maintainer (I know pretty much nothing) but I'm feeling out as I go!

@est31
Copy link

est31 commented Nov 3, 2019

@est31 said that a release will be in debian on November 7th

When I said that there will be a release on November 7th, I meant the upstream release, not the release in Debian. Not sure when it'll be in Debian. Debian unstable still has 1.37.0 and 1.38.0 is needed in Debian before it can upgrade to 1.39.0.

@sanxiyn
Copy link

sanxiyn commented Dec 7, 2019

Debian unstable now has 1.39.0: https://packages.debian.org/unstable/rustc.

@vsoch
Copy link
Author

vsoch commented Dec 7, 2019

okay I'm running the command again, the steps I took are:

  • pulled updates from nushell/nushell (upstream)
  • commented out #default-run: "nu" in Cargo.toml
  • deleted the Cargo.lock (got an error when I did not)
  • ran:
cargo-debstatus debstatus

from the root of the repository, and the updated output is here:

https://gist.github.com/vsoch/af0d7533775e3c21418e6b8a6a3825bd#file-cargo-debstatus-nu-0-3-0_12-07-2019-txt

There are still quite a few outdated - is this something we can take any kind of action on? @yarikoptic
@sanxiyn and @est31 you seem to have expertise in debian packaging - your comments would be greatly appreciated!

@sanxiyn
Copy link

sanxiyn commented Dec 8, 2019

Of course there are some possible actions. For example,

$ cargo debstatus -p subprocess
subprocess v0.1.18                                                              
├── crossbeam-utils v0.5.0 (outdated)
├── libc v0.2.66 (in debian)
└── winapi v0.3.8 (in debian)

shows subprocess needs to update crossbeam-utils dependency. Looking at subprocess repository, this is already done, just not released. When it is released, nu can update subprocess dependency, etc.

It is somewhat daunting to go through the long list, but I think there is no way around it. Good news is that it is finite.

@vsoch
Copy link
Author

vsoch commented Dec 8, 2019

@sanxiyn could you explicitly state what you are suggesting that we can do? To go through the list, one by one, check the output and then package.. and then what?

@vsoch
Copy link
Author

vsoch commented Dec 15, 2019

@yarikoptic @sanxiyn and @est31 I'd like to help as much as I am able - can we choose one of the libraries that isn't on debian, and together walk through how we would package? If I am able to help with a single external dependency, then I can slowly work through some of the others, and at least get us closer.

@costincaraivan
Copy link

Hi @vsoch - has this progressed since? It's been almost 1 year and a half, hopefully by now the adoption of the Rust ecosystem within Debian is much better.

@vsoch
Copy link
Author

vsoch commented Jun 4, 2021

I'm not working on it actively, so no. I just tried to install cargo-debstatus to generate another tree to look at, but it no longer compiles on my system. Maybe someone else can give it a shot? I opened the issue to express the next but I am not a debian developer nor do I have the expertise with rust to be able to really take charge of it.

@kpcyrd
Copy link

kpcyrd commented Jun 4, 2021

cargo-debstatus still builds on my system (rust 1.52.1 on Arch Linux) but I had trouble keeping up with cargo development and it has never been properly ported to the new Cargo.lock format (kpcyrd/cargo-debstatus#7), the codebase was mostly cargo-tree, cargo-outdated and some debian specfic code pasted into one codebase. I vaguely remember support for the new Cargo.lock file has been added to the master branch, but has never been released because the "cargo-outdated" feature hasn't been ported yet and I'm currently not interested in actively developing the project anymore. Pull requests are still very welcome though!

Packaging the rust ecosystem in debian is quite labor-intensive (both getting the packages in and maintaining them afterwards) and there are requests by the debian ftp-master team that haven't been implemented due to lack of volunteer time. Uploads are being processed again though and there are still people working on rust packaging in #debian-rust on oftc. Merge requests can be sent to this repository https://salsa.debian.org/rust-team/debcargo-conf/, the readme contains instructions on how to do that (though, granted, there's no intro text but running the commands ./new-package.sh and ./update.sh as described in step 2 prints further instructions). You can always ask in the irc channel if you're stuck.

Debian is currently in freeze for the next release, if you're planning to do non-trivial uploads you might want to wait until debian bullseye has been released.

@github-actions
Copy link

github-actions bot commented Jul 7, 2021

This issue is being marked stale because it has been open for 30 days without activity. If you feel that this is in error, please comment below and we will keep it marked as active.

@sophiajt
Copy link

sophiajt commented Jul 7, 2021

If someone is interested in working on this, please let us know. We would be happy to coordinate to work on an official package.

@github-actions
Copy link

github-actions bot commented Oct 6, 2021

This issue is being marked stale because it has been open for 90 days without activity. If you feel that this is in error, please comment below and we will keep it marked as active.

@github-actions
Copy link

This issue has been marked stale for more than 10 days without activity. Closing this issue, but if you find that the issue is still valid, please reopen.

@tgross35
Copy link

Should this be reopened? Just to advertise that help packaging is still wanted

@kubouch kubouch reopened this Jan 20, 2024
@Inveracity
Copy link
Contributor

I took a little time to play around with this here https://github.com/Inveracity/nushell-debian-package

I'd be happy to collaborate on this

@hustcer
Copy link

hustcer commented Jan 20, 2024

@Inveracity Thanks for investigation. PRs are welcomed. and we can test it in nushell/nightly repo

@tgross35
Copy link

If you get something completed, you should reach out to the Debian Rust maintainer group. They have picked up a few things recently, https://qa.debian.org/developer.php?email=pkg-rust-maintainers%40alioth-lists.debian.net

(I did not check if there is already an open issue, there might be already)

@Inveracity
Copy link
Contributor

If you get something completed, you should reach out to the Debian Rust maintainer group. They have picked up a few things recently, https://qa.debian.org/developer.php?email=pkg-rust-maintainers%40alioth-lists.debian.net

(I did not check if there is already an open issue, there might be already)

I've focused my attention on packaging the prebuilt binary, is that still a good fit for the Debian Rust maintainers?
From a quick glance It seems more related to crates rather than shipping binaries.

@tgross35
Copy link

tgross35 commented Jan 21, 2024

I've focused my attention on packaging the prebuilt binary, is that still a good fit for the Debian Rust maintainers? From a quick glance It seems more related to crates rather than shipping binaries.

It is definitely for shipping binary crates - but all dependencies also need to be in the repo so there are a lot more library crates than final binaries. (I believe dependency resolution is what makes the upstream packaging so difficult, since sometimes overrides need to be done by hand) . But binaries like ripgrep, just, b3sum, bat, alacritty, bindgen, fd, and even rustc and cargo are all maintained by this team.

Config for the debian repositories happens via debcargo, with configs at https://salsa.debian.org/rust-team/debcargo-conf. That readme has better instructions for how to package something intended for upstream, as opposed to just building a .deb to self-distribute (which is, of course, still worth it!).

@Inveracity
Copy link
Contributor

I see, thanks for the information!

For the time being my personal motivation is being able to install nushell with apt, either through a PPA hosted via nushell.sh or via package-cloud or otherwise.

I hope my PR is enough to at least get the wheels turning for an eventual apt install nushell installation experience.

I will leave the crate packaging up to someone who is more experienced in the rust eco-system 😄

@kpcyrd
Copy link

kpcyrd commented Jan 21, 2024

As already pointed out by @tgross35, all crates nu depends on need to be uploaded to Debian first, before you can upload a nu package that builds from all this uploaded source code. Downloading sourcecode from crates.io during build (or uploading pre-built binaries) is not allowed and can't be used for official Debian packages.

To get a status report you can run cargo-debstatus on nu and get something like this (I can not post the full output because it's about 2 MB of text and I could not find a pastebin that allows me to paste this much text):

nu v0.89.1 (/home/user/repos/github/nushell)
├── crossterm v0.27.0 (in debian)
├── ctrlc v3.4.2 (in debian)
├── log v0.4.20 (in debian)
├── miette v5.10.0
│   ├── is-terminal v0.4.10 (in debian)
│   ├── miette-derive v5.10.0
│   │   ├── proc-macro2 v1.0.78 (in debian)
│   │   ├── quote v1.0.35 (in debian)
│   │   └── syn v2.0.48 (in debian)
│   ├── once_cell v1.19.0 (in debian)
│   ├── owo-colors v3.5.0 (in debian)
│   ├── supports-color v2.1.0 (in debian)
│   ├── supports-hyperlinks v2.1.0
│   │   └── is-terminal v0.4.10 (in debian)
│   ├── supports-unicode v2.1.0
│   │   └── is-terminal v0.4.10 (in debian)
│   ├── terminal_size v0.1.17
│   │   └── libc v0.2.152 (in debian)
│   ├── textwrap v0.15.2
│   │   ├── smawk v0.3.2 (in debian)
│   │   ├── unicode-linebreak v0.1.5 (in debian)
│   │   └── unicode-width v0.1.11 (in debian)
│   ├── thiserror v1.0.56 (in debian)
│   └── unicode-width v0.1.11 (in debian)
├── mimalloc v0.1.39 (in debian)
├── nix v0.27.1
│   ├── bitflags v2.4.2 (in debian)
│   ├── cfg-if v1.0.0 (in debian)
│   └── libc v0.2.152 (in debian)
├── nu-ansi-term v0.49.0 (in debian)
├── nu-cli v0.89.1 (/home/user/repos/github/nushell/crates/nu-cli)
│   ├── chrono v0.4.31 (in debian)
│   ├── crossterm v0.27.0 (in debian)
│   ├── fancy-regex v0.12.0
│   │   ├── bit-set v0.5.3 (in debian)
│   │   └── regex v1.10.2 (in debian)
│   ├── fuzzy-matcher v0.3.7 (in debian)
│   ├── is_executable v1.0.1 (in debian)
│   ├── log v0.4.20 (in debian)
│   ├── miette v5.10.0
│   │   ├── is-terminal v0.4.10 (in debian)
│   │   ├── miette-derive v5.10.0
│   │   │   ├── proc-macro2 v1.0.78 (in debian)
│   │   │   ├── quote v1.0.35 (in debian)
│   │   │   └── syn v2.0.48 (in debian)
│   │   ├── once_cell v1.19.0 (in debian)
│   │   ├── owo-colors v3.5.0 (in debian)
│   │   ├── supports-color v2.1.0 (in debian)
│   │   ├── supports-hyperlinks v2.1.0
│   │   │   └── is-terminal v0.4.10 (in debian)
│   │   ├── supports-unicode v2.1.0
│   │   │   └── is-terminal v0.4.10 (in debian)
│   │   ├── terminal_size v0.1.17
│   │   │   └── libc v0.2.152 (in debian)
│   │   ├── textwrap v0.15.2
│   │   │   ├── smawk v0.3.2 (in debian)
│   │   │   ├── unicode-linebreak v0.1.5 (in debian)
│   │   │   └── unicode-width v0.1.11 (in debian)
│   │   ├── thiserror v1.0.56 (in debian)
│   │   └── unicode-width v0.1.11 (in debian)
│   ├── nu-ansi-term v0.49.0 (in debian)
│   ├── nu-cmd-base v0.89.1 (/home/user/repos/github/nushell/crates/nu-cmd-base)
│   │   ├── indexmap v2.1.0
│   │   │   ├── equivalent v1.0.1 (in debian)
│   │   │   └── hashbrown v0.14.3
│   │   │       ├── ahash v0.8.7 (in debian)
│   │   │       └── allocator-api2 v0.2.16 (in debian)
│   │   ├── miette v5.10.0
│   │   │   ├── is-terminal v0.4.10 (in debian)
│   │   │   ├── miette-derive v5.10.0
│   │   │   │   ├── proc-macro2 v1.0.78 (in debian)
│   │   │   │   ├── quote v1.0.35 (in debian)
│   │   │   │   └── syn v2.0.48 (in debian)
│   │   │   ├── once_cell v1.19.0 (in debian)
│   │   │   ├── owo-colors v3.5.0 (in debian)
│   │   │   ├── supports-color v2.1.0 (in debian)
│   │   │   ├── supports-hyperlinks v2.1.0
│   │   │   │   └── is-terminal v0.4.10 (in debian)
│   │   │   ├── supports-unicode v2.1.0
│   │   │   │   └── is-terminal v0.4.10 (in debian)
│   │   │   ├── terminal_size v0.1.17
│   │   │   │   └── libc v0.2.152 (in debian)
│   │   │   ├── textwrap v0.15.2
│   │   │   │   ├── smawk v0.3.2 (in debian)
│   │   │   │   ├── unicode-linebreak v0.1.5 (in debian)
│   │   │   │   └── unicode-width v0.1.11 (in debian)
│   │   │   ├── thiserror v1.0.56 (in debian)
│   │   │   └── unicode-width v0.1.11 (in debian)
│   │   ├── nu-engine v0.89.1 (/home/user/repos/github/nushell/crates/nu-engine)
│   │   │   ├── nu-glob v0.89.1 (/home/user/repos/github/nushell/crates/nu-glob)
│   │   │   │   [dev-dependencies]
│   │   │   │   └── doc-comment v0.3.3 (in debian)
│   │   │   ├── nu-path v0.89.1 (/home/user/repos/github/nushell/crates/nu-path)
│   │   │   │   ├── dirs-next v2.0.0 (in debian)
│   │   │   │   └── pwd v1.4.0
│   │   │   │       ├── libc v0.2.152 (in debian)
│   │   │   │       └── thiserror v1.0.56 (in debian)
│   │   │   ├── nu-protocol v0.89.1 (/home/user/repos/github/nushell/crates/nu-protocol)
│   │   │   │   ├── byte-unit v4.0.19 (in debian)
│   │   │   │   ├── chrono v0.4.31 (in debian)
│   │   │   │   ├── chrono-humanize v0.2.3 (in debian)
│   │   │   │   ├── fancy-regex v0.12.0
│   │   │   │   │   ├── bit-set v0.5.3 (in debian)
│   │   │   │   │   └── regex v1.10.2 (in debian)
│   │   │   │   ├── indexmap v2.1.0
│   │   │   │   │   ├── equivalent v1.0.1 (in debian)
│   │   │   │   │   └── hashbrown v0.14.3
│   │   │   │   │       ├── ahash v0.8.7 (in debian)
│   │   │   │   │       └── allocator-api2 v0.2.16 (in debian)
│   │   │   │   ├── lru v0.12.1
│   │   │   │   │   └── hashbrown v0.14.3
│   │   │   │   │       ├── ahash v0.8.7 (in debian)
│   │   │   │   │       └── allocator-api2 v0.2.16 (in debian)
│   │   │   │   ├── miette v5.10.0
│   │   │   │   │   ├── is-terminal v0.4.10 (in debian)
│   │   │   │   │   ├── miette-derive v5.10.0
│   │   │   │   │   │   ├── proc-macro2 v1.0.78 (in debian)
│   │   │   │   │   │   ├── quote v1.0.35 (in debian)
│   │   │   │   │   │   └── syn v2.0.48 (in debian)
│   │   │   │   │   ├── once_cell v1.19.0 (in debian)
│   │   │   │   │   ├── owo-colors v3.5.0 (in debian)
│   │   │   │   │   ├── supports-color v2.1.0 (in debian)
│   │   │   │   │   ├── supports-hyperlinks v2.1.0
│   │   │   │   │   │   └── is-terminal v0.4.10 (in debian)
│   │   │   │   │   ├── supports-unicode v2.1.0
│   │   │   │   │   │   └── is-terminal v0.4.10 (in debian)
│   │   │   │   │   ├── terminal_size v0.1.17
│   │   │   │   │   │   └── libc v0.2.152 (in debian)
│   │   │   │   │   ├── textwrap v0.15.2
│   │   │   │   │   │   ├── smawk v0.3.2 (in debian)
│   │   │   │   │   │   ├── unicode-linebreak v0.1.5 (in debian)
│   │   │   │   │   │   └── unicode-width v0.1.11 (in debian)
│   │   │   │   │   ├── thiserror v1.0.56 (in debian)
│   │   │   │   │   └── unicode-width v0.1.11 (in debian)
│   │   │   │   ├── nu-path v0.89.1 (/home/user/repos/github/nushell/crates/nu-path)
│   │   │   │   │   ├── dirs-next v2.0.0 (in debian)
│   │   │   │   │   └── pwd v1.4.0
│   │   │   │   │       ├── libc v0.2.152 (in debian)
│   │   │   │   │       └── thiserror v1.0.56 (in debian)
│   │   │   │   ├── nu-system v0.89.1 (/home/user/repos/github/nushell/crates/nu-system)
│   │   │   │   │   ├── libc v0.2.152 (in debian)
│   │   │   │   │   ├── log v0.4.20 (in debian)
│   │   │   │   │   ├── nix v0.27.1
│   │   │   │   │   │   ├── bitflags v2.4.2 (in debian)
│   │   │   │   │   │   ├── cfg-if v1.0.0 (in debian)
│   │   │   │   │   │   └── libc v0.2.152 (in debian)
│   │   │   │   │   ├── procfs v0.16.0
│   │   │   │   │   │   ├── bitflags v2.4.2 (in debian)
│   │   │   │   │   │   ├── chrono v0.4.31 (in debian)
│   │   │   │   │   │   ├── flate2 v1.0.28 (in debian)
│   │   │   │   │   │   ├── hex v0.4.3 (in debian)
│   │   │   │   │   │   ├── lazy_static v1.4.0 (in debian)
│   │   │   │   │   │   ├── procfs-core v0.16.0
│   │   │   │   │   │   │   ├── bitflags v2.4.2 (in debian)
│   │   │   │   │   │   │   ├── chrono v0.4.31 (in debian)
│   │   │   │   │   │   │   └── hex v0.4.3 (in debian)
│   │   │   │   │   │   └── rustix v0.38.30 (in debian)
│   │   │   │   │   └── sysinfo v0.30.5
│   │   │   │   │       ├── cfg-if v1.0.0 (in debian)
│   │   │   │   │       ├── libc v0.2.152 (in debian)
│   │   │   │   │       ├── once_cell v1.19.0 (in debian)
│   │   │   │   │       └── rayon v1.8.1 (in debian)
│   │   │   │   ├── nu-utils v0.89.1 (/home/user/repos/github/nushell/crates/nu-utils)
│   │   │   │   │   ├── log v0.4.20 (in debian)
│   │   │   │   │   ├── lscolors v0.16.0 (in debian)
│   │   │   │   │   ├── num-format v0.4.4 (in debian)
│   │   │   │   │   ├── strip-ansi-escapes v0.2.0
│   │   │   │   │   │   └── vte v0.11.1 (in debian)
│   │   │   │   │   ├── sys-locale v0.3.1 (in debian)
│   │   │   │   │   └── unicase v2.7.0 (in debian)
│   │   │   │   ├── num-format v0.4.4 (in debian)
│   │   │   │   ├── serde v1.0.195 (in debian)
│   │   │   │   ├── serde_json v1.0.111 (in debian)
│   │   │   │   ├── thiserror v1.0.56 (in debian)
│   │   │   │   └── typetag v0.2.15
│   │   │   │       ├── erased-serde v0.4.2
│   │   │   │       │   └── serde v1.0.195 (in debian)
│   │   │   │       ├── inventory v0.3.14 (in debian)
│   │   │   │       ├── once_cell v1.19.0 (in debian)
│   │   │   │       ├── serde v1.0.195 (in debian)
│   │   │   │       └── typetag-impl v0.2.15
│   │   │   │           ├── proc-macro2 v1.0.78 (in debian)
│   │   │   │           ├── quote v1.0.35 (in debian)
│   │   │   │           └── syn v2.0.48 (in debian)
│   │   │   │   [dev-dependencies]
│   │   │   │   ├── nu-test-support v0.89.1 (/home/user/repos/github/nushell/crates/nu-test-support)
│   │   │   │   │   ├── hamcrest2 v0.3.0
│   │   │   │   │   │   ├── num v0.2.1
│   │   │   │   │   │   │   ├── num-bigint v0.2.6
│   │   │   │   │   │   │   │   ├── num-integer v0.1.45 (in debian)
│   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   │   │   └── autocfg v1.1.0 (in debian)
│   │   │   │   │   │   │   ├── num-complex v0.2.4
│   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   │   │   └── autocfg v1.1.0 (in debian)
│   │   │   │   │   │   │   ├── num-integer v0.1.45 (in debian)
│   │   │   │   │   │   │   ├── num-iter v0.1.43 (in debian)
│   │   │   │   │   │   │   ├── num-rational v0.2.4
│   │   │   │   │   │   │   │   ├── num-bigint v0.2.6
│   │   │   │   │   │   │   │   │   ├── num-integer v0.1.45 (in debian)
│   │   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   │   │   │   └── autocfg v1.1.0 (in debian)
│   │   │   │   │   │   │   │   ├── num-integer v0.1.45 (in debian)
│   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   │   │   └── autocfg v1.1.0 (in debian)
│   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   └── regex v1.10.2 (in debian)
│   │   │   │   │   ├── nu-glob v0.89.1 (/home/user/repos/github/nushell/crates/nu-glob)
│   │   │   │   │   │   [dev-dependencies]
│   │   │   │   │   │   └── doc-comment v0.3.3 (in debian)
│   │   │   │   │   ├── nu-path v0.89.1 (/home/user/repos/github/nushell/crates/nu-path)
│   │   │   │   │   │   ├── dirs-next v2.0.0 (in debian)
│   │   │   │   │   │   └── pwd v1.4.0
│   │   │   │   │   │       ├── libc v0.2.152 (in debian)
│   │   │   │   │   │       └── thiserror v1.0.56 (in debian)
│   │   │   │   │   ├── nu-utils v0.89.1 (/home/user/repos/github/nushell/crates/nu-utils)
│   │   │   │   │   │   ├── log v0.4.20 (in debian)
│   │   │   │   │   │   ├── lscolors v0.16.0 (in debian)
│   │   │   │   │   │   ├── num-format v0.4.4 (in debian)
│   │   │   │   │   │   ├── strip-ansi-escapes v0.2.0
│   │   │   │   │   │   │   └── vte v0.11.1 (in debian)
│   │   │   │   │   │   ├── sys-locale v0.3.1 (in debian)
│   │   │   │   │   │   └── unicase v2.7.0 (in debian)
│   │   │   │   │   ├── num-format v0.4.4 (in debian)
│   │   │   │   │   ├── tempfile v3.9.0 (in debian)
│   │   │   │   │   └── which v4.4.2 (in debian)
│   │   │   │   ├── rstest v0.18.2
│   │   │   │   │   ├── futures v0.3.30 (in debian)
│   │   │   │   │   ├── futures-timer v3.0.2 (in debian)
│   │   │   │   │   └── rstest_macros v0.18.2
│   │   │   │   │       ├── cfg-if v1.0.0 (in debian)
│   │   │   │   │       ├── glob v0.3.1 (in debian)
│   │   │   │   │       ├── proc-macro2 v1.0.78 (in debian)
│   │   │   │   │       ├── quote v1.0.35 (in debian)
│   │   │   │   │       ├── regex v1.10.2 (in debian)
│   │   │   │   │       ├── relative-path v1.9.2 (in debian)
│   │   │   │   │       ├── syn v2.0.48 (in debian)
│   │   │   │   │       └── unicode-ident v1.0.12 (in debian)
│   │   │   │   │       [build-dependencies]
│   │   │   │   │       └── rustc_version v0.4.0 (in debian)
│   │   │   │   │   [build-dependencies]
│   │   │   │   │   └── rustc_version v0.4.0 (in debian)
│   │   │   │   ├── serde_json v1.0.111 (in debian)
│   │   │   │   ├── strum v0.25.0 (in debian)
│   │   │   │   └── strum_macros v0.25.3 (in debian)
│   │   │   └── nu-utils v0.89.1 (/home/user/repos/github/nushell/crates/nu-utils)
│   │   │       ├── log v0.4.20 (in debian)
│   │   │       ├── lscolors v0.16.0 (in debian)
│   │   │       ├── num-format v0.4.4 (in debian)
│   │   │       ├── strip-ansi-escapes v0.2.0
│   │   │       │   └── vte v0.11.1 (in debian)
│   │   │       ├── sys-locale v0.3.1 (in debian)
│   │   │       └── unicase v2.7.0 (in debian)
│   │   ├── nu-glob v0.89.1 (/home/user/repos/github/nushell/crates/nu-glob)
│   │   │   [dev-dependencies]
│   │   │   └── doc-comment v0.3.3 (in debian)
│   │   ├── nu-parser v0.89.1 (/home/user/repos/github/nushell/crates/nu-parser)
│   │   │   ├── bytesize v1.3.0 (in debian)
│   │   │   ├── chrono v0.4.31 (in debian)
│   │   │   ├── itertools v0.12.0
│   │   │   │   └── either v1.9.0 (in debian)
│   │   │   ├── log v0.4.20 (in debian)
│   │   │   ├── nu-engine v0.89.1 (/home/user/repos/github/nushell/crates/nu-engine)
│   │   │   │   ├── nu-glob v0.89.1 (/home/user/repos/github/nushell/crates/nu-glob)
│   │   │   │   │   [dev-dependencies]
│   │   │   │   │   └── doc-comment v0.3.3 (in debian)
│   │   │   │   ├── nu-path v0.89.1 (/home/user/repos/github/nushell/crates/nu-path)
│   │   │   │   │   ├── dirs-next v2.0.0 (in debian)
│   │   │   │   │   └── pwd v1.4.0
│   │   │   │   │       ├── libc v0.2.152 (in debian)
│   │   │   │   │       └── thiserror v1.0.56 (in debian)
│   │   │   │   ├── nu-protocol v0.89.1 (/home/user/repos/github/nushell/crates/nu-protocol)
│   │   │   │   │   ├── byte-unit v4.0.19 (in debian)
│   │   │   │   │   ├── chrono v0.4.31 (in debian)
│   │   │   │   │   ├── chrono-humanize v0.2.3 (in debian)
│   │   │   │   │   ├── fancy-regex v0.12.0
│   │   │   │   │   │   ├── bit-set v0.5.3 (in debian)
│   │   │   │   │   │   └── regex v1.10.2 (in debian)
│   │   │   │   │   ├── indexmap v2.1.0
│   │   │   │   │   │   ├── equivalent v1.0.1 (in debian)
│   │   │   │   │   │   └── hashbrown v0.14.3
│   │   │   │   │   │       ├── ahash v0.8.7 (in debian)
│   │   │   │   │   │       └── allocator-api2 v0.2.16 (in debian)
│   │   │   │   │   ├── lru v0.12.1
│   │   │   │   │   │   └── hashbrown v0.14.3
│   │   │   │   │   │       ├── ahash v0.8.7 (in debian)
│   │   │   │   │   │       └── allocator-api2 v0.2.16 (in debian)
│   │   │   │   │   ├── miette v5.10.0
│   │   │   │   │   │   ├── is-terminal v0.4.10 (in debian)
│   │   │   │   │   │   ├── miette-derive v5.10.0
│   │   │   │   │   │   │   ├── proc-macro2 v1.0.78 (in debian)
│   │   │   │   │   │   │   ├── quote v1.0.35 (in debian)
│   │   │   │   │   │   │   └── syn v2.0.48 (in debian)
│   │   │   │   │   │   ├── once_cell v1.19.0 (in debian)
│   │   │   │   │   │   ├── owo-colors v3.5.0 (in debian)
│   │   │   │   │   │   ├── supports-color v2.1.0 (in debian)
│   │   │   │   │   │   ├── supports-hyperlinks v2.1.0
│   │   │   │   │   │   │   └── is-terminal v0.4.10 (in debian)
│   │   │   │   │   │   ├── supports-unicode v2.1.0
│   │   │   │   │   │   │   └── is-terminal v0.4.10 (in debian)
│   │   │   │   │   │   ├── terminal_size v0.1.17
│   │   │   │   │   │   │   └── libc v0.2.152 (in debian)
│   │   │   │   │   │   ├── textwrap v0.15.2
│   │   │   │   │   │   │   ├── smawk v0.3.2 (in debian)
│   │   │   │   │   │   │   ├── unicode-linebreak v0.1.5 (in debian)
│   │   │   │   │   │   │   └── unicode-width v0.1.11 (in debian)
│   │   │   │   │   │   ├── thiserror v1.0.56 (in debian)
│   │   │   │   │   │   └── unicode-width v0.1.11 (in debian)
│   │   │   │   │   ├── nu-path v0.89.1 (/home/user/repos/github/nushell/crates/nu-path)
│   │   │   │   │   │   ├── dirs-next v2.0.0 (in debian)
│   │   │   │   │   │   └── pwd v1.4.0
│   │   │   │   │   │       ├── libc v0.2.152 (in debian)
│   │   │   │   │   │       └── thiserror v1.0.56 (in debian)
│   │   │   │   │   ├── nu-system v0.89.1 (/home/user/repos/github/nushell/crates/nu-system)
│   │   │   │   │   │   ├── libc v0.2.152 (in debian)
│   │   │   │   │   │   ├── log v0.4.20 (in debian)
│   │   │   │   │   │   ├── nix v0.27.1
│   │   │   │   │   │   │   ├── bitflags v2.4.2 (in debian)
│   │   │   │   │   │   │   ├── cfg-if v1.0.0 (in debian)
│   │   │   │   │   │   │   └── libc v0.2.152 (in debian)
│   │   │   │   │   │   ├── procfs v0.16.0
│   │   │   │   │   │   │   ├── bitflags v2.4.2 (in debian)
│   │   │   │   │   │   │   ├── chrono v0.4.31 (in debian)
│   │   │   │   │   │   │   ├── flate2 v1.0.28 (in debian)
│   │   │   │   │   │   │   ├── hex v0.4.3 (in debian)
│   │   │   │   │   │   │   ├── lazy_static v1.4.0 (in debian)
│   │   │   │   │   │   │   ├── procfs-core v0.16.0
│   │   │   │   │   │   │   │   ├── bitflags v2.4.2 (in debian)
│   │   │   │   │   │   │   │   ├── chrono v0.4.31 (in debian)
│   │   │   │   │   │   │   │   └── hex v0.4.3 (in debian)
│   │   │   │   │   │   │   └── rustix v0.38.30 (in debian)
│   │   │   │   │   │   └── sysinfo v0.30.5
│   │   │   │   │   │       ├── cfg-if v1.0.0 (in debian)
│   │   │   │   │   │       ├── libc v0.2.152 (in debian)
│   │   │   │   │   │       ├── once_cell v1.19.0 (in debian)
│   │   │   │   │   │       └── rayon v1.8.1 (in debian)
│   │   │   │   │   ├── nu-utils v0.89.1 (/home/user/repos/github/nushell/crates/nu-utils)
│   │   │   │   │   │   ├── log v0.4.20 (in debian)
│   │   │   │   │   │   ├── lscolors v0.16.0 (in debian)
│   │   │   │   │   │   ├── num-format v0.4.4 (in debian)
│   │   │   │   │   │   ├── strip-ansi-escapes v0.2.0
│   │   │   │   │   │   │   └── vte v0.11.1 (in debian)
│   │   │   │   │   │   ├── sys-locale v0.3.1 (in debian)
│   │   │   │   │   │   └── unicase v2.7.0 (in debian)
│   │   │   │   │   ├── num-format v0.4.4 (in debian)
│   │   │   │   │   ├── serde v1.0.195 (in debian)
│   │   │   │   │   ├── serde_json v1.0.111 (in debian)
│   │   │   │   │   ├── thiserror v1.0.56 (in debian)
│   │   │   │   │   └── typetag v0.2.15
│   │   │   │   │       ├── erased-serde v0.4.2
│   │   │   │   │       │   └── serde v1.0.195 (in debian)
│   │   │   │   │       ├── inventory v0.3.14 (in debian)
│   │   │   │   │       ├── once_cell v1.19.0 (in debian)
│   │   │   │   │       ├── serde v1.0.195 (in debian)
│   │   │   │   │       └── typetag-impl v0.2.15
│   │   │   │   │           ├── proc-macro2 v1.0.78 (in debian)
│   │   │   │   │           ├── quote v1.0.35 (in debian)
│   │   │   │   │           └── syn v2.0.48 (in debian)
│   │   │   │   │   [dev-dependencies]
│   │   │   │   │   ├── nu-test-support v0.89.1 (/home/user/repos/github/nushell/crates/nu-test-support)
│   │   │   │   │   │   ├── hamcrest2 v0.3.0
│   │   │   │   │   │   │   ├── num v0.2.1
│   │   │   │   │   │   │   │   ├── num-bigint v0.2.6
│   │   │   │   │   │   │   │   │   ├── num-integer v0.1.45 (in debian)
│   │   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   │   │   │   └── autocfg v1.1.0 (in debian)
│   │   │   │   │   │   │   │   ├── num-complex v0.2.4
│   │   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   │   │   │   └── autocfg v1.1.0 (in debian)
│   │   │   │   │   │   │   │   ├── num-integer v0.1.45 (in debian)
│   │   │   │   │   │   │   │   ├── num-iter v0.1.43 (in debian)
│   │   │   │   │   │   │   │   ├── num-rational v0.2.4
│   │   │   │   │   │   │   │   │   ├── num-bigint v0.2.6
│   │   │   │   │   │   │   │   │   │   ├── num-integer v0.1.45 (in debian)
│   │   │   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   │   │   │   │   └── autocfg v1.1.0 (in debian)
│   │   │   │   │   │   │   │   │   ├── num-integer v0.1.45 (in debian)
│   │   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   │   │   │   └── autocfg v1.1.0 (in debian)
│   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   └── regex v1.10.2 (in debian)
│   │   │   │   │   │   ├── nu-glob v0.89.1 (/home/user/repos/github/nushell/crates/nu-glob)
│   │   │   │   │   │   │   [dev-dependencies]
│   │   │   │   │   │   │   └── doc-comment v0.3.3 (in debian)
│   │   │   │   │   │   ├── nu-path v0.89.1 (/home/user/repos/github/nushell/crates/nu-path)
│   │   │   │   │   │   │   ├── dirs-next v2.0.0 (in debian)
│   │   │   │   │   │   │   └── pwd v1.4.0
│   │   │   │   │   │   │       ├── libc v0.2.152 (in debian)
│   │   │   │   │   │   │       └── thiserror v1.0.56 (in debian)
│   │   │   │   │   │   ├── nu-utils v0.89.1 (/home/user/repos/github/nushell/crates/nu-utils)
│   │   │   │   │   │   │   ├── log v0.4.20 (in debian)
│   │   │   │   │   │   │   ├── lscolors v0.16.0 (in debian)
│   │   │   │   │   │   │   ├── num-format v0.4.4 (in debian)
│   │   │   │   │   │   │   ├── strip-ansi-escapes v0.2.0
│   │   │   │   │   │   │   │   └── vte v0.11.1 (in debian)
│   │   │   │   │   │   │   ├── sys-locale v0.3.1 (in debian)
│   │   │   │   │   │   │   └── unicase v2.7.0 (in debian)
│   │   │   │   │   │   ├── num-format v0.4.4 (in debian)
│   │   │   │   │   │   ├── tempfile v3.9.0 (in debian)
│   │   │   │   │   │   └── which v4.4.2 (in debian)
│   │   │   │   │   ├── rstest v0.18.2
│   │   │   │   │   │   ├── futures v0.3.30 (in debian)
│   │   │   │   │   │   ├── futures-timer v3.0.2 (in debian)
│   │   │   │   │   │   └── rstest_macros v0.18.2
│   │   │   │   │   │       ├── cfg-if v1.0.0 (in debian)
│   │   │   │   │   │       ├── glob v0.3.1 (in debian)
│   │   │   │   │   │       ├── proc-macro2 v1.0.78 (in debian)
│   │   │   │   │   │       ├── quote v1.0.35 (in debian)
│   │   │   │   │   │       ├── regex v1.10.2 (in debian)
│   │   │   │   │   │       ├── relative-path v1.9.2 (in debian)
│   │   │   │   │   │       ├── syn v2.0.48 (in debian)
│   │   │   │   │   │       └── unicode-ident v1.0.12 (in debian)
│   │   │   │   │   │       [build-dependencies]
│   │   │   │   │   │       └── rustc_version v0.4.0 (in debian)
│   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   └── rustc_version v0.4.0 (in debian)
│   │   │   │   │   ├── serde_json v1.0.111 (in debian)
│   │   │   │   │   ├── strum v0.25.0 (in debian)
│   │   │   │   │   └── strum_macros v0.25.3 (in debian)
│   │   │   │   └── nu-utils v0.89.1 (/home/user/repos/github/nushell/crates/nu-utils)
│   │   │   │       ├── log v0.4.20 (in debian)
│   │   │   │       ├── lscolors v0.16.0 (in debian)
│   │   │   │       ├── num-format v0.4.4 (in debian)
│   │   │   │       ├── strip-ansi-escapes v0.2.0
│   │   │   │       │   └── vte v0.11.1 (in debian)
│   │   │   │       ├── sys-locale v0.3.1 (in debian)
│   │   │   │       └── unicase v2.7.0 (in debian)
│   │   │   ├── nu-path v0.89.1 (/home/user/repos/github/nushell/crates/nu-path)
│   │   │   │   ├── dirs-next v2.0.0 (in debian)
│   │   │   │   └── pwd v1.4.0
│   │   │   │       ├── libc v0.2.152 (in debian)
│   │   │   │       └── thiserror v1.0.56 (in debian)
│   │   │   ├── nu-plugin v0.89.1 (/home/user/repos/github/nushell/crates/nu-plugin)
│   │   │   │   ├── bincode v1.3.3 (in debian)
│   │   │   │   ├── nu-engine v0.89.1 (/home/user/repos/github/nushell/crates/nu-engine)
│   │   │   │   │   ├── nu-glob v0.89.1 (/home/user/repos/github/nushell/crates/nu-glob)
│   │   │   │   │   │   [dev-dependencies]
│   │   │   │   │   │   └── doc-comment v0.3.3 (in debian)
│   │   │   │   │   ├── nu-path v0.89.1 (/home/user/repos/github/nushell/crates/nu-path)
│   │   │   │   │   │   ├── dirs-next v2.0.0 (in debian)
│   │   │   │   │   │   └── pwd v1.4.0
│   │   │   │   │   │       ├── libc v0.2.152 (in debian)
│   │   │   │   │   │       └── thiserror v1.0.56 (in debian)
│   │   │   │   │   ├── nu-protocol v0.89.1 (/home/user/repos/github/nushell/crates/nu-protocol)
│   │   │   │   │   │   ├── byte-unit v4.0.19 (in debian)
│   │   │   │   │   │   ├── chrono v0.4.31 (in debian)
│   │   │   │   │   │   ├── chrono-humanize v0.2.3 (in debian)
│   │   │   │   │   │   ├── fancy-regex v0.12.0
│   │   │   │   │   │   │   ├── bit-set v0.5.3 (in debian)
│   │   │   │   │   │   │   └── regex v1.10.2 (in debian)
│   │   │   │   │   │   ├── indexmap v2.1.0
│   │   │   │   │   │   │   ├── equivalent v1.0.1 (in debian)
│   │   │   │   │   │   │   └── hashbrown v0.14.3
│   │   │   │   │   │   │       ├── ahash v0.8.7 (in debian)
│   │   │   │   │   │   │       └── allocator-api2 v0.2.16 (in debian)
│   │   │   │   │   │   ├── lru v0.12.1
│   │   │   │   │   │   │   └── hashbrown v0.14.3
│   │   │   │   │   │   │       ├── ahash v0.8.7 (in debian)
│   │   │   │   │   │   │       └── allocator-api2 v0.2.16 (in debian)
│   │   │   │   │   │   ├── miette v5.10.0
│   │   │   │   │   │   │   ├── is-terminal v0.4.10 (in debian)
│   │   │   │   │   │   │   ├── miette-derive v5.10.0
│   │   │   │   │   │   │   │   ├── proc-macro2 v1.0.78 (in debian)
│   │   │   │   │   │   │   │   ├── quote v1.0.35 (in debian)
│   │   │   │   │   │   │   │   └── syn v2.0.48 (in debian)
│   │   │   │   │   │   │   ├── once_cell v1.19.0 (in debian)
│   │   │   │   │   │   │   ├── owo-colors v3.5.0 (in debian)
│   │   │   │   │   │   │   ├── supports-color v2.1.0 (in debian)
│   │   │   │   │   │   │   ├── supports-hyperlinks v2.1.0
│   │   │   │   │   │   │   │   └── is-terminal v0.4.10 (in debian)
│   │   │   │   │   │   │   ├── supports-unicode v2.1.0
│   │   │   │   │   │   │   │   └── is-terminal v0.4.10 (in debian)
│   │   │   │   │   │   │   ├── terminal_size v0.1.17
│   │   │   │   │   │   │   │   └── libc v0.2.152 (in debian)
│   │   │   │   │   │   │   ├── textwrap v0.15.2
│   │   │   │   │   │   │   │   ├── smawk v0.3.2 (in debian)
│   │   │   │   │   │   │   │   ├── unicode-linebreak v0.1.5 (in debian)
│   │   │   │   │   │   │   │   └── unicode-width v0.1.11 (in debian)
│   │   │   │   │   │   │   ├── thiserror v1.0.56 (in debian)
│   │   │   │   │   │   │   └── unicode-width v0.1.11 (in debian)
│   │   │   │   │   │   ├── nu-path v0.89.1 (/home/user/repos/github/nushell/crates/nu-path)
│   │   │   │   │   │   │   ├── dirs-next v2.0.0 (in debian)
│   │   │   │   │   │   │   └── pwd v1.4.0
│   │   │   │   │   │   │       ├── libc v0.2.152 (in debian)
│   │   │   │   │   │   │       └── thiserror v1.0.56 (in debian)
│   │   │   │   │   │   ├── nu-system v0.89.1 (/home/user/repos/github/nushell/crates/nu-system)
│   │   │   │   │   │   │   ├── libc v0.2.152 (in debian)
│   │   │   │   │   │   │   ├── log v0.4.20 (in debian)
│   │   │   │   │   │   │   ├── nix v0.27.1
│   │   │   │   │   │   │   │   ├── bitflags v2.4.2 (in debian)
│   │   │   │   │   │   │   │   ├── cfg-if v1.0.0 (in debian)
│   │   │   │   │   │   │   │   └── libc v0.2.152 (in debian)
│   │   │   │   │   │   │   ├── procfs v0.16.0
│   │   │   │   │   │   │   │   ├── bitflags v2.4.2 (in debian)
│   │   │   │   │   │   │   │   ├── chrono v0.4.31 (in debian)
│   │   │   │   │   │   │   │   ├── flate2 v1.0.28 (in debian)
│   │   │   │   │   │   │   │   ├── hex v0.4.3 (in debian)
│   │   │   │   │   │   │   │   ├── lazy_static v1.4.0 (in debian)
│   │   │   │   │   │   │   │   ├── procfs-core v0.16.0
│   │   │   │   │   │   │   │   │   ├── bitflags v2.4.2 (in debian)
│   │   │   │   │   │   │   │   │   ├── chrono v0.4.31 (in debian)
│   │   │   │   │   │   │   │   │   └── hex v0.4.3 (in debian)
│   │   │   │   │   │   │   │   └── rustix v0.38.30 (in debian)
│   │   │   │   │   │   │   └── sysinfo v0.30.5
│   │   │   │   │   │   │       ├── cfg-if v1.0.0 (in debian)
│   │   │   │   │   │   │       ├── libc v0.2.152 (in debian)
│   │   │   │   │   │   │       ├── once_cell v1.19.0 (in debian)
│   │   │   │   │   │   │       └── rayon v1.8.1 (in debian)
│   │   │   │   │   │   ├── nu-utils v0.89.1 (/home/user/repos/github/nushell/crates/nu-utils)
│   │   │   │   │   │   │   ├── log v0.4.20 (in debian)
│   │   │   │   │   │   │   ├── lscolors v0.16.0 (in debian)
│   │   │   │   │   │   │   ├── num-format v0.4.4 (in debian)
│   │   │   │   │   │   │   ├── strip-ansi-escapes v0.2.0
│   │   │   │   │   │   │   │   └── vte v0.11.1 (in debian)
│   │   │   │   │   │   │   ├── sys-locale v0.3.1 (in debian)
│   │   │   │   │   │   │   └── unicase v2.7.0 (in debian)
│   │   │   │   │   │   ├── num-format v0.4.4 (in debian)
│   │   │   │   │   │   ├── serde v1.0.195 (in debian)
│   │   │   │   │   │   ├── serde_json v1.0.111 (in debian)
│   │   │   │   │   │   ├── thiserror v1.0.56 (in debian)
│   │   │   │   │   │   └── typetag v0.2.15
│   │   │   │   │   │       ├── erased-serde v0.4.2
│   │   │   │   │   │       │   └── serde v1.0.195 (in debian)
│   │   │   │   │   │       ├── inventory v0.3.14 (in debian)
│   │   │   │   │   │       ├── once_cell v1.19.0 (in debian)
│   │   │   │   │   │       ├── serde v1.0.195 (in debian)
│   │   │   │   │   │       └── typetag-impl v0.2.15
│   │   │   │   │   │           ├── proc-macro2 v1.0.78 (in debian)
│   │   │   │   │   │           ├── quote v1.0.35 (in debian)
│   │   │   │   │   │           └── syn v2.0.48 (in debian)
│   │   │   │   │   │   [dev-dependencies]
│   │   │   │   │   │   ├── nu-test-support v0.89.1 (/home/user/repos/github/nushell/crates/nu-test-support)
│   │   │   │   │   │   │   ├── hamcrest2 v0.3.0
│   │   │   │   │   │   │   │   ├── num v0.2.1
│   │   │   │   │   │   │   │   │   ├── num-bigint v0.2.6
│   │   │   │   │   │   │   │   │   │   ├── num-integer v0.1.45 (in debian)
│   │   │   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   │   │   │   │   └── autocfg v1.1.0 (in debian)
│   │   │   │   │   │   │   │   │   ├── num-complex v0.2.4
│   │   │   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   │   │   │   │   └── autocfg v1.1.0 (in debian)
│   │   │   │   │   │   │   │   │   ├── num-integer v0.1.45 (in debian)
│   │   │   │   │   │   │   │   │   ├── num-iter v0.1.43 (in debian)
│   │   │   │   │   │   │   │   │   ├── num-rational v0.2.4
│   │   │   │   │   │   │   │   │   │   ├── num-bigint v0.2.6
│   │   │   │   │   │   │   │   │   │   │   ├── num-integer v0.1.45 (in debian)
│   │   │   │   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   │   │   │   │   │   └── autocfg v1.1.0 (in debian)
│   │   │   │   │   │   │   │   │   │   ├── num-integer v0.1.45 (in debian)
│   │   │   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   │   │   │   │   └── autocfg v1.1.0 (in debian)
│   │   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   │   └── regex v1.10.2 (in debian)
│   │   │   │   │   │   │   ├── nu-glob v0.89.1 (/home/user/repos/github/nushell/crates/nu-glob)
│   │   │   │   │   │   │   │   [dev-dependencies]
│   │   │   │   │   │   │   │   └── doc-comment v0.3.3 (in debian)
│   │   │   │   │   │   │   ├── nu-path v0.89.1 (/home/user/repos/github/nushell/crates/nu-path)
│   │   │   │   │   │   │   │   ├── dirs-next v2.0.0 (in debian)
│   │   │   │   │   │   │   │   └── pwd v1.4.0
│   │   │   │   │   │   │   │       ├── libc v0.2.152 (in debian)
│   │   │   │   │   │   │   │       └── thiserror v1.0.56 (in debian)
│   │   │   │   │   │   │   ├── nu-utils v0.89.1 (/home/user/repos/github/nushell/crates/nu-utils)
│   │   │   │   │   │   │   │   ├── log v0.4.20 (in debian)
│   │   │   │   │   │   │   │   ├── lscolors v0.16.0 (in debian)
│   │   │   │   │   │   │   │   ├── num-format v0.4.4 (in debian)
│   │   │   │   │   │   │   │   ├── strip-ansi-escapes v0.2.0
│   │   │   │   │   │   │   │   │   └── vte v0.11.1 (in debian)
│   │   │   │   │   │   │   │   ├── sys-locale v0.3.1 (in debian)
│   │   │   │   │   │   │   │   └── unicase v2.7.0 (in debian)
│   │   │   │   │   │   │   ├── num-format v0.4.4 (in debian)
│   │   │   │   │   │   │   ├── tempfile v3.9.0 (in debian)
│   │   │   │   │   │   │   └── which v4.4.2 (in debian)
│   │   │   │   │   │   ├── rstest v0.18.2
│   │   │   │   │   │   │   ├── futures v0.3.30 (in debian)
│   │   │   │   │   │   │   ├── futures-timer v3.0.2 (in debian)
│   │   │   │   │   │   │   └── rstest_macros v0.18.2
│   │   │   │   │   │   │       ├── cfg-if v1.0.0 (in debian)
│   │   │   │   │   │   │       ├── glob v0.3.1 (in debian)
│   │   │   │   │   │   │       ├── proc-macro2 v1.0.78 (in debian)
│   │   │   │   │   │   │       ├── quote v1.0.35 (in debian)
│   │   │   │   │   │   │       ├── regex v1.10.2 (in debian)
│   │   │   │   │   │   │       ├── relative-path v1.9.2 (in debian)
│   │   │   │   │   │   │       ├── syn v2.0.48 (in debian)
│   │   │   │   │   │   │       └── unicode-ident v1.0.12 (in debian)
│   │   │   │   │   │   │       [build-dependencies]
│   │   │   │   │   │   │       └── rustc_version v0.4.0 (in debian)
│   │   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   │   └── rustc_version v0.4.0 (in debian)
│   │   │   │   │   │   ├── serde_json v1.0.111 (in debian)
│   │   │   │   │   │   ├── strum v0.25.0 (in debian)
│   │   │   │   │   │   └── strum_macros v0.25.3 (in debian)
│   │   │   │   │   └── nu-utils v0.89.1 (/home/user/repos/github/nushell/crates/nu-utils)
│   │   │   │   │       ├── log v0.4.20 (in debian)
│   │   │   │   │       ├── lscolors v0.16.0 (in debian)
│   │   │   │   │       ├── num-format v0.4.4 (in debian)
│   │   │   │   │       ├── strip-ansi-escapes v0.2.0
│   │   │   │   │       │   └── vte v0.11.1 (in debian)
│   │   │   │   │       ├── sys-locale v0.3.1 (in debian)
│   │   │   │   │       └── unicase v2.7.0 (in debian)
│   │   │   │   ├── nu-protocol v0.89.1 (/home/user/repos/github/nushell/crates/nu-protocol)
│   │   │   │   │   ├── byte-unit v4.0.19 (in debian)
│   │   │   │   │   ├── chrono v0.4.31 (in debian)
│   │   │   │   │   ├── chrono-humanize v0.2.3 (in debian)
│   │   │   │   │   ├── fancy-regex v0.12.0
│   │   │   │   │   │   ├── bit-set v0.5.3 (in debian)
│   │   │   │   │   │   └── regex v1.10.2 (in debian)
│   │   │   │   │   ├── indexmap v2.1.0
│   │   │   │   │   │   ├── equivalent v1.0.1 (in debian)
│   │   │   │   │   │   └── hashbrown v0.14.3
│   │   │   │   │   │       ├── ahash v0.8.7 (in debian)
│   │   │   │   │   │       └── allocator-api2 v0.2.16 (in debian)
│   │   │   │   │   ├── lru v0.12.1
│   │   │   │   │   │   └── hashbrown v0.14.3
│   │   │   │   │   │       ├── ahash v0.8.7 (in debian)
│   │   │   │   │   │       └── allocator-api2 v0.2.16 (in debian)
│   │   │   │   │   ├── miette v5.10.0
│   │   │   │   │   │   ├── is-terminal v0.4.10 (in debian)
│   │   │   │   │   │   ├── miette-derive v5.10.0
│   │   │   │   │   │   │   ├── proc-macro2 v1.0.78 (in debian)
│   │   │   │   │   │   │   ├── quote v1.0.35 (in debian)
│   │   │   │   │   │   │   └── syn v2.0.48 (in debian)
│   │   │   │   │   │   ├── once_cell v1.19.0 (in debian)
│   │   │   │   │   │   ├── owo-colors v3.5.0 (in debian)
│   │   │   │   │   │   ├── supports-color v2.1.0 (in debian)
│   │   │   │   │   │   ├── supports-hyperlinks v2.1.0
│   │   │   │   │   │   │   └── is-terminal v0.4.10 (in debian)
│   │   │   │   │   │   ├── supports-unicode v2.1.0
│   │   │   │   │   │   │   └── is-terminal v0.4.10 (in debian)
│   │   │   │   │   │   ├── terminal_size v0.1.17
│   │   │   │   │   │   │   └── libc v0.2.152 (in debian)
│   │   │   │   │   │   ├── textwrap v0.15.2
│   │   │   │   │   │   │   ├── smawk v0.3.2 (in debian)
│   │   │   │   │   │   │   ├── unicode-linebreak v0.1.5 (in debian)
│   │   │   │   │   │   │   └── unicode-width v0.1.11 (in debian)
│   │   │   │   │   │   ├── thiserror v1.0.56 (in debian)
│   │   │   │   │   │   └── unicode-width v0.1.11 (in debian)
│   │   │   │   │   ├── nu-path v0.89.1 (/home/user/repos/github/nushell/crates/nu-path)
│   │   │   │   │   │   ├── dirs-next v2.0.0 (in debian)
│   │   │   │   │   │   └── pwd v1.4.0
│   │   │   │   │   │       ├── libc v0.2.152 (in debian)
│   │   │   │   │   │       └── thiserror v1.0.56 (in debian)
│   │   │   │   │   ├── nu-system v0.89.1 (/home/user/repos/github/nushell/crates/nu-system)
│   │   │   │   │   │   ├── libc v0.2.152 (in debian)
│   │   │   │   │   │   ├── log v0.4.20 (in debian)
│   │   │   │   │   │   ├── nix v0.27.1
│   │   │   │   │   │   │   ├── bitflags v2.4.2 (in debian)
│   │   │   │   │   │   │   ├── cfg-if v1.0.0 (in debian)
│   │   │   │   │   │   │   └── libc v0.2.152 (in debian)
│   │   │   │   │   │   ├── procfs v0.16.0
│   │   │   │   │   │   │   ├── bitflags v2.4.2 (in debian)
│   │   │   │   │   │   │   ├── chrono v0.4.31 (in debian)
│   │   │   │   │   │   │   ├── flate2 v1.0.28 (in debian)
│   │   │   │   │   │   │   ├── hex v0.4.3 (in debian)
│   │   │   │   │   │   │   ├── lazy_static v1.4.0 (in debian)
│   │   │   │   │   │   │   ├── procfs-core v0.16.0
│   │   │   │   │   │   │   │   ├── bitflags v2.4.2 (in debian)
│   │   │   │   │   │   │   │   ├── chrono v0.4.31 (in debian)
│   │   │   │   │   │   │   │   └── hex v0.4.3 (in debian)
│   │   │   │   │   │   │   └── rustix v0.38.30 (in debian)
│   │   │   │   │   │   └── sysinfo v0.30.5
│   │   │   │   │   │       ├── cfg-if v1.0.0 (in debian)
│   │   │   │   │   │       ├── libc v0.2.152 (in debian)
│   │   │   │   │   │       ├── once_cell v1.19.0 (in debian)
│   │   │   │   │   │       └── rayon v1.8.1 (in debian)
│   │   │   │   │   ├── nu-utils v0.89.1 (/home/user/repos/github/nushell/crates/nu-utils)
│   │   │   │   │   │   ├── log v0.4.20 (in debian)
│   │   │   │   │   │   ├── lscolors v0.16.0 (in debian)
│   │   │   │   │   │   ├── num-format v0.4.4 (in debian)
│   │   │   │   │   │   ├── strip-ansi-escapes v0.2.0
│   │   │   │   │   │   │   └── vte v0.11.1 (in debian)
│   │   │   │   │   │   ├── sys-locale v0.3.1 (in debian)
│   │   │   │   │   │   └── unicase v2.7.0 (in debian)
│   │   │   │   │   ├── num-format v0.4.4 (in debian)
│   │   │   │   │   ├── serde v1.0.195 (in debian)
│   │   │   │   │   ├── serde_json v1.0.111 (in debian)
│   │   │   │   │   ├── thiserror v1.0.56 (in debian)
│   │   │   │   │   └── typetag v0.2.15
│   │   │   │   │       ├── erased-serde v0.4.2
│   │   │   │   │       │   └── serde v1.0.195 (in debian)
│   │   │   │   │       ├── inventory v0.3.14 (in debian)
│   │   │   │   │       ├── once_cell v1.19.0 (in debian)
│   │   │   │   │       ├── serde v1.0.195 (in debian)
│   │   │   │   │       └── typetag-impl v0.2.15
│   │   │   │   │           ├── proc-macro2 v1.0.78 (in debian)
│   │   │   │   │           ├── quote v1.0.35 (in debian)
│   │   │   │   │           └── syn v2.0.48 (in debian)
│   │   │   │   │   [dev-dependencies]
│   │   │   │   │   ├── nu-test-support v0.89.1 (/home/user/repos/github/nushell/crates/nu-test-support)
│   │   │   │   │   │   ├── hamcrest2 v0.3.0
│   │   │   │   │   │   │   ├── num v0.2.1
│   │   │   │   │   │   │   │   ├── num-bigint v0.2.6
│   │   │   │   │   │   │   │   │   ├── num-integer v0.1.45 (in debian)
│   │   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   │   │   │   └── autocfg v1.1.0 (in debian)
│   │   │   │   │   │   │   │   ├── num-complex v0.2.4
│   │   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   │   │   │   └── autocfg v1.1.0 (in debian)
│   │   │   │   │   │   │   │   ├── num-integer v0.1.45 (in debian)
│   │   │   │   │   │   │   │   ├── num-iter v0.1.43 (in debian)
│   │   │   │   │   │   │   │   ├── num-rational v0.2.4
│   │   │   │   │   │   │   │   │   ├── num-bigint v0.2.6
│   │   │   │   │   │   │   │   │   │   ├── num-integer v0.1.45 (in debian)
│   │   │   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   │   │   │   │   └── autocfg v1.1.0 (in debian)
│   │   │   │   │   │   │   │   │   ├── num-integer v0.1.45 (in debian)
│   │   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   │   │   │   └── autocfg v1.1.0 (in debian)
│   │   │   │   │   │   │   │   └── num-traits v0.2.17 (in debian)
│   │   │   │   │   │   │   └── regex v1.10.2 (in debian)
│   │   │   │   │   │   ├── nu-glob v0.89.1 (/home/user/repos/github/nushell/crates/nu-glob)
│   │   │   │   │   │   │   [dev-dependencies]
│   │   │   │   │   │   │   └── doc-comment v0.3.3 (in debian)
│   │   │   │   │   │   ├── nu-path v0.89.1 (/home/user/repos/github/nushell/crates/nu-path)
│   │   │   │   │   │   │   ├── dirs-next v2.0.0 (in debian)
│   │   │   │   │   │   │   └── pwd v1.4.0
│   │   │   │   │   │   │       ├── libc v0.2.152 (in debian)
│   │   │   │   │   │   │       └── thiserror v1.0.56 (in debian)
│   │   │   │   │   │   ├── nu-utils v0.89.1 (/home/user/repos/github/nushell/crates/nu-utils)
│   │   │   │   │   │   │   ├── log v0.4.20 (in debian)
│   │   │   │   │   │   │   ├── lscolors v0.16.0 (in debian)
│   │   │   │   │   │   │   ├── num-format v0.4.4 (in debian)
│   │   │   │   │   │   │   ├── strip-ansi-escapes v0.2.0
│   │   │   │   │   │   │   │   └── vte v0.11.1 (in debian)
│   │   │   │   │   │   │   ├── sys-locale v0.3.1 (in debian)
│   │   │   │   │   │   │   └── unicase v2.7.0 (in debian)
│   │   │   │   │   │   ├── num-format v0.4.4 (in debian)
│   │   │   │   │   │   ├── tempfile v3.9.0 (in debian)
│   │   │   │   │   │   └── which v4.4.2 (in debian)
│   │   │   │   │   ├── rstest v0.18.2
│   │   │   │   │   │   ├── futures v0.3.30 (in debian)
│   │   │   │   │   │   ├── futures-timer v3.0.2 (in debian)
│   │   │   │   │   │   └── rstest_macros v0.18.2
│   │   │   │   │   │       ├── cfg-if v1.0.0 (in debian)
│   │   │   │   │   │       ├── glob v0.3.1 (in debian)
│   │   │   │   │   │       ├── proc-macro2 v1.0.78 (in debian)
│   │   │   │   │   │       ├── quote v1.0.35 (in debian)
│   │   │   │   │   │       ├── regex v1.10.2 (in debian)
│   │   │   │   │   │       ├── relative-path v1.9.2 (in debian)
│   │   │   │   │   │       ├── syn v2.0.48 (in debian)
│   │   │   │   │   │       └── unicode-ident v1.0.12 (in debian)
│   │   │   │   │   │       [build-dependencies]
│   │   │   │   │   │       └── rustc_version v0.4.0 (in debian)
│   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   └── rustc_version v0.4.0 (in debian)
│   │   │   │   │   ├── serde_json v1.0.111 (in debian)
│   │   │   │   │   ├── strum v0.25.0 (in debian)
│   │   │   │   │   └── strum_macros v0.25.3 (in debian)
│   │   │   │   ├── rmp-serde v1.1.2 (in debian)
│   │   │   │   ├── serde v1.0.195 (in debian)
│   │   │   │   └── serde_json v1.0.111 (in debian)
│   │   │   ├── nu-protocol v0.89.1 (/home/user/repos/github/nushell/crates/nu-protocol)
│   │   │   │   ├── byte-unit v4.0.19 (in debian)
│   │   │   │   ├── chrono v0.4.31 (in debian)
│   │   │   │   ├── chrono-humanize v0.2.3 (in debian)
│   │   │   │   ├── fancy-regex v0.12.0
│   │   │   │   │   ├── bit-set v0.5.3 (in debian)
│   │   │   │   │   └── regex v1.10.2 (in debian)
│   │   │   │   ├── indexmap v2.1.0
│   │   │   │   │   ├── equivalent v1.0.1 (in debian)
│   │   │   │   │   └── hashbrown v0.14.3
│   │   │   │   │       ├── ahash v0.8.7 (in debian)
│   │   │   │   │       └── allocator-api2 v0.2.16 (in debian)
│   │   │   │   ├── lru v0.12.1
│   │   │   │   │   └── hashbrown v0.14.3
│   │   │   │   │       ├── ahash v0.8.7 (in debian)
│   │   │   │   │       └── allocator-api2 v0.2.16 (in debian)
│   │   │   │   ├── miette v5.10.0
│   │   │   │   │   ├── is-terminal v0.4.10 (in debian)
│   │   │   │   │   ├── miette-derive v5.10.0
│   │   │   │   │   │   ├── proc-macro2 v1.0.78 (in debian)
│   │   │   │   │   │   ├── quote v1.0.35 (in debian)
│   │   │   │   │   │   └── syn v2.0.48 (in debian)
│   │   │   │   │   ├── once_cell v1.19.0 (in debian)
│   │   │   │   │   ├── owo-colors v3.5.0 (in debian)
│   │   │   │   │   ├── supports-color v2.1.0 (in debian)
│   │   │   │   │   ├── supports-hyperlinks v2.1.0
│   │   │   │   │   │   └── is-terminal v0.4.10 (in debian)
│   │   │   │   │   ├── supports-unicode v2.1.0
│   │   │   │   │   │   └── is-terminal v0.4.10 (in debian)
│   │   │   │   │   ├── terminal_size v0.1.17
│   │   │   │   │   │   └── libc v0.2.152 (in debian)
│   │   │   │   │   ├── textwrap v0.15.2
│   │   │   │   │   │   ├── smawk v0.3.2 (in debian)
│   │   │   │   │   │   ├── unicode-linebreak v0.1.5 (in debian)
│   │   │   │   │   │   └── unicode-width v0.1.11 (in debian)
│   │   │   │   │   ├── thiserror v1.0.56 (in debian)
│   │   │   │   │   └── unicode-width v0.1.11 (in debian)
│   │   │   │   ├── nu-path v0.89.1 (/home/user/repos/github/nushell/crates/nu-path)
│   │   │   │   │   ├── dirs-next v2.0.0 (in debian)
│   │   │   │   │   └── pwd v1.4.0
│   │   │   │   │       ├── libc v0.2.152 (in debian)
│   │   │   │   │       └── thiserror v1.0.56 (in debian)
│   │   │   │   ├── nu-system v0.89.1 (/home/user/repos/github/nushell/crates/nu-system)
│   │   │   │   │   ├── libc v0.2.152 (in debian)
│   │   │   │   │   ├── log v0.4.20 (in debian)
│   │   │   │   │   ├── nix v0.27.1
│   │   │   │   │   │   ├── bitflags v2.4.2 (in debian)
│   │   │   │   │   │   ├── cfg-if v1.0.0
[...]

Some crates that do not have (in debian) behind them can be patched (for example, Debian sid has nix 0.26 instead of nix 0.27, but the crates that depend on 0.27 can likely be patched downstream to work with 0.26 until 0.27 is ready).

Nu is in itself split in many small crates, merging this back into fewer crates (like tokio did) would help with packaging. The amount of crates nu itself is split into is also the reason the cargo debstatus report is 2 MB big.

If you're interested in helping out you can pick any crate from this tree that has all its dependencies already marked with (in debian) and send a merge request to https://salsa.debian.org/rust-team/debcargo-conf. The work required is mostly filling out the metadata paperwork needed for Debian and if you're stuck you're very welcome to ask in #debian-rust on otfc irc.

@amtoine
Copy link
Member

amtoine commented Jan 22, 2024

maybe this issue can be moved to https://github.com/nushell/integrations?

@kubouch kubouch transferred this issue from nushell/nushell Jan 22, 2024
@starthal
Copy link

Would adding the package to the MPR be a short-term solution?

hustcer pushed a commit that referenced this issue Dec 19, 2024
…#13131)

# Description
Closes: #13010

It adds an additional check inside `parse_string`, and returns
`unbalanced quote` if input string is unbalanced

# User-Facing Changes
After this pr, the following is no longer allowed:
```nushell
❯ "asdfasdf"asdfasdf
Error: nu::parser::extra_token_after_closing_delimiter

  × Invaild characters after closing delimiter
   ╭─[entry #1:1:11]
 1 │ "asdfasdf"asdfasdf
   ·           ────┬───
   ·               ╰── invalid characters
   ╰────
  help: Try removing them.
❯ 'asdfasd'adsfadf
Error: nu::parser::extra_token_after_closing_delimiter

  × Invaild characters after closing delimiter
   ╭─[entry #2:1:10]
 1 │ 'asdfasd'adsfadf
   ·          ───┬───
   ·             ╰── invalid characters
   ╰────
  help: Try removing them.
```

# Tests + Formatting
Added 1 test
hustcer pushed a commit that referenced this issue Dec 19, 2024
…#14385)

# Description
As title, this pr is going to deprecate `--ignore-shell-errors` and
`--ignore-program-errors`.

Because I think these two flags makes `do` command complicate, and it
should be easy to use `-i` instead.

# User-Facing Changes
After the pr, using these two flags will raise deprecated warning.
```nushell
> do --ignore-program-errors { ^pwd }
Error:   × Deprecated option
   ╭─[entry #2:1:1]
 1 │ do --ignore-program-errors { ^pwd }
   · ─┬
   ·  ╰── `--ignore-program-errors` is deprecated and will be removed in 0.102.0.
   ╰────
  help: Please use the `--ignore-errors(-i)`
/home/windsoilder/projects/nushell
> do --ignore-shell-errors { ^pwd }
Error:   × Deprecated option
   ╭─[entry #3:1:1]
 1 │ do --ignore-shell-errors { ^pwd }
   · ─┬
   ·  ╰── `--ignore-shell-errors` is deprecated and will be removed in 0.102.0.
   ╰────
  help: Please use the `--ignore-errors(-i)`
/home/windsoilder/projects/nushell
```

# Tests + Formatting
NaN
hustcer pushed a commit that referenced this issue Dec 19, 2024
# Description


Before this PR, `length` did not check its input type at run-time, so it
would attempt to calculate a length for any input with indeterminate
type (e.g., `echo` which has an `any` output type). This PR makes
`length` only work on the types specifically supported in its
input/output types (list/table, binary, and nothing), making the
behavior the same at parse-time and at run-time.

Fixes #14462

# User-Facing Changes


Length will error if passed an unsupported type:

Before (only caught at parse-time):
```nushell
"hello" | length
Error: nu::parser::input_type_mismatch

  × Command does not support string input.
   ╭─[entry #2:1:11]
 1 │ "hello" | length
   ·           ───┬──
   ·              ╰── command doesn't support string input
   ╰────

echo "hello" | length
# => 1
```

After (caught at parse-time and run-time):
```nushell
"hello" | length
Error: nu::parser::input_type_mismatch

  × Command does not support string input.
   ╭─[entry #22:1:11]
 1 │ "hello" | length
   ·           ───┬──
   ·              ╰── command doesn't support string input
   ╰────

echo "hello" | length
Error: nu:🐚:only_supports_this_input_type

  × Input type not supported.
   ╭─[entry #23:1:6]
 1 │ echo "hello" | length
   ·      ───┬───   ───┬──
   ·         │         ╰── only list, table, binary, and nothing input data is supported
   ·         ╰── input type: string
   ╰────
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests