Date: Fri, 21 Apr 2000 19:37:12 +0300 From: "Igor B. Bykhalo" <goshik@binep.ac.ru> To: "Nils Holland" <nils@frozenfeelings.com>, <freebsd-questions@freebsd.org> Subject: Re: Problems with the ports collection Message-ID: <01bfabaf$d886c280$0000e9c1@serv2.binep.ac.ru>
next in thread | raw e-mail | index | archive | help
[...] > >Now, one thing I don't seem to get working even after having read the FreeBSD >handbook is the following: > >It says that in order to get updated ports runing on my system that were not >available when my version of FreeBSD was released (I have 3.4-RELEASE) I need >to download and install the appropriate upgrade kit. I did that, although I >don't have much of a clue what that was good for... I think it is good only if You have old /usr/ports tree... Anyway, personally I prefer to keep it updated wit cvsup, see section about staying in sync in handbook. But that's for Your future learning, let's look what You done... > >Now, I try the following, just as the FreeBSD handbook tells me. > >cd /usr/ports/math >rm -r siag # Delete the old version of the SIAG-port dir Wrong, see below... >ftp ftp7.de.freebsd.de # I connect to the server and login to it >cd /pub/FreeBSD/ports/ports/math >get siag.tar # Getting the siag dir in tared form >bye # saying good-bye to the ftp-server >tar xf siag.tar # untar the downloaded siag dir into my /usr/ports/math dir >cd siag >make Wrong, see below... > >Ok, now the system should go and fetch the appropriate file. But it doesn't. It >says something like that: > >tar.gz doesn't seem to exist on this system >Attempting to fetch from ftp7.de.freebsd.org > >Ok, it does now try to fetch a file called .tar.gz. This cannot be successful >(and it is not) since it cannot get a .tar.gz file without a name. > >Having inspected the Makefiles of the ports dirs that came with my sytsem, I >see that in these files there is a line that goes DISTNAME=something which is >not present in the Makefile of the port dirs I fetch from the FTP-server. > Here are some small hints: 1. Ports collection tree contains Makefiles for each application to help user install apps mostly in automatic fashion. These Makefiles are made to fetch, extract, patch, build, install apps from distfiles which are originally not in Your tree. They are not Makefiles from application source. 2. When You run make in the directory of port You need, it automatically: - fetches corresponding archive (distfile) into /usr/ports/distfiles - extracts source into /usr/ports/<category>/<YourPort>/work/<Portname> directory - runs corresponding patch, config, build, scripts The last step uses /usr/ports/<category>/<YourPort>/Makefile and scripts and makefiles from port's source. Oh, and from /usr/ports/Mk/*.mk files, look at bsd.port.mk for definitions of make's targets. This is very simplistic picture, but a start. So, assuming You want to at siag's souces, You go to /usr/ports/math/siag and run # make patch After some time You'll have /usr/ports/math/siag/work/<siag-...> with patched souces and siag's distfile in /usr/ports/distfiles. To build siag, just run # make After it builds, You run # make install And You have installed siag... Hope this was helpful... >So, what's wrong? Won't I be able to get and use the ports from the FTP-server >on my 3.4-RELEASE system without some prior updates of my system? If so, please >tell me what I gotta do! Read handbook, makefiles, maillists ;-)) Try, read again, ask questions 8-) Enjoy... Igor To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?01bfabaf$d886c280$0000e9c1>