From owner-freebsd-ports@FreeBSD.ORG Sun Aug 22 00:51:31 2004 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BAB5616A4CE for ; Sun, 22 Aug 2004 00:51:31 +0000 (GMT) Received: from smtp.rdsnet.ro (smtp.rdsnet.ro [62.231.74.130]) by mx1.FreeBSD.org (Postfix) with ESMTP id E332743D41 for ; Sun, 22 Aug 2004 00:51:30 +0000 (GMT) (envelope-from itetcu@people.tecnik93.com) Received: (qmail 26805 invoked by uid 89); 22 Aug 2004 00:51:29 -0000 Received: from unknown (HELO it.buh.tecnik93.com) (81.196.204.98) by 0 with SMTP; 22 Aug 2004 00:51:29 -0000 Received: from it.buh.tecnik93.com (localhost.buh.tecnik93.com [127.0.0.1]) by it.buh.tecnik93.com (Postfix) with SMTP id 09B1E10A; Sun, 22 Aug 2004 03:51:27 +0300 (EEST) Date: Sun, 22 Aug 2004 03:51:25 +0300 From: Ion-Mihai Tetcu To: David Syphers Message-Id: <20040822035125.25ed2cc8@it.buh.tecnik93.com> In-Reply-To: <200408211717.00316.dsyphers@u.washington.edu> References: <200408211717.00316.dsyphers@u.washington.edu> X-Mailer: Sylpheed-Claws 0.9.12 (GTK+ 1.2.10; i386-portbld-freebsd5.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit cc: freebsd-ports@freebsd.org Subject: Re: newbie porter questions X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2004 00:51:31 -0000 On Sat, 21 Aug 2004 17:17:00 -0700 David Syphers wrote: > Hi, > > 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)'. Is this really necessarily ? > 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? In makefile pass them as ./my_install foo bat and access them as $1, $2 etc. in the script > 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? Take a look at security/clamav and man pw. > 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? There is a list of reserved uids in Porter Handbook; when submitting your port you should also add a diff to that. > This is a real user, that needs to be able to log in. If so your port must either be interactive or you create the account and disable it by default and tell the user to change its password and enable it. > 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 > .endif > > 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... Should work without parenthesis. On the other hand it shouldn't fail :) > 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]' ? I don't see any. On some platform tar doesn't know all it knows on FreeBSD, perhaps that's the reason. > And what does the '-' by itself do? I couldn't seem to find an answer > in tar's manpage. It is there. The last `f' means the file to read from and `-' is standard input. What port is it ? -- IOnut Unregistered ;) FreeBSD "user"