Date: Fri, 23 Jul 2010 06:35:57 +0000 From: "b. f." <bf1783@googlemail.com> To: freebsd-questions@FreeBSD.org Cc: Fbsd8 <fbsd8@a1poweruser.com> Subject: Re: ports INDEX file Message-ID: <AANLkTinC%2B4-QhC8MBRRoe4qMpEzubBTcJWF4M3pya866@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
>Benjamin Lee wrote: >> On 07/22/2010 06:20 PM, Fbsd8 wrote: >>> I have a pristine install of 8.0. >>> There is no /usr/ports directory yet. >>> I am trying to use the "portcheckout" port and the "porteasy" port to >>> just populate the ports tree with only the ports I use. >>> >>> Problem is in both cases the above ports require an existing INDEX file >>> to process and since I have none they don't work. >>> >>> How can I just download the ports INDEX file? >>> Portsnap is not a solution. >I see in the source of porteasy that its fetching >http://www.freebsd.org/ports/INDEX-8.bz2 > >How can I verify this? Usually the index file is placed at $INDEXDIR/$INDEXFILE, as defined in $PORTSDIR/Mk/bsd.port.mk. In your case, by default, that would be /usr/ports/INDEX-8. As Matthew asked, do you really want to do this? By modern standards, the space required for the ports tree is modest (~550MB uncompressed), and you can learn a lot about what's available and how things work by looking through it. Plus you save the time required to implement this partial ports tree approach. If you really need to save the disk space, and don't have other special requirements, then considering using binary packages instead of compiling from source. If you do have special requirements -- e.g., you need to build ports with non-default options or special flags, or you don't trust foreign binary packages (in that case, though, you should probably be prepared to do a lot of work auditing the source code as well), and you don't have at least one machine with the required disk space, then maybe this approach is worthwhile. However, that seems unlikely. If you pursue the partial ports tree approach, you don't need to make or fetch an INDEX(which, although it may be a useful summary, may be inappropriate for parsing dependencies for ports built with non-default options), and you don't need to use either of the ports that you mentioned: as someone else said, you could just write a shell script to fetch the necessary infrastructure Makefiles (those in /usr/ports/Mk and the needed category subdirectories), and the desired port and it's dependencies, using cvs(1) (but you have to choose a server that permits anonymous cvs access, and learn cvs), csup(1) (configured to use a suitable cvsup server using the ports-all collection and the -i flag, which would permit you to grab only parts of that collection), or even an http client like fetch(1) (exploiting the fact that single ports can be downloaded in tarball form from cvsweb.freebsd.org in links of the form: http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/$CATEGORY/$PORT/$PORT.tar.gz?tarball=1 and single Makefiles via other links). b.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTinC%2B4-QhC8MBRRoe4qMpEzubBTcJWF4M3pya866>