Re: Superfluous dependencies

2011-03-13 Thread Matthew Seaman
On 12/03/2011 23:25, Doug Barton wrote:
 That said, what is really needed is for the OPTIONS framework to take
 environmental preferences into account when dealing with defaults. In
 other words, if WITHOUT_X11 is defined in make.conf, then the defaults
 for OPTIONS that are related to requiring X11 stuff should be off. There
 are a few ports that have rolled their own manipulation of this, but
 that logic really needs to be in bsd.options.mk. Any volunteers?

+1

I've always felt it quite bizarre that WITHOUT_X11=yes has precisely no
effect on the various X11 ports themselves.

Mind you, X11 is only the largest and most obvious target here.  There's
also CUPS, SASL, MYSQL, POSTGRESQL, SQLITE, LDAP and many more where it
would be handy to be able to set a server-wide policy which:

   * disabled any optional dependency on the named target
   * blocked installation of any port with an obligatory
 dependency on the target
   * blocked installation of the target port or ports themselves

-- which I think is doable, given you're installing onto a clean system.
 What I can't get my head round is how to cope with changes of policy on
a system with plenty of packages already installed.

Cheers,

Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.   7 Priory Courtyard
  Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate
JID: matt...@infracaninophile.co.uk   Kent, CT11 9PW



signature.asc
Description: OpenPGP digital signature


Re: Superfluous dependencies

2011-03-13 Thread Hans Ottevanger
On Sat, Mar 12, 2011 at 10:53 PM, Mark Linimon lini...@lonesome.com wrote:
 On Thu, Mar 10, 2011 at 10:28:40AM +0100, Hans Ottevanger wrote:
 If anybody is interested I could consolidate my results and post a few 
 patches.

 I would like to see them.

 This is the kind of really-dull-but-necessary work that we need to have
 people work on to fight the creeping dependencies :-)

 mcl


Real life intervened the last few days, so excuses for the delay.

Since the test system I used last week became a mess in the process, I
restarted the effort this morning on my 9.0-CURRENT system (amd64,
r219593). I have cvsupped the ports tree at about 10:45 UTC. Limiting
the discussion to Xorg alone for now, I made the following changes to
just three makefiles:

Index: devel/glib20/Makefile
===
RCS file: /home/ncvs/ports/devel/glib20/Makefile,v
retrieving revision 1.174
diff -r1.174 Makefile
42,43c42,43
 USE_PYTHON=   yes
 USE_PERL5=yes
---
 USE_PYTHON_BUILD=yes
 USE_PERL5_BUILD=yes
Index: sysutils/hal/Makefile
===
RCS file: /home/ncvs/ports/sysutils/hal/Makefile,v
retrieving revision 1.69
diff -r1.69 Makefile
29c29
 USE_PYTHON=   yes
---
 USE_PYTHON_BUILD=yes
Index: sysutils/polkit/Makefile
===
RCS file: /home/ncvs/ports/sysutils/polkit/Makefile,v
retrieving revision 1.9
diff -r1.9 Makefile
20c20
 RUN_DEPENDS=
${LOCALBASE}/share/gir-1.0/GLib-2.0.gir:${PORTSDIR}/devel/gobject-introspection
---
 #RUN_DEPENDS= 
 ${LOCALBASE}/share/gir-1.0/GLib-2.0.gir:${PORTSDIR}/devel/gobject-introspection

The first two are quite trivial, the third could be a bit tricky, but
I cannot find (and imagine) a situation where gobject-introspection is
needed on run-time for a normal end-user.

After building and installing xorg-7.5.1 I can deinstall the following
packages (and probably quite a few others that are only needed at
build-time):

autoconf-2.68
automake-1.11.1
bison-2.4.3,1
gobject-introspection-0.9.12_1
help2man-1.39.2
intltool-0.41.1
m4-1.4.15,1
p5-Locale-gettext-1.05_3
p5-XML-Parser-2.40
perl-5.10.1_3
python27-2.7.1_1
xcb-proto-1.6

As far as I can see now, X functions OK, though I still have to compile KDE.


Kind regards

Hans Ottevanger
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-13 Thread Hans Ottevanger
On Sun, Mar 13, 2011 at 4:27 PM, Hans Ottevanger
hans.ottevan...@gmail.com wrote:
 On Sat, Mar 12, 2011 at 10:53 PM, Mark Linimon lini...@lonesome.com wrote:
 On Thu, Mar 10, 2011 at 10:28:40AM +0100, Hans Ottevanger wrote:
 If anybody is interested I could consolidate my results and post a few 
 patches.

 I would like to see them.

 This is the kind of really-dull-but-necessary work that we need to have
 people work on to fight the creeping dependencies :-)

 mcl


 Real life intervened the last few days, so excuses for the delay.

 Since the test system I used last week became a mess in the process, I
 restarted the effort this morning on my 9.0-CURRENT system (amd64,
 r219593). I have cvsupped the ports tree at about 10:45 UTC. Limiting
 the discussion to Xorg alone for now, I made the following changes to
 just three makefiles:

 Index: devel/glib20/Makefile
 ===
 RCS file: /home/ncvs/ports/devel/glib20/Makefile,v
 retrieving revision 1.174
 diff -r1.174 Makefile
 42,43c42,43
  USE_PYTHON=   yes
  USE_PERL5=    yes
 ---
 USE_PYTHON_BUILD=yes
 USE_PERL5_BUILD=yes
 Index: sysutils/hal/Makefile
 ===
 RCS file: /home/ncvs/ports/sysutils/hal/Makefile,v
 retrieving revision 1.69
 diff -r1.69 Makefile
 29c29
  USE_PYTHON=   yes
 ---
 USE_PYTHON_BUILD=yes
 Index: sysutils/polkit/Makefile
 ===
 RCS file: /home/ncvs/ports/sysutils/polkit/Makefile,v
 retrieving revision 1.9
 diff -r1.9 Makefile
 20c20
  RUN_DEPENDS=
 ${LOCALBASE}/share/gir-1.0/GLib-2.0.gir:${PORTSDIR}/devel/gobject-introspection
 ---
 #RUN_DEPENDS= 
 ${LOCALBASE}/share/gir-1.0/GLib-2.0.gir:${PORTSDIR}/devel/gobject-introspection

 The first two are quite trivial, the third could be a bit tricky, but
 I cannot find (and imagine) a situation where gobject-introspection is
 needed on run-time for a normal end-user.

 After building and installing xorg-7.5.1 I can deinstall the following
 packages (and probably quite a few others that are only needed at
 build-time):

 autoconf-2.68
 automake-1.11.1
 bison-2.4.3,1
 gobject-introspection-0.9.12_1
 help2man-1.39.2
 intltool-0.41.1
 m4-1.4.15,1
 p5-Locale-gettext-1.05_3
 p5-XML-Parser-2.40
 perl-5.10.1_3
 python27-2.7.1_1
 xcb-proto-1.6

 As far as I can see now, X functions OK, though I still have to compile KDE.


 Kind regards

 Hans Ottevanger


As suggested by Chris Rees, also as unified diffs:

--- devel/glib20/Makefile.orig  2011-03-13 17:26:30.0 +0100
+++ devel/glib20/Makefile   2011-03-13 17:26:47.0 +0100
@@ -39,8 +39,8 @@
 USE_GNOME= gnomehack pkgconfig ltverhack
 USE_GMAKE= yes
 MAKE_JOBS_SAFE=yes
-USE_PYTHON=yes
-USE_PERL5= yes
+USE_PYTHON_BUILD=yes
+USE_PERL5_BUILD=yes
 CONFIGURE_ARGS=--enable-static --with-libiconv=gnu \
--disable-gtk-doc --with-html-dir=${PREFIX}/share/doc \
--disable-man --without-xml-catalog \
--- sysutils/hal/Makefile.orig  2011-03-13 17:05:01.0 +0100
+++ sysutils/hal/Makefile   2011-03-13 17:27:58.0 +0100
@@ -26,7 +26,7 @@
 USE_GNOME= gnomehack intlhack ltverhack
 USE_AUTOTOOLS= libtool
 USE_LDCONFIG=  yes
-USE_PYTHON=yes
+USE_PYTHON_BUILD=yes
 CONFIGURE_ARGS=--disable-gtk-doc \
--with-backend=freebsd \
--disable-docbook-docs \
--- sysutils/polkit/Makefile.orig   2011-03-13 17:05:11.0 +0100
+++ sysutils/polkit/Makefile2011-03-13 17:28:54.0 +0100
@@ -17,7 +17,7 @@
 BUILD_DEPENDS=
${LOCALBASE}/share/gir-1.0/GLib-2.0.gir:${PORTSDIR}/devel/gobject-introspection
 LIB_DEPENDS=   eggdbus-1.0:${PORTSDIR}/devel/eggdbus \
expat.6:${PORTSDIR}/textproc/expat2
-RUN_DEPENDS=
${LOCALBASE}/share/gir-1.0/GLib-2.0.gir:${PORTSDIR}/devel/gobject-introspection
+#RUN_DEPENDS=
${LOCALBASE}/share/gir-1.0/GLib-2.0.gir:${PORTSDIR}/devel/gobject-introspection

 USE_GNOME= gnomehack glib20 intlhack
 USE_GMAKE= yes


Kind regards,

Hans Ottevanger
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-13 Thread Miroslav Lachman

Charlie Kester wrote:

[...]


A few minutes ago, I was answering a post on the forums, in which a user
expressed surprise (and outrage) that the phpmyadmin port was installing
libX11 and similar things on his server. By installing it myself and
then using pkg_tree -v to examine the dependencies, I was able to
narrow it down to two of the port's options that were ON by default.


I made a simple shell script similar to pkg_tree but for ports about 
year ago.


http://freebsd.quip.cz/script/ports_tree.sh

It is very simple script showing full dependency tree for all listed 
dependencies (not skipping already shown deps - portdependencytree.py
is not showing them again). This way, you can find what needs libtool 
for example.


You can call it 'ports_tree.sh lang/php5', then it will show you all 
dependencies (build + run), or you can use -b (build deps only) or -r 
(run deps only)


example of build deps for Vim:

ports_tree.sh -b editors/vim
editors/vim
converters/libiconv
devel/libtool
devel/gettext
converters/libiconv
devel/libtool
devel/libtool


run deps for Vim:

ports_tree.sh -r editors/vim
editors/vim
converters/libiconv
devel/gettext
converters/libiconv

Shown dependency tree is affected by make.conf / ports.conf, options etc.

Miroslav Lachman
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-13 Thread Matthew Seaman
On 13/03/2011 03:39, Charlie Kester wrote:
 On Sat 12 Mar 2011 at 18:28:42 PST Doug Barton wrote:
 On 03/12/2011 18:13, per...@pluto.rain.com wrote:
 Charlie Kestercorky1...@comcast.net  wrote:

 A few minutes ago, I was answering a post on the forums, in which
 a user expressed surprise (and outrage) that the phpmyadmin port
 was installing libX11 and similar things on his server.  By
 installing it myself and then using pkg_tree -v to examine the
 dependencies, I was able to narrow it down to two of the port's
 options that were ON by default.

 I'm not aware of any tool that will display a similar dependency
 tree for a port *before* it is installed.  make all-depends-list
 creates exactly what it suggests, a list, and doesn't show any
 of the hierarchical info that is needed to answer questions like
 the one I was working on.   If there is such a tool, I'd love to
 hear about it.

 Would something along the lines of make -n fetch-recursive
 help at all?  I would expect it to walk the dependency tree
 in a predictable order.

 The problem with the pre-existing targets is that they do not take the
 user's choices in OPTIONS into account. portmaster's technique (while
 not perfect) at least does that.
 
 True, but that's not really needed in order to answer questions like
 Why is this port installing foo?  Once we know which dependency leads
 to foo, we can look to see if there's an option to disable it somewhere
 up the tree.
 
 Same for the original problem at the start of this thread. Once we know
 where foo gets pulled in, we can look to see if it's a BUILD or a RUN
 dependency. (Although it would be nice if whatever tool is displaying
 the tree would have indicated that already, just as it would nice if
 portions of the tree were greyed out if the controlling options are
 turned off...)

Well, this seems to be turning into a bit of a band-wagon.  Here's my
attempt to jump on it.  Since I already had about 90% of the necessary
code already in my FreeBSD::Portindex stuff, I've added a new
'portdepends' script.  This generates a detailed dependency tree
printout for a port using the data stored in the portindex cache.

Output looks like this:

% portdepends textproc/sphinxsearch
[..] sphinxsearch-0.9.9 (textproc/sphinxsearch)
[.L] - libiconv-1.13.1_1 (converters/libiconv)
[...B..] - - libtool-2.4 (devel/libtool)
[.L] - mysql-client-5.1.55 (databases/mysql51-client)
[...BR.] - - openssl-1.0.0_5 (security/openssl)
[...B..] - - - makedepend-1.0.3,1 (devel/makedepend)
[...BR.] - - - - pkg-config-0.25_1 (devel/pkg-config)
[...B..] - - - - - gmake-3.81_4 (devel/gmake)
[.L] - - - - - - gettext-0.18.1.1 (devel/gettext)
[.L] - - - - - - - libiconv-1.13.1_1 (converters/libiconv)
[...B..] - - - - - - - - libtool-2.4 (devel/libtool)
[...B..] - - - - - - - libtool-2.4 (devel/libtool)
[...BR.] - - - - xproto-7.0.16 (x11/xproto)
[...BR.] - - - - - pkg-config-0.25_1 (devel/pkg-config)
[...B..] - - - - - - gmake-3.81_4 (devel/gmake)
[.L] - - - - - - - gettext-0.18.1.1 (devel/gettext)
[.L] - - - - - - - - libiconv-1.13.1_1 (converters/libiconv)
[...B..] - - - - - - - - - libtool-2.4 (devel/libtool)
[...B..] - - - - - - - - libtool-2.4 (devel/libtool)
[EP.B..] - - - perl-5.10.1_3 (lang/perl5.10)
[.L] - expat-2.0.1_1 (textproc/expat2)

The left hand column shows the type of dependency: one of Extract,
Patch, Fetch (v. rare), Build, Run or Lib.  It's kind of repetitive,
unlike Mark Linimon's python script, mostly because I wanted to keep the
code relatively simple.

Download here:

http://www.infracaninophile.co.uk/portindex/FreeBSD-Portindex-2.3.tar.bz2

I'll submit a ports PR shortly.

Cheers,

Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.   7 Priory Courtyard
  Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate
JID: matt...@infracaninophile.co.uk   Kent, CT11 9PW



signature.asc
Description: OpenPGP digital signature


Re: Superfluous dependencies

2011-03-12 Thread Mark Linimon
On Thu, Mar 10, 2011 at 10:28:40AM +0100, Hans Ottevanger wrote:
 If anybody is interested I could consolidate my results and post a few 
 patches.

I would like to see them.

This is the kind of really-dull-but-necessary work that we need to have
people work on to fight the creeping dependencies :-)

mcl
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-12 Thread Charlie Kester

On Sat 12 Mar 2011 at 13:53:07 PST Mark Linimon wrote:

On Thu, Mar 10, 2011 at 10:28:40AM +0100, Hans Ottevanger wrote:

If anybody is interested I could consolidate my results and post a few patches.


I would like to see them.

This is the kind of really-dull-but-necessary work that we need to have
people work on to fight the creeping dependencies :-)


A few minutes ago, I was answering a post on the forums, in which a user
expressed surprise (and outrage) that the phpmyadmin port was installing
libX11 and similar things on his server.  By installing it myself and
then using pkg_tree -v to examine the dependencies, I was able to
narrow it down to two of the port's options that were ON by default.

I'm not aware of any tool that will display a similar dependency tree
for a port *before* it is installed.  make all-depends-list creates
exactly what it suggests, a list, and doesn't show any of the
hierarchical info that is needed to answer questions like the one I was
working on.   If there is such a tool, I'd love to hear about it.
Otherwise, it might be an interesting and useful project for someone to
take a stab at.
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-12 Thread Mark Linimon
On Sat, Mar 12, 2011 at 02:12:34PM -0800, Charlie Kester wrote:
 I'm not aware of any tool that will display a similar dependency tree
 for a port *before* it is installed.

http://portsmon.freebsd.org/portdependencytree.py

Note: it's running a live set of queries on the tree, so it's slow.

mcl
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-12 Thread Charlie Kester

On Sat 12 Mar 2011 at 14:21:35 PST Mark Linimon wrote:

On Sat, Mar 12, 2011 at 02:12:34PM -0800, Charlie Kester wrote:

I'm not aware of any tool that will display a similar dependency tree
for a port *before* it is installed.


http://portsmon.freebsd.org/portdependencytree.py

Note: it's running a live set of queries on the tree, so it's slow.


Thanks, the exactly the kind of thing I was looking for.

Is the underlying sourcecode available somewhere?  The speed is
acceptable, but I'd rather not be burdening the portsmon server
everytime I want to run a query.  If it was running against my local
copy of the portstree, then nobody else would be inconvenienced.
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-12 Thread Mark Linimon
On Sat, Mar 12, 2011 at 02:35:23PM -0800, Charlie Kester wrote:
 Is the underlying sourcecode available somewhere?

The code is really gross :-(

Right now I don't have the cycles to 'productize' it, sorry.  Feel
free to abuse that server in the meantime.

mcl
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-12 Thread Michel Talon
Mark Linimon said:

 On Sat, Mar 12, 2011 at 02:12:34PM -0800, Charlie Kester wrote:
  I'm not aware of any tool that will display a similar dependency tree
  for a port *before* it is installed.
 
 http://portsmon.freebsd.org/portdependencytree.py
 
 Note: it's running a live set of queries on the tree, so it's slow.

Wonderful tool! Using it i have found a nice illustration of the
title of the thread by looking at the dependencies generated by the
ports math/maxima.

If you run it you will find *tons* of dependecies. However, being a
regular user of maxima, that i compile myself on my machine using cmucl
i know that maxima has exactly *one* dependency, a lisp system.
Taking the example of cmucl one needs only a previous binary version of
cmucl, because it is written in lisp, and the base C compiler to produce 
the executable lisp. It should not be much different with sbcl, except
if one foolishly adjoins unnecessary optional software. When having
a lisp, one can in fact compile maxima  without even using make, but
make simplifies the job. It is not *necessary* to have optional
gnuplot (which one may or may not desire), and even less to have (*)
graphical front ends like xmaxima or  wxmaxima. The teTeX dependency is
completely superfluous. 

I mention this example because it is characteristic of a tendency of
many FreeBSD ports to add a kitchen sink of superfluous dependencies
which render upgrades and so on complicated.

(*) most serious users of CAS software i know (maple, etc.) always 
type their code in a window using a standard editor, and copy-paste it
in another window running maple, maxima, etc. Using the GUI toolkits
is almost always a considerable loss of time.

-- 

Michel TALON

___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-12 Thread Doug Barton

On 03/12/2011 14:12, Charlie Kester wrote:

I'm not aware of any tool that will display a similar dependency tree
for a port *before* it is installed.


portmaster doesn't _quite_ do that, but it does walk you through all of 
the config screens (and thus, the related dependencies) prior to 
building, then present you a list of everything that will be built 
before you build it.


That said, what is really needed is for the OPTIONS framework to take 
environmental preferences into account when dealing with defaults. In 
other words, if WITHOUT_X11 is defined in make.conf, then the defaults 
for OPTIONS that are related to requiring X11 stuff should be off. There 
are a few ports that have rolled their own manipulation of this, but 
that logic really needs to be in bsd.options.mk. Any volunteers?



:)

Doug

--

Nothin' ever doesn't change, but nothin' changes much.
-- OK Go

Breadth of IT experience, and depth of knowledge in the DNS.
Yours for the right price.  :)  http://SupersetSolutions.com/

___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-12 Thread Charlie Kester

On Sat 12 Mar 2011 at 15:25:09 PST Doug Barton wrote:

On 03/12/2011 14:12, Charlie Kester wrote:

I'm not aware of any tool that will display a similar dependency tree
for a port *before* it is installed.


portmaster doesn't _quite_ do that, but it does walk you through all of 
the config screens (and thus, the related dependencies) prior to 
building, then present you a list of everything that will be built 
before you build it.


Yep.  That's marginally better than make all-depends-list because it
filters out any dependencies that would have been pulled in by disabled
options.



That said, what is really needed is for the OPTIONS framework to take 
environmental preferences into account when dealing with defaults. In 
other words, if WITHOUT_X11 is defined in make.conf, then the defaults 
for OPTIONS that are related to requiring X11 stuff should be off. There 
are a few ports that have rolled their own manipulation of this, but 
that logic really needs to be in bsd.options.mk. Any volunteers?




X11 is just one example.  
There are similar scenarios involving XML crap (excuse my language).


What's really needed are better tools to help maintainers see what their
ports are installing, and for them to exercise more disciple in asking
Is this really necessary, or should I make it optional? Is it really a
run dependency, or is it only needed for the build?  (*)

And maybe also to give end users better tools too, so they can be better
informed about the consequences of installing a particular port or
enabling certain options.  Threads like this one usually get started
when someone has an unpleasant surprise.

The WITHOUT_X11 logic wrt options can get complicated, btw.  If you're
installing a GTK or KDE app, for example, you probably don't want
WITHOUT_X11 disabling any of its options!  Or do we want to interpret
WITHOUT_X11 as a signal that the user intends to run a textmode system
only, and disallow installation of any GUI ports whatsoever?

(* For me, testing the port in a tinderbox with --clean-packages has
always had a sobering effect.  When it takes all day -- or more! -- to
finish the test, I start looking for things to trim.  Some of you might
recall me asking a while ago whether I could put some pre-built manpages
under files, in order to avoid pulling in a bunch of docbook
dependencies.) 
___

freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-12 Thread Charlie Kester

On Sat 12 Mar 2011 at 15:57:09 PST Charlie Kester wrote:

What's really needed are better tools to help maintainers see what
their ports are installing, and for them to exercise more disciple in
asking Is this really necessary, or should I make it optional? Is it
really a run dependency, or is it only needed for the build?  (*)


s/disciple/discipline

I need to exercise more proofreading discipline. :)
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-12 Thread Wesley Shields
On Sat, Mar 12, 2011 at 02:12:34PM -0800, Charlie Kester wrote:
 On Sat 12 Mar 2011 at 13:53:07 PST Mark Linimon wrote:
 On Thu, Mar 10, 2011 at 10:28:40AM +0100, Hans Ottevanger wrote:
  If anybody is interested I could consolidate my results and post a few 
  patches.
 
 I would like to see them.
 
 This is the kind of really-dull-but-necessary work that we need to have
 people work on to fight the creeping dependencies :-)
 
 A few minutes ago, I was answering a post on the forums, in which a user
 expressed surprise (and outrage) that the phpmyadmin port was installing
 libX11 and similar things on his server.  By installing it myself and
 then using pkg_tree -v to examine the dependencies, I was able to
 narrow it down to two of the port's options that were ON by default.
 
 I'm not aware of any tool that will display a similar dependency tree
 for a port *before* it is installed.  make all-depends-list creates
 exactly what it suggests, a list, and doesn't show any of the
 hierarchical info that is needed to answer questions like the one I was
 working on.   If there is such a tool, I'd love to hear about it.
 Otherwise, it might be an interesting and useful project for someone to
 take a stab at.

There is always the missing target to show you what is currently
missing if a particular port were to be installed with whatever options
you have chosen.

I use this target regularly, because I'm often too lazy to read OPTIONS
and other knobs.

-- WXS
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-12 Thread perryh
Charlie Kester corky1...@comcast.net wrote:

 A few minutes ago, I was answering a post on the forums, in which
 a user expressed surprise (and outrage) that the phpmyadmin port
 was installing libX11 and similar things on his server.  By
 installing it myself and then using pkg_tree -v to examine the
 dependencies, I was able to narrow it down to two of the port's
 options that were ON by default.

 I'm not aware of any tool that will display a similar dependency
 tree for a port *before* it is installed.  make all-depends-list
 creates exactly what it suggests, a list, and doesn't show any
 of the hierarchical info that is needed to answer questions like
 the one I was working on.   If there is such a tool, I'd love to
 hear about it.

Would something along the lines of make -n fetch-recursive
help at all?  I would expect it to walk the dependency tree
in a predictable order.
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-12 Thread Doug Barton

On 03/12/2011 18:13, per...@pluto.rain.com wrote:

Charlie Kestercorky1...@comcast.net  wrote:


A few minutes ago, I was answering a post on the forums, in which
a user expressed surprise (and outrage) that the phpmyadmin port
was installing libX11 and similar things on his server.  By
installing it myself and then using pkg_tree -v to examine the
dependencies, I was able to narrow it down to two of the port's
options that were ON by default.

I'm not aware of any tool that will display a similar dependency
tree for a port *before* it is installed.  make all-depends-list
creates exactly what it suggests, a list, and doesn't show any
of the hierarchical info that is needed to answer questions like
the one I was working on.   If there is such a tool, I'd love to
hear about it.


Would something along the lines of make -n fetch-recursive
help at all?  I would expect it to walk the dependency tree
in a predictable order.


The problem with the pre-existing targets is that they do not take the 
user's choices in OPTIONS into account. portmaster's technique (while 
not perfect) at least does that.


Doug

--

Nothin' ever doesn't change, but nothin' changes much.
-- OK Go

Breadth of IT experience, and depth of knowledge in the DNS.
Yours for the right price.  :)  http://SupersetSolutions.com/

___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-12 Thread Charlie Kester

On Sat 12 Mar 2011 at 18:28:42 PST Doug Barton wrote:

On 03/12/2011 18:13, per...@pluto.rain.com wrote:

Charlie Kestercorky1...@comcast.net  wrote:


A few minutes ago, I was answering a post on the forums, in which
a user expressed surprise (and outrage) that the phpmyadmin port
was installing libX11 and similar things on his server.  By
installing it myself and then using pkg_tree -v to examine the
dependencies, I was able to narrow it down to two of the port's
options that were ON by default.

I'm not aware of any tool that will display a similar dependency
tree for a port *before* it is installed.  make all-depends-list
creates exactly what it suggests, a list, and doesn't show any
of the hierarchical info that is needed to answer questions like
the one I was working on.   If there is such a tool, I'd love to
hear about it.


Would something along the lines of make -n fetch-recursive
help at all?  I would expect it to walk the dependency tree
in a predictable order.


The problem with the pre-existing targets is that they do not take the 
user's choices in OPTIONS into account. portmaster's technique (while

not perfect) at least does that.


True, but that's not really needed in order to answer questions like
Why is this port installing foo?  Once we know which dependency leads
to foo, we can look to see if there's an option to disable it somewhere
up the tree.

Same for the original problem at the start of this thread. Once we know
where foo gets pulled in, we can look to see if it's a BUILD or a RUN
dependency. (Although it would be nice if whatever tool is displaying
the tree would have indicated that already, just as it would nice if
portions of the tree were greyed out if the controlling options are
turned off...)
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-12 Thread perryh
Doug Barton do...@freebsd.org wrote:

 ... what is really needed is for the OPTIONS framework to take
 environmental preferences into account when dealing with defaults
 ... if WITHOUT_X11 is defined in make.conf, then the defaults for
 OPTIONS that are related to requiring X11 stuff should be off ...
 that logic really needs to be in bsd.options.mk. Any volunteers?

While we are at it, WITHOUT_X11 really needs a WITHOUT_X11_SERVER
subcase.  There's precious little use for an X11 _server_ on many
headless systems -- I don't say all because someone might want VNC
even on a headless box -- but they may well want some X11 _clients_.

I'd consider volunteering if not for ENOTIME -- I'm having enough
trouble finding time to get an 8.x system set up the way I want
it before my current (6.1) box dies of old age.  (The principal
problem involves either a geom issue or, much more likely, my
misunderstanding of how that part of geom works.  The same trace
code will work equally well to clear up either case :)
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-12 Thread Aragon Gouveia

On 03/10/11 11:28, Hans Ottevanger wrote:

By making a few trivial changes i can make xorg-7.5.1 fully
independent on run-time of Python, Perl and Bison. The same can be
done for kde-lite-3.5.10_8 when I also disable the Perl support in
net-snmp, which is a dependency of kdeutils-3.5.10_8.

If anybody is interested I could consolidate my results and post a few patches.


Just a heads up, be aware of pkg_add -r:

http://lists.freebsd.org/pipermail/freebsd-ports/2010-October/064256.html

I look forward to seeing your changes too. :)


Regards,
Aragon
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-10 Thread Hans Ottevanger
On Tue, Mar 8, 2011 at 3:51 PM, Michael Scheidell
michael.scheid...@secnap.com wrote:


 On 3/8/11 4:42 AM, Hans Ottevanger wrote:

 One of them that I already hunted down is bison-2.4.3,1 that gets
 dragged in via gobject-introspection-0.9.12_1 when installing
 xorg-7,5.1 (even as a package). This is caused by bison specified as a
 dependency of type both in the port Makefile of
 gobject-introspection where it should be specified as build. I don't
 think that Bison is used on run-time here and most likely not even on
 build- time.

 appears one of our 'short cuts' causes this.  and I found it on a port I
 took over maint of.

 happens all the time if you do a 'RUN_DEPENDS += BUILD_DEPENDS'

 pulls in all kind of cruft.


Indeed I see this 'shortcut' being used all over the place. But in the
cases I have looked into the last few days, i.e. the xorg-7.5.1 and
kde-lite-3.5.10_8 ports, the problem is just a trivial, but slightly
different. It appears that in many occasions USE_PYTHON and USE_PERL
are specified in situations where I think USE_PYTHON_BUILD and
USE_PERL_BUILD, respectively, would suffice.

By making a few trivial changes i can make xorg-7.5.1 fully
independent on run-time of Python, Perl and Bison. The same can be
done for kde-lite-3.5.10_8 when I also disable the Perl support in
net-snmp, which is a dependency of kdeutils-3.5.10_8.

If anybody is interested I could consolidate my results and post a few patches.

Kind regards,

Hans Ottevanger


]...]
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-10 Thread Warren Block

On Thu, 10 Mar 2011, Hans Ottevanger wrote:


Indeed I see this 'shortcut' being used all over the place. But in the
cases I have looked into the last few days, i.e. the xorg-7.5.1 and
kde-lite-3.5.10_8 ports, the problem is just a trivial, but slightly
different. It appears that in many occasions USE_PYTHON and USE_PERL
are specified in situations where I think USE_PYTHON_BUILD and
USE_PERL_BUILD, respectively, would suffice.

By making a few trivial changes i can make xorg-7.5.1 fully
independent on run-time of Python, Perl and Bison. The same can be
done for kde-lite-3.5.10_8 when I also disable the Perl support in
net-snmp, which is a dependency of kdeutils-3.5.10_8.

If anybody is interested I could consolidate my results and post a few patches.


Anything that makes ports more accurate is good.  Please post, and the 
maintainers of those ports would likely be interested also.

___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-10 Thread Josh Paetzel
On Thursday, March 10, 2011 03:28:40 am Hans Ottevanger wrote:
 On Tue, Mar 8, 2011 at 3:51 PM, Michael Scheidell
 
 michael.scheid...@secnap.com wrote:
  On 3/8/11 4:42 AM, Hans Ottevanger wrote:
  One of them that I already hunted down is bison-2.4.3,1 that gets
  dragged in via gobject-introspection-0.9.12_1 when installing
  xorg-7,5.1 (even as a package). This is caused by bison specified as a
  dependency of type both in the port Makefile of
  gobject-introspection where it should be specified as build. I don't
  think that Bison is used on run-time here and most likely not even on
  build- time.
  

FWIW, I was just investigating why bison made it into a embedded device I'm 
working on, and if you look at the sources for gobject-introspection, there is 
actually a code path where bison is used at run time.

While it seems unlikely it would be used, it is technically a runtime depend.

-- 
Thanks,

Josh Paetzel


signature.asc
Description: This is a digitally signed message part.


Superfluous dependencies

2011-03-08 Thread Hans Ottevanger
Porters,

I have been working on some fresh FreeBSD 8.2 installations recently
and I was surprised about the amount of extra ports that get installed
as dependencies. Once I finish an installation of Xorg and KDE 3 (yes,
still using it, like many FreeBSD users and developers), I end up with
a handful of scripting languages and development tools I did not ask
for.

One of them that I already hunted down is bison-2.4.3,1 that gets
dragged in via gobject-introspection-0.9.12_1 when installing
xorg-7,5.1 (even as a package). This is caused by bison specified as a
dependency of type both in the port Makefile of
gobject-introspection where it should be specified as build. I don't
think that Bison is used on run-time here and most likely not even on
build- time. I also doubt the need for Python in this case, i.e. as a
dependency for an Xorg installation, but it may be needed in a more
general use case of gobject-introspection.

I have changed the dependency in my Makefile and rebuilt everything. I
now do not have bison as a dependency anymore and can safely delete
it, just like all other build dependencies.

I am sure there are more of  these superfluous dependencies and I will
probably hunt down a few more. Does anyone have an idea how to do this
systematically?

Kind regards,

Hans Ottevanger
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Superfluous dependencies

2011-03-08 Thread Michael Scheidell



On 3/8/11 4:42 AM, Hans Ottevanger wrote:

One of them that I already hunted down is bison-2.4.3,1 that gets
dragged in via gobject-introspection-0.9.12_1 when installing
xorg-7,5.1 (even as a package). This is caused by bison specified as a
dependency of type both in the port Makefile of
gobject-introspection where it should be specified as build. I don't
think that Bison is used on run-time here and most likely not even on
build- time.
appears one of our 'short cuts' causes this.  and I found it on a port I 
took over maint of.


happens all the time if you do a 'RUN_DEPENDS += BUILD_DEPENDS'

pulls in all kind of cruft.

example: tshark_lite.. pulls in pkg_conf.. makes it messy if you make a 
port binary package, and try to install it with pkg_add {port}.tbz.


lots of ports used that short cut above.  and it should not (and I think 
port lint complains)


Q: wireshark/tshark_lite maintainer: do you really need perl for 
runtime? or just to build tshark_lite?


I installed it with pkg_add -f tshark_lite and never needed it (and 
system didn't have perl)



--
Michael Scheidell, CTO
o: 561-999-5000
d: 561-948-2259
ISN: 1259*1300
*| *SECNAP Network Security Corporation

   * Certified SNORT Integrator
   * 2008-9 Hot Company Award Winner, World Executive Alliance
   * Five-Star Partner Program 2009, VARBusiness
   * Best in Email Security,2010: Network Products Guide
   * King of Spam Filters, SC Magazine 2008

__
This email has been scanned and certified safe by SpammerTrap(r). 
For Information please see http://www.secnap.com/products/spammertrap/
__  
___

freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org