defining dependencies for ports
mh983 at yahoo.com
Wed Jul 19 13:52:45 UTC 2006
----- Original Message ----
From: Gerard Seibert <gerard at seibercom.net>
To: freebsd-questions at freebsd.org
Cc: mike <mh983 at yahoo.com>
Sent: Monday, July 17, 2006 11:33:56 AM
Subject: Re: defining dependencies for ports
> Alex Zbyslaw wrote:
> > Owen G wrote:
> >> You are aware that there exists
> >> 1. ports = source = must be compiled = "make install" (as above)
> >> 2. packages = executable packages = precompiled = "pkgadd -r . . ."
> > Whilst your description of ports and packages is correct...
> >> So unless you're running a custom kernel, there's no advantage of ports
> >> over packages.
> > ...this is not.
> > Ports are useful :
> > 1) For any package with multiple compile-time options (e.g. apache)
> > where *you* want to choose those options rather than be stuck with the
> > 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
> > to pre-compile and can lag the ports tree a little
> > 3) If require the source code (for maintaining local patches;
> > because another port or some other local software needs it)
> > I'm not aware that a custom kernel has any relevance whatsoever.
> > Perhaps you meant "unless you have used some cpu-specific compile flag
> > 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
> > portupgrade or portmanager. I prefer the former because it has never
> > core-dumped on me, and feels more robust and well maintained.
> > If you have multiple machines you keep in sync, then portupgrade -p or
> > pkg_create -b can be used to create local packages with *your*
> > compile-time options that other local machines can use.
> > --Alex
> Thanks for the responses. This is /exactly/ why I'm using ports instead
> of packages, because I want to have things compiled with my options.
> However, the reason for my original post was that I'm having a hard time
> customizing this, for java/Eclipse specifically. I try "make config"
> but it doesn't show anything. So how do I go about cutting out or
> changing some of the dependencies that I don't want if there are no
> OPTIONS defined?
> And I can't find where these dependencies are even defined in this
> case. I grep everything in /usr/ports/java/eclipse and don't see
> references to most of the dependencies. Where are they defined if not
> in the BUILD_DEPENDS, etc. variables of the Makefile?
> 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
> .if $(.CURDIR:M*/java/eclipse)
> # Your options are placed here.
> # I usually place them one per line for easier reading
> 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.
> Gerard Seibert
> gerard at seibercom.net
Sorry, I wonder if I could ask one more clarification about these dependencies without being too annoying.
Following are the listed dependencies for the java/eclipse package. But all of these are not in the Makefile. How does the ports system come up with the other dependencies? For example, this tree shows devel/ORBit2 as a direct dependent of java/eclipse. How did it find that?
I'm not trying to pick apart the dependencies of this package, I would just like to understand how this whole ports thing works. From what I remember of trying Gentoo, I had much more control over how the package got built, and I'm curious if I can have that same control here. Thanks for all who have read and responded.
| |--- devel/gettext
| | |--- converters/libiconv
| | |--- devel/libtool15
| |--- devel/glib20
| | |--- devel/gmake
| | |--- devel/pkg-config
| | |--- lang/perl5.8
| |--- devel/libtool15
| |--- devel/pkg-config
| |--- audio/libaudiofile
| |--- devel/libIDL
| | |--- devel/bison
| | | |--- devel/m4
| |--- devel/popt
| |--- java/diablo-jdk15
| | |--- java/javavmwrapper
| | |--- x11/xorg-libraries
| | | |--- devel/imake-6
| | | |--- graphics/libdrm
| | | |--- print/freetype2
| | | |--- x11-fonts/fontconfig
| | | | |--- textproc/expat2
| |--- java/javavmwrapper
| |--- misc/gnomehier
| |--- net/linc
| |--- net/openldap23-client
| | |--- security/openssl
| |--- textproc/intltool
| | |--- textproc/p5-XML-Parser
| |--- textproc/libxml2
| |--- x11-toolkits/gtk20
| | |--- graphics/jpeg
| | |--- graphics/png
| | |--- graphics/tiff
| | |--- misc/hicolor-icon-theme
| | |--- misc/shared-mime-info
| | |--- x11-toolkits/pango
| | | |--- graphics/cairo
| | | |--- x11-fonts/libXft
| | | |--- x11-fonts/xorg-fonts-encodings
| | | | |--- x11/xorg-clients
| | | | | |--- x11/xterm
| | | |--- x11-fonts/xorg-fonts-truetype
| | | | |--- x11-fonts/bitstream-vera
| |--- x11-toolkits/pango
| |--- devel/gamin
| |--- devel/libbonobo
| |--- misc/gnome-mime-data
| |--- net/avahi
| | |--- databases/gdbm
| | |--- devel/dbus
| | |--- devel/libdaemon
| |--- net/samba-libsmbclient
| | |--- devel/autoconf259
| | | |--- misc/help2man
| | | | |--- devel/p5-Locale-gettext
| |--- lang/python
| |--- textproc/xmlcatmgr
| |--- devel/nspr
| |--- security/nss
| |--- x11/libgnome
| | |--- textproc/scrollkeeper
| | | |--- textproc/docbook-sk
| | | |--- textproc/docbook-xsl
| | | | |--- textproc/docbook-xml
| | | | |--- textproc/sdocbook-xml
| |--- misc/gnome-icon-theme
| |--- security/gnome-keyring
| |--- x11/startup-notification
More information about the freebsd-questions