Re: Grandfather dependencies completely out of control

2010-05-03 Thread Alexander Leidinger
Quoting Doug Barton do...@freebsd.org (from Sun, 02 May 2010  
18:08:53 -0700):



On 05/02/10 15:28, Joe Marcus Clarke wrote:

On 5/2/10 5:19 PM, Doug Barton wrote:

On 05/02/10 03:21, Koop Mast wrote:
One of the scripts provided by devel/glib20 is a perl script.  
That is the reason why

we need perl.


Thanks for the response, couple things come to mind. First, how  many
things actually make use of those perl/python scripts? If the number is
small they should probably be OPTIONS that default to off, or slave
ports as Thomas suggested.


The script (glib-mkenums) is actually very important to almost all ports
which depend on glib.  Yes, what Thomas suggested could be done with
some considerable work.  What might be better is to have someone versed
in shell scripting translate this script to sh.  I think the GNOME guys
would be fine to accept that.


Please note that I'm not overwhelmingly interested in this particular
case. I'm more concerned about the general problem of grandfather
dependencies.


Put
EXPLICIT_PACKAGE_DEPENDS=yes
in make.conf. This will get rid of the grandparent-deps.

The problem with this is, that a lot of ports hardcode  
grandparent-libs. This is not a FreeBSD problem, this is a libtool (at  
least 1.x) problem and a pkg-config problem (adding grandparent-libs  
even if they are not necessary). So with this switch, you can not  
lookup potential candidates for an upgrade, by looking at the  
+REQUIRED_BY file.


Because of the libtool/pkg-config problem all childs of a  
problematic lib will contain a reference to the lib, even if the  
particular lib is just a dependency of a lib which the current port  
uses. To make this description more explicit: if your port uses  
libGRAPH (I made upt this name) and libGRAPH is linked to libjpeg and  
libpng via libtool (at least 1.x), but your port is not directly using  
symbols from libjpeg or libpng, the binaries of your port will have  
libpng *and* libjpeg hardcoded.


See /usr/ports/Tools/scripts/explicit_lib_depends.sh for a script  
which tells you which libs are hardcoded in the files (if they are in  
bin/ or lib/) of your (installed) port. Feel free to improve the  
script, I didn't touch it since 3 years because the software in the  
ports tree was not in a state where it made sense to finish the NOT  
YET part or extend the scope of files to analyze.


Bye,
Alexander.

--
A baby is an alimentary canal with a loud voice
at one end and no responsibility at the other.

http://www.Leidinger.netAlexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org   netchild @ FreeBSD.org  : PGP ID = 72077137
___
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


Grandfather dependencies completely out of control

2010-05-02 Thread Doug Barton
Howdy,

I'm looking at the use of portmaster to upgrade perl versions, and
noticed that there are a ton of ports listed as dependent on perl that
don't have any use for it, including one of mine:

qbittorrent-2.2.6  libnotify-0.4.5_3  atk-1.28.0 
gio-fam-backend-2.22.4  gamin-0.1.10_3  glib-2.22.4 
perl-threaded-5.8.9_3

Taking a look at devel/glib20, I see this:
USE_PERL5=  yes

although from the docs in the glib tarball it's not at all clear (to me
anyway) what it's used for. Given that it doesn't seem to be a rundep
for glib20 it's also not at all clear to me why qbittorrent should have
a pkgdep for it.

Can someone please explain what the heck is going on here? (And please
note, I'm picking on glib20 because this seems to be a particularly
egregious example, but I'm really more interested in the problem generally.)


Doug

-- 

... and that's just a little bit of history repeating.
-- Propellerheads

Improve the effectiveness of your Internet presence with
a domain name makeover!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: Grandfather dependencies completely out of control

2010-05-02 Thread Koop Mast
On Sat, 2010-05-01 at 23:09 -0700, Doug Barton wrote:
 Howdy,
 
 I'm looking at the use of portmaster to upgrade perl versions, and
 noticed that there are a ton of ports listed as dependent on perl that
 don't have any use for it, including one of mine:
 
 qbittorrent-2.2.6  libnotify-0.4.5_3  atk-1.28.0 
 gio-fam-backend-2.22.4  gamin-0.1.10_3  glib-2.22.4 
 perl-threaded-5.8.9_3
 
 Taking a look at devel/glib20, I see this:
 USE_PERL5=  yes
 
 although from the docs in the glib tarball it's not at all clear (to me
 anyway) what it's used for. Given that it doesn't seem to be a rundep
 for glib20 it's also not at all clear to me why qbittorrent should have
 a pkgdep for it.

One of the scripts provided by devel/glib20 is a perl script. That is the 
reason why 
we need perl.

-Koop

 Can someone please explain what the heck is going on here? (And please
 note, I'm picking on glib20 because this seems to be a particularly
 egregious example, but I'm really more interested in the problem generally.)
 
 
 Doug
 


___
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: Grandfather dependencies completely out of control

2010-05-02 Thread Thomas Sandford

On 02/05/2010 11:21, Koop Mast wrote:

On Sat, 2010-05-01 at 23:09 -0700, Doug Barton wrote:

I'm looking at the use of portmaster to upgrade perl versions, and
noticed that there are a ton of ports listed as dependent on perl that
don't have any use for it, including one of mine:

qbittorrent-2.2.6  libnotify-0.4.5_3  atk-1.28.0
gio-fam-backend-2.22.4  gamin-0.1.10_3  glib-2.22.4
perl-threaded-5.8.9_3

Taking a look at devel/glib20, I see this:
USE_PERL5=  yes

although from the docs in the glib tarball it's not at all clear (to me
anyway) what it's used for. Given that it doesn't seem to be a rundep
for glib20 it's also not at all clear to me why qbittorrent should have
a pkgdep for it.

Can someone please explain what the heck is going on here? (And please
note, I'm picking on glib20 because this seems to be a particularly
egregious example, but I'm really more interested in the problem generally.)


One of the scripts provided by devel/glib20 is a perl script. That is the 
reason why
we need perl.


A solution in this instance would appear to be to split devel/glib20 
into two ports, glib20 and a slave port glib20-scripts


The former would need no (run) dependency on perl (or python), solving 
the chain problem Doug raises. The latter would have run dependencies on 
both languages, but would only (as far as I can tell) ever need to be a 
build dependency of dependent ports, again breaking the chain of run 
dependencies on a scripting languange.


There is IMHO a separate issue (not applicable in this case) that all 
too many porters have used USE_PERL5 when USE_PERL5_BUILD would be 
sufficient.


--
Thomas Sandford
___
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: Grandfather dependencies completely out of control

2010-05-02 Thread Doug Barton
On 05/02/10 03:21, Koop Mast wrote:
 One of the scripts provided by devel/glib20 is a perl script. That is the 
 reason why 
 we need perl.

Thanks for the response, couple things come to mind. First, how  many
things actually make use of those perl/python scripts? If the number is
small they should probably be OPTIONS that default to off, or slave
ports as Thomas suggested.

Meanwhile, I still don't understand why qbittorrent needs a pkgdep on
perl when it cannot use perl in any way, and will not be affected in any
way if perl is updated, or disappears entirely. The glib dependency is 6
layers deep from qbittorrent, isn't this just a little silly?


Doug

-- 

... and that's just a little bit of history repeating.
-- Propellerheads

Improve the effectiveness of your Internet presence with
a domain name makeover!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: Grandfather dependencies completely out of control

2010-05-02 Thread Joe Marcus Clarke
On 5/2/10 5:19 PM, Doug Barton wrote:
 On 05/02/10 03:21, Koop Mast wrote:
 One of the scripts provided by devel/glib20 is a perl script. That is the 
 reason why 
 we need perl.
 
 Thanks for the response, couple things come to mind. First, how  many
 things actually make use of those perl/python scripts? If the number is
 small they should probably be OPTIONS that default to off, or slave
 ports as Thomas suggested.

The script (glib-mkenums) is actually very important to almost all ports
which depend on glib.  Yes, what Thomas suggested could be done with
some considerable work.  What might be better is to have someone versed
in shell scripting translate this script to sh.  I think the GNOME guys
would be fine to accept that.

Joe

-- 
Joe Marcus Clarke
FreeBSD GNOME Team  ::  gn...@freebsd.org
FreeNode / #freebsd-gnome
http://www.FreeBSD.org/gnome
___
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: Grandfather dependencies completely out of control

2010-05-02 Thread Doug Barton
On 05/02/10 15:28, Joe Marcus Clarke wrote:
 On 5/2/10 5:19 PM, Doug Barton wrote:
 On 05/02/10 03:21, Koop Mast wrote:
 One of the scripts provided by devel/glib20 is a perl script. That is the 
 reason why 
 we need perl.

 Thanks for the response, couple things come to mind. First, how  many
 things actually make use of those perl/python scripts? If the number is
 small they should probably be OPTIONS that default to off, or slave
 ports as Thomas suggested.
 
 The script (glib-mkenums) is actually very important to almost all ports
 which depend on glib.  Yes, what Thomas suggested could be done with
 some considerable work.  What might be better is to have someone versed
 in shell scripting translate this script to sh.  I think the GNOME guys
 would be fine to accept that.

Please note that I'm not overwhelmingly interested in this particular
case. I'm more concerned about the general problem of grandfather
dependencies.


Doug

-- 

... and that's just a little bit of history repeating.
-- Propellerheads

Improve the effectiveness of your Internet presence with
a domain name makeover!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