newbie porter questions

David Syphers dsyphers at
Sat Aug 21 17:16:58 PDT 2004


I'm trying to make my first port, and I have a few questions that I don't see 
answers to in the Porter's Handbook.

First, I have a script that does the installation. I call it with a do-install 
in the Makefile, '@(cd ${SCRIPTDIR} && ./mod_install)'. portlint is 
complaining that I'm using absolute pathnames. Unfortunately, it's right. How 
do I avoid that? The variables $LOCALBASE, etc. aren't defined in my script. 
When I've looked at other ports that use scripts, these variables just seem 
to show up magically (they don't define them, but they can use them). How do 
I use these variables?

Second, the program I'm installing claims it needs its own user. I'm trying to 
figure out if that's really true, but if it is, how should I go about 
installing a user from a port? The only port I could think of off the top of 
my head that did that is apache, but they have a benefit of having a standard 
user with a reserved userid, 80. Is there some way of figuring out which is 
the next available userid, or should I give up and ask people to run adduser 
themselves? This is a real user, that needs to be able to log in.

Lastly, I've modified the install scripts that come with the program so that 
they're no longer interactive. However, they become interactive if there's a 
failure - rather than just fail, they try to get useful input from the user 
so they can continue. In this case, should I define IS_INTERACTIVE? If I do, 
but want to enable package builds, what's the right way of doing:

.if (!defined(PACKAGE_BUILDING))
       IS_INTERACTIVE= yes

The code is wrong, of course, but I don't know what the right way is. I assume 
it's obvious to humans what I'm trying to do, if not computers...

Oh yeah, one last thing. The program's install manual keeps asking me to do 
'cat /[path]/[file] | zcat | tar -xpf - '. Is there any reason that's 
preferable to 'tar -xzpf - /[path]/[file]' ? And what does the '-' by itself 
do? I couldn't seem to find an answer in tar's manpage.

Thanks for the help,


P.S. Please cc: me.

+++ Divide By Cucumber Error. Please
Reinstall Universe And Reboot. +++

More information about the freebsd-ports mailing list