Skip to content

uucore: build without default features on Unix - #15362

Open
limadog9 wants to merge 1 commit into
uutils:mainfrom
limadog9:fix/uucore-no-default-features
Open

limadog9 wants to merge 1 commit into
uutils:mainfrom
limadog9:fix/uucore-no-default-features

Conversation

@limadog9

@limadog9 limadog9 commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Closes #15339

Comment thread src/uucore/Cargo.toml Outdated

[features]
default = ["signals"]
# Preserve the former optional dependency feature for downstream users.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the usecase for this?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This preserves the implicit nix feature previously exposed by optional = true. Removing it would reject downstream manifests explicitly enabling features = ["nix"]. There’s no known in-tree consumer; it’s precautionary compatibility and adds no runtime behavior.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Downstream should just remove it. No?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@oech3 Agreed. Removed in 70c67f2; downstream manifests can drop the feature. Both build configurations still pass.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please squash commits.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@oech3 squashed into one , good to go?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Wait maintainer's review.

Comment thread .github/workflows/CICD.yml Outdated
@limadog9

Copy link
Copy Markdown
Contributor Author

@oech3 Updated in 91ed852: CI now uses cargo check, and both configurations pass on stable Rust and Rust 1.88. The empty nix feature preserves compatibility with downstream manifests that explicitly enable it.

This addresses #15339 and is ready for another look.

Make nix a required Unix dependency with signal support and check
uucore without default features in isolation.

Closes uutils#15339
@limadog9
limadog9 force-pushed the fix/uucore-no-default-features branch from 70c67f2 to ccb86ea Compare October 15, 2026 05:47
@codspeed

codspeed Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Merging this PR will degrade performance by 4.63%

⚠️ 120 benchmarks spent significant time in system calls

System calls cannot be consistently instrumented, so they are not included in the measure, which understates the real cost. Please switch to the Walltime instrument to accurately measure system calls.

Measurement and system calls

ℹ️ 1 benchmark has no flame graph

The flamegraph could not be generated because too much time was spent in runtime internals, making the visualization not useful for performance analysis.

⚡ 1 improved benchmark
❌ 1 regressed benchmark
✅ 399 untouched benchmarks
⏩ 70 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
❌ Simulation factor_three_39_bit_primes 567 ms 644.4 ms -12.01%
⚡ Simulation factor_thirteen_39_bit_primes 9.5 s 9.2 s +3.37%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing limadog9:fix/uucore-no-default-features (ccb86ea) with main (7654e67)

Open in CodSpeed

Footnotes

  1. 70 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

@xtqqczze

Copy link
Copy Markdown
Collaborator

I've got a better fix for this in a branch somewhere...

@xtqqczze

Copy link
Copy Markdown
Collaborator

Superseded by #15372.

This branch has not been deployed

No deployments
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

Successfully merging this pull request may close these issues.

uucore: doesn't build with --no-default-features

3 participants