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

Reconsider dependencies #41

Closed
ignatenkobrain opened this issue Feb 14, 2020 · 16 comments
Closed

Reconsider dependencies #41

ignatenkobrain opened this issue Feb 14, 2020 · 16 comments

Comments

@ignatenkobrain
Copy link
Contributor

unbytify is not really maintained, would be nice to replace it with something else.

And if you could make the dockworker the optional component, would be very nice.

@ignatenkobrain
Copy link
Contributor Author

Also quale is not maintained either, would be nice to replace it with which.

@dalance
Copy link
Owner

dalance commented Feb 14, 2020

Thank you for the nice suggestion!

I'll change from quale to which.
byte-unit seems to be nice to replace unbytify.

I can't imagine the benefit to make dockworker optional.
Why do you think it is better that dockworker is optional?

@ignatenkobrain
Copy link
Contributor Author

I can't imagine the benefit to make dockworker optional.

  1. The docker is not really working with cgroupsv2 (which is default for Fedora)
  2. podman is what we use in Fedora and recommend everyone to use it instead of docker
  3. That crate has dependency on hyper 0.12 which is not packaged anymore (we switched everything to 0.13), so it is making harder to package procs in Fedora

@dalance
Copy link
Owner

dalance commented Feb 14, 2020

I understand it.
I'll add a feature for dockwolker.

I plan the feature is default for other distributions and macOS and can be disabled for Fedora.
Is it OK?

@ignatenkobrain
Copy link
Contributor Author

just create a cargo feature for it and enable it on macOS builds.

@dalance
Copy link
Owner

dalance commented Feb 14, 2020

Each packaging script can adjust features for each distribution,
but I think that user which install by cargo install will forget to add non-default features.
So I want to enable it by default.

@ignatenkobrain
Copy link
Contributor Author

Sure, any way works for me. Just need to be able to build without it :)

dalance added a commit that referenced this issue Feb 16, 2020
dalance added a commit that referenced this issue Feb 16, 2020
@dalance
Copy link
Owner

dalance commented Feb 16, 2020

I released v0.9.11.
Now build without docker can be done by cargo build --no-default-features.

@ignatenkobrain
Copy link
Contributor Author

@dalance one more thing, would it be feasible to replace getch with something else? That dependency is not really maintained.

@dalance
Copy link
Owner

dalance commented Feb 18, 2020

I can't find the replacement of getch.
Is this critical problem?
If so, I can fork and maintain it.

@ignatenkobrain
Copy link
Contributor Author

No, not critical. I've already managed to package it in Fedora. So it was more like an RFE to replace it with something else.

That said, I think all missing bits are now packaged in Fedora and I can get procs properly there.

Though there is one test which fails:

---- tests::test_run_all stdout ----
thread 'tests::test_run_all' panicked at 'called `Result::unwrap()` on an `Err` value: Error { inner: ErrorInner { kind: Custom, line: Some(190), col: 0, at: Some(2850), message: "unknown variant `Docker`, expected one of `Command`, `ContextSw`, `CpuTime`, `Eip`, `Esp`, `Gid`, `GidFs`, `GidReal`, `GidSaved`, `Group`, `GroupFs`, `GroupReal`, `GroupSaved`, `MajFlt`, `MinFlt`, `Nice`, `Pid`, `Policy`, `Ppid`, `Priority`, `Processor`, `ReadBytes`, `RtPriority`, `Separator`, `ShdPnd`, `Slot`, `SigBlk`, `SigCgt`, `SigIgn`, `SigPnd`, `Ssb`, `StartTime`, `State`, `TcpPort`, `Threads`, `Tree`, `Tty`, `UdpPort`, `Uid`, `UidFs`, `UidLogin`, `UidReal`, `UidSaved`, `UsageCpu`, `UsageMem`, `User`, `UserFs`, `UserLogin`, `UserReal`, `UserSaved`, `Username`, `VmData`, `VmExe`, `VmHwm`, `VmLib`, `VmLock`, `VmPeak`, `VmPin`, `VmPte`, `VmRss`, `VmSize`, `VmStack`, `VmSwap`, `Wchan`, `WriteBytes`", key: ["columns", "kind"] } }', src/libcore/result.rs:1188:5

dalance added a commit that referenced this issue Feb 18, 2020
@dalance
Copy link
Owner

dalance commented Feb 18, 2020

Thanks.
I fixed the failure.

@travankor
Copy link
Contributor

Why is the nix crate outdated?
I don't know if this will fix my problem but procs is broken on aarch64 linux musl:

error[E0425]: cannot find value `MAP_32BIT` in crate `libc`
  --> /host/cargo/registry/src/github.com-1ecc6299db9ec823/nix-0.11.1/src/sys/mman.rs:53:9
   |
53 |         MAP_32BIT;
   |         ^^^^^^^^^ not found in `libc`
   Compiling url v1.7.2
error: aborting due to previous error

@dalance
Copy link
Owner

dalance commented Mar 9, 2020

It seems to be an unfixed issue of nix.

nix-rust/nix#951

You can build without nix by cargo build --no-default-features because nix is used by docker feature.

@dalance
Copy link
Owner

dalance commented Mar 9, 2020

Sorry. It seems to be fixed at nix v0.12.0.
I'll request nix version up to the upstream crate.

@travankor
Copy link
Contributor

@dalance You never updated nix (still on 0.11.1)

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

3 participants