Re: Giving developers access to requeue package imports [Was: Ubuntu Platform developers BOF session?]

2013-11-14 Thread Barry Warsaw
On Nov 13, 2013, at 10:48 PM, Stéphane Graber wrote:

I push those commits to the main branch (ubuntu:package) as I go.
It's true that the head of the branch doesn't reflect the source
package, however the latest tag does, so that's not a real concern.

What I like is that when I have a few simple changes or fixes that don't
seem to warrant an upload on their own either because of a very long
build time or because I know someone else is going to merge the package
from Debian in the next few days, I can just commit stuff in there, add
an UNRELEASED changelog entry and let whoever does the next major change,
just pick up my changes at the same time.

That also means people don't need to go looking for MP before uploading
something as the change is already right there in the branch, all they
need to do is to add theirs and upload.

I've noticed that I'm not the only one doing that, I know that at least Steve
is doing something similar with some packages ;)

Thanks for the workflow explanation - this is really interesting.

It seems to me like you're using the UDD branches in a very similar way as say
Debian Python uses its svn branches, as the primary location to make
incremental packaging changes in preparation for upload.  I.e. it's your main
location for doing package development.

I think I better understand yours, Steve's, and others objections to my
suggestion.  It's not how I think of the UDD branches but I'll retract my
suggestion because I wouldn't want to prohibit your workflows.

But this *is* getting off-topic from the original request, which is: how can
we empower developers to fix their own broken UDD branches?

Let's leave the future of UDD, and the reality of the given resources to
improve the situation and get closer to our dream world, for another day.

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Patch Pilot Report bzr workflow used.

2013-01-16 Thread Barry Warsaw
On Jan 16, 2013, at 12:58 AM, Dmitrijs Ledkovs wrote:


I did quite a few bzr merge proposals.

The workflow I used was this:

bzr branch lp:~logan/ubuntu/raring/rbbr/0.6.0-6
cd 0.6.0-6
bzr bd -S
sbuild ../build-area/*.dsc
bzr diff -rtag:last-ubuntu | filterdiff -x .pc*
bzr diff -rtag:last-debian | filterdiff -x .pc*
debsign ../build-area/*_source.changes
dput ../build-area/*_source.changes
bzr mark-uploaded
bzr push lp:ubuntu/rbbr

Good tips.  Could you add them to

https://wiki.ubuntu.com/UbuntuDevelopment/CodeReviews

One thing I'd like to encourage is for folks to edit this page as they are
doing their piloting, so that over time it gathers other good tips and tricks
and becomes generally more helpful about best practices.

Cheers,
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Fixing import errors and discouraging pushes

2012-12-04 Thread Barry Warsaw
On Dec 03, 2012, at 09:56 PM, Steve Langasek wrote:

On Mon, Dec 03, 2012 at 06:14:19PM -0500, Barry Warsaw wrote:
 On Mon, Dec 03, 2012 at 04:07:47PM -0500, Barry Warsaw wrote:
  I think we should (almost) never allow users to push to ubuntu: or 
  debianlp:
  branches, or at least, highly discourage it.  Just do the upload and let 
  the
  importer create the new revisions and it seems like that avoids a lot of
  headaches and failures.

 If we're not going to allow pushing to the branches, then I don't think
 they're useful at all.  It's *only* for having rich branch history that I
 use these branches, and if they're not going to be usable that way I would
 discontinue my use of them altogether, moving the packages I maintain
 somewhere else for their primary VCS.

 That's interesting, because I think source branches have a lot of benefit
 over apt-get source by themselves.

They do, but those aren't actually the options I'm picking between.  I'm
picking between being able to use lp:ubuntu/$package as the VCS for the
packages I maintain, and having to maintain the VCS elsewhere.

Gotcha, yes in those cases, I definitely agree with you!

I was thinking about purely packaging branches which don't also serve as
upstream.

Cheers,
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Fixing import errors and discouraging pushes

2012-12-03 Thread Barry Warsaw
pykde4 is currently failing:

http://package-import.ubuntu.com/status/pykde4.html#2012-11-22 08:40:00.891722

I'd like to learn how to fix this in such a way that I can add some
suggestions to

https://wiki.ubuntu.com/DistributedDevelopment/UnderTheHood/Importer/CommonFailures

This way, folks can fix problems for packages they care about.

What I did:

$ bzr branch ubuntu:pykd4 raring
# This results in an out-of-date branch
$ bzr branch raring fiximport
$ chdist apt-get raring source pykde4
$ cd fiximport
$ bzr import-dsc ../pykde4_4.9.80-0ubuntu2.dsc

Now, is this enough to bzr push the fiximport branch to ubuntu:pykd4 and will
that fix the importer for subsequent runs?  Is there anything else I need to
do to the branch first?  Do I need to `push --overwrite`?   Is this much
harder than it seems?

I think we should (almost) never allow users to push to ubuntu: or debianlp:
branches, or at least, highly discourage it.  Just do the upload and let the
importer create the new revisions and it seems like that avoids a lot of
headaches and failures.  I'm not sure if there's anything more we can do
except to document this properly in the Ubuntu Developer Guide.

Cheers,
-Barry



signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Fixing import errors and discouraging pushes

2012-12-03 Thread Barry Warsaw
On Dec 03, 2012, at 03:04 PM, Steve Langasek wrote:

On Mon, Dec 03, 2012 at 04:07:47PM -0500, Barry Warsaw wrote:
 I think we should (almost) never allow users to push to ubuntu: or debianlp:
 branches, or at least, highly discourage it.  Just do the upload and let the
 importer create the new revisions and it seems like that avoids a lot of
 headaches and failures.

If we're not going to allow pushing to the branches, then I don't think
they're useful at all.  It's *only* for having rich branch history that I
use these branches, and if they're not going to be usable that way I would
discontinue my use of them altogether, moving the packages I maintain
somewhere else for their primary VCS.

That's interesting, because I think source branches have a lot of benefit over
apt-get source by themselves.  For example, I like branching ubuntu:foo in a
local shared repo, then doing further branches for various bug fixes or other
development.

Letting the package importer update the branch seems akin to rebasing on the
current source branch once you've done the upload.

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Upgrading pristine-xz on jubany

2012-06-13 Thread Barry Warsaw
On Jun 13, 2012, at 05:25 PM, Dmitrijs Ledkovs wrote:

I heavily rely on package-import. It's no longer 'a demo' but really the only
way I develop for ubuntu or debian (to have a nice debdiff).

Here, here.
-Barry

-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Repairing a broken package import

2012-06-05 Thread Barry Warsaw
Today I wanted to work on the apport packaging branch, but the importer has
been failing on this package:

http://package-import.ubuntu.com/status/apport.html#2012-01-26 06:59:16.573850

I took a look at bug 494481, which is referenced by the importer failure
package, but I didn't see anything that exactly matched the traceback.  Still,
on the theory that I probably can't break this package any worse than it
already is, I did the following:

bzr tag -r martin.p...@canonical.com-20100624133714-tp43iqk10jzt7ftp \
upstream-1.14.1 -d :parent

Two questions:

- Did I do the right thing to fix this particular crash?

- Do I need to do anything else explicitly to get this package to start
  importing again (i.e. requeue the package)?

We've talked about adding some remediation hints to the wiki page but have yet
to do so.  As a result of this thread, I'll write something up for
https://wiki.ubuntu.com/DistributedDevelopment

Cheers,
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Switching over to Quantal

2012-04-30 Thread Barry Warsaw
Now that Quantal is open for development, what do we need to do to get things
switched over, and UDD all happy-like?

$ bzr branch ubuntu:precise/debootstrap precise
bzr: ERROR: Revision 
{package-imp...@ubuntu.com-2021132053-gkdptiozkkmpd7p4} not present in 
Graph(StackedParentsProvider(bzrlib.repository._LazyListJoin(([CachingParentsProvider(None)],
 [].
$ bzr branch ubuntu:debootstrap precise
Most recent Ubuntu version: 1.0.40
Packaging branch version: 1.0.38
Packaging branch status: OUT-OF-DATE

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: UDD importer making a nuisance of itself with v3 source format branches

2012-04-13 Thread Barry Warsaw
On Apr 13, 2012, at 01:13 AM, Max Bowsher wrote:

I've just had a conversation with cjwatson and slangasek on
#ubuntu-release about the importer making a nuisance of itself by
declaring a perfectly reasonable commit to be a collision / difference,
and replacing it with one of its own.

The key pain point here is the .pc/ directory.

The sad fact is that for a while now, I've simply stopped pushing to the
ubuntu: branch when I add quilt patches.  I just don't trust myself to get it
right (if it's even possible ;).  I'll always upload the new package and let
the importer deal with the fallout.

The .pc/ directory is a constant source of pain when using UDD+quilt.  Some
things did get better last cycle, but I think a lot more needs to be done to
make this really smooth and usable for UDD+quilt.

Cheers,
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


UDD breakdown when building orig.tar.gz from upstream VCS

2012-02-15 Thread Barry Warsaw
I just want to put this out there for the historical record.  I think this is
a rare enough use case that UDD doesn't need to address, certainly not any
time soon, if ever.  OTOH, maybe there's an easy workaround.

I was working on an NBS for the fgfs-atlas package (LP: #903225).  The
solution was straightforward enough: upstream had all the necessary fixes in
their CVS repository, but hadn't done a release in a long time.  I twiddled
the packaging to build an orig.tar.gz from CVS, and the googlez helped find
some good general packaging information on how to do this.

Unfortunately, UDD is essentially useless here.  The problem is that after
creating the tarball from CVS, `bzr bd -S` can't be used because dpkg-source
will complain too much about deltas between the tarball and the source tree.
It'll warn about a lot of stuff, but then fail with some unrepresentable
changes to source.

I worked around this by unpacking the new orig.tar.gz and `cp -a` the debian/
directory from the precise version of the package (with my changes) over into
the unpacked tarball.  After a few rounds of tweaking, and using `debuild -S
-sa`, I had a debian/ that built locally, so I uploaded it and will let the
importer (hopefully) sort out the mess.

I still did all my changes to debian/ in a source branch though, because that
made it easier to get a diff for the linked Debian bug.

Is there's a magical udd switch or config setting that would have helped me
keep all the changes in the source branch?  It seems like this is somewhat
similar to the merge-upstream issue when upstream has a rather large released
tarball delta.

Cheers,
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: UDD breakdown when building orig.tar.gz from upstream VCS

2012-02-15 Thread Barry Warsaw
On Feb 15, 2012, at 04:35 PM, Jelmer Vernooij wrote:

bzr merge-upstream should help here. You can pass it a tarball and a
version. Of course, these will have to be different than the previous
release (since it's a new upstream version). In your case, I would imagine 
something like:

$ cvs export -d :pserver:... fgfs-atlas-20120209.tar.gz
$ cd packaging-branch
$ bzr merge-upstream --version 0.3+cvs20120209
~/fgfs-atlas-20120209.tar.gz

This will import the pristine tar data into the packaging branch as a
new revision, merge the changes into the packaging branch and add a
new changelog entry 0.3+cvs20120209-0ubuntu1.

Yeesh, why did I not think of that?!

That totally makes sense, and I'll try it if the same situation comes up again
(or I need to update the package to a newer CVS).

Thanks!
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Updates to the UPG for UDD

2012-02-01 Thread Barry Warsaw
On Feb 01, 2012, at 02:10 PM, Martin Pool wrote:

I think messages like yours might as well be sent to say ubuntu-devel-discuss
(too).

Good idea.  I'll send an announcement when the new pages are published.
Thanks for the review; I'm going to merge the branch now and then dpm will
publish the pages (hopefully in time for my class today at 1900 utc :).

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Improved quilt patch handling

2012-01-18 Thread Barry Warsaw
On Jan 19, 2012, at 01:30 AM, Jelmer Vernooij wrote:

We've done some testing of it, as well as running through a package merge
involving patches with Barry, but none of us do package merges regularly. If
you do run into issues or if you think there are ways we can improve the
quilt handling further, please follow up to this email or file a bug report
against the UDD project (https://launchpad.net/udd/+filebug).

We tested this out on brasero at the recent engineering rally and it looked
fantastic.  It was an amazingly smooth and easy merge.  Now, I'm sure there'll
be all kinds of weird corner cases, but I have to say I am *really* impressed,
and it will allow us to greatly simplify the documentation and workflow.

Great job!
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Another quilt use case

2011-11-09 Thread Barry Warsaw
On Nov 09, 2011, at 10:52 PM, Martin Packman wrote:

Sticking any funky branches like this up somewhere may be useful for
later reference.

See if lp:~barry/ubuntu/precise/claws-mail/udd helps

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


bzr bd -S --package-merge

2011-10-27 Thread Barry Warsaw
How exactly does --package-merge calculate the version it passes to
dpkg-genchanges -v?  I'm wondering because it doesn't seem to be doing what
I'd expect it to do, and I'm reluctant to use it.

Latest case in point: I'm merging boost1.46 from testing into precise, so I do
the following:

$ bzr branch ubuntu:boost1.46 precise
$ cd precise
$ bzr merge-package debianlp:boost1.46
Most recent Debian version: MISSING
Text conflict in debian/control
1 conflicts encountered.
The merge resulted in 1 conflicts. Please resolve these and commit the changes 
with bzr commit.

resolve conflict

$ bzr diff debian/changelog
=== modified file 'debian/changelog'
--- debian/changelog2011-06-03 20:28:58 +
+++ debian/changelog2011-10-27 01:57:00 +
@@ -1,3 +1,35 @@
+boost1.46 (1.46.1-7ubuntu1) precise; urgency=low
+
+  * Merge with Debian testing.  Remaining Ubuntu changes:
+- Detect gcc atomic intrinsics, needed for arm spinlock (LP: #513721)
+- Drop libboost-mpi, libboost-mpi-python, and libboost-graph-parallel (and
+  related -dev packages): we don't want to pull all of the mpi packages
+  into main.  These are provided in a separate boost-mpi-source1.46
+  package
+- Drop libboost1.46-all-dev and provide from boost-mpi-source1.46
+- Adjust debian/rules and debian/control
+
+ -- Barry Warsaw ba...@ubuntu.com  Wed, 26 Oct 2011 21:56:45 -0400
+
+boost1.46 (1.46.1-7) unstable; urgency=low
+
+  * control: Fix ungrammatical description for iostreams packages.
+Closes: #633865.
+  
+  * rules: Dump boostrap log file if bootstrapping fails.
+  
+  * libboost-doc.README.Debian: Remove reference to packages bjam and
+boost-build; now only need boostX.YZ-dev.  Closes: #630529.
+
+ -- Steve M. Robbins s...@debian.org  Wed, 17 Aug 2011 23:18:52 -0500
+
+boost1.46 (1.46.1-6) unstable; urgency=low
+
+  * control(libboost-mpi-python1.46.1, libboost-python1.46.1): Suggests a
+python interpreter.  Closes: #620775.
+
+ -- Steve M. Robbins s...@debian.org  Sun, 12 Jun 2011 00:37:42 -0500
+
 boost1.46 (1.46.1-5ubuntu2) oneiric; urgency=low
 
   * No change rebuild to drop Python 3.1 support.

looks good

$ bzr bd -S --package-merge

If I now look at boost1.46_1.46.1-7ubuntu1_source.changes I see *all* the
version entries from 1.46.1-7ubuntu1 all the way back to 1.21.1-1, the first
in the changelog.

If I drop the --package-merge option, I get a much trimmer changes file, with
just the last changelog entry in it.  That's not right either though.  I'd
expect to see entries for -6, -7 and -7ubuntu1.

I've pushed the branch to lp:~barry/ubuntu/precise/boost1.46/debian-merge in
case you'd like to take a look at see what's going on.  I'll hold off on
uploading for a bit in case there's something obvious going on.

Cheers,
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: bzr get-orig-source

2011-10-04 Thread Barry Warsaw
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On Oct 04, 2011, at 12:30 PM, Jelmer Vernooij wrote:

I think Jonathan means that if you use -nc (no cleanup of build
directory), you have to cd ../build-area/mypkg-1.0 to get to the build
directory.

Since I usually use sbuild or pbuilder directly to build the binary package, I
`cd ..` to run the build (or more usually, open a different shell).

Still, I think `bzr get-orig-source` is a nice addition.

Personally, I just use bzr bd / bzr pbd, then fixup whatever is
wrong, then bzr bd again - no changing of directories involved.

% bzr pbd --help
bzr: ERROR: unknown command pbd

- -Barry
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)

iQIcBAEBCAAGBQJOixG/AAoJEBJutWOnSwa/cgAP/0sUDi1FwkE+d5kRULEPn8p9
o4M4R+2ic0jVh2iJUsPuWGLmSgQrHvt6re4RetiC4r8tviz2SPGT42YyDt0Q/5A7
H9MJKvrKfyU+Ambs6/AnmMYMnFvGjR0/mhoPrTLuMTiFBx1NkcOgtmn9nWsxNU7u
3dWAyTUu5dUctsTFntH+mwu350h0Nv8lp2/UmgEi3tH7ty9QDO221f2mnkI5eWRb
sT8BvXX5n3das4Vp3v6t3ZoqDLaYp03AjaoEZ6pdxKiazcUd7WG+VedEcOfw3POP
9vDrJMoI8k0KpWEXyzZVI42tRVufvC1ZRWb+MRGm8O+XfWkZH3vLeiA8GstxK0pX
tnENFSkXZHXPcwq6ZPN5NBP7fJ5+1KlCc5lENcbl90SdKfzPKvW489646w7BtKOx
NDEG28MZWVy2LMWbxIz+UxObDCDHEfyCHYvbYst301NSIdXH78GEFuQqWvrgQ23B
DR6xXWvVjl6nVSaS3svLBxoiuHgieZp6bdCqYU5PiSeY+RhGuqI7dDNorhzr9AVY
M86T9990sRV0dzX+m9fr5PiuBhbsGRIXXIK2FBBXa18HizlCflwZK1Txj2AgO4LX
N/p7FOZFyNitUvWg6IDhZBL9+prvrT50xRlix3RLDIHxLwSIgOHkNMk1M11KZfFI
vwrXmiTB92stZ3Lix68I
=ML9I
-END PGP SIGNATURE-
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: ubuntu: branches lacking history with upstream branches

2011-09-26 Thread Barry Warsaw
On Sep 23, 2011, at 12:42 AM, Jelmer Vernooij wrote:

On 09/22/2011 05:14 PM, Barry Warsaw wrote:

 It would certainly be more useful to have ubuntu:gtimelog share history
 with lp:gtimelog, but I think it would be best in that case if
 ubuntu:gtimelog only version controlled the debian directory.

Why would this be better than actually having all of the history there? It
seems to me like that would mostly just add extra overhead because you have
to fetch two branches rather than one.

Right, I was thinking something like svn:externals where you wouldn't have an
explicit second checkout, it would just happen automatically.  

But you're right that this still makes things more complicated, and I guess
the effect of sharing history and having the full source would be the same,
without the extra complication.

I use bzr merge-upstream to merge new upstream versions into the packaging
branches of bzr, samba4, heimdal and various other projects .  See for
example the ubuntu:bzr branch (although that seems to be out of date at the
moment).

Yep, I do the same thing.  The nice thing there is that I don't have to worry
about packaging unreleased changes.  The downside is that I have to do an
upstream release to test some new packaged version.  And that there's no
shared history. :)

The practice of versioning debian/ only mostly seems to happen if the VCS
used is SVN. Even then, there are a couple of teams that import the full
upstream source into SVN.

I think I've seen more Git repositories that include the full source than
repositories that don't.

I just want to blink my eyes, click my heels, wave my wand and make those git
repositories speak bzr instead. :)

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: ubuntu: branches lacking history with upstream branches

2011-09-22 Thread Barry Warsaw
On Sep 22, 2011, at 07:08 PM, Martin Pool wrote:

lp:indicator-power is one example, and the desktop team actually
maintain an unofficial packaging branch that does share history:
lp:~ubuntu-desktop/indicator-power/ubuntu

At the moment, gtimelog is another.  What I've done recently is to first do a
release from trunk, i.e. lp:gtimelog, push the new tarball to Launchpad and
PyPI, then in ubuntu:gtimelog, I do `bzr merge-upstream` and build the Ubuntu
release from that.

It's not perfect, but it works.  One problem seemed to be a weird lag in the
debian/watch url between what I was seeing in my browser, where the 0.7.0
release was visible, but uscan took a while before it saw the new tarball.  I
didn't quite understand that, but wasn't in a desperate hurry to push the new
Ubuntu version anyway, so I just waited a bit.

It would certainly be more useful to have ubuntu:gtimelog share history with
lp:gtimelog, but I think it would be best in that case if ubuntu:gtimelog only
version controlled the debian directory.  This would more closely mirror how
packages are managed in Debian.  However, I'd *still* want
`bzr branch ubuntu:gtimelog` to give me the full source.  I wonder if nested
branches are the answer here.  One trick would be that I'd only want the
source from the upstream branch based on a particular tag.  E.g. I might have
unreleased changes in lp:gtimelog, but I want to base ubuntu:gtimelog (and the
source package built from it) to work off the 0.7.0 tag or some such.

-Barry

-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Our biweekly meetings

2011-09-09 Thread Barry Warsaw
Apologies for the delayed response.  Note that we ended up not meeting on
Wednesday because it was only Jelmer and myself. ;)  Maybe the thing to do is
to suspend the meetings until we have a clear agenda for them moving forward.

Note that I don't think this is necessarily a bad thing!  While there are some
big ticket items that really need addressing (e.g. the quilt story), for me,
UDD is a huge success.  Despite the warts, I personally can't imagine working
any other way.

On Sep 06, 2011, at 03:12 PM, Jelmer Vernooij wrote:

The main thing I appreciated about the meetings was hearing what other people
had done towards UDD.

A common theme these days: let's celebrate your successes!

One possible change in format would be to do a lightning round, and just go
around the table with each person identifying one or two items they've run
into, fixed, hacked on, or have a wild idea about.  I would certainly love to
hear about what you guys are excited about that might be coming soon.  If
there was some new feature, I'd be happy to run a dev branch for a bit to try
things out.

A great example is the branch status messages that bzr now gives.  The
original status lines needed a bit of tweaking, but now that it's landed, I am
absolutely ecstatic about the feature.  JAM, you nailed it!

I think a part of this is also that UDD as a project doesn't really have
releases - and no really visible changelog. So despite a lot of things
getting done, we normally wouldn't hear about them.

Agreed.  The lightning round might do the trick there.

Another thing that was occasionally useful was discussions about particular
problems, like what to do about the project branch and packaging branch for a
native package. The mailing list seems to work reasonably well for that sort
of discussion too though, when it happens to come up.

What do you think about this: after the lightening round, we can have one or
two brief discussions on any particular design or implementation point for
which the higher bandwidth would be useful?

Mostly, I want to cut out the boring parts of the meeting, or anything we can
do just as well over email.  Let's make the meetings fun and interesting to
participate in, and maybe we'd get more than just us chiming in. :)

Cheers,
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Our biweekly meetings

2011-09-06 Thread Barry Warsaw
At our last meeting, we talked about starting up the UDD bi-weekly meetings
again this week (Wednesday Sept 7 @ 1100 UTC).  However, both Martin and I are
pretty tired of the old format, so let's think about how we can restructure
the meeting to be most effective for everyone.  If we really don't think we
*need* them anymore, that's fine too.

What would *you* like to get out of these meetings?

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


UDD stakeholders meeting minutes, and schedule update

2011-07-27 Thread Barry Warsaw
New minutes are posted for the last two UDD stakeholder meetings:

https://wiki.ubuntu.com/DistributedDevelopment/20110713
https://wiki.ubuntu.com/DistributedDevelopment/20110727

Also, because of typical (northern hemisphere) summer vacation schedules,
we're suspending the meetings through August.  The current plan is to next
meet again on September 7th at 1100UTC.  Martin is going to verify the meeting
time with the Google Calendar event.

Cheers,
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Package branch freshness

2011-07-18 Thread Barry Warsaw
On Jul 18, 2011, at 10:17 PM, John Arbash Meinel wrote:

I have a branch in PQM now that adds a version check whenever you access
a Launchpad packaging branch (http://pad.lv/609187). I have the feeling
there is still a bit of polish needed, but I would like to get some
feedback from people actually using it.

I grabbed lp:bzr and played with it a little bit.  In general, I really
appreciate you adding this.  Package import failures will probably never be
exactly zero, and the less users expects an import to be out of date, the more
important I think it will be to warn them when that does happen.  (If you
agree, that could influence the default output choices.)

I tried it with ubuntu: branches, and it works the same way as lp:ubuntu
branches (as expected).  Yay!

I also tried it with debianlp: branches and it kicks in there too.  Yay!

The output could be a little clearer I think, and here are just some random
thoughts based on quick tests.

- The output is a little too verbose.
- the version numbers are a bit difficult to pick out in the output.

Suggestions follow.

Case 1: everything is up-to-date

1.4.1-4 is CURRENT in Oneiric

Case 2: packaging branch is out-of-date

1.0.2-0ubuntu1 is OUT-OF-DATE (Ubuntu Oneiric has: 1.0.4-0.1)

If you want to expose a configuration/cli knob, then the above would be less
verbose output, with more verbose output possibly being:

Case 1:

Most recent Oneiric version: 1.4.1-4
Packaging branch status: CURRENT

Case 2:

Most recent Oneiric version: 1.0.4-0.1
Packaging branch version: 1.0.2-0ubuntu1
Packaging branch status: OUT-OF-DATE

I thought about not even printing a status report in case 1 for less verbose
output, but I think it's still useful to print the version number and status
in that case.  I suppose a quiet option would only print a warning when the
published version isn't available.

I noticed a *very* slight additional delay for `bzr branch` but I can
certainly live with it for the additional information!

I'm a little worried it will be too verbose, or ignored or confusing, so
any feedback is useful. Even better if you can use it for a while and
see how it feels. This landed as bzr.dev 6033, so it should get built
into the dailies soon.

I'll continue to use lp:bzr for the next few days packaging work.

Cheers,
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: packaging guide

2011-07-15 Thread Barry Warsaw
On Jul 14, 2011, at 05:26 PM, Jonathan Riddell wrote:

I've been looking over the packaging guide for what needs done to it and
issues with UDD it reveals.

Thanks very much for your great work on this Jonathan.  Daniel asked me to
review your branches, which I did, although one of them needs an update to its
dependent branch so the diff isn't so huge.

Of the other two, I marked one as approved (with consideration of some minor
comments), and the other one needs more information.

Cheers,
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


UDD meeting change

2011-07-07 Thread Barry Warsaw
Please note the following time change:

At least for the rest of the northern summer, we're bumping the UDD meetings
up by one hour.  They will now be held at 1200 UTC.

See you on 13-July.

Cheers,
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Vcs branches, debcheckout, and UDD

2011-07-06 Thread Barry Warsaw
There was a discussion today on #ubuntu-devel about some changes I'd made to a
few packages for bug 788514 (switch to dh_python2).  gedit is a good
representative example of the basic issue.

What I did was to `bzr branch ubuntu:gedit`, then make the changes to that
branch, `bzr bd -S`, and dput the resulting .dsc file.  All well and good I
thought, but actually this caused some trouble because gedit has a Vcs-Bzr
branch:

$ debcheckout -p gedit
bzr https://code.launchpad.net/~ubuntu-desktop/gedit/ubuntu

which is *not* the UDD branch, even if we substitute bzr+ssh for http.

I just spent an hour manually copying the diff from several UDD branches to
their Vcs branches, because 1) I'd already uploaded the change, and 2) the
branches share no history so you can't merge between them.

I think this is somewhat related to the native package discussion we've had
w.r.t. software-center, but it's also somewhat different.  Or maybe not:

$ debcheckout -p software-center
bzr 
https://code.launchpad.net/~software-store-developers/software-center/trunk

A couple of things bother me here:

* We shouldn't be suggesting to people to use the UDD branch if the Vcs branch
  is preferred.
* We probably don't want to suggest that any Vcs branch, or even any Vcs-Bzr
  branch should automatically use the Vcs branch instead of the UDD branch,
  since Debian packages can specify either, and for those, the UDD branch
  would still be appropriate.
* Should debcheckout be taught about UDD branches and rules, or should bzr be
  taught about Vcs-Bzr branches?
* Using an unmodified Vcs-Bzr url isn't ideal, since we'd almost always prefer
  the bzr+ssh version (i.e. `debcheckout -a`) over the https version.
* tumbleweed, seb128 and others suggested some mungification of Vcs-* into an
  XS-$Vendor-Vcs-* field, possibly by update-maintainer, but I don't grok all
  the details of what that would mean.
* I can see how `debcheckout` is pretty useful, but I don't much like it
  better than normal UDD workflows.
* There's no foolproof rule to know when to use the Vcs branch over the UDD
  branch.

Maybe, a heuristic would be, look for a Vcs-Bzr header matched with a
-0ubuntuX version number and/or ubuntu in the branch url.  In those cases
maybe `bzr branch ubuntu:foo` would complain, or just do the moral equivalent
of `debcheckout -a foo`.

Or maybe, what we've talked about for software-center applies here.  E.g. ask
Launchpad to essentially make the UDD branch and the Vcs-Bzr branch one and
the same, so either approach will work.  This seems trickier since the UDD
branch has the full source code, while the Vcs-Bzr branch has only the debian/
directory (and apt-gets the source).

You guys are way smarter about this stuff than me, so I hope you'll have some
awesome suggestions. :) Even if it's not solvable right now, I think it's
important to get it on the UDD radar since debcheckout is how a lot of folks
work, and I'd like to save future developers the wasted effort of changing the
wrong branch.

Cheers,
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: lp:ubuntu/euca2ools import failure

2011-06-14 Thread Barry Warsaw
On Jun 14, 2011, at 10:54 AM, Scott Moser wrote:

   I am the cause of the euca2ools import failure
http://package-import.ubuntu.com/status/euca2ools.html .

   I'd like to have all the lp:ubuntu/suite/euca2ools branches up to
date.  I really like the functionality that udd provides, but have
apparently been at odds with the importer in some situations.

   I *think* that its valid to push to those branches with 'UNRELEASED'
versions, to provide for better logging, right?  Ie, I would make a
change, debcommit it, push it, then repeat, and then eventually debcommit
-r and push and upload.  That is valid, right?

   One way or another, I'd like to have the branch fixed.  I can live
without any intermediate commit messages that caused problems.

Don't forget to `bzr mark-uploaded` when you dput, and before you push the
branch.  That adds a tag taken from debian/changelog and helps the importer
know what's going on.  It might be nice to have debcommit do that
automatically, but I don't know if that's feasible or wise.

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Ubuntu Packaging Guide

2011-06-03 Thread Barry Warsaw
On Jun 03, 2011, at 10:07 AM, Mackenzie Morgan wrote:

From what I understand, there are people doing things all sorts of ways with 
quilt, and I really don't want to have to learn all the ways people are using 
quilt with bzr and try to figure out *which* way any particular package is 
using that combination.  I'll stick to apt-get source for those.

I've successfully used the guidelines on this page for several quilt packages:

http://people.canonical.com/~dholbach/packaging-guide/html/udd-patchsys.html

By no means is it perfect, which everyone acknowledges.  Depending on your
level of pain tolerance, you don't necessarily have to punt on UDD right away
when working on a quilt3 package.

Still have to dput anyway...

For now... :)

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Status of documentation

2011-05-24 Thread Barry Warsaw
On May 20, 2011, at 05:33 PM, Jelmer Vernooij wrote:

On Fri, 2011-05-20 at 11:46 -0400, Barry Warsaw wrote:
 A couple of quick notes on UDD documentation.
 
 At UDS-O, we agreed that the current wiki documentation should be deleted,
 with pointers added to Daniel's Ubuntu Packaging Guide.  Even though the
 latter is currently only available via a temporary link, it's better not to
 have multiple versions of the UDD documentation floating around.
Thanks for removing those wiki pages, I guess you've already met Jorge's
quota for this cycle ;)

As soon as Jorge issued his challenge, I knew I'd have no trouble meeting it
this cycle! :)

 This is now done.  When Daniel gets a permanent URL for the docs, I will of
 course update the links.  Here's the current URL:
 
 http://people.canonical.com/~dholbach/packaging-guide/html/knowledge-base.html
 
 This also means that if you want to make changes to the docs, you should
 branch the UPG's trunk and do a merge proposal.  The trunk is at
 
 lp:ubuntu-packaging-guide

 Any other suggestions for improving, reorganizing, or expanding on the
 UDD bits of the packaging guide documentation are welcome!
What releases of Ubuntu is the packaging guide aimed at? There are some
things in the documentation that are available in reasonably new
versions (Maverick, Natty) but the packaging guide still describes
alternatives for older releases.

Yep, and I'd like to phase those out.  My own preference would be to target at
least Natty for now because I think this was the first cycle where serious
development could be done with UDD.  Perhaps once 12.04 is out, we should
target the LTS and relegate alternatives to an older distroseries section.

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: UDD with new upstream version

2011-04-14 Thread Barry Warsaw
On Apr 14, 2011, at 03:29 PM, Scott Kitterman wrote:

 the bzr-builddeb in natty can use the watch file. If you have a watch
 file it will use the watch file to download the upstream release.
 
 The --version argument is also optional if you have a watch file; it
 will default to the latest upstream version.

That sounds good.  Could you update the wiki page then so it's documented?

I'll do that.  The wiki is semi-obsolete.  As soon as the new Ubuntu packaging
guide gets a URL, I'll be removing the wiki pages and pointing to it (which
contains the latest content, and which I'll also update).

BTW, watch file support rocks!

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: UDD with new upstream version

2011-04-14 Thread Barry Warsaw
On Apr 14, 2011, at 03:51 PM, Barry Warsaw wrote:

I'll do that.  The wiki is semi-obsolete.  As soon as the new Ubuntu packaging
guide gets a URL, I'll be removing the wiki pages and pointing to it (which
contains the latest content, and which I'll also update).

Looks like Jelmer already did \o/.

I'll update the packaging guide.

-Barry



signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: discussion of ubuntu-desktop packaging branches

2011-04-14 Thread Barry Warsaw
On Apr 11, 2011, at 10:42 AM, Martin Pitt wrote:

We could do that. I actually usually do bzr bd -S first, and only
debcommit -r once that was successful, but I can just ignore the
warning :)

I usually do things this way too.

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Meeting minutes and possible meeting time change

2011-04-13 Thread Barry Warsaw
On Apr 13, 2011, at 11:26 AM, Martin Pool wrote:

On 13 April 2011 01:24, Barry Warsaw ba...@ubuntu.com wrote:
 Martin, I think you own the gcal event.  Can you make the change so that
 we're meeting at 1100 UTC for the next meeting (20-Apr)?

OK, done, that's next Wednesday: morning in the US, lunch time in the
EU, and evening in Australia.

Fantastic, thanks Martin.

Two weeks after that, the 4th of May, I'll be travelling for so I for
one can't attend, but I think you should meet without me.  Then the
18th of May I'll be in London but that time still works.

Cool.  Many of us will also be at UDS, so we can at least touch base and see
if the new time works for everyone.  I've updated the wiki pages.

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Meeting minutes and possible meeting time change

2011-04-12 Thread Barry Warsaw
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On Apr 12, 2011, at 01:29 PM, John Arbash Meinel wrote:

1100 UTC is excellent for me :). 2100UTC is about 11pm for me, which is
possible, but a bit unlikely. My family is certainly usually asleep
before 10, but lately so am I.

If there are no objections, I'm certainly willing to give it a shot.  I know
that Scott K said the time will be less convenient for him, which is
unfortunate, but I still think we should run an experiment with the new time.
If we don't like it, we can change it back.  Or perhaps we'll want to
alternate to get better coverage.

Martin, I think you own the gcal event.  Can you make the change so that we're
meeting at 1100 UTC for the next meeting (20-Apr)?

Cheers,
- -Barry
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)

iQIcBAEBCAAGBQJNpG6iAAoJEBJutWOnSwa/5pgP/0KiJf1TiiwD8tvuTgPgX5ez
ETnqRPeU2q36/69EiMs6ivRn+yo2H4eivGnKoNl33kIIBqaKEc5aJKxIiPRqtTJw
OtLX3IcOAp9IBpB26DsVPsDfRHvtZNpRPa8M9LzM7+wYHyxvnTkIdondXe5e8loV
r+EP5y7tYSnsnXzBgzQb5Rw/1TAmv0WhPd3ekeXORSKeh97eUiyhekL6p4A/Q1KL
jsUsGM16YtbX5PvdRAYlTYa3ATDGMBZi+Ms6BNFGn5H4g12405Z2HSz5sS0rV44w
mkiAlelhddyMWTm/5oFQxG5sT9SGM0lYwmpCl6pr11yWqOLuiyfNHtXPKwSfUodp
Iuwto5E1/t1Fxh2VNPSvdssrQSCKm1HOVrnOMnBtiLiswaQGbt+NQo0/OQwtN+Js
rTiU24YUtdC7LCJjzNj5w1cv9Iu+5uAbFnapd6Y8CIa2NkMhESUvemATNU7Xazd+
Np++5PSBa6TWpiuP6z9ZwNCCESa3JicWETdlBGwKlCnu5+lKKPxCkqNi/P84Jmqz
lKcRP3gJC6EZWuyjSQo2nox855t2n7KxS2MqPEBT7/y91DZpYzRy1wPwF8FVFDNS
tTpGq/ZWJg4GtVqWW/bM/zhV/lAZJyYV93b3vqNuCyy1aUtwtKD5q/jgRQlNoNSY
JBehOjNzdD/rn5UgYhoV
=9trP
-END PGP SIGNATURE-
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Summary from UDD meeting 2011-03-23

2011-03-25 Thread Barry Warsaw
On Mar 26, 2011, at 09:10 AM, Robert Collins wrote:

We have in the past fallen into a trap of aiming for 100% in each step
*before* we move onto the next one. That means we're well past the
point of getting a net benefit (think 80-20 rule) by the time we start
moving on. These import problems have a viciously long tail : isn't it
better to be making things a lot better *most* of the time?

I agree that you're not going to get 100% importer success, but attacking say
the top 5 common importer failures could knock off maybe 50% of the current
failures.  That'd be a huge improvement without even stepping onto that long
tail.

That, and solving bug 609187 would really help.  With that bug fixed, we could
at least tell people just do bzr branch and if that fails, fallback to
apt-get source instead of all the LBYL checking we currently have to
recommend (see step 0 in the wiki docs).

I acknowledge the psychological impact of 'if it doesn't work always
its hard to remember' - but we're already well past the common working
set of any one developer, and Martin isn't suggesting that imports be
abandoned, just that closing the loop is *as* important as improving
the import story.

I agree that I'd love to see the loop closed!  Do you think the team can make
the above top priority, and still have resources for BFBIP?

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: missed meeting

2011-02-24 Thread Barry Warsaw
On Feb 24, 2011, at 06:11 PM, Jelmer Vernooij wrote:

The meetings have been at 10 CET here, so it's not quite as late as
midnight, but it is well past the work day.

The meetings are at 1600 EST so I could easily go earlier, though I'm often
slammed with meetings on Wednesdays until about 1200 EST.  The problem is that
we're now pretty early in the morning in Australia.

This is depressing:

http://www.timeanddate.com/worldclock/meetingtime.html?month=2day=24year=2011p1=0p2=179p3=16p4=240

As Homer Simpson might say: stupid rotating earth

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Import layout of Quilt v3 packages

2011-02-09 Thread Barry Warsaw
On Feb 09, 2011, at 07:57 AM, Reinhard Tartler wrote:

 meaning all patches are already applied in the source branch.
-1

You can maintain the property as well by adding a hook that applies the
patches at checkout time. (Even that hook is not strictly necessary, as
debuild will automatically apply patches at build time as necessary.)

Actually, if the branch were converted to loom format, then all patches
already applied would simply mean that a checkout would leave you at the top
thread.

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Import layout of Quilt v3 packages

2011-02-08 Thread Barry Warsaw
On Feb 08, 2011, at 06:00 PM, Martin Pool wrote:

At the moment it seems to me we need to either: import to looms and
mandate using looms; or check in things with everything expanded and
provide glue that will keep the quilt data up to date with the wt.
(Perhaps they should be considered derived data and updated from a
hook.)

One other use case to keep in mind: it's sometimes necessary to remove quilt
patch files.  One of the things you do when you merge in a new upstream is to
review the current set of patches to see what's been applied upstream.  You'll
delete those patches, and of course may need to resolve conflicts in
subsequent patches that touch the same code.

I think that would correspond to a combine-thread in the loom that throws away
the changes in one thread.

-Barry



signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Import layout of Quilt v3 packages

2011-02-08 Thread Barry Warsaw
On Feb 08, 2011, at 02:23 PM, Max Bowsher wrote:

I think we should go ahead and change the package importer _now_ to
revert to importing 3.0 (quilt) source packages with patches *not*
applied. When it does so, it should probably write a
debian/source/local-options file containing unapply-patches. This
will give us import branches that are actually usable for UDD-style
development *now*, which I think we currently do not have for 3.0
(quilt) packages.

Once the problems surrounding ubiquitous looms have been solved, we can
think about switching the import format again, but at least we will then
have usable UDD between now and when we reach that point.

It's not entirely unusable now.  It's also not entirely awesome either.

https://wiki.ubuntu.com/DistributedDevelopment/Documentation/PatchSystem

Discovered with much experimentation.

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


UDD stakeholders meeting minutes 2011-01-26

2011-01-27 Thread Barry Warsaw
Minutes of the UDD stakeholders meeting 2011-01-26 2100 UTC are now available
here:

https://wiki.ubuntu.com/DistributedDevelopment/20110126

There's been lots of excellent progress, so please do read the page.  And
remember, all are welcome to join us in #ubuntu-meeting.

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Making bzr commit more like debcommit

2011-01-24 Thread Barry Warsaw
We have 'bzr commit' and we have 'debcommit'.  Currently, the UDD guidelines
talk about both, but for consistency, I'd like to standardize on recommending
'bzr commit'.  One feature that debcommit has:

DEBCOMMIT(1) DEBCOMMIT(1)

NAME
   debcommit - commit changes to a package

...

VCS SPECIFIC FEATURES
...
   bzr If the changelog entry used for the commit message closes any bugs
   then --fixes options to bzr commit will be generated to
   associate the revision and the bugs.

I know we can just do 'bzr commit --fixes lp:12345', though I often forget to
do that until after my last commit, so I tend to add --unchanged, which leads
to an empty revision.

What do you think about making 'bzr commit' act more like debcommit when
there's a new debian/changelog entry?

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


UDD stakeholders meeting minutes 2010-12-01

2010-12-06 Thread Barry Warsaw
https://wiki.ubuntu.com/DistributedDevelopment/20101201

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: udd at uds-n

2010-11-30 Thread Barry Warsaw
Hi Martin, thanks for posting this update, and apologies for taking so long to
get around to reading it.

On Nov 17, 2010, at 08:06 PM, Martin Pool wrote:

At the end of that discussion we picked two specific items for the bzr team:
 * speed
 * loom support, on lp and within bzr, and connecting them to packaging patches

and for Launchpad
 * build from branch into the main archive
 * actually execute a merge from a merge proposal
 * through launchpad. merge from a debian branch into an ubuntu udd branch

I think we also have to address the package import failure issues.  I see two
parts to that.  First, we need to make sure that if someone branches
lp:ubuntu/foo (or ubuntu:foo wink) on a branch that has had import failures,
that some very prominent warning is displayed.  Perhaps the branch fails
unless a --force flag or something is given.  I'm not sure exactly, but I'm
fairly confident that silently producing a branch that's out-of-date is *not*
a good thing. :)

Second would be to address the issues actually causing the failures, but
that's a longer term project.

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: UDD survey results

2010-11-18 Thread Barry Warsaw
First of all, thanks Martin for conducting the poll and collating the
results.  It'll be an interesting baseline to compare against at future
UDS's.

On Nov 18, 2010, at 06:23 PM, Martin Pool wrote:

Bottom line:
*Heaps* to do, but some encouraging feedback.  The priorities I draw
from this are that we should work on

 * speed of branching/merging from Launchpad
 * keeping import branches reliably up to date
 * removing small-medium disconcerting bugs

then
 * getting branches to current formats, without orphaning old clients
 * supporting v3 packages

this is fairly consistent with what was said at UDS-N, which is nice.

I completely agree!

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: UDD survey results

2010-11-18 Thread Barry Warsaw
Oh, sorry, one other thing.  Would it be useful to link to the survey results
and your summary from

https://wiki.ubuntu.com/DistributedDevelopment

?
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Quilt artefacts in source package branches (was Re: Upstream in Launchpad adds confusion)

2010-11-08 Thread Barry Warsaw
On Nov 05, 2010, at 10:38 AM, Max Bowsher wrote:

Either people should not remove it (and furthermore keep it up to date)
or the UDD importer ought to not place it in the branches in the first
place.

Probably both!

It's probably good practice to revert any changes to the .pc directory that
might have snuck in.  I've added that recommendation to:

https://wiki.ubuntu.com/DistributedDevelopment/Documentation/PatchSystem

I've also filed this bug to request that the UDD importer not include the .pc
directory:

https://bugs.launchpad.net/udd/+bug/672740

Thanks,
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


UDD stakeholders meeting minutes 2010-11-03

2010-11-05 Thread Barry Warsaw
The minutes of this week's UDD stakeholders meeting is now available:

https://wiki.ubuntu.com/DistributedDevelopment/20101103

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Upstream in Launchpad adds confusion

2010-11-04 Thread Barry Warsaw
So, I made a patch against ubuntu:python-distutils-extra and submitted a merge
proposal.

https://code.launchpad.net/~barry/ubuntu/natty/python-distutils-extra/670188-ftbfs/+merge/39993

A few interesting things happened.  As part of my branch, I removed the .pc
directory from bzr.  IIUC, that quilt3 artifact should not have been under
version control.  Still, that does distract from the important part of my
change.

In the review, Martin suggests that the change really should have been
submitted against lp:python-distutils-extra (i.e. the upstream rather than the
source branch).  This is a confusion that has come up a few times for packages
that are upstream hosted on Launchpad.  In those cases we can have several
branches of the code, upstream, perhaps a debianized branch of upstream, and
all the source branches.

Now, I don't mind redoing the patch for the upstream branch, but I'm wondering
if there's something we - or Launchpad - can do to make that less wasteful of
a developer's time.  I don't have any bright ideas, except perhaps something
on the source branch page that a maintainer could set to redirect folks to the
upstream branch.

Thoughts?
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Stakeholders meeting minutes for 2010-10-20

2010-10-21 Thread Barry Warsaw
Minutes from the yesterday's UDD stakeholders meeting are now available:

https://wiki.ubuntu.com/DistributedDevelopment/20101020

Don't forget to that we have three sessions scheduled for UDS-N.  Looking
forward to seeing you there.

Cheers,
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Please check my thinking on bug 646979

2010-10-05 Thread Barry Warsaw
On Oct 05, 2010, at 09:16 AM, John Arbash Meinel wrote:

I've been thinking about it, and I'm pretty confident that what you are
trying to do is inherently criss-cross. Specifically consider a
semi-ideal case:

This is all fascinating, and while I have nothing constructive to add, I
wonder: does it make life any easier if you were only considering the debian/
directory?  I'm not sure that's even possible or desirable, but it seems like
that would at least take upstream out of the picture.

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Please check my thinking on bug 646979

2010-10-05 Thread Barry Warsaw
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On Oct 05, 2010, at 09:37 AM, John Arbash Meinel wrote:

Now, I would imagine that the *interesting* merges are not clean like
this. Why would you really care about merging if debian isn't adding
patches to the upstream code? (Other than procedurally being the right
thing to do, it doesn't seem *interesting*.)

Won't all the patches Debian (or Ubuntu) adds be in patch system files living
in debian/?  Of course, the looms-patchsystem idea kind of blurs that, but
ultimately the packaging directory should fully contain any downstream changes
Ubuntu or Debian would add.  (I think. ;)

- -Barry
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)

iQIcBAEBCAAGBQJMqzsgAAoJEBJutWOnSwa/ukMP/0UINcLP07Q3B61re6TnyEu4
1tDQJDHHAoZMnSTX/VpoRtxU6txhRuxEYKDdUZNQ2SGTC4pFlp4KZzy8tOrwanCO
jK+r4ohzoh/k7VTLvdX4y6IuMm2r7q7XNX5vvt/HeeDQUreDJp6BwwXpmZSVs+gw
6eI2ZtWioeNHa+enaY99thfYcECPKkJf1M1SPy7V5lDCj1hngxhvQo3SnlWBfOIs
ljOOAa1QLKJ/YP++/1KPcLsA8fr5RJwAcKuYxTZclS4NPBsfKdOc1s+h2JeCtOiW
WhTl79MBcudmlBXae4vC57t4iwCL8vPQHjrN9/6SJl/AeQyX2+h2JMm01njUM0aU
ekaaXepRQ5h47vgRjdMOJkckwO+WJlSFxXpqBxrsS8RW7d1Kfch5L5RSHPpUgotf
P7cuvTmjhGL0ybnfBMI5786BmGH9iN8MTaSOmTAFEISWXQoE8hGqWEfffGpyP4oP
GLYUkQamH91VWkDCbbecRhvjsdsEk2xLTVx4kkgM6HmJrBdDxQIghziUf8z2Syb0
yJ/Wr/owqmCuiFVLeIMzQMFudUPAkWHVCBE2amVsiz4ohMaehUOr5kg9gfZzIhiR
9uCmYa78Dr7Wkii/ND1WAlF9JzTdORjbyjnLOJLx+CfS/xi50wxAlHqbUhBxySRq
efRwBfVQGSOrdTg8mmEI
=RZPy
-END PGP SIGNATURE-
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: UDD health check?

2010-07-13 Thread Barry Warsaw
On Jul 13, 2010, at 04:20 PM, Elliot Murphy wrote:

On Tue, Jul 13, 2010 at 4:04 PM, Barry Warsaw ba...@canonical.com wro
 but it seems to have some advantages for the way I work.

This is cool, thanks for 'splaining.

Thanks to you too.  It's great to get another perspective on things.

Yes, and I'm not supposed to directly edit any of the source outside
of debian/, which is why the layout used by svn-buildpackage with only
debian/ in VCS resonates with me. Having said that, the full extracted
source is incredibly useful when I'm debugging - it's nice to be able
to diff a given source file between different package versions which
sometimes don't line up in a meaningful way with upstream VCS (because
they can be patched in the debian package).

This leads to my last comment.  While you're not *supposed* to touch anything
outside of debian/, I think that if there were nice tools to convert back and
forth from dvcs-lingo to patch-system-lingo, we'd have an even more powerful
development system.

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: [Launchpad-users] upstream + packaging + looms + lp != happiness

2010-05-28 Thread Barry Warsaw
On May 28, 2010, at 05:17 PM, James Westby wrote:

 All the threads disappeared when the branch was pulled to machine heresy.
 Maybe Launchpad doesn't support looms yet?  Maybe the stacking is messing
 things up?  Any other suggestions or comments?

No idea, sorry. Have you filed a bug for tracking purposes?

Cool.  Thanks for the feedback everyone.  Since I wasn't exactly sure where to
file the bug, I've filed it against launchpad-code, but 'also affects' udd and
bzr-loom.

https://bugs.edge.launchpad.net/bzr-loom/+bug/587058

Cheers,
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


upstream + packaging + looms + lp != happiness

2010-05-27 Thread Barry Warsaw
Computer Janitor is my poster child for the UDD use case where the upstream is
also the packaging branch.  lp:computer-janitor has the debian/ directory in
it but that's unsatisfying for several reasons.  So I wanted to experiment
with using a loom to manage several threads (from bottom to top):

* trunk - This would be the undebianized upstream source thread.  It would
  have a sane setup.py and everything necessary to build and run the
  application the way a Python developer would expect.  IOW, it would be
  virtualenv-friendly, be able to be 'python setup.py install'd and 'python
  setup.py test'd, etc.  It would know nothing about how to package it for any
  distro.

* debian - This would be trunk + the debian/ directory, but specifically it
  would be tuned for Debian.  'head -1 debian/changelog':

  computer-janitor (2.0.3-1) unstable; urgency=low

* ubuntu - This would just be the changelog tuned to Ubuntu.  head sez:

  computer-janitor (2.0.3-0ubuntu1) maverick; urgency=low

I would probably separate out the trunk into a separate branch, so that other
people could easily hack on upstream, and only when we're happy with the state
of the app would we pull it into the loom's trunk thread, auto-merge upwards,
and push changes to Debian and Ubuntu from the respective threads.

I would generate PPA source packages from the `ubuntu` thread, or I might
branch the loom for lp:~barry/computer-janitor/whatever and add a thread above
that for my PPA.

This is the sanest way I can currently think of for organizing the upstream
and packaging branches for two distros and a PPA.  If it works, it seems like
a nice way to manage things.

Unfortunately, this doesn't work because round tripping the branch through
Launchpad throws away all the loom information.  Here's the transcript from
two different machines ('bzr looms' is an alias for 'bzr show-loom'; the
'split' thread is an artifact that will go away).

limelight% bzr looms
=ubuntu
  debian
  split
  trunk
limelight% bzr record
Loom recorded.
limelight% bzr push lp:~barry/computer-janitor/loomified
Using default stacking branch /~computer-janitor-hackers/computer-janitor/trunk 
at lp-69637584:///~barry/computer-janitor
Created new stacked branch referring to 
/~computer-janitor-hackers/computer-janitor/trunk.

heresy% bzr branch lp:~barry/computer-janitor/loomified
Branched 240 revision(s).  
heresy% cd loomified/
heresy%

All the threads disappeared when the branch was pulled to machine heresy.
Maybe Launchpad doesn't support looms yet?  Maybe the stacking is messing
things up?  Any other suggestions or comments?

Cheers,
-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: UDD @ Portland

2010-02-11 Thread Barry Warsaw
On Feb 11, 2010, at 02:57 AM, James Westby wrote:

On Thu, 11 Feb 2010 13:33:27 +1100, Martin Pool m...@canonical.com wrote:
 I'd like to let looms progress, but not (unless james or others feel
 differently) add them into the dependency chain for getting UDD going.

No, we don't have to add it to the chain to get it going, but I think
it's one ingredient of having a great system.

I agree.  Looms help both the developer and reviewer focus in on the parts
that they really care about, and I think could help manage mostly boring
bookkeeping details (such has how to play nicely in whichever patch system is
being used).

Looms probably aren't essential for udd, but seem very important for really
fantastic (and fun!) opportunistic hacking.

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Feedback on merging via bzr

2010-01-19 Thread Barry Warsaw
On Jan 20, 2010, at 11:10 AM, Michael Hudson wrote:

This can probably be arranged, I guess.  File a bug.  Patches likely
welcome :-)

For now: https://bugs.edge.launchpad.net/launchpad-code/+bug/509901

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Feedback on merging via bzr

2010-01-18 Thread Barry Warsaw
On Jan 17, 2010, at 10:45 PM, Scott Kitterman wrote:

I spent some time over the holidays giving merging via bzr and the UDD tools.
I understand that development of the tools to support this is still a work in
progress and the much of this feedback probably represents work that you
already know needs doing.  This mail is based on notes I took recently while
doing a merge of regina-normal.  As merges go, it was not a complex one.

This is good stuff Scott.  It mirrors some of my recent experience using UDD
to do various kinds of development.  Of course, my packaging experience is
weeks old, not years old :), so I don't have much comparison of the
traditional way to draw on.

The UDD equivalent seems to be:

$bzr branch lp:ubuntu/regina-normal regina-normal
$password for ssh key

ssh-agent helps here so that you only have to enter this once.

$cd regina-normal
$bzr merge-package lp:debian/squeeze/regina-normal

Text conflict in debian/changelog
1 conflicts encountered.
The merge resulted in 1 conflicts. Please resolve these and commit the changes 
with bzr commit.

This gives me the proposed merge.  The conflict in this case seems to occur
with every merge I try.  The most recent Debian and Ubuntu debian/changelog
entries conflict with each other and the file has to be edited to move the
most recent Debian entry above the most recent Ubuntu entry.

Yep, I noticed exactly the same thing.
To get ready to start to work on the actual merge, I need to also do:

$ vim debian/changelog (re-arrange as described)
$ bzr resolve
All conflicts resolved.

Emacs to the rescue here (for the crazy people who use it :).  Emacs
auto-resolves files when you save them.  It's a nice convenience that hasn't
bitten me yet :).

Step 3 checking the package:

At this point I want to check the package against the previous Debian and 
Ubuntu packages to make sure I have it correct.  Traditionally, I would 
locally debdiff the proposed merge with both the previous Debian and Ubuntu 
packages to make sure I had documented all of the Ubuntu diff and not lost any 
needed changes in the merge.  To do it the new way, I did:

$bzr diff --old lp:debian/squeeze/regina-normal | less
ssh key
(repeat, including redownloading each time the diff is done)

It would probably be better branch these locally if you're going to do a lot
of diffing.

I know a huge amount of work has gotten to getting things as far as they are.  
This feedback is not meant to miminize this accomplishment.  I do not, 
however, feel like this facility is really ready for general use yet.

I think it would make sense to submit bug reports to help streamline things,
but I'm not sure where those bug reports would go.  On the bzr-builddeb plugin
on Launchpad?

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Feedback on merging via bzr

2010-01-18 Thread Barry Warsaw
On Jan 17, 2010, at 10:45 PM, Scott Kitterman wrote:

I spent some time over the holidays giving merging via bzr and the UDD tools.
I understand that development of the tools to support this is still a work in
progress and the much of this feedback probably represents work that you
already know needs doing.  This mail is based on notes I took recently while
doing a merge of regina-normal.  As merges go, it was not a complex one.

Oh, also, there are some interesting steps you took that I did not notice were
documented on the wiki page.  Maybe you can take a pass through them and
update them with some of the things you learned (e.g. bzr mark-uploaded,
diffing the Ubuntu and Debian sources).

https://wiki.ubuntu.com/DistributedDevelopment/Documentation

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Building a new package the UDD way (was Re: First impressions (long))

2010-01-14 Thread Barry Warsaw
On Dec 11, 2009, at 05:12 PM, Barry Warsaw wrote:

I think I've actually patched my first Ubuntu package, with much thanks to
Colin and James W for their help.  Having done this from essentially no
knowledge of how to do it, and no experience with the tools, James suggested I
email this list with some feedback and suggestions.  Remember, I'm a n00b so
be gentle because I have No Idea What I'm Talking About. :)

Well, now with a few more weeks under my belt, I decided to tackle packaging a
brand new Python package which is not yet in Debian or Ubuntu.  I still don't
know what I'm talking about, but I took notes, so here now is my feedback on
what I did.  I think there is no wiki page yet on the workflow for brand new
packaging the udd-way, but after getting some of your feedback I will add that
page.

(Side note: I've also now done a merge with sid to update the version of
Python's distribute package in Lucid.  That was a bit of a head-scratcher
until James and Micah pointed me to the wiki page on 'bzr merge-package' which
seemed to work perfectly, modulo the approval of my branch.)

The package in question is http://launchpad.net/munepy, a Python enumeration
package that I've refactored out of the Mailman 3 code base.  This package
only works with Python = 2.6.  As the upstream maintainer of munepy, I'm
pretty confident of its current quality.

I decided to use bzr-pipeline to manage the changes.  In addition to the
bzr-builddeb tools, I found that python-stdeb was helpful, though not
perfectly so.  Actually, because of problems with the version of python-stdeb
in Lucid, I had to grab the Debian source package, then build and install it
locally.  We should resync this to sid I think.

Also, my goal was to get a PPA in Lucid munepy (and Karmic as a bonus but on
this I failed).  I next have to figure out how to propose the package for
inclusion in universe and possibly also in Debian, but those (I think) are
less important for this mailing list.

I started out pretty simply:

% bzr init-repo munepy
% cd munepy
% bzr branch lp:munepy munepy-2.0.1
% cd munepy
% bzr reconfigure
% bzr add-pipe debian

At this point, because I had essentially the source layout for munepy, and not
its tarball, I decided to use sdist_dsc to create the basic debian layout:

% python setup.py --command-packages=stdeb.command sdist_dsc

This command puts the new debian packaging content in a subdirectory called
'deb_dist'.  However, I want 'debian' to be in the current directory, so:

% mv deb_dist/munepy_2.0.1/debian .
% rm -rf deb_dist
% bzr add debian
% bzr commit -m'Add debian directory'

A couple of things: it would be nice if stdeb was able to write the 'debian'
directory to the current working directory.  Also, if I'm not mistaken, the
package resulting from stdeb will use python-central.  Should it use
python-support instead?  I'm still pretty unclear as to the differences, pros,
and cons.

But okay!  Now I have a debian directory with some basic stuff, but those
files do need some tweaking.  One thing that's missing is the debian/copyright
file.  munepy is LGPL v3, but I could not find a straightforward way to add
the proper debian/copyright file, short of doing a traditional unpacking of
the original tarball somewhere, pushd'ing to munepy-2.0.1 and doing:

% dh_make -c lgpl
% popd
% cp .../debian/copyright debian
% bzr commit -m'add copyright file'

I also had to hack debian/control to add/update the XS-Python-Version,
Homepage, and Description headers.  I sort of feel like with a little work,
stdeb could probably get this information out of the setup.py or the package
metadata files once the relevant PEPs are accepted.

At this point, I'd forgotten my previous hacking and so tried to use
dpkg-buildpackage to build my package, but this did not end well.  It didn't
respect my GPG keyid preferences and ultimately did not write a
munepy_2.0.1.orig.tar.gz or munepy_2.0.1-1.diff.gz.  I think remembered
debuild, which was happier about my GPG key, but still not completely
satisfying (my notes don't remind me why).

Ah yes, 'bzr builddeb'!  The interesting thing is that builddeb requires a
debian/watch file so that it can grab the tarball.  Well cool, I've uploaded
the tarball to the Cheeseshop, so I just pointed debian/watch to that url and:

% bzr add debian/watch
% bzr commit -m'added debian/watch'
% bzr bd -S

Now, here's an interesting question: where do I push my branch to?  I can't
obviously push it to lp:~barry/ubuntu/lucid/munepy/something and
lp:~barry/+junk/munepy-lucid doesn't seem right either.  Hmm...

% dput -f ppa:barry/python munepy_2.0.1-1_source.changes

Now, modulo a detour to get python-distribute 0.6.10 built in my PPA, this
actually built a suitable binary package.  Yay, that's a good place to stop...
for now.

So, while it took me several days to figure out, I did manage to build a
brand new package for Lucid.  I'm sure there are easier ways to do what I did,
and any feedback or advice you have would

Re: Recipes vs. Looms vs. pipelines

2010-01-04 Thread Barry Warsaw
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Resurrecting a thread from a few weeks ago...

On Dec 17, 2009, at 01:26 PM, Aaron Bentley wrote:

Barry Warsaw wrote:
 I like this because there are
 no extra directories to worry about, and I can delete the loom
 directory in one rm-rf and be completely done with it.

This is actually co-location of trees with their branches.  You can
accomplish this with lightweight checkouts by putting the branch inside
the .bzr directory of the branch.

$ bzr init foo
Created a standalone tree (format: 2a)

$ bzr checkout foo bar
$ mkdir bar/.bzr/branches
$ mv foo bar/.bzr/branches/
$ cd bar
$ bzr switch --force .bzr/branches/foo
Tree is up to date at revision 0.
Switched to branch: /home/abentley/sandbox/bar/.bzr/branches/foo/

Obviously, this is more steps than it should be, but it would be easy to
turn into a reconfigure operation.

Correct me if I'm wrong, but reconfigure-pipeline is actually pretty close to
what I want, I think.  'bzr reconfigure-pipeline' will create a ./pipes
directory in the current working tree, and all new pipes will go there.  If
this was named .bzr/pipes instead I think that would be perfect.

I did a quick and dirty hack which seems to DTRT.

https://bugs.edge.launchpad.net/bzr-pipeline/+bug/503006
https://code.edge.launchpad.net/~barry/bzr-pipeline/dotfile

It does mean that instead of doing a lightweight checkout to start with, I
would use a straight up 'bzr branch foo bar' then reconfigure.  I could live
with that.  Maybe a better name for that would be 'init-pipes'.  I'll just
add that as the sixth essential pipeline alias. :)

Hacking reconfigure to set up .bzr/pipes when run in a lightweight checkout
might be a good idea too, but I don't think I'll tackle that one.

- -Barry
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)

iQIcBAEBCAAGBQJLQhQKAAoJEBJutWOnSwa/w88QALxj61jvNuYI18lwRh86uked
u/cSpGWFd7cd1lffmw8loFim8tfjUUBLHglMmmlyrIsl/6RCPGk7OhF6vymWWpSZ
M1nQEJeUTK4XVzuwPynD5yq0YTNsH45YbNo+WZmAMghC9jFwFq4LM8vhVWf+uULa
hwcCYwBYGQYncUTah9kllyjqpATX7Xk4H6tUy3H7EbTzFHoT6ma0WS4WOy62OPrr
cqT4qBj0gFeWpcxq12T0Vhgzgvg0vvyh93YrM+A4CKB2jr754GhR+5f0H7oUp9ud
67w+RDzIQkyyWKWbHpyxDWe+VZY3O2jJm4/q431jiWKowEqCjQMxnxbBpq8xJVwE
3jgm0uEK4Vty+aBvDJKZPHOHJqvf1vw+nulps2qnzEzEWkjvKYL1gb2cJ+zcIPaV
5SsmuCsRG7x1UWUBDEbvNW8KuYMeCDqPVLEM3FssJuhu19FyF06FTG/QMDLM49GE
JfwCXIvY1Dbujf3j7SHDMGCkOs3AVaBd0mx4UvLXtairklWpq0UPDWIo4ApxeOSm
l2TDhpjLl4HbcZSAtcVeI0ezpd/VWK543BcfHs/zDYtgoY6vJQSCog1yuz7+Nf5M
S/jqS1kjn1J+T2VApbuXxCR3FuftBHr5VEazC1LfIGVzSL/oyrYxsp8QChh2OnvI
SV7HWknL1w2PBD5JSMcQ
=Hz3A
-END PGP SIGNATURE-
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Recipes vs. Looms vs. pipelines

2009-12-17 Thread Barry Warsaw
On Dec 16, 2009, at 4:58 PM, Aaron Bentley wrote:

 There are a lot of similarities.  Some more differences are:
 - - automatic storing/restoring of uncommitted changes with switch-pipe.
 - - uncommitted changes in another pipe can be merged.

These are very definitely advantages of pipes.

 I think that there are significant improvements to the command set:
 
 In loom, up-thread and down-thread are asymmetric.  The analogue of
 down-thread is switch-pipe, and the analogue of up-thread --auto is pump.
 
 The command for removing a pipe is called remove-pipe, whereas the
 command for removing a thread is called combine-thread.
 
 pipeline has lp-submit to submit a merge proposal for a pipe to
 Launchpad.  It is impossible to submit a merge proposal for a thread to
 launchpad, because threads aren't addressable.
 
 pipeline provides pipe-patches, to export the pipeline as a series of
 patches.

Ultimately what both pipes and looms gives me is a way to organize the subtasks 
I have to perform when developing a piece of software.  They let me answer 
questions and produce output based on those subtasks instead of the 
more-granular revisions.  Both looms and pipelines feel like bolt-ons to 
support this kind task-based workflow, so pulling those features and supporting 
those use-cases in core bzr would be a good long-term goal.

-Barry


-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Recipes vs. Looms vs. pipelines

2009-12-16 Thread Barry Warsaw
On Dec 15, 2009, at 11:15 AM, John Arbash Meinel wrote:

I would mention that for packaging, I think you really do want to have
'upstream' as the first thread, which doesn't work with the pipeline
model, since a given branch can only participate in one pipeline.

Not just for packaging.  When I'm developing bug fix or feature branches, I
always like to have the devel branch as the bottom thread in my loom.  Note
too though that I want control over when I update the bottom thread
independently of when I update the devel branch.

This is something that feels more natural to me in looms than in pipelines.

Which (IMO) is something that pushes for having a real DAG in the loom
state, rather than just a stack model. As it means you can push *just
this thread* into upstream, and have them merge it, without them having
to merge all of your other changes. Otherwise the loom is just there to
help you develop the patch. And then you throw away all the history once
the patch gets applied to upstream.

I'm being more convinced of this as these discussions proceed.  Having a DAG
would, I think, resolve some of the trickier branches I've developed with
looms.  I agree with James that the ui is difficult though.

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


Re: Recipes vs. Looms vs. pipelines

2009-12-16 Thread Barry Warsaw
On Dec 16, 2009, at 01:28 PM, Aaron Bentley wrote:

With looms, you get a huge proliferation of threads.  I think the only
real difference is that threads tend to be less visible than branches.

For me, that was a big difference and one of the reasons I currently favor
looms over pipelines.  We talked in other threads about hiding those pipeline
branches so they don't look like siblings in my shared repo directory.  That
would help a lot.

-Barry


signature.asc
Description: PGP signature
-- 
ubuntu-distributed-devel mailing list
ubuntu-distributed-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel


First impressions (long)

2009-12-11 Thread Barry Warsaw
Hi all,

I think I've actually patched my first Ubuntu package, with much thanks to
Colin and James W for their help.  Having done this from essentially no
knowledge of how to do it, and no experience with the tools, James suggested I
email this list with some feedback and suggestions.  Remember, I'm a n00b so
be gentle because I have No Idea What I'm Talking About. :)

As I understand it, there are essentially two approaches to submitting bug
fixes for Ubuntu packages, the traditional way (of which there are some
variants), and the Ubuntu distributed development (udd) way, which this list
is interested in.  I was keen to try both approaches, and kept notes of my
steps, both what succeeded and what failed.  I then wanted to be able to
compare how easy I thought it was to accomplish the task using each approach.
There are of course steps in common, like setting up ~/.devscripts and such.

Colin found a good first bug for me:

https://bugs.edge.launchpad.net/ubuntu/+source/system-config-lvm/+bug/390423

This was great because it's pure Python (something I'm familiar with, even if
I didn't know much about the tool itself), there was already a patch attached
to the bug, and there was good information and links back to the bug report in
the Fedora tracker.  So mostly I had to learn a bit of process and experiment
with the tools.

I won't talk too much about my experiences doing things the traditional way,
except to say that I used the pbuilder approach on a kvm VM (host: karmic,
guest: lucid).  I went thorough a number of fits and starts, but eventually
ended up with a debdiff that I could have submitted for sponsorship.  I
ultimately didn't submit this though, because I then wanted to see what it was
like to develop the patch using Bazaar and bzr-builddeb.

I'll go in to some detail in moment, but I have to say that for someone who is
very comfortable with Bazaar for general software development, using
bzr-builddeb was fantastic.  Of course I have some suggestions for
improvements. :)  I /really/ like being able to do almost everything from
within bzr because so much of the (seemingly) grunt work of the traditional
way was just hidden from me.  All I really had to worry about was making sure
the patch was sane, testing, an submitting a merge proposal -- all things I
already knew how to do.  I had to learn a little bit of extra process to build
the package the right way, but those were not overwhelming at all (perhaps in
part because I had just gone through the exercise using the traditional way,
where I did learn a lot).  For packages that fit into a similar class as the
one I worked on, bzr-builddeb was an easy win.

I did go down one false path, and Colin had to teach me about patch systems
and dpatch in particular.  I think bzr-builddeb could actually help me not go
down that path, or point me to the right path, so I'll make some concrete
suggestions in a moment.

So what did I do?  Here are the steps I took (minus some machinations to get
debsign to DTRT):

* bzr init-repo system-config-lvm
* cd system-config-lvm
* bzr branch lp:ubuntu/system-config-lvm
* bzr branch system-config-lvm 390423-ext4
* cd 390423-ext4
* (download patch from upstream tracker)
* patch -p1  patch.txt
* dch -i
* (add changelog entry)
* debcommit
* bzr commit --fixes lp:390423 --unchanged
* bzr builddeb
* (win!  or was it?)
* (dpkg -i blah; test; confirm fix)
* bzr push lp:~barry/ubuntu/lucid/390423-ext4
* bzr lp-open
* (submit merge proposal)

You probably saw immediately where I went wrong!  I didn't know anything about
patch systems at this point, so I just committed my changes to the source tree
in place.  Colin (politely and helpfully!) schooled me that I should have
created a patch file instead, left the original source unchanged, and added my
patch file to debian/patches/00list.  My diff should have included just the
new .dpatch file, along with the changes to the changelog and 00list.

Instead of backing out my changes, I extracted them from the relevant
revisions, doing something like this (at the time):

* bzr diff -r6.. | dpatch patch-template -p ext4xfssupport blah  
debian/patches/ext4xfssupport.dpatch

I had to hand edit edit ext4xfssuport.dpatch because it contained a diff to
debian/changelog, and then I reverse-merged the relevant revisions to back out
the changes to the package's source code.  Then I ran 'bzr builddeb' again,
but it failed!

The problem I think was that dpatch expects to run 'patch -p1' or its moral
equivalent on the files in debian/patches, but 'bzr diff' does not include the
parent directory by default.  Now I understand why 'bzr diff' has a --prefix
option. :)  So I ran this:

* bzr diff -r6.. --prefix system-config-lvm.old/:system-config-lvm/ | dpatch 
patch-template -p ext4xfssupport blah  
debian/patches/ext4xfssupport.dpatch

This time 'bzr builddeb' ran successfully.  I installed the resulting package,
tested again, committed my last change and pushed.  I now await Colin's
re-review.

I