Hi,

On Tue, Jul 24, 2007 at 06:01:38PM -0400, Yaroslav Halchenko wrote:
<snip>
> > I guess an evil solution to *** that doesn't cause problems with ###
> > would be to create a dummy source package that Build-Depends: on the
> > exact version of the package it builds, so that uploads include a
> > >...<
> here is where I got stuck with such approach: conventionally I just
> dgetted sources and tried to build the package with dpkg-buildpackage.
> Of cause I failed to accomplish the mission since Build-Depends weren't
> satisfied... so indeed it seems to be confusing or my brain is not
> working now...
> 
> My suggestion (I might be duplicating someone else' idea, please pardon
> me) -- for arch 'all': automatically download (copy) data during
> build of the package.  I know that somewhere now I will hit the roof in
> debian policy, but for whatever it is worth.
I tried to implement Anthony Towns idea of the 'empty' source packages. I
attached a tarball with my current draft. It contains a source package and the
two binary packages it builds.

If you want to try it, extract the source package (and do not install the
binary packages). Try building it -- it fails because the binary
packages with the required data is missing. Override the
dependency-check with e.g. debuild -d

Now the package builds the two binary packages that are also in the
tarball. This is achieved by invoking an included script that gets the
data from 'upstream'.

The source package makes use of CDBS and debhelper. The core parts are
the rules file with two special targets:
 - orig-src: build the orig.tar.gz (what else)
 - populate-src-package: import the required datasets from available
   sources.

+ a special clean target.

The core of the populate-src-package target is a call to a script called
dh_datapkg. It checks whether the binary packages (it builds) are
installed and copies the required datasets from the installed packages
using dh_install configuration. When no binary packages are availabe it
invokes a custom script that can download the data from somewhere (or
whatever).

The 'special' clean target takes care of adding the build-dependencies
to all arch indep packages that are build by the source package and also
cleans the datasets from the source package -- again by using dh_install
configuriation.

I applied this idea to two different 'in-house' data packages with each
1GB we use here and it seems to be a flexible and convenient approach.

However, one currently cannot use everything that debhelper allows you
to do (dh_installexamples, dh_installdocs). But I think this 'empty'
source package concept should be limited to real dataset packages, so
this should not be a major problem.

Any comments?

If such package with 800 MB of brain data would hit the NEW queue, what would
happen?

Is it still to big? Should the upstream license be part of the orig.tar.gz
or is the debian/copyright sufficient? Anything else missing?


Cheers,

Michael


-- 
GPG key:  1024D/3144BE0F Michael Hanke
http://apsy.gse.uni-magdeburg.de/hanke
ICQ: 48230050

Attachment: datapkdemo.tar.gz
Description: Binary data

Attachment: signature.asc
Description: Digital signature

Reply via email to