[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#128077: Please mention native source packages in maint-guide



On Wed, Jan 09, 2002 at 12:02:26AM +0100, Adrian Bunk wrote:

> I've already discussed several times why this it is bad to package
> programs as native packages although they aren't written specifically for
> Debian. Consider e.g. the following examples:
> - To fix a missing build dependency you have to release a new upstream
>   version of your program.
> - If your package is in stable and there's already a newer version of it
>   in unstable you have to create a seperate branch of upstream development
>   when you backport a fix to the package in stable (this is perhaps a bit
>   hairsplitting...).
> 
> Compare these oddities with the fact that there are _no_ problems for you
> to package your program non-native while including a complete debian/
> subdir in the upstream version and I hope you understand why it's better
> to package your program non-native.

Here is my own list of reasons that I have used when discussing this issue with
upstreams.  Some of these don't apply to the case where the upstream maintainer
is also the Debian maintainer, but I include the complete list here for
informational purposes.

- The Debian development cycle is mostly orthogonal to the upstream development
  cycle.  Usually, several releases of a Debian package will be made for a
  single upstream release.  If the Debian packaging information is shipped with
  the upstream source, it will either be continually out of date (and perhaps
  even broken), or new releases will have to be made with no substantial
  changes for non-Debian users.

- For the same reason, the Debian maintainer would have to have write access to
  the upstream CVS repository.  This is often otherwise unnecessary or 
  undesirable.

- Debian tools make it very easy for the user to build their own .debs from
  source.  In fact, they don't even need to locate and download the upstream
  source, as this is managed by the Debian packaging system and archive mirror
  network.  For example, a simple recompile (taking into account, say, a local
  CFLAGS or DEB_BUILD_OPTIONS environment variable) can be done with a single
  command:

  apt-get source -b <package>

  Building a version with more extensive modifications is almost as easy:

  apt-get source <package>
  cd <package>-<version>
  # Edit source files, change configuration, etc.
  dpkg-buildpackage

- Debian source packages essentially consist of a copy of the upstream source
  tarball (intact, when possible, so that signature verification and the like
  can be performed) and a compressed diff which includes any debian-specific
  changes.  This makes it easy for the user to recognize what changes were made
  to the source code for the Debian package, and allows the user to selectively
  add or omit such changes.

-- 
 - mdz



Reply to: