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

re: packaging perl programs



> I want to pack a simple perl script (http://proxytunnel.sourceforge.net/
> files/pixelserv.pl.txt) as a package, but need your help.

You should have a close read of the Debian Policy Manual:

  http://www.debian.org/doc/debian-policy/

...specifically: Section 10.7 "Configuration Files" which suggest /etc/...

For getting started building packages, you should start with the "New Maintainers Guide":

  http://www.debian.org/doc/manuals/maint-guide/

For the short term, you can mess around with it as if it were a "debian native package" (in that there is no difference between "upstream" and the debian package).  Since it's is a single perl file, it will be easy to update anyway since you don't have any compilation issues, cross-platform issues, or managing multiple patches issues, which is "easier" to handle with an "upstream" package, but a much more complicated packaging strategy.

Follow Section 2.9 with "dh_make", make a Makefile (possibly with only an "install" target), and use dpkg-buildpackage to have it make a package.  You'll need to update a lot of stuff in the "debian/*" folder, anything with *.ex is an example, you can probably delete many of those.  The most important one is the "control" file and that's pretty much it.

Use apt-get source <pkgname> to find a similar package you can use as a model (I used the program "abcde" when building mine b/c I knew it was a simple shell script).  Recognize the difference between the *build* dependencies and the *install/run* dependencies, they can be wildly different (ie: gcc can be a build dependecy, but is very rarely a *runtime* dependency).

Then you'll use: lintian ../*.deb and it will complain about stuff you've messed up or forgotten to fix.

I'm pretty experienced with packaging software and it took me a bit less than a day of trial and error and getting experience with it.  Second packages should go much quicker.

Good luck!

--Robert


Reply to: