[Pkg-crosswire-devel] [GnomeSword-developers] Bits from Debian Crosswire Packaging Team

Dmitrijs Ledkovs dmitrij.ledkov at ubuntu.com
Thu Dec 2 20:36:19 GMT 2010


Hi there.

I have merged both histories of our packaging branch and the upstream
branch. I did this:

$ bzr branch lp:sword bridge # create a new checkoout
$ cd bridge
$ bzr branch lp:sword/debian subdir # create "full" checkout of the
packaging branch
$ bzr join subdir # force join the two histories together
$ bzr commit # now we have bridge/* and bridge/debian/* which are
identical except that there is bridge/debian/debian dir
$ bzr mv subdir/debian debian
$ bzr rm subdir # get rid of the duplicate source and move debian/ to top-level
$ bzr ci
$ bzr push lp:~pkgcrosswire/sword/bridge

>From now on if you take lp:~pkgcrosswire/sword/bridge it has history
of both debian packaging branch and upstream lp:sword.

So you should be able to:

$ bzr co lp:~pkgcrosswire/sword/bridge
$ bzr merge lp:sword && bzr ci
$ bzr merge lp:~pkgcrosswire/sword/debian && bzr ci

This is similar to git "sub-tree" merge strategy to join histories of
two unrelated projects. So technically I do need nest-part. And I like
this solution better since the result is a single bzr branch which can
give you a full `$ bzr log` on *any* file =)

Your proposal would work as well.

I have considered both strategies and chosen this one because as
Debian Maintainer I want to test *unmodified* Debian packaging against
upcoming release. The daily buildfarm for upstream project is just a
side-effect from my point of view =)

I do not want to maintain more than 1 branch per package. lp:sword is
automatically pulled by launchpad, bridge was a 3 minute one-off
business, and the procedures we use as a team to maintain debian
packaging branch remains as it is.

Hope this clarifies how the bridge branch works and why this solution
has been chosen. Let's see how it will work out for us. I will be
monitoring and keeping the builds running smoothly.

For example for xiphos I already am using two patch series depending
whether I'm building released version or the daily build.


On 2 December 2010 17:16, Greg Hellings <greg.hellings at gmail.com> wrote:
> Dmitrii,
>
> Awesome!  This will be wonderful once it's up and finished.
>
> One question, though, regarding your waiting for nest-part.  If all
> you're doing is nesting the debian packaging directory, you can
> already do that with the nest packaging command.  I have used it
> successfully.
>
> Example using sword-daily:
> Instead of using a full branch of SWORD with the complete tree of
> SWORD plus your debian/ directory and requiring manual or automatic
> merges, you would create a new branch, we'll call lp:sword/debian.
> Inside of sword/debian you put the *contents* of the packaging
> directory (_not_ an actual debian/ directory).
>
> Then in your recipe, instead of using nest-part and having to specify
> that you want the debian/ directory of lp:sword/debian or something
> like that, you just say nest packaging lp:sword/debian.  The entire
> lp:sword/debian branch is then checked out into a newly created
> debian/ directory inside of a fresh lp:sword branch.
>
> I think that this is the more straightforward and readable method of
> doing it (and is supported today).  It also avoids the need to do any
> sort of merge and push into an lp:sword/build-stable or similar
> branch.  The only thing to do would be update lp:sword/debian to
> specify a new release.  You could even maintain two separate but
> related branches lp:sword/debian-release and lp:sword/debian-daily and
> just specify "nest packaging lp:sword/debian-release" for the
> sword-stable recipe and "nest packaging lp:sword/debian-daily" in your
> sword-daily recipe.  Each recipe will properly execute a "bzr branch
> lp:sword/debian-daily debian" inside of its branch of upstream SWORD
> (and -release for the release) and free and anyone else from needing
> to merge from lp:sword into lp:sword/debian.
>
> I may have just done a terrible job of explaining that, but it took me
> about 2 days of reading LP's documents to understand what the "nest
> packaging" command was doing.  If you'd like, I can modify the recipes
> to do this without affecting their function or usability.
>
> --Greg
>
> On Thu, Dec 2, 2010 at 3:38 AM, Dmitrijs Ledkovs
> <dmitrij.ledkov at ubuntu.com> wrote:
>> Hello everyone!
>>
>> Here are some updates from Debian Crosswire Packaging team.
>> We have three PPA's. Stable, Developer Preview and Daily Builds.
>> All three of these are now build automatically by launchpad using recipes.
>>
>> All recipes can be viewed here:
>> https://code.launchpad.net/~pkgcrosswire/+recipes
>>
>> = Developer preview PPA =
>>
>> * Preview the latest available Work-in-progress packaging
>> * Uses released versions of upstream software (possibly patched)
>> * Builds for currently supported Ubuntu Releases
>> * Build are automatic
>>
>> Example is sword-stable recipe here:
>> https://code.launchpad.net/~pkgcrosswire/+recipe/sword-stable
>>
>> You can clearly see which branches are used (just our packaging branch
>> lp:sword/debian aka lp:~pkgcrosswire/sword/main) as well as the build
>> results for each Ubuntu Release and architecture.
>>
>> When we are packaging software we only need to do `$ bzr push` and
>> launchpad will build updated packages for all four currently supported
>> Ubuntu releases. No need to manually change package versions, recreate
>> debian source packages and uploading them to launchpad. Huray =)
>>
>> = Daily Builds =
>>
>> * Automatically does daily builds of upstream svn trunk
>> * Uses latest available, "official" packaging
>> * Builds for all currently supported Ubuntu Releases
>> * Builds are not tested and not supported
>>
>> Example is sword-daily recipe here
>> https://code.launchpad.net/~pkgcrosswire/+recipe/sword-daily
>>
>> This recipe is based on lp:sword - a bzr mirror of sword svn trunk
>> (pulled multiples times a day) and it is merged with our packaging. A
>> "bridge" branch is used to set correct ancestry and it will eventually
>> go away when launchpad will support nest-part command. On this page
>> you can see latest build results for Ubuntu releases and supported
>> architectures.
>>
>> = Stable PPA =
>>
>> * Manually transitioned packages from Developer-Preview
>> * Well Tested
>> * Use "official" packaging
>> * Builds for all currently supported Ubuntu Releases
>> * Limited support available on best effort basis
>>
>> This stays as it is, except that it is much easier for us to update
>> now. We can simply perform a manual build request from the stable
>> recipe page web-page.
>>
>> = What pages should you look at? =
>>
>> Sword
>> Code Import: https://code.launchpad.net/~sword-devel/sword/trunk
>> Daily Builds (latest):
>> https://code.launchpad.net/~pkgcrosswire/+recipe/sword-daily
>> Developer Preview (latest):
>> https://code.launchpad.net/~pkgcrosswire/+recipe/sword-stable
>>
>> Xiphos
>> Code Import: https://code.launchpad.net/~xiphos-devel/xiphos/trunk
>> Daily Builds (latest):
>> https://code.launchpad.net/~pkgcrosswire/+recipe/xiphos-daily
>> Developer Preview (latest):
>> https://code.launchpad.net/~pkgcrosswire/+recipe/xiphos-stable
>>
>> BibleTime
>> Code Import: https://code.launchpad.net/~bibletime/bibletime/gitorious
>> Daily Builds (latest):
>> https://code.launchpad.net/~pkgcrosswire/+recipe/bibletime-daily (NOT
>> ENABLED YET)
>> Developer Preview (latest):
>> https://code.launchpad.net/~pkgcrosswire/+recipe/bibletime-stable
>>
>> PPA build results:
>>
>> Daily (all): https://launchpad.net/~pkgcrosswire/+archive/daily/+packages
>> Developer-Preview (all):
>> https://launchpad.net/~pkgcrosswire/+archive/developer-testing/+packages
>> Stable (all): https://launchpad.net/~pkgcrosswire/+archive/ppa/+packages
>>
>> How to add these PPA:
>>
>> Daily (all): $ sudo add-apt-repository ppa:pkgcrosswire/daily
>> Developer-Preview (all): $ sudo add-apt-repository
>> ppa:pkgcrosswire/developer-testing
>> Stable (all): $ sudo add-apt-repository ppa:pkgcrosswire/ppa
>>
>> = About Debian Pkgcrosswire Packaging Team =
>>
>> We are packaging Bible study related packages based on SWORD API and
>> Crosswire Bible Society repository of Bible texts. We are official
>> maintainers of these packages in Debian and Ubuntu. We provide regular
>> backports updates to Ubuntu via PPA as well as offering
>> work-in-progress packages. Our packages adhere to Debian Packaging
>> Policy. All our builds provide debug (-dbg) packages as well to help
>> with troubleshooting
>>
>> ------------------------------------------------------------------------------
>> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
>> Tap into the largest installed PC base & get more eyes on your game by
>> optimizing for Intel(R) Graphics Technology. Get started today with the
>> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
>> http://p.sf.net/sfu/intelisp-dev2dev
>> _______________________________________________
>> GnomeSword-developers mailing list
>> GnomeSword-developers at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/gnomesword-developers
>>
>
> ------------------------------------------------------------------------------
> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
> Tap into the largest installed PC base & get more eyes on your game by
> optimizing for Intel(R) Graphics Technology. Get started today with the
> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
> http://p.sf.net/sfu/intelisp-dev2dev
> _______________________________________________
> GnomeSword-developers mailing list
> GnomeSword-developers at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gnomesword-developers
>




More information about the Pkg-crosswire-devel mailing list