Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Apr 2009 20:18:09 +0200
From:      Mel Flynn <mel.flynn+fbsd.current@mailing.thruhere.net>
To:        freebsd-current@freebsd.org
Cc:        Bill Moran <wmoran@potentialtech.com>
Subject:   Re: Weird warnings from lots of applications
Message-ID:  <200904182018.11123.mel.flynn%2Bfbsd.current@mailing.thruhere.net>
In-Reply-To: <20090418101702.18a4fcdf.wmoran@potentialtech.com>
References:  <49E7BE78.6000802@freebsd.org> <200904181358.50806.mel.flynn%2Bfbsd.current@mailing.thruhere.net> <20090418101702.18a4fcdf.wmoran@potentialtech.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 18 April 2009 16:17:02 Bill Moran wrote:
> Mel Flynn <mel.flynn+fbsd.current@mailing.thruhere.net> wrote:
> > On Saturday 18 April 2009 01:49:56 Tim Kientzle wrote:
> > > Igor R wrote:
> > > >>       "unexpected character `{', expected keyword - e.g. `style'
> > > >
> > > > Looks like GTK?
> > >
> > > I can't find this message in the gtk20 source anywhere.
> > >
> > > I actually ran grep over /usr/local/lib and the only
> > > library that has all of these strings is libpython.
> > > Of course, according to 'ldd', none of the programs
> > > I've seen generating these warnings uses libpython.
> >
> > Sure they do. Just not via linking (fork or dlopen, didn't care to look).
> > But, there's a run dep right here:
> > # /stable/root/bin/finddep.php www/firefox lang/python26
> > /usr/ports/x11/xcb-proto: /usr/local/bin/python2.6 =>
> > /usr/ports/lang/python26 /usr/ports/x11/libxcb: /usr/local/bin/python2.6
> > => /usr/ports/lang/python26 /usr/ports/devel/glib20:
> > /usr/local/bin/python2.6 => /usr/ports/lang/python26
>
> That finddep.php seems to be a rather brilliant script.  Couldn't find it
> on the WWW anywhere ... are you keeping the code secret?

Lol, no. I think I posted it on -questions once, either way, it's below. Been 
too lazy to use an option for "look for build deps too", so I switch comments 
on the respective lines.

-- 
Mel

#!/usr/local/bin/php -q
<?php
// vim: ts=4 sw=4 nobackup noet
//define('DEBUG', 1);
function usage()
{
	$me = $argv[0];
	echo("Usage: $me <origin> <dep>\n");
	echo("\tFind which dependancy lists dep in origin\n");
	exit(1);
}

function chkdep($val, $check)
{
	if( !is_dir($val) )
	{
		fprintf(STDERR, "No such dir: %s/%s\n", $GLOBALS['PORTSDIR'],
			$val
		);
		return;
	}
	chdir($val);
	$_deps = preg_split('/\s/',
		shell_exec("/usr/bin/make -V LIB_DEPENDS -V RUN_DEPENDS")
		//shell_exec("/usr/bin/make -V LIB_DEPENDS -V RUN_DEPENDS -V BUILD_DEPENDS")
	);
	foreach($_deps AS $_dep)
	{
		list($pkgname, $origin) = explode(':', $_dep);
		if( preg_match('/^\s*$/', $origin) )
			continue;
		if( in_array($origin, $GLOBALS['CHECKED']) )
			continue;
		if( $origin == $GLOBALS['PORTSDIR'] . '/' . $check )
			echo("$val: $pkgname => $origin\n");
		else
		{
			if( defined('DEBUG') )
			{
				fprintf(STDERR, "%s != %s/%s\n", $origin, $GLOBALS['PORTSDIR'],
					$check
				);
			}
			$GLOBALS['CHECKED'][] = $origin;
			chkdep($origin, $check);
		}
	}
}
if( $argc < 3 )
	usage();

$PORTSDIR=('' != getenv('PORTSDIR') ) ? getenv('PORTSDIR') : '/usr/ports';
$pkg = $argv[1];
$dep = $argv[2];
if(!file_exists("$PORTSDIR/$pkg/Makefile") )
{
	fprintf(STDERR, "Orphaned port: $pkg\n");
	exit(2);
}
$CHECKED=array();
chkdep($PORTSDIR . '/' . $pkg, $dep);
?>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904182018.11123.mel.flynn%2Bfbsd.current>