From c7995b975ae2cbd1dfd6997671e0874de0da63fe Mon Sep 17 00:00:00 2001 From: =?utf8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Wed, 28 Dec 2011 17:24:24 +0000 Subject: [PATCH] configure updates: - fix etics-less build: - distinguish source directories for configure and build - kludge side effects in perl - wrap package descriptions to 79 columns (80 still too high for Debian) - properly substitute copyright file for Debian packages - java location for Debian --- org.glite.lb/configure | 65 +++++++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/org.glite.lb/configure b/org.glite.lb/configure index 7b24695..0b785b3 100755 --- a/org.glite.lb/configure +++ b/org.glite.lb/configure @@ -146,7 +146,7 @@ my %externs = ( }, jdk => { prefix=> '/usr/java/latest', - locations => [ '/usr/lib/jvm/java', '/usr/java/latest' ], + locations => [ '/usr/lib/jvm/java', '/usr/lib/jvm/default-java', '/usr/java/latest' ], }, libtar => { prefix=> '/usr' @@ -436,7 +436,7 @@ sub mode_build { 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"; - + mkinc($_) for @modules; if ($module) { @@ -1040,7 +1040,7 @@ $buildroot{'gridsite.core'} = 'src'; sub full { - my $short = shift; + my ($short) = @_; my $subsys = $short; $subsys =~ s/\..*//; @@ -1050,10 +1050,11 @@ sub full sub get_version { - my ($top_srcdir) = @_; + my ($fmod, $top_srcdir) = @_; - my ($subsys,$module) = split /\./,$fmod,2; + my ($subsys,$mod) = split /\./,$fmod,2; my ($major,$minor,$rev,$age); + my $old_; if ($version) { $version =~ /([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)-(.+)/; @@ -1067,12 +1068,14 @@ sub get_version open V,"$path/version.properties" or die "$path/version.properties: $!\n"; - while ($_ = ) { + $old_ = $_; + while () { chomp; ($major,$minor,$rev) = ($1,$2,$3) if /module\.version\s*=\s*([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)/; $age = $1 if /module\.age\s*=\s*([[:digit:]]+)/; } close V; + $_ = $old_; $version = "$major.$minor.$rev-$age"; } @@ -1082,7 +1085,7 @@ sub get_version sub get_description { - my $top_srcdir = shift; + my ($top_srcdir) = @_; my $cvs_module = $top_srcdir; my $package_description = ""; @@ -1125,10 +1128,10 @@ canl.c /; @aux{@m} = (1) x ($#m+1); - my $short = shift; + my ($short) = @_; my $full = full $short; - my ($subsys,$module) = split /\./,$short,2; - my $packageName = "$project{tag_prefix}{$subsys}$subsys-${module}"; + my ($subsys,$mod) = split /\./,$short,2; + my $packageName = "$project{tag_prefix}{$subsys}$subsys-${mod}"; unless ($aux{$short}) { print "Makefile.inc not needed in $full\n"; @@ -1136,14 +1139,17 @@ canl.c } my $top_srcdir = '.'; + my $abs_srcdir = ''; my $build = ''; if ($module) { $top_srcdir = $0; $top_srcdir =~ s,/?[^/]*$,,; + $abs_srcdir = $top_srcdir; $top_srcdir =~ s,^$,\.,; } else { $build = "$full/"; + $abs_srcdir = "$full/"; unless ($buildroot{$_} eq '') { $top_srcdir = '..'; $build .= "$buildroot{$_}/"; @@ -1153,17 +1159,18 @@ canl.c } } - my ($major, $minor, $rev, $age) = get_version $top_srcdir; - my ($package_summary, $package_description) = get_description $top_srcdir; - if ($package_description) { $package_description =~ s/(.{1,79}\S|\S+)\s+/$1\n/mg; } + my ($major, $minor, $rev, $age) = get_version $short, $abs_srcdir; + my ($package_summary, $package_description) = get_description $abs_srcdir; + if ($package_description) { $package_description =~ s/(.{1,78}\S|\S+)\s+/$1\n/mg; } my $package_description_debian = $package_description; $package_description_debian =~ s/^/ /mg; my ($old_locale, $specdate, $debdate); - mkdir $build."project" unless (-d $build."project"); - open PKGCHL,">".$build."project/changelog" - or die $build."project/changelog: $!\n"; + # files for ETICS always in root source directory + mkdir $abs_srcdir."project" unless (-d $abs_srcdir."project"); + open PKGCHL,">".$abs_srcdir."project/changelog" + or die $abs_srcdir."project/changelog: $!\n"; $old_locale = setlocale(LC_TIME); setlocale(LC_TIME, "C"); $specdate = strftime("%a %b %d %Y", gmtime()); @@ -1177,14 +1184,6 @@ canl.c unless ($top_srcdir eq '.') { unlink $build."Makefile"; symlink "$top_srcdir/Makefile",$build."Makefile" or die "symlink $top_srcdir/Makefile ".$build."Makefile: $!\n"; - for my $file ('.pre', '.post', '.preun', '.postun') { - my $pfile = "project/$file"; - if (-f "$full/$pfile") { - mkdir "$build/project" unless (-d "$build/project"); - unlink $build.$pfile; - symlink "../$top_srcdir/$pfile", $build.$pfile or die "symlink ../$top_srcdir/$pfile ".$build."$pfile: $!\n"; - } - } } open MKINC,">".$build."Makefile.inc" @@ -1225,9 +1224,9 @@ top_srcdir = $top_srcdir my $dh; my $debian = 0; - opendir $dh, "$top_srcdir/project" || die "Can't open $top_srcdir/project: $!"; - for $_ (readdir $dh) { - if (/^(.*)\.spec$/) { + opendir $dh, "$abs_srcdir/project" || die "Can't open $abs_srcdir/project: $!"; + for my $dir (readdir $dh) { + if ($dir=~/^(.*)\.spec$/) { if ($1 ne $packageName) { printf STDERR "Changed RPM name: $packageName --> $1\n"; $packageName=$1; @@ -1237,11 +1236,12 @@ top_srcdir = $top_srcdir } closedir $dh; - for my $file ("$packageName.spec", "debian.rules", "debian.control", "debian.changelog") { - if (-f "$top_srcdir/project/$file") { + for my $file ("$packageName.spec", "debian.rules", "debian.control", "debian.changelog", "debian.copyright") { + if (-f "$abs_srcdir/project/$file") { + my $old_ = $_; printf STDERR "Creating $build$file\n"; open DST, ">$build$file"; - open SRC, "<$top_srcdir/project/$file"; + open SRC, "<$abs_srcdir/project/$file"; while () { if (/\@MODULE\@/) { s/\@MODULE\@/$full/g; } if (/\@URL\@/) { s/\@URL\@/$package{url}/g; } @@ -1262,6 +1262,7 @@ top_srcdir = $top_srcdir } close SRC; close DST; + $_ = $old_; } } @@ -1269,7 +1270,7 @@ top_srcdir = $top_srcdir `rm -rfv ${build}debian`; mkdir $build."debian" or die $!; - `cp $top_srcdir/project/debian.* ${build}debian/ 2>/dev/null`; + `cp $abs_srcdir/project/debian.* ${build}debian/ 2>/dev/null`; `mv ${build}debian.* ${build}debian/ 2>/dev/null`; `rm -f ${build}debian/*.orig`; opendir $dh, "${build}debian" || die "Can't open ${build}debian: $!"; @@ -1316,7 +1317,7 @@ sub mode_etics { my ($subsys,$module) = split /\./,$fmod,2; my $full = full "$subsys.$module"; - my ($major,$minor,$rev,$age) = get_version $full; + my ($major,$minor,$rev,$age) = get_version $fmod, $full; # XXX: --with ignored for platform-dependend packages my @copts = (); -- 1.8.2.3