-
Notifications
You must be signed in to change notification settings - Fork 316
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
First pass refresh of hab
CLI UI with musl/libc fix.
#522
Conversation
By analyzing the blame information on this pull request, we identified @reset, @metadave, @adamhjk, @smith and @jtimberman to be potential reviewers |
☔ The latest upstream changes (presumably 3473af4) made this pull request unmergeable. Please resolve the merge conflicts. |
hab CLI ------- This change is part spike and experiment and part functional. It is a first attempt at unifying the `hab` CLI output and formatting to be more consisten and easier to scan as a newcomer (in the short term) and experienced user (in the long term). Most of the commands have the following narrative, much like an essay: * An intro/goal/summary of the objective * A middle with the concrete steps to achieve the objective * A final summary/conclusion to confirm success Here is an example of a package install invocation: ``` > hab install core/redis » Installing core/redis ↓ Downloading core/glibc/2.22/20160427193532 16.21 MB / 16.21 MB \ [========================================] 100.00 % 2.98 MB/s ✓ Installed core/glibc/2.22/20160427193532 ↓ Downloading core/linux-headers/4.3/20160427193435 798.63 KB / 798.63 KB | [======================================] 100.00 % 1.56 MB/s ✓ Installed core/linux-headers/4.3/20160427193435 ↓ Downloading core/redis/3.0.7/20160427222845 1.46 MB / 1.46 MB | [==========================================] 100.00 % 3.28 MB/s ✓ Installed core/redis/3.0.7/20160427222845 ★ Install of core/redis complete with 3 packages installed. ``` musl/libc/ioctl --------------- In the course of building in a progress bar, an issue was found with in the `libc` crate relating to the types of ioctl contants when used by musl (more detail in: rust-lang/libc#289). Unfortunately, this meant vendoring libc so that it would be used as a transitive dependency in the crates that generated the errors (currently this is the `pbr` crate, which is completely correct in tits implementation). Without this temporary measure, the `hab` CLI won't build as-is with the musl target. The other option is to feature-disable the progress bar until the upstream is resolved, but it really hampers the far superior user experience that a progress bar like this provides. Signed-off-by: Fletcher Nichol <fnichol@nichol.ca>
Signed-off-by: Fletcher Nichol <fnichol@nichol.ca>
Signed-off-by: Fletcher Nichol <fnichol@nichol.ca>
7dbd29f
to
e196df4
Compare
let pair = try!(SigKeyPair::generate_pair_for_origin(origin, cache)); | ||
println!("Successfully generated origin key {}", pair.name_with_rev()); | ||
println!("{}", | ||
Blue.paint(format!("★ Generated origin key pair {}.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we start with Generating origin key
and finish with Generated origin key _pair_
output looks great! 🍰 🍰 🍰 🍰 🍰 |
📌 Commit e196df4 has been approved by |
hab CLI ------- This change is part spike and experiment and part functional. It is a first attempt at unifying the `hab` CLI output and formatting to be more consisten and easier to scan as a newcomer (in the short term) and experienced user (in the long term). Most of the commands have the following narrative, much like an essay: * An intro/goal/summary of the objective * A middle with the concrete steps to achieve the objective * A final summary/conclusion to confirm success Here is an example of a package install invocation: ``` > hab install core/redis » Installing core/redis ↓ Downloading core/glibc/2.22/20160427193532 16.21 MB / 16.21 MB \ [========================================] 100.00 % 2.98 MB/s ✓ Installed core/glibc/2.22/20160427193532 ↓ Downloading core/linux-headers/4.3/20160427193435 798.63 KB / 798.63 KB | [======================================] 100.00 % 1.56 MB/s ✓ Installed core/linux-headers/4.3/20160427193435 ↓ Downloading core/redis/3.0.7/20160427222845 1.46 MB / 1.46 MB | [==========================================] 100.00 % 3.28 MB/s ✓ Installed core/redis/3.0.7/20160427222845 ★ Install of core/redis complete with 3 packages installed. ``` musl/libc/ioctl --------------- In the course of building in a progress bar, an issue was found with in the `libc` crate relating to the types of ioctl contants when used by musl (more detail in: rust-lang/libc#289). Unfortunately, this meant vendoring libc so that it would be used as a transitive dependency in the crates that generated the errors (currently this is the `pbr` crate, which is completely correct in tits implementation). Without this temporary measure, the `hab` CLI won't build as-is with the musl target. The other option is to feature-disable the progress bar until the upstream is resolved, but it really hampers the far superior user experience that a progress bar like this provides. Signed-off-by: Fletcher Nichol <fnichol@nichol.ca> Pull request: #522 Approved by: fnichol
Signed-off-by: Fletcher Nichol <fnichol@nichol.ca> Pull request: #522 Approved by: fnichol
Signed-off-by: Fletcher Nichol <fnichol@nichol.ca> Pull request: #522 Approved by: fnichol
@metadave Agreed on some of the wording. It's not 100% yet (especially the conclusion/summary lines) but is something we can start to tighten the screws on. |
☀️ Test successful - travis |
hab CLI ------- This change is part spike and experiment and part functional. It is a first attempt at unifying the `hab` CLI output and formatting to be more consisten and easier to scan as a newcomer (in the short term) and experienced user (in the long term). Most of the commands have the following narrative, much like an essay: * An intro/goal/summary of the objective * A middle with the concrete steps to achieve the objective * A final summary/conclusion to confirm success Here is an example of a package install invocation: ``` > hab install core/redis » Installing core/redis ↓ Downloading core/glibc/2.22/20160427193532 16.21 MB / 16.21 MB \ [========================================] 100.00 % 2.98 MB/s ✓ Installed core/glibc/2.22/20160427193532 ↓ Downloading core/linux-headers/4.3/20160427193435 798.63 KB / 798.63 KB | [======================================] 100.00 % 1.56 MB/s ✓ Installed core/linux-headers/4.3/20160427193435 ↓ Downloading core/redis/3.0.7/20160427222845 1.46 MB / 1.46 MB | [==========================================] 100.00 % 3.28 MB/s ✓ Installed core/redis/3.0.7/20160427222845 ★ Install of core/redis complete with 3 packages installed. ``` musl/libc/ioctl --------------- In the course of building in a progress bar, an issue was found with in the `libc` crate relating to the types of ioctl contants when used by musl (more detail in: rust-lang/libc#289). Unfortunately, this meant vendoring libc so that it would be used as a transitive dependency in the crates that generated the errors (currently this is the `pbr` crate, which is completely correct in tits implementation). Without this temporary measure, the `hab` CLI won't build as-is with the musl target. The other option is to feature-disable the progress bar until the upstream is resolved, but it really hampers the far superior user experience that a progress bar like this provides. Signed-off-by: Fletcher Nichol <fnichol@nichol.ca> Pull request: #522 Approved by: fnichol
Signed-off-by: Fletcher Nichol <fnichol@nichol.ca> Pull request: #522 Approved by: fnichol
Signed-off-by: Fletcher Nichol <fnichol@nichol.ca> Pull request: #522 Approved by: fnichol
hab CLI ------- This change is part spike and experiment and part functional. It is a first attempt at unifying the `hab` CLI output and formatting to be more consisten and easier to scan as a newcomer (in the short term) and experienced user (in the long term). Most of the commands have the following narrative, much like an essay: * An intro/goal/summary of the objective * A middle with the concrete steps to achieve the objective * A final summary/conclusion to confirm success Here is an example of a package install invocation: ``` > hab install core/redis » Installing core/redis ↓ Downloading core/glibc/2.22/20160427193532 16.21 MB / 16.21 MB \ [========================================] 100.00 % 2.98 MB/s ✓ Installed core/glibc/2.22/20160427193532 ↓ Downloading core/linux-headers/4.3/20160427193435 798.63 KB / 798.63 KB | [======================================] 100.00 % 1.56 MB/s ✓ Installed core/linux-headers/4.3/20160427193435 ↓ Downloading core/redis/3.0.7/20160427222845 1.46 MB / 1.46 MB | [==========================================] 100.00 % 3.28 MB/s ✓ Installed core/redis/3.0.7/20160427222845 ★ Install of core/redis complete with 3 packages installed. ``` musl/libc/ioctl --------------- In the course of building in a progress bar, an issue was found with in the `libc` crate relating to the types of ioctl contants when used by musl (more detail in: rust-lang/libc#289). Unfortunately, this meant vendoring libc so that it would be used as a transitive dependency in the crates that generated the errors (currently this is the `pbr` crate, which is completely correct in tits implementation). Without this temporary measure, the `hab` CLI won't build as-is with the musl target. The other option is to feature-disable the progress bar until the upstream is resolved, but it really hampers the far superior user experience that a progress bar like this provides. Signed-off-by: Fletcher Nichol <fnichol@nichol.ca> Pull request: #522 Approved by: fnichol
hab CLI
This change is part spike and experiment and part functional. It is a first attempt at unifying the
hab
CLI output and formatting to be more consistent and easier to scan as a newcomer (in the short term) and experienced user (in the long term).Most of the commands have the following narrative, much like an essay:
Here is an example of a package install invocation:
musl/libc/ioctl
In the course of building in a progress bar, an issue was found with in the
libc
crate relating to the types of ioctl contants when used by musl (more detail in: rust-lang/libc#289). Unfortunately, this meant vendoring libc so that it would be used as a transitive dependency in the crates that generated the errors (currently this is thepbr
crate, which is completely correct in its implementation). Without this temporary measure, thehab
CLI won't build as-is with the musl target. The other option is to feature-disable the progress bar until the upstream is resolved, but it really hampers the far superior user experience that a progress bar like this provides.