[svk-commit] r3038 - trunk/pkg

nobody at bestpractical.com nobody at bestpractical.com
Thu Jul 31 22:14:54 EDT 2008


Author: clsung
Date: Thu Jul 31 22:14:53 2008
New Revision: 3038

Modified:
   trunk/pkg/buildsvk.pl

Log:
- pack required core (svn perlbinding) modules/libraries

Modified: trunk/pkg/buildsvk.pl
==============================================================================
--- trunk/pkg/buildsvk.pl	(original)
+++ trunk/pkg/buildsvk.pl	Thu Jul 31 22:14:53 2008
@@ -81,7 +81,7 @@
 
 package SVK::Build;
 use Archive::Extract;
-           use Archive::Tar;
+use Archive::Tar;
 use Env::Path;
 use File::Path (qw(mkpath rmtree));
 use File::chdir;
@@ -101,6 +101,35 @@
 	    copy($file, $self->build_dir);
 	}
     }
+    $self->prepare_svn_perl_binding();
+}
+sub prepare_svn_perl_binding {
+    my $self = shift;
+    my $output = `ldd \`locate -l 1 _Core.so\``;
+    for ($output =~ m/^.*$/mg) {
+	my ($lib, $file) = m/(\S.*?) => (\S.*?)\s/ or next;
+	if ($lib =~ m/libsvn_swig*/ || $lib =~ m/libapr*/) {
+	warn "$lib $file";
+	    copy($file, $self->build_dir);
+	}
+    }
+    my @SVNCoreModules = ( 'Base.pm', 'Client.pm', 'Core.pm',
+	'Delta.pm', 'Fs.pm', 'Ra.pm', 'Repos.pm', 'Wc.pm',
+	'_Core.bs', '_Core.so');
+    for my $prefix (@INC) {
+	for my $SVNdir ("/SVN/","/auto/SVN/","/auto/SVN/_Core/") {
+	    my $fullpath = $prefix.$SVNdir;
+	    if (-d $fullpath) {
+		mkpath [$self->perldest.$SVNdir];
+		for my $file (@SVNCoreModules) {
+		    if (-f $fullpath.'/'.$file) {
+		    warn $file;
+		    warn copy($fullpath."/".$file, $self->perldest.$SVNdir);
+		    }
+		}
+	    }
+	}
+    }
 }
 
 sub build_dir {


More information about the svk-commit mailing list