On Sat, Mar 28, 2009 at 06:42:50PM -0500, Brooks Davis wrote: > On Sat, Mar 28, 2009 at 04:07:30PM -0400, Jerry wrote: > > On Sat, 28 Mar 2009 12:43:13 -0500 > > Brooks Davis <bro...@freebsd.org> wrote: > > > > >On Sat, Mar 28, 2009 at 01:33:15PM -0400, Jerry wrote: > > >> I have a Perl program that I am thinking of porting to FreeBSD. The > > >> program has to be installed in the 'cgi-bin'. > > >> > > >> I was thinking something like: > > >> "$(WWWDIR}/apache${APACHE_VERSION}/cgi-bin" might be the way to > > >> direct the install to the correct directory. Is there a better way? > > >> I cannot find a macro that directly references the cgi-bin. > > > > > >We have a policy against installations that would automaticlly be on > > >the network. You need to install it elsewhere (often a directory > > >under WWWDIR) and tell people how to add the appropriate configuration > > >directives to http.conf or to copy the file into cgi-bin in > > >pkg-message. > > > > > > The program is DADA Mail. It installs a 'mail.cgi' in the cgi-bin and > > then installs the rest of its files, perl modules, etc. in a hierarchy > > several layers deep in the cgi-bin directory. We are talking > > about a lot of files here. Expecting the end user to properly move the > > files from a temporary directory to the cgi-bin and then properly > > changing the file(s) properties would seem a little extreme. However, > > if that is the only way I can do it, I will investigate writing a > > script that the end user could invoke to accomplish this feat. It does > > seem a little over the top however. Due to the way DADA Mail is > > written, the author does not believe it can be run from other than that > > directory along with its associated files. > > Sounds seriously broken. :) I might suggest installing in www/dada and > providing a script to make appropriate symlinks along with an instruction > to enable following symlinks in cgi-bin. It seems like shockingly bad > design to require that it live at http://.../cgi-bin/mail.cgi, but > that's certainly not uncommon. :(
Jerry, take a look at how other ports do it - e.g. mail/qmailadmin or devel/viewvc. Both of those install files into separate directories and then expect the user to symlink the CGI directory to something within the user's "real" cgi-bin directory, and possibly symlink a data directory into something within the user's "real" data directory. Thus, the CGI script is at http://hostname/cgi-bin/qmailadmin/qmailadmin.cgi with the option of someday adding e.g. cgi-bin/qmailadmin/somethingelse.cgi by simply placing it within the symlinked directory. Of course, the symlinks may also be avoided by using Apache's Alias and ScriptAlias directives :) Either way, the major point is that once you learn to live with all files being in cgi-bin/progname/ instead of just cgi-bin/, it's just a matter of symlinking (or aliasing) a single directory instead of each and every file within it. G'luck, Peter -- Peter Pentchev r...@ringlet.net r...@space.bg r...@freebsd.org PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 .siht ekil ti gnidaer eb d'uoy ,werbeH ni erew ecnetnes siht fI
pgpioOldm8pFe.pgp
Description: PGP signature