Merge lp:~vorlon/ubuntu-packaging-guide/dont-recommend-packaging-dev into lp:ubuntu-packaging-guide

Proposed by Steve Langasek
Status: Merged
Merged at revision: 631
Proposed branch: lp:~vorlon/ubuntu-packaging-guide/dont-recommend-packaging-dev
Merge into: lp:ubuntu-packaging-guide
Diff against target: 34 lines (+2/-11)
2 files modified
ubuntu-packaging-guide/getting-set-up.rst (+0/-8)
ubuntu-packaging-guide/packaging-new-software.rst (+2/-3)
To merge this branch: bzr merge lp:~vorlon/ubuntu-packaging-guide/dont-recommend-packaging-dev
Reviewer Review Type Date Requested Status
Simon Quigley Disapprove
Benjamin Drung Disapprove
Review via email: mp+192244@code.launchpad.net

Description of the change

A new developer reported to me that he was having trouble upgrading his
system with an error about an apt DPkg::Post-Inovke hook failing courtesy of
adequate. We tracked this back to a recommendation in the ubuntu packaging
guide telling users to install 'packaging-dev' as a shortcut for getting a
dev environment. This package is not suitable for such a recommendation;
it's a catch-all package that depends on/recommends a lot of tools that are
*not* recommended by the Ubuntu developer community, and it includes
packages that are not meant to be run on a developer's host system but
should be used only for QA in a development chroot instead (e.g., adequate).

Please drop these references to packaging-dev. If we want a shortcut
package for setting up a packaging environment, there should be a public
discussion of this where we get consensus among Ubuntu developers about what
should be in such a package. Maybe it should be a roll-up off all the
individual packages that the packaging guide tells users to install; but it
should definitely not be a package that includes any ORed dependencies like packaging-dev does presently.

To post a comment you must log in.
Revision history for this message
Andrew Starr-Bochicchio (andrewsomething) wrote :

This sounds reasonable to me, but I'm going to request a review by bdrung as he's the one that wanted to recommend it in the first place.

Revision history for this message
Benjamin Drung (bdrung) wrote :

I invented packaging-dev to easily setup a system for packagers. It should depend on most packages that Ubuntu developers use (including those needed to contribute to Debian). It is intended for new developers who want everything they need. Developers who want a minimal installation should install the packages selectively instead of installing packaging-dev.

If packaging-dev depends/recommends tools that are *not* recommended by the Ubuntu developer community, it is a bug in packaging-dev. Please raise a public discussion for those questional packages. We already had some public discussion (IIRC on debian-devel) that influenced the depends/recommends/suggests list.

review: Disapprove
Revision history for this message
Steve Langasek (vorlon) wrote :

> I invented packaging-dev to easily setup a system for packagers. It should
> depend on most packages that Ubuntu developers use (including those needed
> to contribute to Debian). It is intended for new developers who want
> everything they need. Developers who want a minimal installation should
> install the packages selectively instead of installing packaging-dev.

> If packaging-dev depends/recommends tools that are *not* recommended by
> the Ubuntu developer community, it is a bug in packaging-dev. Please
> raise a public discussion for those questional packages. We already had
> some public discussion (IIRC on debian-devel) that influenced the
> depends/recommends/suggests list.

This is putting the cart before the horse. I participated in that
discussion on debian-devel, and explicitly said that I didn't care what was
in this package because it wasn't an official recommendation. But
apparently, this package has insinuated itself into the official Ubuntu
documentation without any kind of public comment process *in Ubuntu* about
what should be in that package.

This package in its current form is utterly unsuitable to point users at as
part of our quickstart documentation.

 - It pulls in packages that modify the host system's environment
   (piuparts).
 - It includes ORed dependencies. If we are going to recommend this to new
   developers, it's essential that it give them a consistent environment
   that matches our documentation, and not something that may vary depending
   on what the user happens to have previously installed, leading to
   "command not found" when reading the documentation.
 - It pulls in packages that should be taken out and shot, not recommended
   to developers (cdbs, svn-buildpackage).
 - It includes a random selection of packages that are not developer tools
   at all, but instead build-dependencies that might be needed by the
   developer when running the 'clean' target of a package. This leads
   developers down the garden path; instead of teaching them to use the
   tools in a way that will work consistently for all cases, it masks the
   problem for 95% of the packages and leaves them to trip over the last 5%.

I don't think it's useful for me to file a bug against packaging-dev for
this, because I think it's a significant philosophical departure from the
way the package is currently maintained. Having the package maintained in a
fashion that ensures its dependencies reflect best practices as agreed by
the Ubuntu developer community at large should be a prerequisite for
pointing to it in the packaging guide. Until that is the case, please
remove it from the documentation.

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

Switching status to Work In Progress so that it doesn't show up in the sponsoring queue.

Revision history for this message
Simon Quigley (tsimonq2) wrote :

This MP is no longer applicable, closing.

review: Disapprove

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'ubuntu-packaging-guide/getting-set-up.rst'
2--- ubuntu-packaging-guide/getting-set-up.rst 2013-04-25 18:04:22 +0000
3+++ ubuntu-packaging-guide/getting-set-up.rst 2013-10-22 21:17:51 +0000
4@@ -38,14 +38,6 @@
5 $ sudo apt-get install gnupg pbuilder ubuntu-dev-tools bzr-builddeb apt-file
6
7
8-Note: Since Ubuntu 11.10 "Oneiric Ocelot"
9-(or if you have Backports enabled on a currently supported release),
10-the following command will install the above and other tools which
11-are quite common in Ubuntu development::
12-
13- $ sudo apt-get install packaging-dev
14-
15-
16 This command will install the following software:
17
18 * ``gnupg`` -- `GNU Privacy Guard`_ contains tools you will need to create a
19
20=== modified file 'ubuntu-packaging-guide/packaging-new-software.rst'
21--- ubuntu-packaging-guide/packaging-new-software.rst 2013-10-15 14:07:44 +0000
22+++ ubuntu-packaging-guide/packaging-new-software.rst 2013-10-22 21:17:51 +0000
23@@ -60,9 +60,8 @@
24 ------------------
25
26 ``bzr-builddeb`` includes a plugin to create a new package from a template. The
27-plugin is a wrapper around the ``dh_make`` command. You should already have
28-these if you installed ``packaging-dev``. Run the command providing the package
29-name, version number, and path to the upstream tarball::
30+plugin is a wrapper around the ``dh_make`` command. Run the command providing
31+the package name, version number, and path to the upstream tarball::
32
33 $ sudo apt-get install dh-make
34 $ cd ..

Subscribers

People subscribed via source and target branches