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

Help reqd for packaging vtk debs.



hi,

	I am not on this list so please cc me in on any replies.

	Just made a set of debs for vtk.  Have a few doubts.  vtk is a
very large package and makes 6 sub packages! vtk, vtk-tcl, vtk-python,
vtk-java, vtk-dev and vtk-examples.  It takes almost 2 hours to build
the deb (almost 1:50mins to compile) on a PIII 450.  I have somehow
made a set of debs.  There are several questions I have though.  Some
are answered in the policy manual and some are not.

	vtk is a multi library package. 6 packages in all, 4 arch dep
and 2 arch indep.  I had previously made rpms for it (vtk-2.2).  I
have since moved to debian and need to make debs now.

(1) It is impossbl to package anything if one has to rebuild for 2 hrs
if one makes a small mistake.  The wonderful thing about debian is
that it is designed with the traditional unix philosphy.  A combo of
small packages that do their respective jobs are combined to do
powerful things.  I looked at dpkg-buildpackage and just commented out
stuff i didnt want to redo...  I also realised that by editing stuff
in the corresponding debian/package-name dir I can remake the package
with fakeroot dpkg-deb --build.  I can also recreate the diff by
making a separate unpack of the orig and modified sources (with the
latest changes necessary in the source) and then running dpkg-source
-b <directory>.  But I need to create the .dsc and .changes with the
newly modified deb, diff and all.  the dpkg-source command will create
the .dsc and I need to sign it.  Is it enough if I run (as done in
dpkg-buildpackage) the foll.

pgp -u Prabhu Ramachandran <prabhu@aero.iitm.ernet.in> +clearsig=on \
-fast < vtk_3.1-1.dsc  > vtk_3.1-1.dsc.asc

mv -- vtk_3.1-1.dsc.asc vtk_3.1-1.dsc

and then run dpkg-genchanges > vtk_3.1-1_i386.changes
and similarly sign the changes.

now is this enough?  If it is then without rebuilding from scratch one
can hack a package in this way.  The way I do this is to keep the
debian/ stuff that I added and the files that need to be patched in a
separate dir and edit it if necessary.  Then after any change I just
back up this dir and voila new debian package without recompile. :)
Yes I need to be careful but for the case in point I just needed to
edit the postinst script for the python package.

(2) vtk-examples are huge 5MB when untarred.  Originally (for my rpms
and the first set of debs) I put it into /usr/lib/vtk/.  Debian policy
requires it in the usr/doc/vtk/examples/ dir.  Am I forced by policy
to put the stuff into /usr/doc ??  

(3) lintian -i <package>, for the library packages cribs that doing an
ldconfig for packages that are in the /usr/lib directory is
unnecessary.  Is that true? I thought if one added _any_ new library
one has to do an ldconfig.  Or is it a bug in lintian?  It also wants
all scripts with #! to be executable, with the right executable - I
have to run perl (not hard to do) to change each offending example!
Is that necessary?

(4) how does one use dh_undocumented .  "vtk", an executable for
vtk-tcl is undoc.  So do i just need to say

	echo "vtk.1" > debian/vtk-tcl.undocumented

I dont have the fsstd doc and the vtk executable is X based and
requires a valid $DISPLAY.  So what do I do?

(5) VTK creates tcl, python and java libraries that can be used from
the respective languages.  Pl. help me with the foll.

(a) The tcl extension requires only libs and an executable and I put
them in /usr/lib/ and /usr/bin.  The package is in the section
interpreters and is called vtk-tcl.  This is ok I guess.

(b) The python extension requires libs and .py files.  The package is
called vtk-python.  Or should it be python-vtk?  I have put the
files now in /usr/lib/vtk/python (the default).  Do I need to put it
in /usr/lib/site-python/vtk/ or in /usr/lib/python-1.5/vtk/ ?  I dont
know if it is version dependent and am finding out now from the
creators of vtk.  This package too is in the section interpreters.

(c) The java package (vtk-java) installs libs, and classes (*.class
files).  Ive put the libs in /usr/lib and the classes in the directory
/usr/lib/vtk/java/vtk. what is debian policy regarding this?  I dont
have a jdk deb on my box and am using a tarball downloaded and
installed in /usr/local.  vtk-java is also in the section
interpreters.  Is this correct?

(6) I dont understand legalese so I dont know if vtk is DFSG
compliant.  Could someone help here? I can mail you the copyright.
Note: some of the vtk clasees (about 14 out of a total of 606) are
patented.  It is possible to compile it without the patented classes
though.


	I dont think I will have the time to become a full fledged
maintainer but wouldnt mind if someone could "proxy" for me.  What I
mean is that someone else who is already a maintainer for other
packages actually acts as the maintainer (and stays on all lists, does
the uploads etc.) and I just build the package and fix any bugs in the
packaging etc.  Is this at all possible??

thanks.
prabhu


Reply to: