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