This repository has been archived by the owner. It is now read-only.

charm-tools 1.9.2 #46273

Closed
wants to merge 1 commit into
from

Conversation

Projects
None yet
4 participants
Contributor

marcoceppi commented Nov 23, 2015

This is a feature and bug fix release, deprecating 1.8.0 and 1.9.1

@marcoceppi marcoceppi referenced this pull request Nov 23, 2015

Closed

charm-tools 1.9.1 #46213

Contributor

marcoceppi commented Nov 23, 2015

Travis seems to be experiencing a networking hiccup, hence the failed test.

Contributor

mistydemeo commented Nov 23, 2015

@BrewTestBot test this please

Contributor

marcoceppi commented Nov 23, 2015

I can push a non-changing commit to the branch to kick travis again if it helps push this through. @BrewTestBot and 2/3 travis tests signed off on this. The third test failure appears to be due to networking and not because of this code change.

Contributor

DomT4 commented Nov 23, 2015

Wanted to raise a point from the other thread you closed earlier. The Travis build reveals remote fetching of undeclared Python modules during compile, and as much was mentioned in Homebrew#46213.

I'm a touch confused by juju/charm-tools@2a70207 - Homebrew is capable of handling Python fetching and installing into the correct place; we do so regularly for a whole bunch of formulae. jrnl is the one we point to in the Python documentation.

I'm not sure what is stopping the use of our usual resource model here? We don't permit pip install directly because it's fairly bad UX for the end user (If something goes wrong, they have to fetch a bunch of resources again afresh rather than just using cached ones; the resource version used can differ between the bottles and source installs which makes debugging more troublesome, etc etc) but we permit resources.

The end result for users is the same as doing pip install with a changed PYTHONPATH.

Contributor

marcoceppi commented Nov 23, 2015

The fact that it's tedious and cumbersome to do this as a resource in homebrew. Python and setup.py already manages the dependency chain of requirements for this project. As I found out in #46213 I can't just define the resource, I have to define the resource and it's dependencies as resources. To breakdown each one - and each one's dependencies, would mean I'd be defining upwards of 30+ resources in this file. Seems weird to re-implement that here with homebrew.

The forumula as it stands today was the recommended way to do this when I first set out to package charm-tools for OSX users (#23161). Having homebrew run python setup.py with the prefix has been working out great for the past two years.

Owner

MikeMcQuaid commented Nov 23, 2015

The fact that it's tedious and cumbersome to do this as a resource in homebrew. Python and setup.py already manages the dependency chain of requirements for this project. As I found out in #46213 I can't just define the resource, I have to define the resource and it's dependencies as resources. To breakdown each one - and each one's dependencies, would mean I'd be defining upwards of 30+ resources in this file. Seems weird to re-implement that here with homebrew.

It would be good if you could do that, thanks. It means users don't have to download things at build-time which opens them up to potentially nasty vulnerabilities unless there's checksum validation done there as strongly as ours. It also means none of those resources will be cached. We'd really appreciate it if you could do things our way here as we try and improve our tooling to automate this. Thanks!

Contributor

marcoceppi commented Nov 23, 2015

Python package manager does checksum validation and all traffic over https. I can understand how defining resources for software which don't come with robust package management but this seems like overkill.

I care about my users but I've held up a release for 3 days already trying to get this into homebrew, it was easier to package with debian - now that's a metric ;) I will try to get this, but it's very difficult for me to test without first uploading it to your repo. Are there docs on how I can build and test this locally?

Contributor

DomT4 commented Nov 23, 2015

There's documentation on Python handling here.

You may particularly enjoy Tim's tool for resource block creation pretty much automatically: Link.

Contributor

marcoceppi commented Nov 24, 2015

I still think this is wrong but I care more about my users than arguing the merits of duplicated package management. So that I can reference in the future for other updates:

virtualenv /tmp/homebrew-resources
. /tmp/homebrew-resources/bin/active
pip install charm-tools homebrew-pypi-poet
poet -r charm-tools > /tmp/resources
cat /tmp/foo | pastebinit
for i in `cat /tmp/foo | grep "resource " | awk -F'"' '{ print $2}'`; do echo -n "$i "; done | /tmp/resources-loop

@marcoceppi marcoceppi closed this Nov 25, 2015

@marcoceppi marcoceppi referenced this pull request Nov 25, 2015

Closed

Charm tools 1.9.3 #46352

@MikeMcQuaid MikeMcQuaid locked and limited conversation to collaborators Jul 10, 2016

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.