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

pijul 0.12.0_1: mojave bottle not found (404) #44041

Closed
4 of 6 tasks
spl opened this issue Sep 9, 2019 · 10 comments
Closed
4 of 6 tasks

pijul 0.12.0_1: mojave bottle not found (404) #44041

spl opened this issue Sep 9, 2019 · 10 comments
Labels
outdated PR was locked due to age rust Rust use is a significant feature of the PR or issue

Comments

@spl
Copy link
Contributor

spl commented Sep 9, 2019

  • are reporting a bug others will be able to reproduce and not asking a question or requesting software.
  • have a problem with brew install (or upgrade, reinstall) a single, Homebrew/homebrew-core formula (not cask) on macOS?
  • ran brew update and can still reproduce the problem?
  • ran brew doctor, fixed all issues and can still reproduce the problem?
  • ran brew gist-logs <formula> (where <formula> is the name of the formula that failed) and included the output link?
  • if brew gist-logs didn't work: ran brew config and brew doctor and included their output with your issue?

What you were trying to do (and why)

Upgrading pijul preferably from a bottle.

What happened (include command output)

$ brew upgrade pijul
==> Upgrading 1 outdated package:
pijul 0.12.0 -> 0.12.0_1
==> Upgrading pijul 
==> Downloading https://homebrew.bintray.com/bottles/pijul-0.12.0_1.mojave.bottle.tar.gz

curl: (22) The requested URL returned error: 404 Not Found
Error: Failed to download resource "pijul"
Download failed: https://homebrew.bintray.com/bottles/pijul-0.12.0_1.mojave.bottle.tar.gz
Warning: Bottle installation failed: building from source.

What you expected to happen

pijul-0.12.0_1.mojave.bottle.tar.gz is found and installed.

Step-by-step reproduction instructions (by running brew install commands)

$ brew upgrade pijul
@fxcoudert
Copy link
Member

And build from source is currently failing with:

error[E0308]: mismatched types
   --> pijul/src/commands/record.rs:347:38
    |
347 |             patch.save(&patches_dir, key.keys.get_mut(0))?
    |                                      ^^^^^^^^^^^^^^^^^^^ expected struct `sequoia_openpgp::crypto::asymmetric::KeyPair`, found struct `sequoia_openpgp::crypto::KeyPair`
    |
    = note: expected type `std::option::Option<&mut sequoia_openpgp::crypto::asymmetric::KeyPair>`
               found type `std::option::Option<&mut sequoia_openpgp::crypto::KeyPair>`
note: Perhaps two different versions of crate `sequoia_openpgp` are being used?
   --> pijul/src/commands/record.rs:347:38
    |
347 |             patch.save(&patches_dir, key.keys.get_mut(0))?
    |                                      ^^^^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
   --> pijul/src/commands/rollback.rs:167:34
    |
167 |         patch.save(&patches_dir, key.keys.get_mut(0))?
    |                                  ^^^^^^^^^^^^^^^^^^^ expected struct `sequoia_openpgp::crypto::asymmetric::KeyPair`, found struct `sequoia_openpgp::crypto::KeyPair`
    |
    = note: expected type `std::option::Option<&mut sequoia_openpgp::crypto::asymmetric::KeyPair>`
               found type `std::option::Option<&mut sequoia_openpgp::crypto::KeyPair>`
note: Perhaps two different versions of crate `sequoia_openpgp` are being used?
   --> pijul/src/commands/rollback.rs:167:34
    |
167 |         patch.save(&patches_dir, key.keys.get_mut(0))?
    |                                  ^^^^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
   --> pijul/src/commands/tag.rs:129:34
    |
129 |         patch.save(&patches_dir, key.keys.get_mut(0))?
    |                                  ^^^^^^^^^^^^^^^^^^^ expected struct `sequoia_openpgp::crypto::asymmetric::KeyPair`, found struct `sequoia_openpgp::crypto::KeyPair`
    |
    = note: expected type `std::option::Option<&mut sequoia_openpgp::crypto::asymmetric::KeyPair>`
               found type `std::option::Option<&mut sequoia_openpgp::crypto::KeyPair>`
note: Perhaps two different versions of crate `sequoia_openpgp` are being used?
   --> pijul/src/commands/tag.rs:129:34
    |
129 |         patch.save(&patches_dir, key.keys.get_mut(0))?
    |                                  ^^^^^^^^^^^^^^^^^^^

error: aborting due to 3 previous errors

@fxcoudert
Copy link
Member

I can't report the bug because I don't have an account with them, can you please report the bug?

@fxcoudert fxcoudert added the rust Rust use is a significant feature of the PR or issue label Sep 9, 2019
@spl
Copy link
Contributor Author

spl commented Sep 9, 2019

And build from source is currently failing with:

Oh, I didn't let the process go that far.

I can't report the bug because I don't have an account with them, can you please report the bug?

Sure. I think I have an account. I bet the problem is due to a recently released sequoia-openpgp-0.10.0.

@spl
Copy link
Contributor Author

spl commented Sep 9, 2019

Reference: pijul_org/pijul#430

@alebcay
Copy link
Member

alebcay commented Sep 13, 2019

Just to note, pijul 0.12.2 has been around for a while now (we're carrying 0.12.0). Unfortunately, their website only has source tarballs up to 0.12.0. More recent versions are only available on Crates.io. I did look into scraping the source off of there, but it seems that I can only get the tarball in a file that did not have the .tgz or .tar.gz extension.

Not wanting to bother with setting up some kind of DownloadStrategy for this weird situation, I decided to put off upgrading pijul.

I believe upgrading pijul would also resolve issues that are holding up upgrading nettle in #41486.

@spl
Copy link
Contributor Author

spl commented Sep 16, 2019

@alebcay Thanks for the note!

Sorry, I didn't see the issue you posted at pijul_org/pijul#425 before this. You're probably right that updating the released tarballs would fix this.

As an aside, I can no longer log into https://nest.pijul.com to comment on any of these issues.

It seems like the upstream Pijul developers have been quiet for a while, so it might be some time before those releases will be made.

In the meantime, is there anything that can be done on the Homebrew side to remedy the current situation? What about patching the the 0.12.0 Cargo.toml to fix the build-from-source route?

@fxcoudert
Copy link
Member

What about patching the the 0.12.0 Cargo.toml to fix the build-from-source route?

We'll consider a PR if there is not other way to make it work :(

@alebcay alebcay mentioned this issue Oct 7, 2019
@samford
Copy link
Member

samford commented Oct 29, 2019

As in #45839, brew --build-from-source is failing for pijul because the cargo install command isn't using the --locked flag (which forces cargo install to use the dependency versions in the Cargo.lock file, leading to a reproducible build). By default, cargo install builds using the latest dependency versions, which will fail if there are breaking changes in a dependency (as seen above).

To test this, I added the --locked flag to the pijul formula and building from source worked as expected.

$ brew install --build-from-source pijul
==> Installing pijul
==> Downloading https://pijul.org/releases/pijul-0.12.0.tar.gz
######################################################################## 100.0%
==> cargo install --locked --root /usr/local/Cellar/pijul/0.12.0_1 --path .
🍺  /usr/local/Cellar/pijul/0.12.0_1: 6 files, 11.8MB, built in 12 minutes 32 seconds

$ brew test pijul
Testing pijul
==> /usr/local/Cellar/pijul/0.12.0_1/bin/pijul init
==> /usr/local/Cellar/pijul/0.12.0_1/bin/pijul add haunted house
==> /usr/local/Cellar/pijul/0.12.0_1/bin/pijul record --all --message='Initial P
==> /usr/local/Cellar/pijul/0.12.0_1/bin/pijul ls

@fxcoudert
Copy link
Member

A separate pijul PR would be great, since it fixes the build on Catalina

@samford
Copy link
Member

samford commented Nov 1, 2019

By request, I created a pull request (#46073) to add the --locked flag to the cargo install command, which fixes building from source for the version of Pijul in the current formula (0.12.0). The PR is now merged and the bottles were updated in the process, so you may want to give this another try now if you were having issues before.

@lock lock bot added the outdated PR was locked due to age label Jan 1, 2020
@lock lock bot locked as resolved and limited conversation to collaborators Jan 1, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
outdated PR was locked due to age rust Rust use is a significant feature of the PR or issue
Projects
None yet
Development

No branches or pull requests

4 participants