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

Re: The difficulty or ease of packaging Perl/Python/Ruby/PHP applications

Gabor Szabo dijo [Mon, Jan 21, 2008 at 09:14:34PM +0200]:
> Hi,
> I am not frequently writing and even then I mostly make just noise...

Well, quality noise is better than just reading automatic messages ;-)

> I am not sure how much cross-language and application level packaging
> experiences do you have but your are the only Debian people I know so I am
> asking this here :-)
> (...)
> So which applications are easier to package in Debian? Those written
> in Perl, Python,
> Ruby or PHP? Is there some clear line there or is that just really
> different from
> application to application?
> Is there something the Perl community can learn from the others that
> will make the life
> of the (Debian) packagers easier?

The difference is not language-wide, IMHO, but goes a couple of levels
further down. Just as a first note, I understand here you are talking
about web-facing applications, not applications in general. Desktop
applications are IMHO simpler, as you only have to drop the libraries
in a suitable place, be it @INC if they are meant to be shared, or
/usr/share/your_app_name/lib (or something like that) otherwise, and
the "binary" (be it a binary or a script) in /usr/bin. The user
invokes it, and everybody is happy.

Web-facing applications require the webserver to be configured to
include them - and it ranges from very simple/simplistic
(i.e. dropping a CGI written in whatever language you fancy in
/usr/lib/cgi-bin is mostly like dropping a binary that launches a
desktop application in the proper place) to almost-straightforward
(most web servers will do the right and sensible thing when facing
*.php after configuring them only once [1]). 

I am not familiar with Trac, which you are quoting as an example of
something that Just Works(tm). But I have been through the pain of
explaining a complete newbie how to install mod_perl-based
applications I've written. On the Ruby front, most web applications
are currently based on Rails - and that will require you to run an
application server and proxy the HTTP requests to it - not a daunting
task, but not something every user will understand. Even less so if
you want to configure it properly for a heavy-loaded site. And no, I
have not seen a credible attempt to package either a Rails or a
mod_perl-based application for Debian - The job usually requires heavy
tweaking on conffiles, which is usually left to the users.

But on the other hand, when talking about the dependencies, PHP
systems are great for their ability to break at the wrong time and
place. Usually they have a page with a checklist so that sysadmins can
check out whether the prerequisites are all installed... But
fulfilling the requests is _not_ very easy for a newcomer. A mod_perl
application just won't run if it uses some unavailable modules - It
will rather refuse to start. I think it is a less friendly but more
correct answer...


[1] And the right and sensible thing would be, of course, to reply
    with a 401 unauthorized error, right?

Gunnar Wolf - gwolf@gwolf.org - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973  F800 D80E F35A 8BB5 27AF

Reply to: