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
datapkdemo.tar.gz
Description: Binary data
signature.asc
Description: Digital signature