You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by "C. Scott Ananian" <ca...@lesser-magoo.lcs.mit.edu> on 2001/09/06 22:09:41 UTC

[PATCH] fix for MacOS case-insensitivity problems.

2001-09-06  C. Scott Ananian  <ca...@alumni.princeton.edu>

	* gen-make.py
	Add $(PREINSTALL) suffix to uninstalled executables so that
	we can build svn even on case-insensitive filesystems.
	Will behave identically to standard makefile unless you
	build as 'make PREINSTALL=-preinstall <targets>'.
	* svn-test.sh
	* svn-test2.sh
	Update so that they inherit the setting of $PREINSTALL
	from the makefile when run as 'make check'.  Perhaps
	a better solution can be found here, but (at the moment)
	only MacOS folks are going to need to set PREINSTALL.

Index: ./gen-make.py
===================================================================
--- ./SVN/text-base/gen-make.py	Wed Sep  5 17:09:53 2001
+++ ./gen-make.py	Thu Sep  6 17:53:58 2001
@@ -70,7 +70,7 @@
     bldtype = target_ob.type
     objext = target_ob.objext
 
-    tpath = target_ob.output
+    tpath = target_ob.preinstall
     tfile = os.path.basename(tpath)
 
     if target_ob.install == 'test' and bldtype == 'exe':
@@ -151,7 +151,7 @@
   for g_name, g_targets in install.items():
     target_names = [ ]
     for i in g_targets:
-      target_names.append(i.output)
+      target_names.append(i.preinstall)
 
     ofile.write('%s: %s\n\n' % (g_name, string.join(target_names)))
 
@@ -162,13 +162,15 @@
     # .la files are handled by the standard 'clean' rule; clean all the
     # other targets
     if target.output[-3:] != '.la':
-      cfiles.append(target.output)
+      cfiles.append(target.preinstall)
   ofile.write('CLEAN_FILES = %s\n\n' % string.join(cfiles))
 
   for area, inst_targets in install.items():
     files = [ ]
+    pifiles = [ ]
     for t in inst_targets:
       files.append(t.output)
+      pifiles.append(t.preinstall)
 
     if area == 'apache-mod':
       ofile.write('install-mods-shared: %s\n' % (string.join(files),))
@@ -213,12 +215,12 @@
       area_var = string.replace(area, '-', '_')
       ofile.write('install-%s: %s\n'
                   '\t$(MKDIR) $(%sdir)\n'
-                  % (area, string.join(files), area_var))
-      for file in files:
+                  % (area, string.join(pifiles), area_var))
+      for t in inst_targets:
         ofile.write('\t$(INSTALL_%s) %s %s\n'
-                    % (string.upper(area_var), file,
+                    % (string.upper(area_var), t.preinstall,
 		       os.path.join('$(%sdir)' % area_var,
-		                    os.path.basename(file))))
+		                    os.path.basename(t.output))))
       ofile.write('\n')
 
   includes, i_errors = _collect_paths(parser.get('includes', 'paths'))
@@ -308,6 +310,10 @@
 
     self.install = install
     self.output = os.path.join(path, tfile)
+    if type == 'exe' and install != 'test' and install != 'fs-test':
+      self.preinstall = self.output + '$(PREINSTALL)'
+    else:
+      self.preinstall = self.output
 
 class GenMakeError(Exception):
   pass
Index: ./subversion/tests/clients/cmdline/xmltests/svn-test.sh
===================================================================
--- ./subversion/tests/clients/cmdline/xmltests/SVN/text-base/svn-test.sh	Wed Sep  5 17:10:10 2001
+++ ./subversion/tests/clients/cmdline/xmltests/svn-test.sh	Thu Sep  6 17:58:36 2001
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-SVN_PROG=../../../../clients/cmdline/svn
+SVN_PROG=../../../../clients/cmdline/svn$PREINSTALL
 XML_DIR=../../../xml
 TEST_DIR_1=t1
 TEST_DIR_2=t2
Index: ./subversion/tests/clients/cmdline/xmltests/svn-test2.sh
===================================================================
--- ./subversion/tests/clients/cmdline/xmltests/SVN/text-base/svn-test2.sh	Wed Sep  5 17:10:10 2001
+++ ./subversion/tests/clients/cmdline/xmltests/svn-test2.sh	Thu Sep  6 17:58:09 2001
@@ -2,7 +2,7 @@
 
 # Testing merging and conflict resolution.
 
-SVN_PROG=../../../../clients/cmdline/svn
+SVN_PROG=../../../../clients/cmdline/svn$PREINSTALL
 XML_DIR=../../../xml
 TEST_DIR_1=t1
 TEST_DIR_2=t2


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [SVN-DEV] Re: [PATCH] fix for MacOS case-insensitivity problems.

Posted by "C. Scott Ananian" <ca...@lesser-magoo.lcs.mit.edu>.
I could imagine other reasons why people might like to have the
pre-installation binaries be named differently from the installed
binaries.  But after SVN->.svn, I agree that the major motivation will
have passed.
 --s

On 24 Sep 2001 kfogel@collab.net wrote:

> This is, or will be, addressed by the upcoming SVN --> .svn change,
> right?  (I.e., I believe this patch is no longer necessary.)
> 
> -K
> 
> "C. Scott Ananian" <ca...@lesser-magoo.lcs.mit.edu> writes:
> > 2001-09-06  C. Scott Ananian  <ca...@alumni.princeton.edu>
> > 
> > 	* gen-make.py
> > 	Add $(PREINSTALL) suffix to uninstalled executables so that
> > 	we can build svn even on case-insensitive filesystems.
> > 	Will behave identically to standard makefile unless you
> > 	build as 'make PREINSTALL=-preinstall <targets>'.
> > 	* svn-test.sh
> > 	* svn-test2.sh
> > 	Update so that they inherit the setting of $PREINSTALL
> > 	from the makefile when run as 'make check'.  Perhaps
> > 	a better solution can be found here, but (at the moment)
> > 	only MacOS folks are going to need to set PREINSTALL.
> > 
> > Index: ./gen-make.py
> > ===================================================================
> > --- ./SVN/text-base/gen-make.py	Wed Sep  5 17:09:53 2001
> > +++ ./gen-make.py	Thu Sep  6 17:53:58 2001
> > @@ -70,7 +70,7 @@
> >      bldtype = target_ob.type
> >      objext = target_ob.objext
> >  
> > -    tpath = target_ob.output
> > +    tpath = target_ob.preinstall
> >      tfile = os.path.basename(tpath)
> >  
> >      if target_ob.install == 'test' and bldtype == 'exe':
> > @@ -151,7 +151,7 @@
> >    for g_name, g_targets in install.items():
> >      target_names = [ ]
> >      for i in g_targets:
> > -      target_names.append(i.output)
> > +      target_names.append(i.preinstall)
> >  
> >      ofile.write('%s: %s\n\n' % (g_name, string.join(target_names)))
> >  
> > @@ -162,13 +162,15 @@
> >      # .la files are handled by the standard 'clean' rule; clean all the
> >      # other targets
> >      if target.output[-3:] != '.la':
> > -      cfiles.append(target.output)
> > +      cfiles.append(target.preinstall)
> >    ofile.write('CLEAN_FILES = %s\n\n' % string.join(cfiles))
> >  
> >    for area, inst_targets in install.items():
> >      files = [ ]
> > +    pifiles = [ ]
> >      for t in inst_targets:
> >        files.append(t.output)
> > +      pifiles.append(t.preinstall)
> >  
> >      if area == 'apache-mod':
> >        ofile.write('install-mods-shared: %s\n' % (string.join(files),))
> > @@ -213,12 +215,12 @@
> >        area_var = string.replace(area, '-', '_')
> >        ofile.write('install-%s: %s\n'
> >                    '\t$(MKDIR) $(%sdir)\n'
> > -                  % (area, string.join(files), area_var))
> > -      for file in files:
> > +                  % (area, string.join(pifiles), area_var))
> > +      for t in inst_targets:
> >          ofile.write('\t$(INSTALL_%s) %s %s\n'
> > -                    % (string.upper(area_var), file,
> > +                    % (string.upper(area_var), t.preinstall,
> >  		       os.path.join('$(%sdir)' % area_var,
> > -		                    os.path.basename(file))))
> > +		                    os.path.basename(t.output))))
> >        ofile.write('\n')
> >  
> >    includes, i_errors = _collect_paths(parser.get('includes', 'paths'))
> > @@ -308,6 +310,10 @@
> >  
> >      self.install = install
> >      self.output = os.path.join(path, tfile)
> > +    if type == 'exe' and install != 'test' and install != 'fs-test':
> > +      self.preinstall = self.output + '$(PREINSTALL)'
> > +    else:
> > +      self.preinstall = self.output
> >  
> >  class GenMakeError(Exception):
> >    pass
> > Index: ./subversion/tests/clients/cmdline/xmltests/svn-test.sh
> > ===================================================================
> > --- ./subversion/tests/clients/cmdline/xmltests/SVN/text-base/svn-test.sh	Wed Sep  5 17:10:10 2001
> > +++ ./subversion/tests/clients/cmdline/xmltests/svn-test.sh	Thu Sep  6 17:58:36 2001
> > @@ -1,6 +1,6 @@
> >  #!/bin/sh
> >  
> > -SVN_PROG=../../../../clients/cmdline/svn
> > +SVN_PROG=../../../../clients/cmdline/svn$PREINSTALL
> >  XML_DIR=../../../xml
> >  TEST_DIR_1=t1
> >  TEST_DIR_2=t2
> > Index: ./subversion/tests/clients/cmdline/xmltests/svn-test2.sh
> > ===================================================================
> > --- ./subversion/tests/clients/cmdline/xmltests/SVN/text-base/svn-test2.sh	Wed Sep  5 17:10:10 2001
> > +++ ./subversion/tests/clients/cmdline/xmltests/svn-test2.sh	Thu Sep  6 17:58:09 2001
> > @@ -2,7 +2,7 @@
> >  
> >  # Testing merging and conflict resolution.
> >  
> > -SVN_PROG=../../../../clients/cmdline/svn
> > +SVN_PROG=../../../../clients/cmdline/svn$PREINSTALL
> >  XML_DIR=../../../xml
> >  TEST_DIR_1=t1
> >  TEST_DIR_2=t2
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> > For additional commands, e-mail: dev-help@subversion.tigris.org
> 
> 


Indonesia terrorist pending Ft. Meade ammunition MI5 Rijndael NORAD 
counter-intelligence cracking Saddam Hussein Treasury COBRA JANE bomb 
              ( http://lesser-magoo.lcs.mit.edu/~cananian )
 --
 "These students are going to have to find out what law and order is
 all about."  -- Brig. General Robert Canterbury, Noon, May 4, 1970,
 minutes before his troops shot 13 unarmed Kent State students, killing 4.
 --
            [http://www.cs.cmu.edu/~dst/DeCSS/Gallery/]
#!/usr/bin/perl -w
# 526-byte qrpff, Keith Winstein and Marc Horowitz <si...@mit.edu>
# MPEG 2 PS VOB file on stdin -> descrambled output on stdout
# arguments: title key bytes in least to most-significant order
$_='while(read+STDIN,$_,2048){$a=29;$c=142;if((@a=unx"C*",$_)[20]&48){$h=5;
$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$d=
unxV,xb25,$_;$b=73;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=($t=255)&($d
>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9
,$_=(map{$_%16or$t^=$c^=($m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t
^=(72,@z=(64,72,$a^=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271))
[$_]^(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] fix for MacOS case-insensitivity problems.

Posted by kf...@collab.net.
This is, or will be, addressed by the upcoming SVN --> .svn change,
right?  (I.e., I believe this patch is no longer necessary.)

-K

"C. Scott Ananian" <ca...@lesser-magoo.lcs.mit.edu> writes:
> 2001-09-06  C. Scott Ananian  <ca...@alumni.princeton.edu>
> 
> 	* gen-make.py
> 	Add $(PREINSTALL) suffix to uninstalled executables so that
> 	we can build svn even on case-insensitive filesystems.
> 	Will behave identically to standard makefile unless you
> 	build as 'make PREINSTALL=-preinstall <targets>'.
> 	* svn-test.sh
> 	* svn-test2.sh
> 	Update so that they inherit the setting of $PREINSTALL
> 	from the makefile when run as 'make check'.  Perhaps
> 	a better solution can be found here, but (at the moment)
> 	only MacOS folks are going to need to set PREINSTALL.
> 
> Index: ./gen-make.py
> ===================================================================
> --- ./SVN/text-base/gen-make.py	Wed Sep  5 17:09:53 2001
> +++ ./gen-make.py	Thu Sep  6 17:53:58 2001
> @@ -70,7 +70,7 @@
>      bldtype = target_ob.type
>      objext = target_ob.objext
>  
> -    tpath = target_ob.output
> +    tpath = target_ob.preinstall
>      tfile = os.path.basename(tpath)
>  
>      if target_ob.install == 'test' and bldtype == 'exe':
> @@ -151,7 +151,7 @@
>    for g_name, g_targets in install.items():
>      target_names = [ ]
>      for i in g_targets:
> -      target_names.append(i.output)
> +      target_names.append(i.preinstall)
>  
>      ofile.write('%s: %s\n\n' % (g_name, string.join(target_names)))
>  
> @@ -162,13 +162,15 @@
>      # .la files are handled by the standard 'clean' rule; clean all the
>      # other targets
>      if target.output[-3:] != '.la':
> -      cfiles.append(target.output)
> +      cfiles.append(target.preinstall)
>    ofile.write('CLEAN_FILES = %s\n\n' % string.join(cfiles))
>  
>    for area, inst_targets in install.items():
>      files = [ ]
> +    pifiles = [ ]
>      for t in inst_targets:
>        files.append(t.output)
> +      pifiles.append(t.preinstall)
>  
>      if area == 'apache-mod':
>        ofile.write('install-mods-shared: %s\n' % (string.join(files),))
> @@ -213,12 +215,12 @@
>        area_var = string.replace(area, '-', '_')
>        ofile.write('install-%s: %s\n'
>                    '\t$(MKDIR) $(%sdir)\n'
> -                  % (area, string.join(files), area_var))
> -      for file in files:
> +                  % (area, string.join(pifiles), area_var))
> +      for t in inst_targets:
>          ofile.write('\t$(INSTALL_%s) %s %s\n'
> -                    % (string.upper(area_var), file,
> +                    % (string.upper(area_var), t.preinstall,
>  		       os.path.join('$(%sdir)' % area_var,
> -		                    os.path.basename(file))))
> +		                    os.path.basename(t.output))))
>        ofile.write('\n')
>  
>    includes, i_errors = _collect_paths(parser.get('includes', 'paths'))
> @@ -308,6 +310,10 @@
>  
>      self.install = install
>      self.output = os.path.join(path, tfile)
> +    if type == 'exe' and install != 'test' and install != 'fs-test':
> +      self.preinstall = self.output + '$(PREINSTALL)'
> +    else:
> +      self.preinstall = self.output
>  
>  class GenMakeError(Exception):
>    pass
> Index: ./subversion/tests/clients/cmdline/xmltests/svn-test.sh
> ===================================================================
> --- ./subversion/tests/clients/cmdline/xmltests/SVN/text-base/svn-test.sh	Wed Sep  5 17:10:10 2001
> +++ ./subversion/tests/clients/cmdline/xmltests/svn-test.sh	Thu Sep  6 17:58:36 2001
> @@ -1,6 +1,6 @@
>  #!/bin/sh
>  
> -SVN_PROG=../../../../clients/cmdline/svn
> +SVN_PROG=../../../../clients/cmdline/svn$PREINSTALL
>  XML_DIR=../../../xml
>  TEST_DIR_1=t1
>  TEST_DIR_2=t2
> Index: ./subversion/tests/clients/cmdline/xmltests/svn-test2.sh
> ===================================================================
> --- ./subversion/tests/clients/cmdline/xmltests/SVN/text-base/svn-test2.sh	Wed Sep  5 17:10:10 2001
> +++ ./subversion/tests/clients/cmdline/xmltests/svn-test2.sh	Thu Sep  6 17:58:09 2001
> @@ -2,7 +2,7 @@
>  
>  # Testing merging and conflict resolution.
>  
> -SVN_PROG=../../../../clients/cmdline/svn
> +SVN_PROG=../../../../clients/cmdline/svn$PREINSTALL
>  XML_DIR=../../../xml
>  TEST_DIR_1=t1
>  TEST_DIR_2=t2
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org