Principia updated to latest Ensemble trunk.

Clint Byrum clint at
Thu Apr 21 00:09:02 UTC 2011

Excerpts from Gustavo Niemeyer's message of Wed Apr 20 12:53:55 -0700 2011:
> > Can you tell us a little about how plans are shaping up to make that a
> > vibrant community push? How have the LP infrastructure conversations
> > gone (last I heard we were thinking of a two-phase process with ensemble
> > commands to handle publishing and using existing LP / github services in
> > the backend before proper LP support comes along for bugs/translations etc).
> The ball is currently with me at the moment for pushing that forward.
> I still have to write a proper specification with details of how I
> suggest we do it in more detail, but this is a good chance to have
> some early exposure to the ideas, so here is what I'm thinking ATM.

I think a loose rough draft is all thats needed to start making the
community push for early adopters. I really just want to make sure that
whatever we do now is compatible with the end goal. As you all know, I
feel that ensemble is useful now and will be well received by some users.

My personal desire is to start using Ensemble to manage my own personal
blog and email setup once LXC and service-settings are completed. Having
a repository is not really necessary for that, but its important that
I'm able to easily convert from principia's mass of formulas in a bzr
tree to whatever the ensemble repository is when the time comes.

> Making a formula available would consist of the following steps:
> 1) Create a new formula:
>    $ ensemble new-formula myformula
>    This command will create the myformula/ directory with a
>    formula template named "myformula" in place.

Hopefully you can at least re-use the ideas in principia's
formulate command, which pulls metadata from dpkg/apt to populate the
formula's metadata.yml. I'm also fairly certain it will be able to pull
recommends/depends on other formulated packages in the future and populate
the relationships.

> 2) Adjust the formula to one's needs.
>    $ cd myformula && <hack>
> 3) Publish the formula.
>    $ ensemble publish
>    This command will ask the user for Launchpad credentials, will
>    create a new branch for the formula at lp:~user/formula/myformula
>    and once the content is pushed, will ping the Ensemble
>    repository server to bundle and index the new formula.
> That's it, as far as the publishing process goes.
> On the other side, users can make use of the new formula
> simply with something similar to (proper identifier style
> still being figured):
>     $ ensemble deploy lp:~user/myformula
> This will contact the repository directly and look for the formula
> bundle.
> There are some internal details of getting this right in terms of
> picking the correct Ubuntu release, etc, but what I describe above
> is the intended default user experience besides those details.
> How does that sound?

sounds pretty awesome! :)

More information about the Ensemble mailing list