[Launchpad-dev] Failed attempt to contribute to lazr.restfulclient

2011-09-13 Thread Jonathan Lange
Hello,

I was just trying to move some code from lp:udd to
lp:lazr.restfulclient where it would be helpful to more people.

After pulling a fresh copy of lazr.restfulclient, I had a look at the
HACKING document. It doesn't actually say how to run the tests[1].
Since it looked like a buildout project, I tried the bootstrap;
buildout approach, and that got me somewhere, except that buildout
doesn't work[2].

Once I figured out how to get past that, and buildout ran
successfully, I tried running the tests. They failed[3].

I'd really appreciate it if someone who knows more about it could
spend a bit of time on lazr.restfulclient, getting it ready for other
people to be able to contribute to it. Then I can show my appreciation
with patches.

cheers,
jml

[1] https://bugs.launchpad.net/lazr.restfulclient/+bug/848826
[2] https://bugs.launchpad.net/lazr.restfulclient/+bug/848827
[3] https://bugs.launchpad.net/lazr.restfulclient/+bug/848831

___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Launchpad-dev] Failed attempt to contribute to lazr.restfulclient

2011-09-13 Thread James Westby
On Tue, 13 Sep 2011 11:43:23 +0100, Jonathan Lange j...@canonical.com wrote:
 Once I figured out how to get past that, and buildout ran
 successfully, I tried running the tests. They failed[3].

I believe there are some tests that are only supposed to be run within
launchpad's test harness. Perhaps I'm misremembering and it's
launchpadlib that is in that state, but I remember not being able to get
a clean test run on one of them without doing it in that way.

Such a dependency certainly makes it harder to contribute, and makes it
less likely that lazr.restfulclient will be reused by another project.

Thanks,

James

___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Launchpad-dev] Failed attempt to contribute to lazr.restfulclient

2011-09-13 Thread Jonathan Lange
On Tue, Sep 13, 2011 at 12:18 PM, James Westby
jw+deb...@jameswestby.net wrote:
 On Tue, 13 Sep 2011 11:43:23 +0100, Jonathan Lange j...@canonical.com wrote:
 Once I figured out how to get past that, and buildout ran
 successfully, I tried running the tests. They failed[3].

 I believe there are some tests that are only supposed to be run within
 launchpad's test harness. Perhaps I'm misremembering and it's
 launchpadlib that is in that state, but I remember not being able to get
 a clean test run on one of them without doing it in that way.


There's a script called 'bin/standalone_test' that fails differently,
but with the same root cause: no lazr.uri.

 Such a dependency certainly makes it harder to contribute, and makes it
 less likely that lazr.restfulclient will be reused by another project.


+1

jml

___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Launchpad-dev] Failed attempt to contribute to lazr.restfulclient

2011-09-13 Thread Benji York
On Tue, Sep 13, 2011 at 6:43 AM, Jonathan Lange j...@canonical.com wrote:
 Hello,

 I was just trying to move some code from lp:udd to
 lp:lazr.restfulclient where it would be helpful to more people.

 After pulling a fresh copy of lazr.restfulclient, I had a look at the
 HACKING document. It doesn't actually say how to run the tests[1].
 Since it looked like a buildout project, I tried the bootstrap;
 buildout approach, and that got me somewhere, except that buildout
 doesn't work[2].

It would appear to be a result of using Launchpad to host the
lazr.restfulclient downloads.  The LP download page is batched and
setuptools/distribute don't spider the target of the PyPI Download URL
link (thank goodness).  The 0.16.0 release was pushed off the first page
of downloads so it is no longer available.

In the short run I will set lazr.restfulclient to use a newer
lazr.restful.  In the long run we should change the way downloads are
presented if we want people to use LP to host Python packages.
Otherwise we should move the lazr package downloads to PyPI.

 Once I figured out how to get past that, and buildout ran
 successfully, I tried running the tests. They failed[3].

Using a clean Python (i.e., non-system, no installed packages) or a
virtualenv will solve the above problem.  This is generally the way
buildout should be used unless the system packages are closely managed
as part of the development environment.

I'll add comments to this effect to the HACKING document.

 [1] https://bugs.launchpad.net/lazr.restfulclient/+bug/848826
 [2] https://bugs.launchpad.net/lazr.restfulclient/+bug/848827
 [3] https://bugs.launchpad.net/lazr.restfulclient/+bug/848831

I've replied to the above bugs with comments similar to those in this
message.
-- 
Benji York

___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Launchpad-dev] Oneiric vs Rabbit

2011-09-13 Thread Gary Poster

On Sep 12, 2011, at 8:17 PM, Robert Collins wrote:

 On Tue, Sep 13, 2011 at 11:31 AM, Gary Poster gary.pos...@canonical.com 
 wrote:
 I would expect: ./setup.py sdist upload --signed
 and in lp make a 'release' and upload the files there as well. I
 believe sinzui has some automation around this, or you can use the
 stuff in lp-tools too.
 
 (there is more claimed on https://dev.launchpad.net/ReleaseChecklist
 but it seems like overkill to me :) - I think we should simplify
 things as much as possible).
 
 Not releasing a Python package on PyPI seems kinda like not releasing.  
 Maybe I'm the odd one out in that perception.
 
 setup.py sdist upload --signed *creates* a PyPI release. Of course our
 python packages should be on PyPI!

Ah ok cool.  I was pretty sure PyPI needed a register in there (./setup.py 
sdist register upload).  Sorry for the misunderstanding.

I re-looked at https://dev.launchpad.net/ReleaseChecklist .  I think this is 
mostly a good process and a good set of expectations.  In particular, I think a 
NEWS.txt file is good practice. I'd only change it in two ways.

- Only produce sdists, not eggs.  It sounds like you agree with this.
- Make no announcements requirements.

I'm happy to make these changes if there is consensus.  Similarly, if there is 
consensus, let's remind everyone to follow the advice in the document.

Gary
___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Launchpad-dev] Failed attempt to contribute to lazr.restfulclient

2011-09-13 Thread Gary Poster

On Sep 13, 2011, at 8:41 AM, Benji York wrote:
 In the long run we should change the way downloads are
 presented if we want people to use LP to host Python packages.
 Otherwise we should move the lazr package downloads to PyPI.

We should have the primary download be in PyPI for Python packages, IMO.  We 
can duplicate in LP for pride's sake if desired, but meanwhile, the rest of the 
Python world uses PyPI to host their packages, so let's use PyPI.

It sounded like Robert was OK with this plan, if not necessarily this line of 
reasoning, in another thread.

Gary
___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


[Launchpad-dev] Build service thoughts

2011-09-13 Thread Jonathan Riddell

I packaged bzr for openSUSE recently and it was suggested I send some
notes on how their build service compares to Launchpad.

One difference that surprised me is packages are built instantly as
soon as you commit.  This can probably be seen as quite a waste of
build daemon time since it will be trying to make packages even if
what you are working on isn't complete but it does remove a step from
the user (in our case quite a hassle filled step since it requires
using different tools to upload to the archive until build from branch
appears).

Build numbers automatically increment for each build which saves the
minor hassle of having to do so yourself in the changelog.

One source package is built for many distros and distro versions.
This would be nice to have in PPAs, again removing a minor hassle from
packagers of having to build and upload source packages multiple
times.

Packages are stored with packaging only and source in a tar file.
This simplifies the problem compared to our UDD process of having full
source branches in revision control.  Given the hassle full source
branches seem to make for UDD (still  500 import failures, quilt on
top to bzr double revision control, notable new workflows for
packagers, definitive source RCS is upstream and ours don't generally
match) doing packaging only branches would seem to me to have been an
easy win but too late to change now.

They have OSC, a command line tool for checkout and commit (similar to
subversion in its revision control functions so much more limited than
bzr there).  It also allows for easy searching of packages, checkouts
include personal archives, and it submits merge requests which could
be done as bzr plugins with support from Launchpad.

They have external users, notably the Linux Foundation which means
MeeGo is closely aligned to SUSE.  Maybe if Launchpad had been easier
for external users to set up MeeGo would be aligned to Ubuntu?

I found the web interface generally fiddly to find my way around and
it doesn't seem to offer much help.  Launchpad feels more logical to
me and easier to find help but maybe that's because I use it every
day.

Jonathan

___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Launchpad-dev] Failed attempt to contribute to lazr.restfulclient

2011-09-13 Thread Robert Collins
On Wed, Sep 14, 2011 at 2:35 AM, Gary Poster gary.pos...@canonical.com wrote:

 We should have the primary download be in PyPI for Python packages, IMO.  We 
 can duplicate in LP for pride's sake if desired, but meanwhile, the rest of 
 the Python world uses PyPI to host their packages, so let's use PyPI.

 It sounded like Robert was OK with this plan, if not necessarily this line of 
 reasoning, in another thread.

+1. LP doesn't allow metadata links to other download sites, so I
think we should *either* clearly state that downloads are on url in
the project descriptions on Launchpad, *or* upload to both Launchpad
and PyPI. (Perhaps the ProductReleaseFinder could rescue us here and
maintain mirrored releases automatically).

-Rob

___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Launchpad-dev] Oneiric vs Rabbit

2011-09-13 Thread Robert Collins
On Wed, Sep 14, 2011 at 1:36 AM, Gary Poster gary.pos...@canonical.com wrote:
 Ah ok cool.  I was pretty sure PyPI needed a register in there (./setup.py 
 sdist register upload).  Sorry for the misunderstanding.

register is needed when the project is created, to claim the
namespace. I *think* that that is on the CreatingNewProjects page but
perhaps passively ('should be on pypi') rather than actively ('run
./setup.py register').

 I re-looked at https://dev.launchpad.net/ReleaseChecklist .  I think this is 
 mostly a good process and a good set of expectations.  In particular, I think 
 a NEWS.txt file is good practice. I'd only change it in two ways.

 - Only produce sdists, not eggs.  It sounds like you agree with this.
 - Make no announcements requirements.

 I'm happy to make these changes if there is consensus.  Similarly, if there 
 is consensus, let's remind everyone to follow the advice in the document.

Yes, if there is a NEWS.txt it should definitely be kept up to date.
And yes, sdists only and not worrying about mechanical announcements
were two changes I had in mind.

-Rob

___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


[Launchpad-dev] Preparing for 12.04 LTS

2011-09-13 Thread Barry Warsaw
Hi Launchpadders,

At UDS-O, we had some conversations about helping Launchpad make the migration
from 10.04 LTS to 12.04 LTS, and in particular our decision (hopefully to be
sustained at UDS-P) to drop Python 2.6 from the archive.

As you know, our data center only runs LTS releases, so the Launchpad servers
must be able to upgrade from one LTS to the next.

Also, we decided to drop Python 2.6 in Ubuntu either when Debian switches to
Python 2.7 as the default[1], or during toolchain updates early in the
P-cycle.  We want to do this for two reasons: first, because including Python
2.6 in 12.04 would mean that we'd have to support it for long after upstream's
maintenance commitments end, and because every Python package must be built
for all supported Pythons, thus increasing their size[2].

The Launchpad requirement is this: operationally, we do not want to upgrade
both the OS version and the Python version at the same time.  This means
either we provide a way to build and run Launchpad against Python 2.7 in
Lucid, or we provide a way to build and run Launchpad against Python 2.6 in
12.04.

The plan we hatched at UDS-O was to back port Python 2.7 and a few dozen
packages that Francis identified to a Lucid PPA.  Then, the Launchpad servers
could add that PPA while they were still on 10.04 and switch to Python 2.7
before they upgraded to 12.04.  Francis tells me that Launchpad already runs
fairly well on Python 2.7 + Oneiric on developer machines, with just one or
two test failures.

Great plan, except for one thing: I suck.  I've had a very difficult time
getting that PPA up and running.  The biggest problem is that there's a huge
dependency stack that ends up needing to be built as well, and determining
that stack is a manual, error-prone, and time-consuming processes.  For each
dependency, we have to decide whether to rebuild the Lucid version of the
package (if there is one) or back port the Oneiric version of the package
*and* all its dependencies too.  Sometimes the package doesn't exist in Lucid;
other times the Lucid version of the package doesn't yet support Python 2.7.

After some discussion with Francis and Steve Langasek, I think a more fruitful
approach will be to forward port Python 2.6 to a P-series PPA, and then make
this available to Launchpad, so that it could continue to run on Python 2.6
even after it upgraded to 12.04.  Then at its leisure, Launchpad would make
the switch to Python 2.7 and get rid of the PPA.

I *think* this will work out much better, because we already know that
Launchpad runs on Oneiric, so forward porting will be mostly a matter of
re-enabling Python 2.6 in the PPA, and rebuilding packages we know already
build and work with both 2.6 and 2.7 (i.e. the Oneiric versions).  At least at
first P will be pretty close to Oneiric, so in theory, that should be a much
smaller jump than from Oneiric all the way back to Lucid.

Steve brought up one good question, which is whether, after upgrading the LP
server to 12.04, you will also rebuild Launchpad.  Another question is whether
LP needs Python 2.6 to be the default Python, or just a supported version.  I
think LP can fairly easily specify which version of Python to build against,
so ideally, after the LTS upgrade, you'd just enable the PPA and do a manual
rebuild of Launchpad against the non-default Python 2.6.  Definitely let me
know of that's *not* the case.

Any and all feedback will be greatly appreciated.  I'll commit to working on
this once 12.04 opens up, we've removed Python 2.6 from the archive, and
rebuilt enough of the P-series archive to have a valid PPA overriding it.  Of
course, if we backtrack on removing 2.6 from 12.04, then the whole issue is
moot. wink

Cheers,
-Barry

[1] The Debian switch had to happen before Oneiric feature freeze for us to
even consider it.  It didn't happen, so we'll wait until P opens up, but it
does look like Debian isn't too far from switching to Python 2.7 as its
default.

[2] Note that once we remove Python 2.6 from the archive, it will *not* be
available in Universe.  If it were in the archive at all, we'd still have to
build all our Python packages for both versions, since we don't have separate
Python packages per major version (we have a separate Python 3 stack, but I
won't even go there... yet :).


signature.asc
Description: PGP signature
___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Launchpad-dev] Preparing for 12.04 LTS

2011-09-13 Thread Francis J. Lacoste
Thank you Barry for this extensive write-up of the situation. Answers to
your question follows below.

On 11-09-13 05:00 PM, Barry Warsaw wrote:
 Hi Launchpadders,
 

[...]

 
 The plan we hatched at UDS-O was to back port Python 2.7 and a few dozen
 packages that Francis identified to a Lucid PPA.  Then, the Launchpad servers
 could add that PPA while they were still on 10.04 and switch to Python 2.7
 before they upgraded to 12.04.  Francis tells me that Launchpad already runs
 fairly well on Python 2.7 + Oneiric on developer machines, with just one or
 two test failures.

That's actually from hear-say and from a while back. I don't know the
exact status of this today, but to me the biggest hurdles around this
have always been the deployment issues.

[...]

 
 After some discussion with Francis and Steve Langasek, I think a more fruitful
 approach will be to forward port Python 2.6 to a P-series PPA, and then make
 this available to Launchpad, so that it could continue to run on Python 2.6
 even after it upgraded to 12.04.  Then at its leisure, Launchpad would make
 the switch to Python 2.7 and get rid of the PPA.

The only downside for us with this plan is that we won't be able to
update to python 2.7 until our data centre machines are migrated to
12.04 LTS. We are usually eager to update, so probably among the first
to upgrade, but that still means that python 2.7 would be something like
8-9 months away. I don't think it's such big a deal, but let's see if
others disagree.

[...]

 
 Steve brought up one good question, which is whether, after upgrading the LP
 server to 12.04, you will also rebuild Launchpad.  

We don't rebuild by default after a reboot, but rebuilding isn't a big
deal :-)

 Another question is whether
 LP needs Python 2.6 to be the default Python, or just a supported version.

Just a supported version. We specify which interpreter to use.

  I think LP can fairly easily specify which version of Python to build 
 against,
 so ideally, after the LTS upgrade, you'd just enable the PPA and do a manual
 rebuild of Launchpad against the non-default Python 2.6.  Definitely let me
 know of that's *not* the case.

No, that's about it.

 
 Any and all feedback will be greatly appreciated.  I'll commit to working on
 this once 12.04 opens up, we've removed Python 2.6 from the archive, and
 rebuilt enough of the P-series archive to have a valid PPA overriding it.  Of
 course, if we backtrack on removing 2.6 from 12.04, then the whole issue is
 moot. wink
 

Thanks a lot for following-up on this.

-- 
Francis J. Lacoste
francis.laco...@canonical.com



signature.asc
Description: OpenPGP digital signature
___
Mailing list: https://launchpad.net/~launchpad-dev
Post to : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp