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

First pass refresh of hab CLI UI with musl/libc fix. #522

Merged
merged 3 commits into from
May 17, 2016

Conversation

fnichol
Copy link
Collaborator

@fnichol fnichol commented May 16, 2016

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:

  • 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 its 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.

@thesentinels
Copy link
Contributor

By analyzing the blame information on this pull request, we identified @reset, @metadave, @adamhjk, @smith and @jtimberman to be potential reviewers

@thesentinels
Copy link
Contributor

☔ The latest upstream changes (presumably 3473af4) made this pull request unmergeable. Please resolve the merge conflicts.

fnichol added 3 commits May 16, 2016 18:50
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>
@fnichol fnichol force-pushed the fnichol/hab-ui-pass branch from 7dbd29f to e196df4 Compare May 17, 2016 01:09
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 {}.",
Copy link
Contributor

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_

@bookshelfdave
Copy link
Contributor

output looks great! 🍰 🍰 🍰 🍰 🍰
merge away

@fnichol
Copy link
Collaborator Author

fnichol commented May 17, 2016

@thesentinels r+

@thesentinels
Copy link
Contributor

📌 Commit e196df4 has been approved by fnichol

@thesentinels
Copy link
Contributor

⌛ Testing commit e196df4 with merge 881ec65...

thesentinels pushed a commit that referenced this pull request May 17, 2016
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
thesentinels pushed a commit that referenced this pull request May 17, 2016
Signed-off-by: Fletcher Nichol <fnichol@nichol.ca>

Pull request: #522
Approved by: fnichol
thesentinels pushed a commit that referenced this pull request May 17, 2016
Signed-off-by: Fletcher Nichol <fnichol@nichol.ca>

Pull request: #522
Approved by: fnichol
@fnichol
Copy link
Collaborator Author

fnichol commented May 17, 2016

@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.

gif-keyboard-5241249150809597763

@thesentinels
Copy link
Contributor

☀️ Test successful - travis

@thesentinels thesentinels merged commit e196df4 into master May 17, 2016
@fnichol fnichol deleted the fnichol/hab-ui-pass branch May 17, 2016 04:01
jtimberman pushed a commit that referenced this pull request Jun 12, 2016
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
jtimberman pushed a commit that referenced this pull request Jun 12, 2016
Signed-off-by: Fletcher Nichol <fnichol@nichol.ca>

Pull request: #522
Approved by: fnichol
jtimberman pushed a commit that referenced this pull request Jun 12, 2016
Signed-off-by: Fletcher Nichol <fnichol@nichol.ca>

Pull request: #522
Approved by: fnichol
raskchanky pushed a commit that referenced this pull request Apr 16, 2019
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
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.

3 participants