← Back to team overview

anvil-dev team mailing list archive

Re: smithy bootstrap of pip dependencies appear broken for 'clean' installs

 

Hey, anytime.

As for your thoughts/idears.

1. Sounds good to me :-)
2. Same as 1 :-P
3. Same as 2
4. This might get more involved, alot of anvils need for sudo is all the
pkg stuff it does, all the files it adjusts, all the 'python setup.py
--develop' and so on, the initial bootstrap is just like phase 0 of these
kinds of commands. I'm sure there are ways around it (ie the user entering
the sudo user all the time) just thinking that they may have to enter the
sudo user so much we might as well start them off in the sudo user (as it
does right now, where it starts as sudo then drops back down to the user
running and re-elevates priviligies as needed). Thoughts?

Everything is always up for consideration, no code is written in stone :-P
Write a blueprint if u want, or not, get your org. to give u CLA rights or
whatever, haha.

-Josh


On Sat, Dec 8, 2012 at 5:09 PM, Daniel Mercer <dmercer@xxxxxxxxxxxxxx>wrote:

> On Dec 8, 2012, at 10:13 AM, Joshua Harlow <harlowja@xxxxxxxxx> wrote:
>
> Should be all fixed now, thanks Dan.
>
> Much obliged, Josh!
>
> I have a minor patch to the smithy script to make it easier to support
> bootstrapping multiple distributions. I am almost at a point where my
> organization will let me submit it, but I'd like to discuss some slightly
> broader changes that I'd be happy to commit to writing a blueprint for and
> implementing if they have merit. Specifically -
>
> 1. Break the bootstrap process into two phases -- In the first phase the
> operating system distribution would be identified. In the second, a set of
> steps defineable for each dist would be run. The current smithy code
> effectively does this for RHEL systems, but I'd like to make the code a bit
> more general so that adding and maintaining new distributions is very
> simple.
>
> 2. Define the bootstrap steps so that each can check whether it needs to
> run. If each step is idempotent it'll go a long way towards making it
> easier to recover when one of the steps fails. It also would make it
> possible to ask an updated smithy 'what steps do I need to run to
> bootstrap?'
>
> 3. Consider disabling smithy's auto-bootstrap behavior and emit 'Run
> smithy with --bootstrap to set up your host to run anvil.' If 2 is
> implemented we could provide even more helpful output here.
>
> 4. Consider only requiring sudo when it is needed to run a privileged
> operation. If 3 is implemented this should be pretty straightforward.
>
> I think the above could be done without making the existing smithy code
> too complicated and I'm pretty sure it'd go a long way to providing a
> really good out-of-box experience for anvil. I've got a couple days before
> I am likely to get the green light for submitting my changes, so there is
> time for me to work on some of the above if it'd be considered useful.
>
> dlm
>
>
> On Dec 7, 2012 6:43 PM, "Joshua Harlow" <harlowja@xxxxxxxxx> wrote:
>
>> Fixing this.
>>
>> Stupid keyring thing is doing this...
>>
>>
>> On Fri, Dec 7, 2012 at 4:04 PM, Daniel Mercer <dmercer@xxxxxxxxxxxxxx>wrote:
>>
>>> Hi,
>>>
>>> I believe the bootstrap step for pypi is broken for installs on a
>>> 'clean' host. I infer from the output that hgtools (which is installed as a
>>> pip package) is required for the pre/post install phase of one some
>>> subsequent pip package. Here is the expurgated version (full output
>>> attached):
>>>
>>> > Installing pypi dependencies…
>>> …SNIP…
>>> >     warning: no previously-included files matching '*.aux' found under
>>> directory 'docs'
>>> > Downloading/unpacking hgtools (from -r tools/pip-requires (line 3))
>>> >   Downloading hgtools-2.0.2.zip
>>> >   Running setup.py egg_info for package hgtools
>>> …SNIP..
>>> > Downloading/unpacking keyring>=0.9.2 (from -r tools/pip-requires (line
>>> 4))
>>> >   Downloading keyring-1.0.zip (61Kb): 61Kb downloaded
>>> >   Running setup.py egg_info for package keyring
>>> >     zip_safe flag not set; analyzing archive contents...
>>> >
>>> >     Installed
>>> /tmp/easy_install-SM0Psj/pytest-runner-1.2/hgtools-2.0.2-py2.6.egg
>>> >
>>> >     Installed
>>> /home/dmercer/anvil/build/keyring/pytest_runner-1.2-py2.6.egg
>>> >     Traceback (most recent call last):
>>> …SNIP…
>>> >     ImportError: No module named hgtools.plugins
>>>
>>> If the hgtools package is installed in advance of the other pip
>>> dependencies all is well. I like the recent change where the pip deps were
>>> removed from smithy and into tools/pip-requires, but it may be necessary to
>>> do the pip installs in multiple phases.
>>>
>>>
>>>
>>>
>>>
>>> dlm
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Mailing list: https://launchpad.net/~anvil-dev
>>> Post to     : anvil-dev@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~anvil-dev
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>>
>>
>>
>> --
>> --
>> *Joshua Harlow (mR.aWesOmo)*
>> facebook.com/jshharlow <http://www.facebook.com/jshharlow>
>> flickr.com/jshharlow
>> YIM: jshharlow
>>
>>
>


-- 
--
*Joshua Harlow (mR.aWesOmo)*
facebook.com/jshharlow <http://www.facebook.com/jshharlow>
flickr.com/jshharlow
YIM: jshharlow

Follow ups

References