Hi!

----

Requesting sponsor for CR #6546677 ("usr/src/cmd/perl/ build installs
Subversion directories (.svn) in the proto area"). The proposed patch is
attached to the forwarded message below....

-------- Original Message --------
Subject: makebfu's trouble with "cpiotranslate:
usr/perl5/5.6.1/lib/.svn/text-base/Carp.pm.svn-base: no packaging info"
...
Date: Mon, 16 Apr 2007 08:00:17 +0200
From: Roland Mainz <roland.ma...@nrubsig.org>
To: OpenSolaris Code mailing list <opensolaris-code at opensolaris.org>
CC: Alan Burlison <Alan.Burlison at sun.com>,Mike Kupfer
<mike.kupfer at sun.com>


Hi!

----

Attached is a prototype patch
("osnet_cmd_perl_copy_svn_fix001.diff.txt") which deals with the issue
that "make install" in "usr/src/cmd/perl/" copies the Subversion
(assuming the sources are under Subversion control) context dirs (e.g.
".svn/") into the proto area, e.g.
-- snip --
$ time nice makebfu 2>&1 | tee -a buildlog_makebfu.log
Making archives from
/home/test001/ksh93/on_build1/test1_x86/proto/root_i386 in
/home/test001/ksh93/on_build1/test1_x86/archives/i386/nightly.
Creating generic kernel archive:        152240 blocks
Creating generic lib archive:   59950 blocks
Creating generic root archive:  4720 blocks
Creating generic sbin archive:  2520 blocks
Failed to create generic usr archive:   379370 blocks
cpiotranslate: usr/perl5/5.6.1/lib/File/Spec/.svn/entries: no packaging
info
cpiotranslate: usr/perl5/5.6.1/lib/File/Spec/.svn/format: no packaging
info
cpiotranslate:
usr/perl5/5.6.1/lib/File/Spec/.svn/text-base/VMS.pm.svn-base: no
packaging info
cpiotranslate:
usr/perl5/5.6.1/lib/File/Spec/.svn/text-base/Epoc.pm.svn-base: no
packaging info
[snip]
cpiotranslate: usr/perl5/5.6.1/lib/.svn/text-base/integer.pm.svn-base:
no packaging info
cpiotranslate: usr/perl5/5.6.1/lib/.svn/text-base/Dumpvalue.pm.svn-base:
no packaging info
cpiotranslate: usr/perl5/5.6.1/lib/.svn/text-base/FileCache.pm.svn-base:
no packaging info
cpiotranslate: usr/perl5/5.6.1/lib/.svn/text-base: no packaging info
cpiotranslate: usr/perl5/5.6.1/lib/.svn: no packaging info
Creating i86pc boot archive:    5070 blocks
Creating i86pc root archive:    11090 blocks
Creating i86pc usr archive:     2300 blocks
Creating conflict resolution archive: 630 blocks

real    1m6.791s
user    0m1.978s
sys     0m4.601s
$
-- snip --

The attached patch fixes this (and "yes", I filed a bug at
http://bugs.opensolaris.org/ but I didn't get any response yet... ;-( ).

Questions:
- Is the patch Ok ?
- Should I add support for Mercuial and GIT, too ?
- Are there any volunteers who are interested to sponsor the patch ?
 
----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) roland.mainz at nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 7950090
 (;O/ \/ \O;)
-------------- next part --------------
Index: src/cmd/perl/5.6.1/distrib/ext/IPC/SysV/Makefile.PL
===================================================================
--- src/cmd/perl/5.6.1/distrib/ext/IPC/SysV/Makefile.PL (revision 680)
+++ src/cmd/perl/5.6.1/distrib/ext/IPC/SysV/Makefile.PL (working copy)
@@ -32,7 +32,7 @@
  my($self,$path) = @_;
 
  return '' 
-       if($path =~ m:/(RCS|CVS|SCCS)/: ||
+       if($path =~ m:/(RCS|CVS|SCCS|\.svn)/: ||
           $path =~ m:[~%]$: ||
           $path =~ m:\.(orig|rej)$:
          );
Index: src/cmd/perl/5.6.1/distrib/lib/ExtUtils/MM_Unix.pm
===================================================================
--- src/cmd/perl/5.6.1/distrib/lib/ExtUtils/MM_Unix.pm  (revision 680)
+++ src/cmd/perl/5.6.1/distrib/lib/ExtUtils/MM_Unix.pm  (working copy)
@@ -1485,7 +1485,7 @@
        require File::Find;
        File::Find::find(sub {
            if (-d $_){
-               if ($_ eq "CVS" || $_ eq "RCS"){
+               if ($_ eq "CVS" || $_ eq "RCS"  || $_ eq ".svn"){
                    $File::Find::prune = 1;
                }
                return;
@@ -2249,7 +2249,7 @@
 
 Takes a path to a file that is found by init_dirscan and returns false
 if we don't want to include this file in the library. Mainly used to
-exclude RCS, CVS, and SCCS directories from installation.
+exclude RCS, CVS, SCCS and Subversion directories from installation.
 
 =cut
 
@@ -2257,7 +2257,7 @@
 
 sub libscan {
     my($self,$path) = @_;
-    return '' if $path =~ m:\b(RCS|CVS|SCCS)\b: ;
+    return '' if $path =~ m:\b(RCS|CVS|SCCS|\.svn)\b: ;
     $path;
 }
 
Index: src/cmd/perl/5.6.1/distrib/installperl
===================================================================
--- src/cmd/perl/5.6.1/distrib/installperl      (revision 680)
+++ src/cmd/perl/5.6.1/distrib/installperl      (working copy)
@@ -657,8 +657,8 @@
 
     my $name = $_;
 
-    # Ignore SCCS, RCS and CVS directories.
-    if ((($name eq 'SCCS' or $name eq 'CVS' or $name eq 'RCS') and -d $name)
+    # Ignore SCCS, RCS, CVS and Subversion directories.
+    if ((($name eq 'SCCS' or $name eq 'CVS' or $name eq 'RCS' or $name eq 
'.svn') and -d $name)
         or ($name eq '.tstamp' and -f $name)) {
        $File::Find::prune = 1;
        return;
Index: src/cmd/perl/5.8.4/distrib/ext/IPC/SysV/Makefile.PL
===================================================================
--- src/cmd/perl/5.8.4/distrib/ext/IPC/SysV/Makefile.PL (revision 680)
+++ src/cmd/perl/5.8.4/distrib/ext/IPC/SysV/Makefile.PL (working copy)
@@ -32,7 +32,7 @@
  my($self,$path) = @_;
 
  return '' 
-       if($path =~ m:/(RCS|CVS|SCCS)/: ||
+       if($path =~ m:/(RCS|CVS|SCCS|\.svn)/: ||
           $path =~ m:[~%]$: ||
           $path =~ m:\.(orig|rej)$:
          );

Reply via email to