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

Re: [transcript] source package formats



On Sun, 19 Mar 2000, Joey Hess wrote:

> [ This is a transcript of a conversation on the Debian developer irc
>   channel. Note that Diziet is Ian Jackson. This transcript has been edited
>   for clarity and to remove other simulantaneous conversations. ]

Thanks Joey for posting that.

Ok, now for some fun stuff.

In the transcript, it is mentioned that I wrote dbs.  It is a multi-tarball,
multi-patch system, that is currently in use by several pkgs.  However, it has
its drawbacks, the 2 most glaring that it hides the source in subtrees, all
packed up, and that it doesn't extract into <pkg>-<ver> directly.

So, I decided to do something about that finally.  Below is an example dsc
format that I have come up with.

===
Source: xawtv
Format: 2.0
Version: 3.07-2
Binary: xawtv, fbtv, radio, streamer, webcam, xawtv-tools
Maintainer: Adam Heath <doogie@debian.org>
Architecture: any
Standards-Version: 3.1.1
Build-Depends: debhelper, autoconf, xlib6g-dev, xaw3dg-dev, libjpeg62-dev, xbase-clients
Files:
 93c152103ca081bd993bb216952a61be 293809 xawtv_3.07.orig.tar.gz
 c2b6e4c24fac3bb6c4318d3281929dba 16046 xawtv_3.07-2.tarballs.tar.gz
 05a79461096e2a1eefaad9ef8d28c421 2452 xawtv_3.07-2.patches.tar.gz
Patches:
 4177fc4c79df8d83eec24e5444064df5 455 000_fbtv_fhs.diff
 eb611f579f3e169c9f0007d76e10acf9 1185 001_i2c_header_fix.diff
 6f4317ba2194792a8b989542095164b2 1048 002_Makefile.in.sanity.diff
 e32cec754188fd133da14740ba91352b 4467 003_autoconf_parallel_compile.diff
Tarballs:
 49d09b3edefb8279dc0ae1df3a42d15b 15908 debian.tar.gz
===

You'll note the addition of 3 fields(Format, Patches, and Tarballs), and the
different files specified for the files field.  The existance of a Format
field can be used to see that this is a new format source package.  Currently,
my script doesn't use that.  It looks for a .diff.gz, and if found, assumes an
old format.

The current format has 3 files that are distributed with a source
package.  The .orig.tar.gz, a .diff.gz, and a .dsc.  With this new format, it
increases that count by 1.  I couldn't see a way around this however, while
still keeping with my intended outcome.

The entries listed in the Patches field are contained in the .patches.tar.gz
file.  Those listed in the Tarballs field are listed in the .tarballs.tar.gz
file.  The files listed are extracted in the sort order produced by ls, so
naming is important.  There is also no distinction between upstream and debian
only patches.

I currently have a script that can parse this new format, and extract both old
and new format archives.  It doesn't yet support building a .dsc from a
directory.  Also, I currently only support tar and gz, with plans for ar, zip,
jar, Z, bz, bz2, and whatever else exists that we can use in Debian.

A transcript of the scripts output follows:
===
$ ./unpack xawtv_3.07-2.dsc
Extracting xawtv in xawtv-3.07.
Extracting tarball debian.tar.gz.
Applying patch 000_fbtv_fhs.diff.
Applying patch 001_i2c_header_fix.diff.
Applying patch 002_Makefile.in.sanity.diff.
Applying patch 003_autoconf_parallel_compile.diff.
===

----BEGIN GEEK CODE BLOCK----
Version: 3.12
GCS d- s: a-- c+++ UL++++ P+ L++++ !E W+ M o+ K- W--- !O M- !V PS--
PE++ Y+ PGP++ t* 5++ X+ tv b+ D++ G e h*! !r z?
-----END GEEK CODE BLOCK-----
----BEGIN PGP INFO----
Adam Heath <doogie@debian.org>        Finger Print | KeyID
67 01 42 93 CA 37 FB 1E    63 C9 80 1D 08 CF 84 0A | DE656B05 PGP
AD46 C888 F587 F8A3 A6DA  3261 8A2C 7DC2 8BD4 A489 | 8BD4A489 GPG
-----END PGP INFO-----


Reply to: