Re: Deprecating the wiki-based Packaging Guide

2013-01-25 Thread Daniel Holbach
Hello,

On 17.12.2012 22:01, Andrew Starr-Bochicchio wrote:
 1) Send a last-call anouncement to ubuntu-devel requesting bug reports
 about any missing material. Announce steps 2 and 3 will take place
 after one month.
 2) Move the entire PackagingGuide wiki namespace en masse to
 PackagingGuideDeprecated.
 3) Redirect wiki.ubuntu.com/PackagingGuide to
 developer.ubuntu.com/packaging/html/
 4) After six months (one full development cycle)
 PackagingGuideDeprecated will be deleted.

I just took care of 2) and 3). The old content is still available at
https://wiki.ubuntu.com/PackagingGuide

Have a great day,
 Daniel

-- 
Ubuntu Developer Week - https://wiki.ubuntu.com/UbuntuDeveloperWeek
29th-31st Jan 2013 - Your great chance to finally get involved!

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


Re: Deprecating the wiki-based Packaging Guide

2013-01-09 Thread Martin Pitt
Barry Warsaw [2013-01-08 14:59 -0500]:
 IMHO, the main obstacle is the success rate of the package importer.

In my experience that doesn't matter. If a package doesn't have a
current UDD branch, then there's always the good old apt-get
source/edit.

IMHO the main obstacle is that UDD does not work well for common use
cases.  I find myself not exactly liking UDD even for the (vast
majority of) packages where the branches are up to date, mostly
because its design is a bit upside down: It has pretty much perfect
VCS behaviour for precisely those bits which we do not want to change
in a distro: the original upstream source. For changing them, we need
to use quilt and debian/patches/, which is the very same approach than
with plain apt-get source, except that UDD imposes a lot of extra
overhead: I have to take care to pre-apply patches, add/track all the
extra .pc stuff, do things three times in a row until the pre-applied
patches stop conflicting with the operation that I'm currently doing
(new upstream source, editing or adding a patch), etc.

A few years ago I set up a package (calibre) to use proper VCS with
threads instead of patches; that worked much better and much more
consistently, but I gave it up because nobody else in the world knew
how to use that branch. Chicken-egg problem.

Also, UDD is incompatible with having upstream develop on Launchpad as
the branches share no history and thus you can't just bzr merge
lp:trunk for a new upstream version, cherrypick changes, etc.
This breaks a lot of the reasons why one wants to use a VCS in the
first place.

Now, those two things (patching packages and working with packages
whose upstream is on LP) is, or at least had been for many years, my
bread and butter of what I do in Ubuntu. This might be different for
other people who mostly work on packaging or native packages; UDD
works well for both cases, and I like those branches myself as well
for those cases.

But these are the reasons why the desktop team doesn't use UDD: one
half of our packages has upstreams on LP (indicators, Unity,
software-center, etc.), and the main exercise on other half (GNOME) is
patching and upstream version updates, not changing packaging.

So in summary, I think the packaging documentation should certainly
explain UDD, but at least point out that some packages are maintained
differently (point out https://wiki.ubuntu.com/DesktopTeam/Bzr, the
Vcs-Bzr: field, and apt-get source).

Thanks,

Martin
-- 
Martin Pitt| http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)


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


Re: Deprecating the wiki-based Packaging Guide

2013-01-09 Thread Barry Warsaw
On Jan 09, 2013, at 09:03 AM, Martin Pitt wrote:

IMHO the main obstacle is that UDD does not work well for common use
cases.  I find myself not exactly liking UDD even for the (vast
majority of) packages where the branches are up to date, mostly
because its design is a bit upside down: It has pretty much perfect
VCS behaviour for precisely those bits which we do not want to change
in a distro: the original upstream source. For changing them, we need
to use quilt and debian/patches/, which is the very same approach than
with plain apt-get source, except that UDD imposes a lot of extra
overhead: I have to take care to pre-apply patches, add/track all the
extra .pc stuff, do things three times in a row until the pre-applied
patches stop conflicting with the operation that I'm currently doing
(new upstream source, editing or adding a patch), etc.

Yeah, I get that.  FWIW, I have a successful workflow for quilt branches that
isn't very painful, and does benefit from having the full source package under
bzr.  I've mentioned it before on this list, but I should probably update the
packaging guide.  A couple of rules:

1) Always commit with your quilt stack at the same level as the original
   branch.  This usually means popping your last patch before you commit.

2) Never push your branch back to Launchpad.  Upload it as normal and let the
   package importer do all the merge magic.

What I like about UDD for quilt branches is that I don't have to worry much
about generating the patch.  I can mostly edit the original source and use
`bzr diff` to generate the first quilt patch.  From there, I generally use
quilt command to refresh the patch until it's ready.  Rule #1 above will leave
you with a clean upstream source tree and the new quilt patch (which of course
you have to `bzr add`).

And of course using bzr works great when you're hacking in debian/.

Could it work better?  Yes, definitely.  It's been discussed for years now.
*Will* it get better?  I can't answer that. :)

Also, UDD is incompatible with having upstream develop on Launchpad as
the branches share no history and thus you can't just bzr merge
lp:trunk for a new upstream version, cherrypick changes, etc.
This breaks a lot of the reasons why one wants to use a VCS in the
first place.

Highly agreed here.  I can see that desktop would feel this pain more acutely.

Now, those two things (patching packages and working with packages
whose upstream is on LP) is, or at least had been for many years, my
bread and butter of what I do in Ubuntu. This might be different for
other people who mostly work on packaging or native packages; UDD
works well for both cases, and I like those branches myself as well
for those cases.

But these are the reasons why the desktop team doesn't use UDD: one
half of our packages has upstreams on LP (indicators, Unity,
software-center, etc.), and the main exercise on other half (GNOME) is
patching and upstream version updates, not changing packaging.

So in summary, I think the packaging documentation should certainly
explain UDD, but at least point out that some packages are maintained
differently (point out https://wiki.ubuntu.com/DesktopTeam/Bzr, the
Vcs-Bzr: field, and apt-get source).

stokachu mentioned that Fedora uses a dvcs (git?) to do a lot of their package
management and that their workflow is well integrated with the build system.
I could have that totally wrong, as I have no experience with it, but I still
firmly believe that package management should be well integrated with a dvcs.
It's usable in a lot of cases for Ubuntu today with UDD, but it clearly has
yet to realize its full potential.

Cheers,
-Barry


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


Re: Deprecating the wiki-based Packaging Guide

2013-01-08 Thread Barry Warsaw
On Dec 18, 2012, at 07:16 PM, Mike Carifio wrote:

I'm the first person to admit that I probably don't get it yet or see
the obstacles to UDD utopia.

IMHO, the main obstacle is the success rate of the package importer.

Still, according to the status page [1] there are 821 failures.  Is this page
[2] is an accurate count of the number of source branches in Ubuntu (all
packages in all supported releases)?  If so, then we're talking about a
failure rate of about 0.25% which seems pretty darn low.  Of course, that
doesn't help if the one you want to work on is failing.

What we really need are the adequate resources of experts to help drive the
failure rate to zero, but I don't think the people I know who could make a
serious dent in that number are available right now.

Cheers,
-Barry

[1] http://package-import.ubuntu.com/status/
[2] https://code.launchpad.net/ubuntu

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


Re: Styles of Packaging (was: Deprecating the wiki-based, Packaging Guide)

2012-12-20 Thread Bouchard Louis
Hi,

Le 20/12/2012 13:00, ubuntu-devel-requ...@lists.ubuntu.com a écrit :
 Date: Wed, 19 Dec 2012 11:16:49 -0500 From: Barry Warsaw
 ba...@ubuntu.com To: ubuntu-devel@lists.ubuntu.com Subject: Re: Styles
 of Packaging (was: Deprecating the wiki-based Packaging Guide)
 Message-ID: 20121219111649.58ce8...@resist.wooz.org Content-Type:
 text/plain; charset=us-ascii On Dec 18, 2012, at 06:05 PM, Steve
 Langasek wrote:
 UDD poses a different set of problems.  I'm not sure how relevant it is to
 the upstream developer who just wants to package their software; at the very
 least, I think the developer docs should explicitly deal with the
 possibility that the upstream has already made a different VCS choice that's
 not bzr.
 The packaging guide has a bit of a schizophrenic heritage, and it's not quite
 sure what audience it's trying to reach.  Is it upstream developers who just
 want to package their software?  Is it drive-by Ubuntu contributors who want
 to gain some experience fixing a bug or scratching their own itch?  Is it the
 experienced developer who whats a reference to preferred tools?

Maybe I can share my experience on how I've seen and used the packaging
guide in the past year, coming from complete debian packaging ignorance.

I've looked at the guide as a best practice from the Ubuntu community on
how things should be done correctly to produce good quality packaging.
Since my work is solely working on existing packages, it was a great
help in understanding why things are done a certain way and how to
continue to do things adequately.

It was a great help in doing a fast ramp up to packaging and I still use
it regularly to confirm part of my workflow.

Maybe a good understanding of the target audience might help to stear
some of its content.

Kind regards,

...Louis





-- 
Louis Bouchard
Backline Support Analyst
Canonical Ltd
Ubuntu support: http://landscape.canonical.com

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


Re: Styles of Packaging (was: Deprecating the wiki-based Packaging Guide)

2012-12-19 Thread Barry Warsaw
On Dec 18, 2012, at 06:05 PM, Steve Langasek wrote:

UDD poses a different set of problems.  I'm not sure how relevant it is to
the upstream developer who just wants to package their software; at the very
least, I think the developer docs should explicitly deal with the
possibility that the upstream has already made a different VCS choice that's
not bzr.

The packaging guide has a bit of a schizophrenic heritage, and it's not quite
sure what audience it's trying to reach.  Is it upstream developers who just
want to package their software?  Is it drive-by Ubuntu contributors who want
to gain some experience fixing a bug or scratching their own itch?  Is it the
experienced developer who whats a reference to preferred tools?

Certainly, the original UDD guide (from which much of the current packaging
text was lifted) was written for experienced developers wanting to understand
how to use UDD to maintain packages for Ubuntu.

And where Ubuntu development is concerned, I regret that I have to
agree with Scott that the lack of reliability for the existing UDD branches
is a problem, and one that doesn't seem to be getting better over time.  So
while I personally favor the UDD workflow (and fervently disagree with
Scott's claim that it's a more complex toolset), I think we do need to
reconsider if it's actually beneficial to steer developers down this path. 
Whether or not there's a consensus that we should be using UDD, it's no use
to new developers if it doesn't actually work.

I think it's only going to get better if some of us enthusiasts step up to
help start fixing things.  I'm not entirely sure where to start, but that a
topic for the udd mailing list, not this one.

-Barry


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


Re: Deprecating the wiki-based Packaging Guide

2012-12-18 Thread Daniel Holbach
Hello,

On 18.12.2012 01:52, Scott Kitterman wrote:
 UDD is not mature or reliable enough to be presented to new users as the 
 way to do packaging for Ubuntu.  I think the current guide is fatally flawed 
 as is.
 
 As soon as a branch is out of date, new users are lost.

while out-of-date branches and other bits and pieces around UDD are a
problem, can we please make them a separate discussion?

We can certainly have a discussion about our Development Guide and what
we recommend in which way. The reality and motivation of the current
discussion is that two guides are simply confusing and that the Wiki
documentation hasn't been touched or updated in any meaningful way in ages.

I'd suggest we agree on one guide and then figure out what we recommend,
rewrite or improve in there. This shouldn't be a blocker for obsoleting
one of the guides.

Have a great day,
 Daniel

-- 
Get involved in Ubuntu development! developer.ubuntu.com/packaging
And follow @ubuntudev on identi.ca/twitter.com/facebook.com/gplus.to

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


Re: Deprecating the wiki-based Packaging Guide

2012-12-18 Thread Micah Gersten
On 12/18/2012 09:23 AM, Daniel Holbach wrote:
 Hello,

 On 18.12.2012 01:52, Scott Kitterman wrote:
 UDD is not mature or reliable enough to be presented to new users as the 
 way to do packaging for Ubuntu.  I think the current guide is fatally flawed 
 as is.

 As soon as a branch is out of date, new users are lost.
 while out-of-date branches and other bits and pieces around UDD are a
 problem, can we please make them a separate discussion?

 We can certainly have a discussion about our Development Guide and what
 we recommend in which way. The reality and motivation of the current
 discussion is that two guides are simply confusing and that the Wiki
 documentation hasn't been touched or updated in any meaningful way in ages.

 I'd suggest we agree on one guide and then figure out what we recommend,
 rewrite or improve in there. This shouldn't be a blocker for obsoleting
 one of the guides.

 Have a great day,
  Daniel

I think the point is that the new guide would have to include the
pull-lp-source/debdiff/attach to bug route as well before some of us are
comfortable deleting that information from the Wiki.  It's not so much
where it lives as that it's available as a fallback.
Thanks,
Micah

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


Re: Deprecating the wiki-based Packaging Guide

2012-12-18 Thread Daniel Holbach
Hello,

On 18.12.2012 16:35, Micah Gersten wrote:
 I think the point is that the new guide would have to include the
 pull-lp-source/debdiff/attach to bug route as well before some of us are
 comfortable deleting that information from the Wiki.  It's not so much
 where it lives as that it's available as a fallback.

It does:
http://developer.ubuntu.com/packaging/html/traditional-packaging.html

Have a great day,
 Daniel

-- 
Get involved in Ubuntu development! developer.ubuntu.com/packaging
And follow @ubuntudev on identi.ca/twitter.com/facebook.com/gplus.to

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


Re: Styles of Packaging (was: Deprecating the wiki-based Packaging Guide)

2012-12-18 Thread Steve Langasek
On Tue, Dec 18, 2012 at 03:16:13PM +0900, Emmet Hikory wrote:

 While it may appear that way at first glance, this is very much an
 intentional consequence of policy-based packaging, which Ubuntu inherits
 from Debian.  By having packaging judged against policy, rather than
 against some arbitrary implementation, we are free to continuously
 innovate in our use of tools to improve our packaging.  Innovations that
 lead to interesting consequences frequently become policy, such that all
 other packaging toolchains in the archive are expected to support the
 expected results (or be retired).

 However, as this has been an ongoing process of competitive
 improvement of the several toolchains over more than 20 years, and as many
 packages have not been updated in some time (this may be by design: e.g. 
 mpi-specs, which likely won't be updated for many more years to come), and
 many how to package documents are floating around the internet, this
 means that every possible experimental means of packaging is documented
 somewhere (and may show up in your favorite search engine), and many of
 them are used for packages extant in the current archive.

 There is definitely a set of tools that are currently the most popular
 in the Debian archive, and these integrate well with a set of tools being
 developed under the Ubuntu Distributed Development moniker, which
 combination may well likely be that which is recommended by the Ubuntu
 Packaging Guide under development: as such, this recommendation [0] is
 what ought be followed by the class of developers for whom packaging is a
 means to an end (as they are often focused on a specific piece of
 software).  For folk who might focus on packaging as an end, preferring
 the role of distribution developer to that of application developer, there
 is a need for a greater understanding of the underlying policy and the
 massive variety of tools by which this policy may be implemented.

People who are aiming to contribute to Ubuntu as a distribution absolutely
need to master a different set of skills than those who just want to package
up their own software.  In terms of developer documentation, I think the
important goals are that:

 - We make sure everyone has a handle on the second category before they
   tackle the first category.
 - We avoid annoying or distracting developers who only care about the
   second category with information that's only relevant in the first
   category.
 - We ensure that developers who are looking to participate in Ubuntu
   development can find the information they need from the same entry point.
 - We ensure that the recommendations that we're giving developers for
   creating packages for their software aren't at odds with the consensus
   among experienced Ubuntu developers about how a package should look.

I think the current Ubuntu Packaging Guide is doing a reasonably good job of
walking this line.  Where it isn't, I'm sure bug reports are welcome.

 Where this is understandably annoying for the application developer is
 that the recommendation is subject to change over time, as newer tools are
 developed and adopted: we tend to select toolsets that provide the most
 automation while leaving us the facility to make local exceptions to
 standard processing as appropriate for specific packages, which may appear
 to require an application developer to relearn from scratch every so many
 years.  In practice, the lifecycle of a toolset is typically much longer
 than the period during which it is the most popular for use, and it is
 rare for toolsets to be entirely retired (although in some cases the
 maintainer of the packaging toolset may declare they no longer intend to
 support it, and it will only live on if someone else is willing to update
 it to support current policy).  As a result, once one learns some means of
 packaging, one may usually continue with that method for a fairly long
 time without need to change unless one is excited about new features of a
 newer toolset.

Where package tooling has changed recently, it has mostly been about
incremental improvements rather than revolutionary changes.  At the
packaging level, http://people.debian.org/~cjwatson/dhstats.png shows that
dh(1) has had dominant mindshare for over 3 years (shown by the constant
growth in usage), and if it doesn't quite yet represent the way the majority
of packages in the archive are done, this has more to do with the inertia of
existing packages than with any lack of consensus.  Prior to the advent of
dh(1), there *was* a distinct lack of consensus, with developers divided
roughly equally between cdbs and debhelper camps.  So I do think it's
important that any documentation that's teaching people how to package focus
on dh, and explicitly relegate non-dh packaging to the category of here's
what to do if you need to work on an existing package that doesn't follow
best practices.

UDD poses a different set of problems.  I'm not sure how 

Re: Deprecating the wiki-based Packaging Guide

2012-12-18 Thread Scott Kitterman
Mike Carifio cari...@usys.com wrote:

On 12/18/2012 05:48 PM, Scott Kitterman wrote:
 Barry Warsaw ba...@ubuntu.com wrote:

 On Dec 17, 2012, at 07:52 PM, Scott Kitterman wrote:

 UDD is not mature or reliable enough to be presented to new users
as
 the
 way to do packaging for Ubuntu.  I think the current guide is
fatally
 flawed
 as is.
 Yes, it's frustrating when you need to work on a package that has
 import
 failures, and yes, I wish we had more cycles to devote to fixing
this,
 but the
 majority of packages import just fine, and UDD (IMHO and YMMV) has
 enormous
 benefits which outweigh those frustrations.

 Of course, I'm not saying that traditional packaging shouldn't also
be
 described.

 -Barry
 It seems obvious to me that the standard approach ought to be the
reliable one.  Making the UDD based approach 'normal' ensures people
need to know two ways to do it and for introductory material, I think
that is clearly suboptimal.

 Also, I think the benefits primarily accrue to people that use UDD a
lot.  The benefits to people that don't use it quite regularly are
minimal.  This reinforces the idea it's not the right default to
present.

 Finally, it's a more complex toolset that raises the barrier to entry
for newcomers.  I don't think that's what we want.

 Scott K

I don't mean to be argumentative, but none of that seems obvious to me.
If UDD is a better workflow when it works, then fix it until it works.
Then describe it so it makes sense. Then use it consistently to improve
the ecosystem. That will make it the default. Right now, we seem to
have
to work with debian source packages so we can feed the build system but
work with a version control system to upstream changes in a
productive
way. That seems suboptimal too.

I'm the first person to admit that I probably don't get it yet or see
the obstacles to UDD utopia. But not using a
version control tool for a source code control problem doesn't make
sense either.

Downloading a Debian source package or even a source package and a Debian only 
bzr branch (as the Kubuntu team does) is much faster than downloading full 
source bzr branches.  Unless someone works with a specific package routinely, 
full source branches slow the process up significantly.

I find the interfaces to the UDD tools very confusing. Here's but one example 
(yes, I filed a bug, no I don't recall the number):

The basic dpkg-buildpackage command to build a source package that will include 
the upstream tarball in the upload is:

dpkg-buildpackage -S -sa

For the non-UDD dpkg-buildpackage wrapper debuild, one attaches 
dpkg-buildpackage options on the end and they are passed to dpkg-buildpackage:

debuild -S -sa

bzr-builddeb has this interface:

bzr-builddeb -S -- -sa

Go figure that one out (yes, I understand it and why, but I think it's a user 
hostile interface design).

The biggest benefit of UDD, IMO is that each upload is imported into a VCS so 
we have per upload history.  That happens no matter how the package is built or 
uploaded.  All the additional complexity of committing to the VCS and getting 
that merged has very minimal benefits for the average developer.

The people you see advocating that UDD has great advantage for them are ~all 
people who do this full time and can live in the UDD environment.  They aren't 
the target audience for the packaging guide.

I think the lack of reliability argument is sufficient for now to make the case 
that UDD should not be the 'normal' method taught to new people.  Even if that 
weren't the case though, I would still think the added leaving curve coupled 
with creating a barrier to collaboration with our primary upstream would mean 
it's still not a good idea.

Scott K


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


Re: Styles of Packaging (was: Deprecating the wiki-based Packaging Guide)

2012-12-18 Thread Steve Langasek
On Tue, Dec 18, 2012 at 02:08:04AM -0500, Scott Kitterman wrote:
 1.  While there are sponsors that prefer branches over debdiffs/source
 packages uploaded somewhere, I don't know of any that will only sponsor
 branches.  The reverse is not true.  There are developers that don't do
 UDD sponsoring.  By pursuing this path, new packagers limit the potential
 candidates to sponsor packages.

If there is a consensus that new packagers should be using UDD, we shouldn't
let that consensus be held hostage by dissenters that refuse to use UDD.

But as per my previous message, I agree that UDD reliability here is a major
problem, and no one is well served by developer documentation describing a
non-existent utopia instead of the way things actually are.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developerhttp://www.debian.org/
slanga...@ubuntu.com vor...@debian.org


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


Re: Styles of Packaging (was: Deprecating the wiki-based Packaging Guide)

2012-12-18 Thread Scott Kitterman
Steve Langasek steve.langa...@ubuntu.com wrote:

On Tue, Dec 18, 2012 at 02:08:04AM -0500, Scott Kitterman wrote:
 1.  While there are sponsors that prefer branches over
debdiffs/source
 packages uploaded somewhere, I don't know of any that will only
sponsor
 branches.  The reverse is not true.  There are developers that don't
do
 UDD sponsoring.  By pursuing this path, new packagers limit the
potential
 candidates to sponsor packages.

If there is a consensus that new packagers should be using UDD, we
shouldn't
let that consensus be held hostage by dissenters that refuse to use
UDD.

But as per my previous message, I agree that UDD reliability here is a
major
problem, and no one is well served by developer documentation
describing a
non-existent utopia instead of the way things actually are.

I don't think such a consensus, outside of the small group of people that 
invested time in the packaging guide, exists.  The Kubuntu team does not use it 
and last I checked Ubuntu Desktop didn't either.  There are people the use UDD, 
of course, but also large numbers that don't.

Scott K


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


Re: Deprecating the wiki-based Packaging Guide

2012-12-18 Thread Steve Langasek
On Tue, Dec 18, 2012 at 09:09:39PM -0500, Scott Kitterman wrote:

 I find the interfaces to the UDD tools very confusing. Here's but one
 example (yes, I filed a bug, no I don't recall the number):
 
 The basic dpkg-buildpackage command to build a source package that will
 include the upstream tarball in the upload is:
 
 dpkg-buildpackage -S -sa
 
 For the non-UDD dpkg-buildpackage wrapper debuild, one attaches
 dpkg-buildpackage options on the end and they are passed to
 dpkg-buildpackage:
 
 debuild -S -sa
 
 bzr-builddeb has this interface:
 
 bzr-builddeb -S -- -sa

'bzr bd -- -S -sa' works equally well, and could be the usage recommended in
the documentation for consistency.

 The biggest benefit of UDD, IMO is that each upload is imported into a VCS
 so we have per upload history.  That happens no matter how the package is
 built or uploaded.  All the additional complexity of committing to the VCS
 and getting that merged has very minimal benefits for the average
 developer.

One concrete example where UDD shines and the non-UDD workflow is inadequate
is for sponsoring of package merges.  If someone hands me a branch that
properly merges the new Debian version into the Ubuntu branch, I can review
that with the standard bzr diff tools and ascertain that the sponsoree has
done the merge correctly.  If someone hands me a debdiff for a Debian merge,
that's useless; I effectively have to do the merge myself as part of the
review, and no time is saved.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developerhttp://www.debian.org/
slanga...@ubuntu.com vor...@debian.org


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


Re: Styles of Packaging (was: Deprecating the wiki-based Packaging Guide)

2012-12-18 Thread Steve Langasek
On Tue, Dec 18, 2012 at 09:19:31PM -0500, Scott Kitterman wrote:
 Steve Langasek steve.langa...@ubuntu.com wrote:

 On Tue, Dec 18, 2012 at 02:08:04AM -0500, Scott Kitterman wrote:

  1.  While there are sponsors that prefer branches over debdiffs/source
  packages uploaded somewhere, I don't know of any that will only sponsor
  branches.  The reverse is not true.  There are developers that don't do
  UDD sponsoring.  By pursuing this path, new packagers limit the
  potential candidates to sponsor packages.

 If there is a consensus that new packagers should be using UDD, we
 shouldn't let that consensus be held hostage by dissenters that refuse to
 use UDD.
 
 But as per my previous message, I agree that UDD reliability here is a
 major problem, and no one is well served by developer documentation
 describing a non-existent utopia instead of the way things actually are.

 I don't think such a consensus, outside of the small group of people that
 invested time in the packaging guide, exists.

There may or may not be such a consensus.  But the consensus is what
matters, and the above argument is therefore irrelevant to whether UDD
should be the recommended workflow.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developerhttp://www.debian.org/
slanga...@ubuntu.com vor...@debian.org


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


Re: Deprecating the wiki-based Packaging Guide

2012-12-18 Thread Scott Kitterman
Steve Langasek steve.langa...@ubuntu.com wrote:

On Tue, Dec 18, 2012 at 09:09:39PM -0500, Scott Kitterman wrote:

 I find the interfaces to the UDD tools very confusing. Here's but one
 example (yes, I filed a bug, no I don't recall the number):
 
 The basic dpkg-buildpackage command to build a source package that
will
 include the upstream tarball in the upload is:
 
 dpkg-buildpackage -S -sa
 
 For the non-UDD dpkg-buildpackage wrapper debuild, one attaches
 dpkg-buildpackage options on the end and they are passed to
 dpkg-buildpackage:
 
 debuild -S -sa
 
 bzr-builddeb has this interface:
 
 bzr-builddeb -S -- -sa

'bzr bd -- -S -sa' works equally well, and could be the usage
recommended in
the documentation for consistency.

 The biggest benefit of UDD, IMO is that each upload is imported into
a VCS
 so we have per upload history.  That happens no matter how the
package is
 built or uploaded.  All the additional complexity of committing to
the VCS
 and getting that merged has very minimal benefits for the average
 developer.

One concrete example where UDD shines and the non-UDD workflow is
inadequate
is for sponsoring of package merges.  If someone hands me a branch that
properly merges the new Debian version into the Ubuntu branch, I can
review
that with the standard bzr diff tools and ascertain that the sponsoree
has
done the merge correctly.  If someone hands me a debdiff for a Debian
merge,
that's useless; I effectively have to do the merge myself as part of
the
review, and no time is saved.

It only works better if you are using UDD.  I agree that if your primary 
workflow is UDD based, then UDD branches are better.  If I get a branch it's as 
useless for me as a debdiff is for you.  When asked to sponsor things that have 
a branch, I generally decline or ask for a debdiff.

 Scott K


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


Re: Deprecating the wiki-based Packaging Guide

2012-12-18 Thread Steve Langasek
On Tue, Dec 18, 2012 at 09:33:18PM -0500, Scott Kitterman wrote:

 One concrete example where UDD shines and the non-UDD workflow is
 inadequate is for sponsoring of package merges.  If someone hands me a
 branch that properly merges the new Debian version into the Ubuntu
 branch, I can review that with the standard bzr diff tools and ascertain
 that the sponsoree has done the merge correctly.  If someone hands me a
 debdiff for a Debian merge, that's useless; I effectively have to do the
 merge myself as part of the review, and no time is saved.

I should clarify here that I meant a merge of a new upstream version
packaged in Debian.  For packaging-only merges, debdiffs work fine.

 It only works better if you are using UDD.  I agree that if your primary
 workflow is UDD based, then UDD branches are better.  If I get a branch
 it's as useless for me as a debdiff is for you.  When asked to sponsor
 things that have a branch, I generally decline or ask for a debdiff.

Your decision to boycott UDD doesn't make a UDD branch useless.  A debdiff
for a merge of a new upstream package version actually *is* useless and is a
waste of the sponsoree's time, for the stated reason that the review of
such a debdiff involves re-doing the merge myself.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developerhttp://www.debian.org/
slanga...@ubuntu.com vor...@debian.org


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


Re: Deprecating the wiki-based Packaging Guide

2012-12-18 Thread Scott Kitterman
Steve Langasek steve.langa...@ubuntu.com wrote:

On Tue, Dec 18, 2012 at 09:33:18PM -0500, Scott Kitterman wrote:

 One concrete example where UDD shines and the non-UDD workflow is
 inadequate is for sponsoring of package merges.  If someone hands me
a
 branch that properly merges the new Debian version into the Ubuntu
 branch, I can review that with the standard bzr diff tools and
ascertain
 that the sponsoree has done the merge correctly.  If someone hands
me a
 debdiff for a Debian merge, that's useless; I effectively have to do
the
 merge myself as part of the review, and no time is saved.

I should clarify here that I meant a merge of a new upstream version
packaged in Debian.  For packaging-only merges, debdiffs work fine.

 It only works better if you are using UDD.  I agree that if your
primary
 workflow is UDD based, then UDD branches are better.  If I get a
branch
 it's as useless for me as a debdiff is for you.  When asked to
sponsor
 things that have a branch, I generally decline or ask for a debdiff.

Your decision to boycott UDD doesn't make a UDD branch useless.  A
debdiff
for a merge of a new upstream package version actually *is* useless and
is a
waste of the sponsoree's time, for the stated reason that the review
of
such a debdiff involves re-doing the merge myself.

Right.  What I really want (and what our docs asked for at one point) is a 
packaging diff (debian dir) and a pointer to the upstream tarball.  I said the 
branch would be useless to me, because I'd have to extract out the packaging 
diff and redo the merge to make sense of it.

BTW, I didn't come to my perspective on UDD without trying it.I gave it a real 
go, but it just didn't work for me.

Scott K



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


UDD vs. non-UDD for merging (was: Deprecating the wiki-based Packaging Guide)

2012-12-18 Thread Emmet Hikory
Steve Langasek wrote:
 On Tue, Dec 18, 2012 at 09:33:18PM -0500, Scott Kitterman wrote:
  It only works better if you are using UDD.  I agree that if your primary
  workflow is UDD based, then UDD branches are better.  If I get a branch
  it's as useless for me as a debdiff is for you.  When asked to sponsor
  things that have a branch, I generally decline or ask for a debdiff.
 
 Your decision to boycott UDD doesn't make a UDD branch useless.  A debdiff
 for a merge of a new upstream package version actually *is* useless and is a
 waste of the sponsoree's time, for the stated reason that the review of
 such a debdiff involves re-doing the merge myself.

This exchange leaves me even further confused about how UDD works, but
reviewing merges for new upstream sources has always been a bit fussy, and
while interdiffs of diff.gz worked reasonably for format:1.0 packages, there
is no useful equivalent for format:3.0 packages.

 When I'm attempting to review someone else's merge, I generally want
them to send me enough information that I can produce their candidate
artifacts locally for upload, and generally want to do so in a way that
reduces the opportunity for them to submit files that don't match history
(either previously in Ubuntu or in Debian).  My review tends to consist of
looking at the prior Ubuntu-only changes, looking at the upstream changes,
looking at any changes beyond the new upstream version from Debian, and
ensuring that the resulting artifacts contain the best possible blend of
all of these (possibly combined with fixes for other outstanding bugs
found in Ubuntu).

With a non-UDD workflow, this involves getting the outstanding Ubuntu
diff (patches.ubuntu.com or merges.ubuntu.com have them if one doesn't want
to download source artifacts and run locally), getting the Debian diff
(also available from merges.ubuntu.com), and some artifact diff (which
could be that presented for sponsoring, although I tend to generate local
artifacts and regenerate the diff).  If I want to separate distribution
changes and upstream changes, filterdiff can help, or I can run diffs only
against contents of debian.tar.gz (or other selected artifacts).

With a UDD workflow, this involves getting the candidate branch,
reviewing the history to confirm it inherits from preexisting UDD branches,
and then using bzr to generate the same set of diffs, for the same level of
manual consideration.  There are no shortcut pre-generated diffs I can
download, but the bzr branch contains everything so there is no need to
pull from multiple sources: depending on one's local environment this
may be either good or bad in terms of total bandwidth and processing
requirements (and one can convince launchpad to generate the diffs, if
one is sufficiently motivated and lacks local processing facilities).

In either case, once I have a local artifact, unless I'm dealing with
a package that is handled by some team that doesn't like it, I can just
upload.  When I'm dealing with packages where teams want special things
done, regardless of which solution I choose above, I need to go fiddle
with their special VCS arrangements or get complained at later.

Now, it may be that in one of my summaries above, I've mischaracterised
one of the workflows, and if so I'd very much like to read an expansion of
both procedures by someone who has a very strong preference for one or another
workflow based on what they consider to be the user experience.  On the other
hand, if I've not mischaracterised it, how can *either* the branch or the
necessary diff to generate candidate artifacts be useless?  While I don't
personally see any benefit of one over the other except in terms of access
speed to review materials (which depends on sufficient local factors that
it isn't likely to be generally applicable), I don't understand how I would
have to redo the merge in either case, how I would be able to perform
the necessary level of scrutiny of the candidate without reviewing the same
set of diffs (ubuntu-to-common-ancestor, debian-to-common-ancestor,
candidate-to-debian, new-upstream-to-old-upstream), nor why I would need
to perform any file editing or reconcillation as part of this review.

Is it not the case that if one prefers UDD, one can just pull the
current Debian import from launchpad, apply the diff proposed by the
candidate, run debcommit, and end up with a branch with all the same
characteristics as if a branch had been submitted for merging?  Similarly,
is it not the case that if someone submits a branch, one can ask launchpad
to generate the diff, and use that as the merge artifact in a non-UDD
workflow?

-- 
Emmet HIKORY

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


Re: UDD vs. non-UDD for merging (was: Deprecating the wiki-based Packaging Guide)

2012-12-18 Thread Scott Kitterman
On Wednesday, December 19, 2012 01:02:21 PM Emmet Hikory wrote:
 Steve Langasek wrote:
  On Tue, Dec 18, 2012 at 09:33:18PM -0500, Scott Kitterman wrote:
   It only works better if you are using UDD.  I agree that if your primary
   workflow is UDD based, then UDD branches are better.  If I get a branch
   it's as useless for me as a debdiff is for you.  When asked to sponsor
   things that have a branch, I generally decline or ask for a debdiff.
  
  Your decision to boycott UDD doesn't make a UDD branch useless.  A
  debdiff for a merge of a new upstream package version actually *is*
  useless and is a waste of the sponsoree's time, for the stated reason
  that the review of such a debdiff involves re-doing the merge myself.
 
 This exchange leaves me even further confused about how UDD works, but
 reviewing merges for new upstream sources has always been a bit fussy, and
 while interdiffs of diff.gz worked reasonably for format:1.0 packages, there
 is no useful equivalent for format:3.0 packages.
 
  When I'm attempting to review someone else's merge, I generally want
 them to send me enough information that I can produce their candidate
 artifacts locally for upload, and generally want to do so in a way that
 reduces the opportunity for them to submit files that don't match history
 (either previously in Ubuntu or in Debian).  My review tends to consist of
 looking at the prior Ubuntu-only changes, looking at the upstream changes,
 looking at any changes beyond the new upstream version from Debian, and
 ensuring that the resulting artifacts contain the best possible blend of
 all of these (possibly combined with fixes for other outstanding bugs
 found in Ubuntu).
 
 With a non-UDD workflow, this involves getting the outstanding Ubuntu
 diff (patches.ubuntu.com or merges.ubuntu.com have them if one doesn't want
 to download source artifacts and run locally), getting the Debian diff
 (also available from merges.ubuntu.com), and some artifact diff (which
 could be that presented for sponsoring, although I tend to generate local
 artifacts and regenerate the diff).  If I want to separate distribution
 changes and upstream changes, filterdiff can help, or I can run diffs only
 against contents of debian.tar.gz (or other selected artifacts).
 
 With a UDD workflow, this involves getting the candidate branch,
 reviewing the history to confirm it inherits from preexisting UDD branches,
 and then using bzr to generate the same set of diffs, for the same level of
 manual consideration.  There are no shortcut pre-generated diffs I can
 download, but the bzr branch contains everything so there is no need to
 pull from multiple sources: depending on one's local environment this
 may be either good or bad in terms of total bandwidth and processing
 requirements (and one can convince launchpad to generate the diffs, if
 one is sufficiently motivated and lacks local processing facilities).
 
 In either case, once I have a local artifact, unless I'm dealing with
 a package that is handled by some team that doesn't like it, I can just
 upload.  When I'm dealing with packages where teams want special things
 done, regardless of which solution I choose above, I need to go fiddle
 with their special VCS arrangements or get complained at later.
 
 Now, it may be that in one of my summaries above, I've mischaracterised
 one of the workflows, and if so I'd very much like to read an expansion of
 both procedures by someone who has a very strong preference for one or
 another workflow based on what they consider to be the user experience.  On
 the other hand, if I've not mischaracterised it, how can *either* the
 branch or the necessary diff to generate candidate artifacts be useless? 
 While I don't personally see any benefit of one over the other except in
 terms of access speed to review materials (which depends on sufficient
 local factors that it isn't likely to be generally applicable), I don't
 understand how I would have to redo the merge in either case, how I would
 be able to perform the necessary level of scrutiny of the candidate without
 reviewing the same set of diffs (ubuntu-to-common-ancestor,
 debian-to-common-ancestor, candidate-to-debian,
 new-upstream-to-old-upstream), nor why I would need to perform any file
 editing or reconcillation as part of this review.
 
 Is it not the case that if one prefers UDD, one can just pull the
 current Debian import from launchpad, apply the diff proposed by the
 candidate, run debcommit, and end up with a branch with all the same
 characteristics as if a branch had been submitted for merging?  Similarly,
 is it not the case that if someone submits a branch, one can ask launchpad
 to generate the diff, and use that as the merge artifact in a non-UDD
 workflow?

With respect to the last point, similar to your description of your work flow, 
I want to see the packaging diff including the Debian - Debian packaging diff, 
the Ubuntu -- Ubuntu 

Re: UDD vs. non-UDD for merging (was: Deprecating the wiki-based Packaging Guide)

2012-12-18 Thread Emmet Hikory
Scott Kitterman wrote:
 On Wednesday, December 19, 2012 01:02:21 PM Emmet Hikory wrote:
  Is it not the case that if one prefers UDD, one can just pull the
  current Debian import from launchpad, apply the diff proposed by the
  candidate, run debcommit, and end up with a branch with all the same
  characteristics as if a branch had been submitted for merging?  Similarly,
  is it not the case that if someone submits a branch, one can ask launchpad
  to generate the diff, and use that as the merge artifact in a non-UDD
  workflow?
 
 With respect to the last point, similar to your description of your work 
 flow, 
 I want to see the packaging diff including the Debian - Debian packaging 
 diff, 
 the Ubuntu -- Ubuntu packaging diff and the Debian old/new -- Ubuntu old/new 
 packaging diffs to ensure no Ubuntu changes have been inadvertently lost, the 
 remaining changes are both needed and documents, and the changes from Debian 
 are correctly applied.  i end up needing then the old Debian and Ubuntu 
 packages as well as the new Debian package and the proposed merged.  There's 
 probably some reasonable way for me to extract all that from some relevant 
 branches somewhere, but to me it's far easier to use grab-merge and a debdiff.

Do the diffs launchpad produces from UDD merge branches not work as an
input diff with grab-merge?  I've never tried for this specific type of merge,
but in cases where it was just a patch being applied to an existing Ubuntu
package, I had success pulling diffs from LP to apply.

-- 
Emmet HIKORY

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


Re: UDD vs. non-UDD for merging (was: Deprecating the wiki-based Packaging Guide)

2012-12-18 Thread Scott Kitterman
On Wednesday, December 19, 2012 02:02:58 PM Emmet Hikory wrote:
 Scott Kitterman wrote:
  On Wednesday, December 19, 2012 01:02:21 PM Emmet Hikory wrote:
   Is it not the case that if one prefers UDD, one can just pull the
   
   current Debian import from launchpad, apply the diff proposed by the
   candidate, run debcommit, and end up with a branch with all the same
   characteristics as if a branch had been submitted for merging? 
   Similarly,
   is it not the case that if someone submits a branch, one can ask
   launchpad
   to generate the diff, and use that as the merge artifact in a non-UDD
   workflow?
  
  With respect to the last point, similar to your description of your work
  flow, I want to see the packaging diff including the Debian - Debian
  packaging diff, the Ubuntu -- Ubuntu packaging diff and the Debian
  old/new -- Ubuntu old/new packaging diffs to ensure no Ubuntu changes
  have been inadvertently lost, the remaining changes are both needed and
  documents, and the changes from Debian are correctly applied.  i end up
  needing then the old Debian and Ubuntu packages as well as the new Debian
  package and the proposed merged.  There's probably some reasonable way
  for me to extract all that from some relevant branches somewhere, but to
  me it's far easier to use grab-merge and a debdiff.
 Do the diffs launchpad produces from UDD merge branches not work as an
 input diff with grab-merge?  I've never tried for this specific type of
 merge, but in cases where it was just a patch being applied to an existing
 Ubuntu package, I had success pulling diffs from LP to apply.

It's been some time since I tried this, so i don't recall.  I don't see how it 
can beat grab-merge $PACKAGE and an appropriate packaging diff in a bug for 
simplicity.  When I use grab-merge there's everything I need sitting there is 
a directory ready for me to use.  No hunting for diffs or branches needed.

Scott K

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


Re: Deprecating the wiki-based Packaging Guide

2012-12-18 Thread Martin Pitt
Steve Langasek [2012-12-18 18:40 -0800]:
 A debdiff for a merge of a new upstream package version actually
 *is* useless and is a waste of the sponsoree's time, for the stated
 reason that the review of such a debdiff involves re-doing the
 merge myself.

A debdiff between the current Debian and the merged Ubuntu package can
be compared directly to the current Ubuntu delta on MoM, and simply
calling debdiff against the current version in Ubuntun gives you the
U-U debdiff. I find neither operation significantly harder than the
two bzr diff commands, and bandwith-wise they are roughly comparable,
too.

So I disagree that they are useless. What I find useless rather are
trivial merges where Ubuntu's delta is just one line in
debian/control. Doing the merge yourself vs. sponsoring one take the
same time. (They still might be an opportunity to learn for new
contributors).  But if it's a complex merge and the merge actually
went through the effort of cleaning up and upstreaming patches etc., I
appreciate them a lot, and the D-U debdiff is the distillation of
that work.

Martin

-- 
Martin Pitt| http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)


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


Deprecating the wiki-based Packaging Guide

2012-12-17 Thread Andrew Starr-Bochicchio
Hi all,

As Daniel recently announce, the new Sphinx-based Ubuntu Packaging
Guide [0] has recently reached a major milestone. It is now fully
translated and available in Spanish. [1] Good progress is currently
being made on making it available in other languages as well. [2]
Another major milestone is on the horizon. We are about to take the
next step in phasing out the old wiki-based packaging guide
completely.

At UDS-R, it was decided that the new guide has reached a mature
enough state to officially deprecate the wiki-based guide. [3] The
current plan is to:

1) Send a last-call anouncement to ubuntu-devel requesting bug reports
about any missing material. Announce steps 2 and 3 will take place
after one month.
2) Move the entire PackagingGuide wiki namespace en masse to
PackagingGuideDeprecated.
3) Redirect wiki.ubuntu.com/PackagingGuide to
developer.ubuntu.com/packaging/html/
4) After six months (one full development cycle)
PackagingGuideDeprecated will be deleted.

This is the mail referred to in step 1. In one month, I will move the
entire PackagingGuide wiki namespace enmass to
PackagingGuideDeprecated and set up a redirect. If you feel that there
are any critical pieces of information that are missing from the
Sphinx-based Ubuntu Packaging Guide, now is the time to file bugs (and
provide patches). [4]

Many thanks to all the contributors who have helped to get the Ubuntu
Packaging Guide in such great shape!

[0] http://developer.ubuntu.com/packaging/html/
[1] 
https://lists.ubuntu.com/archives/ubuntu-devel-announce/2012-December/000997.html
[2] https://translations.launchpad.net/ubuntu-packaging-guide
[3] https://blueprints.launchpad.net/ubuntu/+spec/community-r-packaging-guide
[4] https://bugs.launchpad.net/ubuntu-packaging-guide/+filebug

-- Andrew Starr-Bochicchio

   Ubuntu Developer https://launchpad.net/~andrewsomething
   Debian Developer http://qa.debian.org/developer.php?login=asb
   PGP/GPG Key ID: D53FDCB1

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


Re: Deprecating the wiki-based Packaging Guide

2012-12-17 Thread Benjamin Drung
Am Montag, den 17.12.2012, 16:01 -0500 schrieb Andrew Starr-Bochicchio:
 1) Send a last-call anouncement to ubuntu-devel requesting bug reports
 about any missing material. Announce steps 2 and 3 will take place
 after one month.
 2) Move the entire PackagingGuide wiki namespace en masse to
 PackagingGuideDeprecated.
 3) Redirect wiki.ubuntu.com/PackagingGuide to
 developer.ubuntu.com/packaging/html/
 4) After six months (one full development cycle)
 PackagingGuideDeprecated will be deleted.
 
 This is the mail referred to in step 1. In one month, I will move the
 entire PackagingGuide wiki namespace enmass to
 PackagingGuideDeprecated and set up a redirect. If you feel that there
 are any critical pieces of information that are missing from the
 Sphinx-based Ubuntu Packaging Guide, now is the time to file bugs (and
 provide patches). [4]

Will these bugs tracked and fixed before step four? We should only
remove the wiki based guide if all missing pieces from it are available
in the Sphinx-based packaging guide.

-- 
Benjamin Drung
Debian  Ubuntu Developer


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


Re: Deprecating the wiki-based Packaging Guide

2012-12-17 Thread Emmet Hikory
Andrew Starr-Bochicchio wrote:
 On Mon, Dec 17, 2012 at 4:53 PM, Benjamin Drung bdr...@ubuntu.com wrote:
  Am Montag, den 17.12.2012, 16:01 -0500 schrieb Andrew Starr-Bochicchio:
  1) Send a last-call anouncement to ubuntu-devel requesting bug reports
  about any missing material. Announce steps 2 and 3 will take place
  after one month.
  2) Move the entire PackagingGuide wiki namespace en masse to
  PackagingGuideDeprecated.
  3) Redirect wiki.ubuntu.com/PackagingGuide to
  developer.ubuntu.com/packaging/html/
  4) After six months (one full development cycle)
  PackagingGuideDeprecated will be deleted.
 
  This is the mail referred to in step 1. In one month, I will move the
  entire PackagingGuide wiki namespace enmass to
  PackagingGuideDeprecated and set up a redirect. If you feel that there
  are any critical pieces of information that are missing from the
  Sphinx-based Ubuntu Packaging Guide, now is the time to file bugs (and
  provide patches). [4]
 
  Will these bugs tracked and fixed before step four? We should only
  remove the wiki based guide if all missing pieces from it are available
  in the Sphinx-based packaging guide.
 
 That said, I do think it is important to point out that all missing
 pieces will never be completely ported to the new guide.  A large
 part of the reason for making the new guide in the first place has
 been to streamline it, making opinionated decisions of what to
 include, and eliminate the choose your own adventure style of the
 old guide. For instance, do we really need to discus desktop files and
 POD based manpages in the Packaging Guide?

While I'm all in favour of a return to a managed (and packagable)
packaging guide, I think there is value in being clear that folk who wish to
package have a plethora of options available: by all means, let's advocate the
latest labour-saving mechanisms, but at the same time, I think we need to
avoid anything that implies there is some magic one true way to package.  At
least in the current text presented at developer.ubuntu.com, the suggestions
on packaging new software recommend local compilation, which often hides all
sorts of issues, although it significantly reduces the apparent setup required
to get involved: I don't believe there is a good answer as to how folk should
do this: some may prefer to set things up to match what they think most
developers use, and others may just want to get something done.  Similarly,
we're recommending use of dh-make, and then recommending deleting all the
example files that it produces: this is another case where there may be more
value in having two paths: one that goes through the dh-make files, and the
other that just focuses on changelog, compat, control, copyright, and rules
(of which 60% are trivially generated automatically).  Different folk learn
differently, and as long as we're documenting things that we expect to be
used not only for new packaging, but also for patching existing packages,
it behooves us to ensure that we have coverage of all the different ways that
packages might behave, and some guidance on how to discover when to apply any
given rune from some assembled grimoire (assuming it will take some practice
for folk to learn the tools well enough to remember how to do things without
looking at their notes).

Aside from my general belief that as long as we are careful to weave folk
back into some central guide after each diversion, choose-your-own-adventure is
the right model, I am *completely* certain that we should discuss .desktop
files in the Packaging Guide: it's the means by which all XDG-compliant
environments present applications to the user (even Unity, without XDG-menus,
ends up using an index generated from collected .desktop files to fufill
searches), and it's something that is often gotten wrong by upstream
developers (because what makes a .desktop file work nicely on one's workstation
isn't usually precisely the same as what makes a .desktop file work nicely as
part of a distribution).  Mind you, that discussion might just be references
to the XDG spec, the relevant software centre documentation, and a pointer
to the desktop-file-validate utility along with a couple paragraphs explaining
why it's important to make it themeable, unique, HIGgy, etc.

-- 
Emmet HIKORY

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


Re: Deprecating the wiki-based Packaging Guide

2012-12-17 Thread Andrew Starr-Bochicchio
Hi Emmet!

On Mon, Dec 17, 2012 at 8:11 PM, Emmet Hikory per...@ubuntu.com wrote:
 Andrew Starr-Bochicchio wrote:
 On Mon, Dec 17, 2012 at 4:53 PM, Benjamin Drung bdr...@ubuntu.com wrote:
  Am Montag, den 17.12.2012, 16:01 -0500 schrieb Andrew Starr-Bochicchio:
  Will these bugs tracked and fixed before step four? We should only
  remove the wiki based guide if all missing pieces from it are available
  in the Sphinx-based packaging guide.

 That said, I do think it is important to point out that all missing
 pieces will never be completely ported to the new guide.  A large
 part of the reason for making the new guide in the first place has
 been to streamline it, making opinionated decisions of what to
 include, and eliminate the choose your own adventure style of the
 old guide. For instance, do we really need to discus desktop files and
 POD based manpages in the Packaging Guide?

 While I'm all in favour of a return to a managed (and packagable)
 packaging guide, I think there is value in being clear that folk who wish to
 package have a plethora of options available: by all means, let's advocate the
 latest labour-saving mechanisms, but at the same time, I think we need to
 avoid anything that implies there is some magic one true way to package.  At

There are many acceptable toolchains and approaches to packaging. My
understanding of the aim of the new  packaging guide [1] is not to
suggest that there is one correct way to do things, but to provide a
much clearer point of entry than the wiki guide.

 least in the current text presented at developer.ubuntu.com, the suggestions
 on packaging new software recommend local compilation, which often hides all
 sorts of issues, although it significantly reduces the apparent setup required
 to get involved: I don't believe there is a good answer as to how folk should
 do this: some may prefer to set things up to match what they think most
 developers use, and others may just want to get something done.

I'd be interested in the exact section you are referring to. Getting
Set Up suggests the installation of pbuilder, and Tutorial: Fixing a
bug in Ubuntu uses pbuilder-dist to compile. Am I misunderstanding
what you mean by local?

 we're recommending use of dh-make, and then recommending deleting all the
 example files that it produces: this is another case where there may be more
 value in having two paths: one that goes through the dh-make files, and the
 other that just focuses on changelog, compat, control, copyright, and rules
 (of which 60% are trivially generated automatically).

I'm not sure how this differs from the wiki-based guide where you find
this, for example [2]:

| Running dh_make creates the basic files needed in debian/ and many template
| files (.ex) that may be needed. The Hello program is not very complicated, and
| as we have seen in the section called “Packaging From Scratch”,
packaging it does
| not require much more than the basic files. Therefore, let us remove
the .ex files:
|
| cd debian
| rm *.ex *.EX

The Sphinx-based guide also contains a knowledge base article about
files found in the debian directory. I'd be happy to merge a branch
that expands on the Additional Files section. [3]

 differently, and as long as we're documenting things that we expect to be
 used not only for new packaging, but also for patching existing packages,
 it behooves us to ensure that we have coverage of all the different ways that
 packages might behave, and some guidance on how to discover when to apply any
 given rune from some assembled grimoire (assuming it will take some practice
 for folk to learn the tools well enough to remember how to do things without
 looking at their notes).

 Aside from my general belief that as long as we are careful to weave folk
 back into some central guide after each diversion, choose-your-own-adventure 
 is
 the right model, I am *completely* certain that we should discuss .desktop
 files in the Packaging Guide: it's the means by which all XDG-compliant
 environments present applications to the user (even Unity, without XDG-menus,
 ends up using an index generated from collected .desktop files to fufill
 searches), and it's something that is often gotten wrong by upstream
 developers (because what makes a .desktop file work nicely on one's 
 workstation
 isn't usually precisely the same as what makes a .desktop file work nicely as
 part of a distribution).  Mind you, that discussion might just be references
 to the XDG spec, the relevant software centre documentation, and a pointer
 to the desktop-file-validate utility along with a couple paragraphs explaining
 why it's important to make it themeable, unique, HIGgy, etc.

Maybe desktop files weren't the best example. While I think it is
telling that no one has mentioned the lack of a section on desktop
files until I mentioned that I personally don't see the need for it in
the packaging guide, I could actually imagine an article that
discussed various pieces 

Re: Styles of Packaging (was: Deprecating the wiki-based Packaging Guide)

2012-12-17 Thread Scott Kitterman
On Tuesday, December 18, 2012 03:16:13 PM Emmet Hikory wrote:
 There is definitely a set of tools that are currently the most popular
 in the Debian archive, and these integrate well with a set of tools being
 developed under the Ubuntu Distributed Development moniker, which
 combination may well likely be that which is recommended by the Ubuntu
 Packaging Guide under development: as such, this recommendation [0] is what
 ought be followed by the class of developers for whom packaging is a means
 to an end (as they are often focused on a specific piece of software).  For
 folk who might focus on packaging as an end, preferring the role of
 distribution developer to that of application developer, there is a need
 for a greater understanding of the underlying policy and the massive
 variety of tools by which this policy may be implemented.

I think UDD based packaging is a very poor recommendation for this class of 
packagers for several reasons:

1.  While there are sponsors that prefer branches over debdiffs/source packages 
uploaded somewhere, I don't know of any that will only sponsor branches.  The 
reverse is not true.  There are developers that don't do UDD sponsoring.  By 
pursuing this path, new packagers limit the potential candidates to sponsor 
packages.

2.  For developers that have a significant interest in a specific package, we 
generally recommend that they submit that package to Debian (although it might 
be accepted to Ubuntu first).  Debian doesn't use Ubuntu UDD (in fact the 
acronym UDD has a completely different meaning in a Debian context).  So if 
developers learn UDD style packaging they have to learn a new set of tools to 
work with Debian.

3.  Ubuntu UDD has sufficient reliability issues that it is not rare for 
branches to be out of date.  As soon as this happens, the new developer then 
has to get familiar with traditional tools (which are not documented in the 
packaging guide - last I looked for them anyway).

I know UDD is working for some Ubuntu developers, but I don't think it's 
mature enough to be the first set of tools we give new people to use.

Scott K

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


Re: Deprecating the wiki-based Packaging Guide

2012-12-17 Thread Emmet Hikory
Andrew Starr-Bochicchio wrote:
 Hi Emmet!

Hi!

 On Mon, Dec 17, 2012 at 8:11 PM, Emmet Hikory per...@ubuntu.com wrote:
  While I'm all in favour of a return to a managed (and packagable)
  packaging guide, I think there is value in being clear that folk who wish to
  package have a plethora of options available: by all means, let's advocate 
  the
  latest labour-saving mechanisms, but at the same time, I think we need to
  avoid anything that implies there is some magic one true way to package.  At
 
 There are many acceptable toolchains and approaches to packaging. My
 understanding of the aim of the new  packaging guide [1] is not to
 suggest that there is one correct way to do things, but to provide a
 much clearer point of entry than the wiki guide.

Excellent.  This is precisely what the old docbook packaging guide did
before we moved to the wiki.  My apologies for being oversensitive to the idea
of streamlining.

  least in the current text presented at developer.ubuntu.com, the suggestions
  on packaging new software recommend local compilation, which often hides all
  sorts of issues, although it significantly reduces the apparent setup 
  required
  to get involved: I don't believe there is a good answer as to how folk 
  should
  do this: some may prefer to set things up to match what they think most
  developers use, and others may just want to get something done.
 
 I'd be interested in the exact section you are referring to. Getting
 Set Up suggests the installation of pbuilder, and Tutorial: Fixing a
 bug in Ubuntu uses pbuilder-dist to compile. Am I misunderstanding
 what you mean by local?

I was looking at Packaging New Software
http://developer.ubuntu.com/packaging/html/packaging-new-software.html

The local build in question is `bzr builddeb -- -us -uc`

Yes, later it recommends pbuilder and PPAs, etc.: the criticism above was
not intended as blanket criticism, but rather a pointer to a possible point of
variance between different ways to address the issue.  Some folk would regard
having performed the local build hard, painful, and bad (especially if the
software in question had many build-deps that were unsatisfied locally).  Others
almost always start with local compilation, considering a build in a structured
environment to be part of the test and deployment phase of their work.  I don't
believe either school of thought is inherently right or wrong, but I do believe
that it is important to make clear that folk who have already set up pbuilder
(as documented in the Getting Set Up) may alternately do a source-only build
and run the binary build in pbuilder (No, it doesn't matter much for hello, but
nearly all the cross-platform tools that provide front-ends for a variety of
desktop environments can significantly impact the user experience just by having
the build-deps installed).

  we're recommending use of dh-make, and then recommending deleting all the
  example files that it produces: this is another case where there may be more
  value in having two paths: one that goes through the dh-make files, and the
  other that just focuses on changelog, compat, control, copyright, and rules
  (of which 60% are trivially generated automatically).
 
 I'm not sure how this differs from the wiki-based guide where you find
 this, for example [2]:
 
 | Running dh_make creates the basic files needed in debian/ and many template
 | files (.ex) that may be needed. The Hello program is not very complicated, 
 and
 | as we have seen in the section called “Packaging From Scratch”,
 packaging it does
 | not require much more than the basic files. Therefore, let us remove
 the .ex files:
 |
 | cd debian
 | rm *.ex *.EX

It doesn't differ significantly at all.  My point was only that I don't 
think
this represents the best of what we could achieve if we attempt to streamline 
it,
making opinionated decisions of what to include and eliminate 'choose your own
adventure' style.  Plus, because there are so clearly two different ways to
introduce folk to all the various sorts of helper files (generally dh_*, but
also some of the older ones), it seemed a good candidate to illustrate the value
of multiple possible streams of documentation.

 The Sphinx-based guide also contains a knowledge base article about
 files found in the debian directory. I'd be happy to merge a branch
 that expands on the Additional Files section. [3]

Heh.  If I had such a branch, I'd be happy to propose it :)  For that 
matter,
I think we'd both prefer to review how to improve the current document from the
results of a real review, rather than issues cherrypicked for the sake of a
(somewhat) unrelated assertion.

  Aside from my general belief that as long as we are careful to weave 
  folk
  back into some central guide after each diversion, 
  choose-your-own-adventure is
  the right model, I am *completely* certain that we should discuss .desktop
  files in the Packaging Guide: it's the means by 

Re: Deprecating the wiki-based Packaging Guide

2012-12-17 Thread Mike Carifio
On 12/17/2012 08:11 PM, Emmet Hikory wrote:
 Andrew Starr-Bochicchio wrote:
 On Mon, Dec 17, 2012 at 4:53 PM, Benjamin Drung bdr...@ubuntu.com wrote:
 Am Montag, den 17.12.2012, 16:01 -0500 schrieb Andrew Starr-Bochicchio:
 1) Send a last-call anouncement to ubuntu-devel requesting bug reports
 about any missing material. Announce steps 2 and 3 will take place
 after one month.
 2) Move the entire PackagingGuide wiki namespace en masse to
 PackagingGuideDeprecated.
 3) Redirect wiki.ubuntu.com/PackagingGuide to
 developer.ubuntu.com/packaging/html/
 4) After six months (one full development cycle)
 PackagingGuideDeprecated will be deleted.

 This is the mail referred to in step 1. In one month, I will move the
 entire PackagingGuide wiki namespace enmass to
 PackagingGuideDeprecated and set up a redirect. If you feel that there
 are any critical pieces of information that are missing from the
 Sphinx-based Ubuntu Packaging Guide, now is the time to file bugs (and
 provide patches). [4]
 Will these bugs tracked and fixed before step four? We should only
 remove the wiki based guide if all missing pieces from it are available
 in the Sphinx-based packaging guide.
 That said, I do think it is important to point out that all missing
 pieces will never be completely ported to the new guide.  A large
 part of the reason for making the new guide in the first place has
 been to streamline it, making opinionated decisions of what to
 include, and eliminate the choose your own adventure style of the
 old guide. For instance, do we really need to discus desktop files and
 POD based manpages in the Packaging Guide?
 While I'm all in favour of a return to a managed (and packagable)
 packaging guide, I think there is value in being clear that folk who wish to
 package have a plethora of options available: by all means, let's advocate the
 latest labour-saving mechanisms, but at the same time, I think we need to
 avoid anything that implies there is some magic one true way to package.  At
 least in the current text presented at developer.ubuntu.com, the suggestions
 on packaging new software recommend local compilation, which often hides all
 sorts of issues, although it significantly reduces the apparent setup required
 to get involved: I don't believe there is a good answer as to how folk should
 do this: some may prefer to set things up to match what they think most
 developers use, and others may just want to get something done.  Similarly,
 we're recommending use of dh-make, and then recommending deleting all the
 example files that it produces: this is another case where there may be more
 value in having two paths: one that goes through the dh-make files, and the
 other that just focuses on changelog, compat, control, copyright, and rules
 (of which 60% are trivially generated automatically).  Different folk learn
 differently, and as long as we're documenting things that we expect to be
 used not only for new packaging, but also for patching existing packages,
 it behooves us to ensure that we have coverage of all the different ways that
 packages might behave, and some guidance on how to discover when to apply any
 given rune from some assembled grimoire (assuming it will take some practice
 for folk to learn the tools well enough to remember how to do things without
 looking at their notes).


I come at this differently. Although we may take packaging seriously, I
would say that many devs don't view it
as the main event. They are looking for the one true way to package
because its a means to an end. If there isn't one
or isn't a small number of them, then maybe that's an indication of a
deeper problem.

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