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

[RFC] Proposal for new source format



Hi

Debian in form of dpkg have a rather strict view on how our source
packages should look like.

- Files need to be compressed and are recorded as such, which is a hard
  problem and give rise to tools like pristine-tar and such.
- Different formats require different version formats.  The native
  sub-formats only allow native versions for example, leading to version
  mangling for packages like "linux-signed-*".
- Restrictions on what files needs to be in which tar for the quilt
  sub-format.
- The quilt sub-format can't be built without a correct orig tar.
- We have a large amount of git repositories that consists of
  source+patch, instead of read usable source, because using quilt is
  the only option we have.

During the tag2upload discussion, I think it got clear that it does not
fit anywhere.  And my standing is, that we can't implement such a
service properly without some core changes to how our sources look like.

I would like to have some comments on a large revision on the source
format.  It also needs modifications to dak to handle some parts of it.

- Source format version would be "4.0".
- Each source includes an arbitrary number of "tar" layers, which are
  applied sequentially and override files from previous steps.  I'm not
  sure if we need tombstones to be able to remove files.
- The tar files can be named the following ways:
  - $package_$version.tar
  - $package_$version.*.tar
  - $package_$upstreamversion.tar
  - $package_$upstreamversion.*.tar
- All files are recorded with their uncompressed checksum and the used
  transport compression is recorded in the dsc file.
- Either the existence of debian/patches/series or an explicit
  sub-format would do backward compatible setup with quilt.

dpkg-buildpackage would build a subset of this spec:
- .orig.tar
- .orig-*.tar
- .debian.tar

Other tools like the proposed tag2upload service can produce a different
subset.  They could ignore .orig if they don't have the info for example.

I'm missing things here, but I really would like to hear thoughts of
other people about it.  I also have no proof of concept yet.

Regards,
Bastian

-- 
A Vulcan can no sooner be disloyal than he can exist without breathing.
		-- Kirk, "The Menagerie", stardate 3012.4


Reply to: