Date: Mon, 17 Jul 2006 12:33:56 -0400 From: Gerard Seibert <gerard@seibercom.net> To: freebsd-questions@freebsd.org Cc: mike <mh983@yahoo.com> Subject: Re: defining dependencies for ports Message-ID: <20060717122428.1A18.GERARD@seibercom.net> In-Reply-To: <44BBABAD.90600@yahoo.com> References: <44BB9BA5.5050203@dial.pipex.com> <44BBABAD.90600@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
mike wrote: > Alex Zbyslaw wrote: > > Owen G wrote: > > > >> You are aware that there exists > >> 1. ports =3D source =3D must be compiled =3D "make install" (as above) > >> 2. packages =3D executable packages =3D precompiled =3D "pkgadd -r . .= ." > >> > >> =20 > >> > > Whilst your description of ports and packages is correct... > > > >> So unless you're running a custom kernel, there's no advantage of port= s > >> over packages. > >> > > ...this is not. > > > > Ports are useful : > > > > 1) For any package with multiple compile-time options (e.g. apache)= =20 > > where *you* want to choose those options rather than be stuck with the= =20 > > ones the *package* was compiled with (c.f. Linux rpms) > > > > 2) If you want to be as up-to-date as possible - packages take time= =20 > > to pre-compile and can lag the ports tree a little > > > > 3) If require the source code (for maintaining local patches;=20 > > because another port or some other local software needs it) > > > > I'm not aware that a custom kernel has any relevance whatsoever. =20 > > Perhaps you meant "unless you have used some cpu-specific compile flag= =20 > > in make.conf" but I don't think even that would make a difference. > > > > Also, ports and packages are managed much more easily with a tool like= =20 > > portupgrade or portmanager. I prefer the former because it has never= =20 > > core-dumped on me, and feels more robust and well maintained. > > > > If you have multiple machines you keep in sync, then portupgrade -p or= =20 > > pkg_create -b can be used to create local packages with *your*=20 > > compile-time options that other local machines can use. > > > > --Alex >=20 > Thanks for the responses. This is /exactly/ why I'm using ports instead= =20 > of packages, because I want to have things compiled with my options. =20 > However, the reason for my original post was that I'm having a hard time= =20 > customizing this, for java/Eclipse specifically. I try "make config"=20 > but it doesn't show anything. So how do I go about cutting out or=20 > changing some of the dependencies that I don't want if there are no=20 > OPTIONS defined?=20 >=20 > And I can't find where these dependencies are even defined in this=20 > case. I grep everything in /usr/ports/java/eclipse and don't see=20 > references to most of the dependencies. Where are they defined if not=20 > in the BUILD_DEPENDS, etc. variables of the Makefile? >=20 > thanks again. I'm learning a lot in this process. Check out the java/eclipse Makefile. It has build options in it that are configurable. You can do that either by entering them on the command line, or by placing them in the /etc/make.conf file like this: # java/eclipse section =2Eif $(.CURDIR:M*/java/eclipse) # Your options are placed here. # I usually place them one per line for easier reading =2Eendif I like the /etc/make.conf option myself since I do not have to remember to enter the options if I update the port. Also, both portupgrade and portmanager will honor any instructions in the /etc/make.conf file. Unlike Mike, I prefer 'portmanager' since it seems to do a more through update of a ports dependencies, etc., but that is just my opinion. Ciao --=20 Gerard Seibert gerard@seibercom.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060717122428.1A18.GERARD>