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

Re: Best Packaging Practices - collecting ideas (and texts!)



Although you might think this is obvious, it looks like a lot of people
don't understand how to do non-native uploads. Almost all of my
sponsorees send me one single tarball instead of an .orig file and a
.diff. I wrote this text some time ago and send it to anyone who does it
wrong:

---
First, there is the app-version.tar.gz you get from the original
website. You're not going to do anything with that one. (Only exception
might be bunzip2->gzip conversion, since dpkg tools can't handle bzip2
AFAIK) Well, one thing.. Rename it to app_version.orig.tar.gz .

Then, untar it and you'll hopefully get an app-version/ directory. If
the name is different, well, dpkg utilities can handle that. So, now you
got app_version.orig.tar.gz and app-version/ . Good!

Now, do whatever you want. Make a debian/ directory, make it good, make
it the best you've ever made. Make it a piece of art. Make it
high-quality, after all that's what Debian's all about.. And you should
know how that works, you've probably done it before.

When finished, 'dpkg-buildpackage -rfakeroot' in the app-version/
directory. All the stuff should be created now. First, two source files:

- app_version-debianrelease.diff.gz
  The patch we're looking for. This patch adds the debian/ directory
  and possibly some other Debian-specific program changes.
- app_version-debianrelease.dsc
  The descriptor file.. Contains MD5sums for all the source files.

And no tarball is created! After all, the tarball should exist already.
Also, the binary files are created:

- app_version-debianrelease_arch.deb
  The installable package. Possibly more binary packages, of course.
- app_version-debianrelease_arch.changes
  The changes file, necessary when you're going to upload the package.
  Note that genchanges is very stupid and arch is always your system's
  architecture, even for arch:all packages. Not a problem though.

Actually, the .changes file is created for source-only uploads as well..
But.. Heck..

Now it *is* possible that the dpkg tools create a .tar.gz . The apt and
dpkg source packages do this, for example. That's because those are
Debian-native and don't need a patch to be Debian-compliant,
fortunately. ;-) When your package is not native (especially if you're
not the upstream maintainer) it's very bad to do this.
---

Maybe a text like this would be useful in the manual..

-- 
+-------- .''`.     - -- ---+  +         - -- --- ---- ----- ------+
| lintux : :'  :  lintux.cx |  |       Today's random quote:       |
|   at   `. `~'  debian.org |  | ing man the packagin debiand be e |
+--- -- -  ` ---------------+  +------ ----- ---- --- -- -         +


-- 
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: