← Back to team overview

ubuntu-packaging-guide-team team mailing list archive

[Merge] lp:~andrewsomething/ubuntu-packaging-guide/lp942754 into lp:ubuntu-packaging-guide

 

Andrew Starr-Bochicchio has proposed merging lp:~andrewsomething/ubuntu-packaging-guide/lp942754 into lp:ubuntu-packaging-guide.

Requested reviews:
  Ubuntu Packaging Guide Team (ubuntu-packaging-guide-team)
Related bugs:
  Bug #942754 in Ubuntu Packaging Guide: "What's the relationship between packaging-new-software and udd-newpackage?"
  https://bugs.launchpad.net/ubuntu-packaging-guide/+bug/942754

For more details, see:
https://code.launchpad.net/~andrewsomething/ubuntu-packaging-guide/lp942754/+merge/116303

This branch drops the udd-newpackage page all together. It's contents
are sufficiently covered in the packaging-new-software page. It's confusing
to have both of them. The both describe UDD methods, using 'bzr dh-make', etc.

There was a nice tip on watch files for projects hosted on LP. I added that
to the discussion of watch files in the debian-dir-overview article.

The main thing that we will lose is the discussion of using stdeb for Python
setuptools-based packages. I'd argue that that is out of scope for the article.
The nice thing about version control, of course, is that nothing is gone completely.
This info would probably be better suited to a python packaging article, see
bug #702008.
-- 
https://code.launchpad.net/~andrewsomething/ubuntu-packaging-guide/lp942754/+merge/116303
Your team Ubuntu Packaging Guide Team is requested to review the proposed merge of lp:~andrewsomething/ubuntu-packaging-guide/lp942754 into lp:ubuntu-packaging-guide.
=== modified file 'debian/changelog'
--- debian/changelog	2012-07-08 06:59:21 +0000
+++ debian/changelog	2012-07-23 15:01:21 +0000
@@ -17,6 +17,8 @@
   * Install the html/_sources dir. They are linked to on the web site.
   * Adjust paths for new install locations
   * debian/rules: Add a get-orig-source target.
+  * Drop udd-newpackage page. It's contents are sufficiently covered in
+    the packaging-new-software page (LP: #942754).
 
   [ Andrew Starr-Bochicchio + Daniel Holbach ]
   * provide a means to ship per-language per-flavour packages, if a certain

=== modified file 'ubuntu-packaging-guide/debian-dir-overview.rst'
--- ubuntu-packaging-guide/debian-dir-overview.rst	2012-03-20 22:02:49 +0000
+++ ubuntu-packaging-guide/debian-dir-overview.rst	2012-07-23 15:01:21 +0000
@@ -319,6 +319,13 @@
  hello: Successfully downloaded updated package hello-2.7.tar.gz
      and symlinked hello_2.7.orig.tar.gz to it
 
+If your tarballs live on Launchpad, the ``debian/watch`` file is a little more
+complicated (see `Question 21146`_ and `Bug 231797`_ for why this is).  In
+that case, use something like::
+
+    version=3
+    https://launchpad.net/flufl.enum/+download http://launchpad.net/flufl.enum/.*/flufl.enum-(.+).tar.gz
+
 For further information, see ``man uscan`` and the `watch file section (Section 
 4.11) <http://www.debian.org/doc/debian-policy/ch-source.html#s-debianwatch>`_ 
 of the Debian Policy Manual.
@@ -372,3 +379,6 @@
 control, changelog, copyright and rules files. `Chapter 5, "Other files under 
 the debian directory" <http://www.debian.org/doc/maint-guide/dother.en.html>`_ 
 discusses additional files that may be used.
+
+.. _`Question 21146`: https://answers.launchpad.net/launchpad/+question/21146
+.. _`Bug 231797`: https://launchpad.net/bugs/231797

=== modified file 'ubuntu-packaging-guide/index.rst'
--- ubuntu-packaging-guide/index.rst	2012-06-26 16:02:09 +0000
+++ ubuntu-packaging-guide/index.rst	2012-07-23 15:01:21 +0000
@@ -60,7 +60,6 @@
    udd-latest
    udd-merging
    udd-patchsys
-   udd-newpackage
    chroots
    traditional-packaging
    kde

=== modified file 'ubuntu-packaging-guide/packaging-new-software.rst'
--- ubuntu-packaging-guide/packaging-new-software.rst	2012-07-07 22:07:37 +0000
+++ ubuntu-packaging-guide/packaging-new-software.rst	2012-07-23 15:01:21 +0000
@@ -5,7 +5,7 @@
 While there are thousands of packages in the Ubuntu archive, there are still 
 a lot nobody has gotten to yet. If there is an exciting new piece of software 
 that you feel needs wider exposure, maybe you want to try your hand at 
-creating a package for Ubuntu or a PPA. This guide will take you through the 
+creating a package for Ubuntu or a PPA_. This guide will take you through the 
 steps of packaging new software.
 
 You will want to read the :doc:`Getting Set Up<./getting-set-up>` article first
@@ -182,7 +182,7 @@
 and give an easy way for you and others to test the binary packages.
 You will need to set up a PPA in Launchad then upload with ``dput``::
 
-    $ dput ppa:<lp-username> hello_2.7-0ubuntu1.dsc
+    $ dput ppa:<lp-username> hello_2.7-0ubuntu1.changes
 
 See :doc:`uploading<./udd-uploading>` for more information.
 
@@ -217,6 +217,7 @@
 package will make it into Ubuntu in time for the next release. This
 process is documented on the `"New Packages" section of the Ubuntu wiki`_.
 
+.. _PPA: https://help.launchpad.net/Packaging/PPA
 .. _`posted on GNU.org`: http://www.gnu.org/software/hello/
 .. _`packages.ubuntu.com`:  http://packages.ubuntu.com/
 .. _`lintian website`: http://lintian.debian.org/tags.html

=== removed file 'ubuntu-packaging-guide/udd-newpackage.rst'
--- ubuntu-packaging-guide/udd-newpackage.rst	2012-02-29 10:05:20 +0000
+++ ubuntu-packaging-guide/udd-newpackage.rst	1970-01-01 00:00:00 +0000
@@ -1,173 +0,0 @@
-======================
-Building a new package
-======================
-
-Let's say I have an upstream project that is not yet available for Ubuntu.  I
-want to create a package from this project and make it available as a PPA_ so
-that other people can more easily use the code.  This also makes a good first
-step in contributing your package to universe_.
-
-
-Example package
-===============
-
-I started with a Python library called `flufl.enum`_, which is a fairly
-typical setuptools-based Python package.  Fortunately, it's also maintained in
-Launchpad using Bazaar, so that makes bootstrapping much easier.
-
-Because we want to package the trunk branch, getting started is pretty
-simple::
-
-    $ bzr init-repo flufl.enum
-    $ cd flufl.enum
-    $ bzr branch lp:flufl.enum trunk
-    $ bzr branch trunk debianize
-    $ cd debianize
-
-.. TODO explain what each of these commands does
-
-
-Bootstrapping
-=============
-
-You need to create the initial ``debian`` directory, as well as the necessary
-files inside the ``debian`` directory.  Currently, there are many ways to set
-up this directory, but hopefully there will be `some convergence`_ in the
-methods, especially if you're building standard Python setuptools-based
-libraries and applications.
-
-.. COMMENT  Is "Bootstrapping" the technical / commonly-used developer term? Also, please list the files needed in the debian directory.
-  
-
-The bzr-builddeb way
---------------------
-
-You could use the ``dh_make`` command to get things going, or similarly the
-``bzr dh-make``.  The latter might provide some benefits, and can be run like
-so from inside your branch::
-
-    $ bzr dh-make PKGNAME VERSION DOWNLOADURL
-    $ bzr add debian
-
-If you don't have a URL to download a tarball from, you'll need to create the
-tarball locally first.  Use ``bzr dh-make --help`` for details on this command.
-
-After you've created the ``debian`` directory template, be sure to ``bzr rm``
-any ``debian`` files you don't need (e.g. the ``*.ex`` files), and edit files
-such as ``debian/control``, ``debian/watch``, ``debian/copyright`` and
-``debian/changelog``.  The following section may give you some hints about
-that.
-
-
-The stdeb way
--------------
-
-Another way for creating the initial ``debian`` directory for Python
-setuptools-based packages, is to use the stdeb_ package.  The full
-documentation for this package is available on the `upstream home`_, but you
-won't need all of the commands.  stdeb has a command that is *exactly* what
-we're looking for!
-
-In either case, start by putting this in your ``~/.pydistutils.cfg`` file::
-
-    [global]
-    command.packages:stdeb.command
-
-
-Modern stdeb
-~~~~~~~~~~~~
-
-Here's how easy it is::
-
-    $ python setup.py debianize
-    $ bzr add debian
-    $ bzr commit -m'Debianize'
-
-We also need a ``debian/copyright`` file.  Normally, we'd use ``dh_make -c``
-for that but again, that doesn't play nicely with UDD.  ``dh_make`` expects a
-particular file system layout that we don't have.  No matter, we'll add the
-copyright file manually::
-
-    $ cp /usr/share/debhelper/dh_make/licenses/lgpl3 debian/copyright
-    $ edit debian/copyright
-    $ bzr add debian/copyright
-    $ bzr commit -m'Added copyright file'
-
-
-stdeb <= 0.5.1
-~~~~~~~~~~~~~~
-
-If you have an older version of stdeb, use this command to create the basic
-``debian/`` directory layout::
-
-    $ python setup.py sdist_dsc
-
-This command leaves you with a ``deb_dist`` directory containing a
-``flufl.enum_3.0.1`` directory.  Inside that is your ``debian/`` directory.
-Because we're using UDD we don't care about anything else that ``sdist_dsc``
-produces, so we can shuffle things around and remove the cruft.
-
-    $ mv deb_dist/munepy-2.0.1/debian .
-    $ rm -rf deb_dist
-    $ bzr add debian
-    $ bzr commit -m'Add debian directory'
-
-
-pkgme
------
-
-pkgme_ is a new tool that makes it easy to Debianize a new package.  TBD:
-describe how to use it.
-
-
-debian/control file
-===================
-
-You probably want to edit the ``debian/control`` file at this point, adding
-any information that's missing, or fixing incorrect default information.  For
-example, I needed to modify the ``Maintainer`` and ``Description`` fields, and
-add ``X-Python-Version`` and ``Homepage`` fields.
-
-Now we want to build the source package.  The easiest way to do that is with
-the ``bzr-builddeb`` plugin, however this requires a valid ``debian/watch``
-file so that builddeb can find the upstream tarball.  This really should match
-the version of the checkout you've made.
-
-
-debian/watch file
-=================
-
-Here for example is the ``debian/watch`` file I'm using::
-
-    version=3
-    http://pypi.python.org/packages/source/f/flufl.enum/flufl.enum-(.*).tar.gz
-
-If your tarballs live on Launchpad, the ``debian/watch`` file is a little more
-complicated (see `Question 21146`_ and `Bug 231797`_ for why this is).  In
-that case, use something like::
-
-    version=3
-    https://launchpad.net/flufl.enum/+download http://launchpad.net/flufl.enum/.*/flufl.enum-(.+).tar.gz
-
-So, then it's a matter of...::
-
-    $ bzr add debian/watch
-    $ bzr commit -m'added debian/watch file'
-
-
-Building the source package
-===========================
-
-Now we can build the source package and publish the package as we normally
-would, with ``bzr builddeb -S`` and ``dput``.
-
-
-.. _PPA: https://help.launchpad.net/Packaging/PPA
-.. _universe: https://wiki.ubuntu.com/MOTU/GettingStarted
-.. _`flufl.enum`: http://launchpad.net/flufl.enum
-.. _`some convergence`: http://launchpad.net/bugs/545361
-.. _stdeb: http://packages.ubuntu.com/lucid/python-stdeb
-.. _`upstream home`: http://github.com/astraw/stdeb#the-commands
-.. _pkgme: https://launchpad.net/pkgme
-.. _`Question 21146`: https://answers.launchpad.net/launchpad/+question/21146
-.. _`Bug 231797`: https://launchpad.net/bugs/231797


Follow ups