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
