Conversation
Mercurial is installed in the stack image for all stacks, so the pip install of packages from Mercurial VCS URLs works without the need for the buildpack to install it itself. See: heroku/base-images#141 https://github.com/heroku/stack-images/search?q=mercurial Closes @W-7906950@.
49eb680 to
e6a4e57
Compare
danielleadams
approved these changes
Nov 10, 2020
dryan
pushed a commit
to dryan/heroku-buildpack-python
that referenced
this pull request
Nov 19, 2020
Mercurial is installed in the stack image for all stacks, so the pip install of packages from Mercurial VCS URLs works without the need for the buildpack to install it itself. See: heroku/base-images#141 https://github.com/heroku/stack-images/search?q=mercurial Closes @W-7906950@.
This was referenced Aug 25, 2022
Closed
arjun024
pushed a commit
to cloudfoundry/python-buildpack
that referenced
this pull request
Aug 30, 2022
* There's no documentation that suggests that while installing from a remote url via a VCS like `hg`, the `mercurial` package should be pre-installed. [Pip documentation](https://pip.pypa.io/en/latest/topics/vcs-support/) just states that it requires a working executable to be available, which already exists on the stack. ``` ‣ docker run --init -it cloudfoundry/cflinuxfs3 bash -c "hg --version" Mercurial Distributed SCM (version 4.5.3) ``` * When `fixtures/mercurial` is built by this branch's buildpack, we can see in the log python-hglib (which was the package referred to in the testdata by hg clone url) is installed. ``` Successfully installed Flask-2.2.2 ... python-hglib-2.6.2+2.1e7a64588ab0 ... ``` * Git history suggests that pre-installing mercurial via `pip install mercurial` ([link](https://github.com/cloudfoundry/python-buildpack/blob/v1.7.58/src/python/supply/supply.go#L201-L215)) came into this buildpack from the original heroku buildpack fork. Heroku has since removed it. See heroku/heroku-buildpack-python#1111 * This change does not address why running an app with `mercurial` present in the `requirements.txt` fails with the error pointing to a non-existent include path to `Python.h` even after include location is set via CFLAGS in 028a7b6. See [CI log](https://buildpacks.ci.cf-app.com/teams/main/pipelines/python-buildpack/jobs/specs-edge-integration-develop/builds/1054#L62d6d57b:516). The timing of this failure appearing in CI suggests that it's related to the package using the new setuptools version as a transitive dependency. See #574 This has to be separately investigated.
arjun024
pushed a commit
to cloudfoundry/python-buildpack
that referenced
this pull request
Aug 30, 2022
* There's no documentation that suggests that while installing from a remote url via a VCS like `hg`, the `mercurial` package should be pre-installed. [Pip documentation](https://pip.pypa.io/en/latest/topics/vcs-support/) just states that it requires a working executable to be available, which already exists on the stack. ``` ‣ docker run --init -it cloudfoundry/cflinuxfs3 bash -c "hg --version" Mercurial Distributed SCM (version 4.5.3) ``` * When `fixtures/mercurial` is built by this branch's buildpack, we can see in the log python-hglib (which was the package referred to in the testdata by hg clone url) is installed. ``` Successfully installed Flask-2.2.2 ... python-hglib-2.6.2+2.1e7a64588ab0 ... ``` * Git history suggests that pre-installing mercurial via `pip install mercurial` ([link](https://github.com/cloudfoundry/python-buildpack/blob/v1.7.58/src/python/supply/supply.go#L201-L215)) came into this buildpack from the original heroku buildpack fork. Heroku has since removed it. See heroku/heroku-buildpack-python#1111 * This change does not address why running an app with `mercurial` present in the `requirements.txt` fails with the error pointing to a non-existent include path to `Python.h` even after include location is set via CFLAGS in 028a7b6. See [CI log](https://buildpacks.ci.cf-app.com/teams/main/pipelines/python-buildpack/jobs/specs-edge-integration-develop/builds/1054#L62d6d57b:516). The timing of this failure appearing in CI suggests that it's related to the package using the new setuptools version as a transitive dependency. See #574 This has to be separately investigated.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Mercurial is installed in the stack image for all stacks, so the pip install of packages from Mercurial VCS URLs works without the need for the buildpack to install Mercurial itself.
See:
heroku/base-images#141
https://github.com/heroku/stack-images/search?q=mercurial
Closes W-7906950.