Skip site navigation (1)Skip section navigation (2)
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>