From owner-freebsd-doc Sat Jun 22 23:43:40 1996 Return-Path: owner-doc Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id XAA04586 for doc-outgoing; Sat, 22 Jun 1996 23:43:40 -0700 (PDT) Received: from time.cdrom.com (time.cdrom.com [204.216.27.226]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id XAA04581 for ; Sat, 22 Jun 1996 23:43:37 -0700 (PDT) Received: from time.cdrom.com (localhost [127.0.0.1]) by time.cdrom.com (8.7.5/8.6.9) with ESMTP id XAA02571; Sat, 22 Jun 1996 23:43:16 -0700 (PDT) To: Annelise Anderson cc: freebsd-doc@freebsd.org, fdocs@jraynard.demon.co.uk Subject: Re: Revised ports entry for handbook In-reply-to: Your message of "Sat, 22 Jun 1996 19:17:36 PDT." <01I67XXHPFB600AE9A@HOOVER.STANFORD.EDU> Date: Sat, 22 Jun 1996 23:43:16 -0700 Message-ID: <2569.835512196@time.cdrom.com> From: "Jordan K. Hubbard" Sender: owner-doc@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > (by default) for the distfile in /usr/ports/distfiles; and that the > skeleton files include a Makefile; and finally that "make install" is > the basic command for making a port, and that it's invoked in the Actually, strictly speaking it's "make all" - make install just installs the bits made by make all. > Interesting, there's no evidence in my packages database for any port > I've ever done, except for those done using lndir. He means the database in /var/db/pkg - the pkg_add command updates this area. > Once this symbolic link is established (assuming a / between ports > and distfiles instead of a space), attempts to ftp for the source > tarball will fail, because the write will be to the cdrom. Nor will Not for some time - this is checked now and the ports framework will yell appropriately, like so: jkh@time-> make >> /usr/ports/distfiles//p2c-1.21alpha2.tar.gz is a broken symlink. >> Perhaps a filesystem (most likely a CD) isn't mounted? >> Please correct this problem and try again. *** Error code 1 (this is where I've deliberately unmounted my CD). > Script started on Sat Jun 22 13:54:07 1996 > andrsn: {1} make > >> cku190.tar.gz doesn't seem to exist on this system. > >> Attempting to fetch from ftp://kermit.columbia.edu/kermit/archives/. > NcFTP: and . (30): Read-only file system But if /usr/ports/distfiles is unwritable, this is still a problem.. :-) > Sometimes "make all install" is suggested. This is unnecessary or > identical? Well, this is a matter open to debate since although the ports collection sets up a dependency of install->all (which is why you thought that "install" actually did it all), it's not actually *quite* the UNIX tradition. If you go into /usr/src/bin/cat, for example, and do a `make install' before a `make all', you'll fall over in short order. Hence the "convention" under UNIX is to type "make all install" if you want to combine the two passes and it doesn't hurt to stick to convention in the ports collection, even if it's a little redundant. > >with the XFree86 distribution. Find a location with some free space > >and create a directory there, and make a symbolic link from /usr/ports > > This symbolic link has no purpose unless one has two /usr partitions? I'm not sure what you mean here. Also, I haven't read this whole document through so far or I'd have flagged this one as also potentially unnecessary if the user has answered yes to the "do you want to link the ports collection to your CDROM?" question during the installation. That should be noted someplace. > It seems to me the lndir approach to ports is so obviously superior to > a symbolic link to the distfiles on the cdrom or not using a symbolic > link or lndir that it's worth explaining, and worth explaining how to Well, it also has its drawbacks - the symlink tree eats a LOT of inodes. :( > get lndir if X-Windows isn't installed (is it on the live file system? It is.. It's also built into sysinstall, as I noted before, and you can select this option from the configuration menu. > Whether one gets the skeleton files by ftp or from the cdrom, where is > the make fetch-list command issued? I can't make it work on freefall. Strange - works for me! root@time-> cd /usr/ports/ You have new mail in /var/mail/jkh root@time-> make fetch-list ===> archivers ===> archivers/arc ===> archivers/gshar+gunshar ===> archivers/ha ===> archivers/hpack.non-usa.only /usr/bin/fetch ftp://src.doc.ic.ac.uk/packages/hpack/hpack79src.tar.Z ||echo hpack79src.tar.Z not fetched ===> archivers/lha ===> archivers/rar /usr/bin/fetch ftp://ftp.relcom.ru/unix/arcers/rar2bsdb.tgz ||echo rar2bsdb.tgz not fetched And so on... > >for i in *; do echo -n $i": "; cat $i/pkg/COMMENT; done > > One could substitute DESCR for COMMENT in the above and get a more > complete description? Could one send this to a file? (And where should > the make describe command be invoked?) Yeah, one could also do this - I really wouldn't try to override the functionality of describe here though (either in practice or on the document) since it's not really meant to do what James probably thought it did. Make describe is only meant to be used to create the INDEX file which should then be used as fodder for more advanced queries. Since there are all sorts of things one might wish to pull from a port to "describe" it, the index file facilitates finding the base directory, naming the ports DESCR file, and so on. Jordan