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

Re: Git? (Was: Team maint update)


Am Samstag, den 04.07.2009, 09:47 +1000 schrieb Erik de Castro Lopo:
> First of all I don't keep the upstream sources or tarballs in
> the VCS, only the debian directories and a directory for storing
> the md5sum and sha256sum of the upstream tarballs.
> >From what I have in Bzr, I have a Makefile that does the following:
>   - Retrieves the source code tarball from Cabal using the
>     debian/watch info.
>   - Compare the md5sum/sha256sum of the Cabal tarball against what
>     is stored values in Bzr.
>   - Extracts the sources.
>   - Applys the debian directory.
>   - Debiulds the package with  lintian enabled.

I like this approach. I’d modify it though, in that I’d not use a
Makefile, but rather extend debcheckout (which is a pretty nice tool) to
 * detect that there is no debian/ subdir in the repository, but rather 
   only the debian/ dir, recognized by the presence of a control,   
   changelog and rules file.
 * checks the debian archive for a .orig.tar.gz for the latest version
 * it none is found (e.g. this upstream version has not yet been 
   uploaded), uses the contents on ./watch to retrieve the tarball.
 * extracts the sources and adds the debian/ directory.

Then building the package is a plain "debuild -I". This also has the
advantage that people don’t need special tools to get packages from our
repository to build, only the standard debcheckout. Also this way this
feature will be available independent of the VCS used.

To get a package that’s already in the archive,
"debcheckout haskell-x11" will know what to do, thx to Vcs-* headers.
For those who are new in our repo, the explicit repository path can be
passed to debcheckout.

In this scheme, no md5checking is done. Not sure if this is a serious

Also creating a new package is pretty simple: Get the sources, fill
debian/ as usual (but don’t forget the watchfile), and then run
$ fakeroot debian/rules clean
$ cd debian/
$ darcs init
$ darcs add *
$ darcs put alioth:/darcs/pkg-haskell/haskell-x11
and that’s it!

Joachim "nomeata" Breitner
Debian Developer
  nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: 4743206C
  JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil

Reply to: