Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Jul 2006 06:52:40 -0700 (PDT)
From:      mh983 <mh983@yahoo.com>
To:        freebsd-questions@freebsd.org
Subject:   Re: defining dependencies for ports
Message-ID:  <20060719135240.11483.qmail@web82114.mail.mud.yahoo.com>
In-Reply-To: <20060717122428.1A18.GERARD@seibercom.net>

next in thread | previous in thread | raw e-mail | index | archive | help


----- Original Message ----
From: Gerard Seibert <gerard@seibercom.net>
To: freebsd-questions@freebsd.org
Cc: mike <mh983@yahoo.com>
Sent: Monday, July 17, 2006 11:33:56 AM
Subject: Re: defining dependencies for ports

mike wrote:

> 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
> .endif
> 
> 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
> 
> -- 
> Gerard Seibert
> gerard@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.

java/eclipse 
     |--- accessibility/atk 
     |     |--- devel/gettext 
     |     |     |--- converters/libiconv 
     |     |     |--- devel/libtool15 
     |     |--- devel/glib20 
     |     |     |--- devel/gmake 
     |     |     |--- devel/pkg-config 
     |     |     |--- lang/perl5.8 
     |     |--- devel/libtool15 
     |     |--- devel/pkg-config 
     |--- archivers/unzip 
     |--- archivers/zip 
     |--- audio/esound 
     |     |--- audio/libaudiofile 
     |--- devel/ORBit2 
     |     |--- devel/libIDL 
     |     |     |--- devel/bison 
     |     |     |     |--- devel/m4 
     |     |--- devel/popt 
     |--- devel/apache-ant 
     |     |--- java/diablo-jdk15 
     |     |     |--- java/javavmwrapper 
     |     |     |--- x11/xorg-libraries 
     |     |     |     |--- devel/imake-6 
     |     |     |     |--- graphics/libdrm 
     |     |     |     |--- print/freetype2 
     |     |     |     |--- x11-fonts/fontconfig 
     |     |     |     |     |--- textproc/expat2 
     |     |--- java/javavmwrapper 
     |--- devel/desktop-file-utils 
     |--- devel/gconf2 
     |     |--- 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/glib20 
     |--- devel/gmake 
     |--- devel/gnome-vfs 
     |     |--- 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 
     |--- devel/libIDL 
     |--- devel/libbonobo 
     |--- devel/libglade2 
     |     |--- lang/python 
     |     |--- textproc/xmlcatmgr 
     |--- devel/pkg-config 
     |--- graphics/cairo 
     |--- graphics/libart_lgpl 
     |--- graphics/libgnomecanvas 
     |--- java/diablo-jdk15 
     |--- misc/gnome-mime-data 
     |--- misc/gnomehier 
     |--- net/linc 
     |--- textproc/intltool 
     |--- textproc/libxml2 
     |--- textproc/libxslt 
     |--- www/mozilla 
     |     |--- devel/nspr 
     |     |--- security/nss 
     |--- x11-toolkits/gtk20 
     |--- x11-toolkits/libbonoboui 
     |     |--- x11/libgnome 
     |     |     |--- textproc/scrollkeeper 
     |     |     |     |--- textproc/docbook-sk 
     |     |     |     |--- textproc/docbook-xsl 
     |     |     |     |     |--- textproc/docbook-xml 
     |     |     |     |     |--- textproc/sdocbook-xml 
     |--- x11-toolkits/libgnomeui 
     |     |--- misc/gnome-icon-theme 
     |     |--- security/gnome-keyring 
     |     |--- x11/startup-notification 
     |--- x11-toolkits/pango 
     |--- x11/libgnome 








Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060719135240.11483.qmail>