Hi people,

I'm trying to make a Debian package (.deb) for Perl, and I am running
into some problems which I hope those of you who are experienced with
Perl and with Debian packaging can help me out.

The project that I am working on was initially a monolithic .pl script,
which has grown to over 3000 lines. It uses gtk2-perl for its graphical
user interface, and it also uses also threads and inter-process
communication. Since gtk2 requires one to define many, many callback
functions, I figured that it would be more appropriate to use AutoSplit
and AutoLoader to make the program faster (because many of the callback
functions are rarely used.) Therefore, I decided to turn my .pl file
into a .pm file, gave it an appropriate package name, and set it up to
use AutoLoader, and to Export a single function. I also made a wrapper
function which would call the exported function and thus launch the
program. In this wrapper function, by changing the @INC to include the
local /lib folder, I was able to use the package which I had just made
and run the program accordingly (after AutoSplitting).

However, I found out about the MakeMaker utility, and I realised that I
could use it to make a Debian package of my program. Accordingly, I made
a Makefile.PL, and then a ./configure script with one line, 'perl
Makefile.PL'. Then, I followed the instruction given here:
https://wiki.ubuntu.com/PackagingGuide/Complete
to make source and binary packages for my program.
Unfortunately, it's here that I'm running into trouble. The last step,
in which I create a binary package using 'debuild' after having made the
source package with 'debuild -S', fails because lintian gives a bunch of
errors saying that I am installing into a prohibited directory. To
correct this, I looked in the Debian Perl policy
(http://www.debian.org/doc/packaging-manuals/perl-policy/)
and file system hierarchy section of the Debian Policy Manual
(http://www.debian.org/doc/debian-policy/ch-opersys.html)
but even so, I am more or less unable to figure out what to do. I
suspect the problem is just about the choice of installation directory,
but if it is so- could someone tell me where exactly I should install?
In fact, it would be really appreciated if you could just tell me what I
should put in the ./configure script. Otherwise, if you think the
problem is somewhere else, please let me know how I should correct it.

Thanks for having the patience to read through this :)

Mihir.

-- 
Mailing list guidelines and other related articles: http://lug-iitd.org/Footer

Reply via email to