From 96e4f8c622f506d8a106ef39a6b91b697cf80f3e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Wed, 9 Mar 2011 23:20:50 +0000 Subject: [PATCH] VOMS should be successfully found in stage now. Fixes: - define stagedir before searching there - fix PKG_CONFIG_PATH in stage - no prefix in Makefile.inc for runtime dependencies - fix some other perl warnings - --debug argument to print exact detect commands and results --- org.glite.lb/configure | 51 ++++++++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/org.glite.lb/configure b/org.glite.lb/configure index 939cfe3..2389a41 100755 --- a/org.glite.lb/configure +++ b/org.glite.lb/configure @@ -49,7 +49,8 @@ my $jobid_tag = ''; my $libdir = getlibdir(); my $project = 'glite'; my (%projects, %project); - +my $debug = 0; +my $pkg_config_env = (defined $ENV{PKG_CONFIG_PATH}) ? "$ENV{PKG_CONFIG_PATH}:" : ''; my @nodes = qw/client server logger logger-msg utils client-java doc ws-test db jpprimary jpindex jpclient harvester glite-LB glite-PX/; my %enable_nodes; @@ -206,6 +207,7 @@ my @opts = ( 'help' => \$help, 'libdir=s' => \$libdir, 'project=s' => \$project, + 'debug' => \$debug, ); for (@nodes) { @@ -223,7 +225,7 @@ my @keeparg = @ARGV; GetOptions @opts or die "Errors parsing command line\n"; $prefix=~s/\/$//; -$stage=~s/\/$//; +$stagedir=~s/\/$// if ($stagedir); $root=~s/\/$//; $sysroot=~s/\/$//; if (not $sysconfdir) { $sysconfdir = $prefix eq '/usr' ? '/etc' : "$prefix/etc"; } @@ -280,19 +282,33 @@ die "--module cannot be used with --enable-* or --disable-*\n" die "$module: unknown module\n" if $module && ! grep $module,@{$lbmodules{lb}},{$lbmodules{jp}}; +if ($dis) { + for (@nodes) { + $enable_nodes{$_} = 1 unless $disable_nodes{$_}; + } +} + +if (!$en && !$dis) { $enable_nodes{$_} = 1 for (@nodes) } ; + +for (keys %enable_nodes) { delete $enable_nodes{$_} unless $enable_nodes{$_}; } + +$stagedir = $root unless $stagedir; + if ($mode eq 'build') { for my $ext (keys %externs) { - if (defined $externs{$ext}{withprefix}) { $externs{$ext}{prefix} = $externs{$ext}{withprefix}; } + if (defined $externs{$ext} and defined $externs{$ext}{withprefix}) { $externs{$ext}{prefix} = $externs{$ext}{withprefix}; } elsif (defined $externs{$ext}{pkg}) { - my ($prefix, $flag, $env); + my ($flag, $env, $cmd, $ret); my $pkg = $externs{$ext}{pkg}; my $flagname = uc $externs{$ext}{pkg}; $flagname =~ s/-[0-9\.]*$//; $flagname =~ s/-/_/g; print "Checking $pkg ... "; - $env = "PKG_CONFIG_PATH=$stagedir$prefix/$libdir/pkgconfig"; - `$env pkg-config $pkg --exists >/dev/null`; - if ($? == 0) { + $env = "PKG_CONFIG_PATH=$pkg_config_env$stagedir$prefix/$libdir/pkgconfig"; + $cmd = "$env pkg-config $pkg --exists >/dev/null"; + `$cmd`; $ret = $?; + print "('$cmd' => $ret)\n" if ($debug); + if ($ret == 0) { $externs{$ext}{prefix}=`$env pkg-config $pkg --variable=prefix`; chomp $externs{$ext}{prefix}; print "$externs{$ext}{prefix}\n"; @@ -304,6 +320,7 @@ if ($mode eq 'build') { for my $ext (keys %externs) { } else { print "(using default $externs{$ext}{prefix})\n"; } + print "\n" if ($debug); } elsif ($ext eq 'jdk') { my $jdk_prefix; @@ -322,18 +339,6 @@ if ($mode eq 'build') { for my $ext (keys %externs) { } } } -if ($dis) { - for (@nodes) { - $enable_nodes{$_} = 1 unless $disable_nodes{$_}; - } -} - -if (!$en && !$dis) { $enable_nodes{$_} = 1 for (@nodes) } ; - -for (keys %enable_nodes) { delete $enable_nodes{$_} unless $enable_nodes{$_}; } - -$stagedir = $root unless $stagedir; - if ($mode eq 'build') { print "Writing config.status\n"; open CONF,">config.status" or die "config.status: $!\n"; @@ -386,7 +391,7 @@ sub mode_build { @myjars = keys %aux; print "\nRequired externals:\n"; - print "\t$_: $externs{$_}{prefix}\n" for @ext; + print "\t$_: ".($externs{$_}{prefix}?$externs{$_}{prefix}:'-')."\n" for @ext; print "\t$_: $jar{$_}\n" for @myjars; for (@ext) { if (defined($externs{$_}{flags})) { print "$externs{$_}{flags}"; } }; print "\nThis is a poor-man configure, it's up to you to have sources and externals there\n\n"; @@ -883,6 +888,7 @@ libdir = $libdir }; for (@{$need_externs{$short}}) { + next unless defined $externs{$_} and defined $externs{$_}{prefix}; print MKINC "${_}_prefix = $externs{$_}{prefix}\n"; print MKINC "$externs{$_}{flags}" if defined $externs{$_}{flags}; } @@ -1174,7 +1180,7 @@ sub getlibdir { chomp($kname); close INP; - if ( $kname == "Linux") { + if ( $kname eq "Linux") { $arch = ("x86_64\npowerpc\nppc64\n"); open INP, "uname -p | "; # Check processor type @@ -1202,7 +1208,7 @@ sub getlibdir { $libdir=$lib32; } } - if ( $kname == "SunOS") { + if ( $kname eq "SunOS") { if (-e "/usr/lib/64") { $libdir="lib/64"; } } @@ -1231,6 +1237,7 @@ General options (defaults in []): --branch=branch CVS branch/etics name suffix (HEAD, branch_2_1, ...) --libdir=libdir typically [lib,lib64] postfix --project=PROJECT build or generate etics for a project (glite/emi) [emi] + --debug print more details Mode of operation: --mode=\{checkout|build|etics\} what to do [build] -- 1.8.2.3