Sometimes we are lucky and upstream uses signed git tags. That still does not 
help us to verify the orig.tar.gz. It can however still be very useful.

If we store some git objects in debian/upstream/.../ than we can at least 
verify those files that are the same in the tarball and in the tagged git 
commit.

We need to store the git tag, git commit and all tree objects from the tagged 
commit. Then we have trusted sha1 signatures of all files from the tagged git 
commit. The tarball might contain additional files, e.g. compiled stuff or 
configure files, but we don't want to rely on those anyways.

Maybe this file structure?

debian/upstream/git
  objects // flat structure, unlike gits two level structure
    5f19d6d7380dc9416f5f852e8b3a9c06f239cb93 // plain, no zlib compression
  refs
    tags
      1.0.3 // same as in git

Objects are not compressed since they end up in a tar.gz anyways. The objects 
store does not contain any blobs, only tree, commit and tag objects.

Somebody wants to write the necessary tools (in haskell...)?  

Thomas Koch

Reply via email to