Home | History | Annotate | Line # | Download | only in bzip2
      1 #! /bin/sh
      2 #
      3 #	$NetBSD: bzip2netbsd,v 1.1 2012/05/07 08:55:46 wiz Exp $
      4 #
      5 # Copyright (c) 1998, 1999, 2001, 2012 The NetBSD Foundation, Inc.
      6 # All rights reserved.
      7 #
      8 # Redistribution and use in source and binary forms, with or without
      9 # modification, are permitted provided that the following conditions
     10 # are met:
     11 # 1. Redistributions of source code must retain the above copyright
     12 #    notice, this list of conditions and the following disclaimer.
     13 # 2. Redistributions in binary form must reproduce the above copyright
     14 #    notice, this list of conditions and the following disclaimer in the
     15 #    documentation and/or other materials provided with the distribution.
     16 #
     17 # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
     18 # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     19 # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     20 # PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
     21 # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     22 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     23 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     24 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     25 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     26 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     27 # POSSIBILITY OF SUCH DAMAGE.
     28 #
     29 # bzip2netbsd:  convert a bzip2 source tree into a
     30 # netbsd bzip2 source tree, under src/external/bsd/dist,
     31 # based on the other *2netbsd scripts in the NetBSD source tree
     32 #
     33 # Rough instructions for importing new bzip2 release:
     34 #
     35 #	$ cd /some/where/temporary
     36 #	$ tar xpfz /new/bzip2/release/tar/file
     37 #	$ sh /usr/src/external/bsd/bzip2/bzip2netbsd bzip2-1.x.y `pwd`
     38 #	$ cd src/external/bsd/bzip2/dist
     39 #	$ cvs import -m "Import bzip2 1.x.y" src/external/bsd/bzip2/dist JSEWARD bzip2-1-x-y
     40 #	$ cd ../../../../..
     41 #	$ rm -r src bzip2-1.x.y
     42 #
     43 #	- check makefiles to see if any extra sources have been added.
     44 #	- update distrib/sets if necessary.
     45 
     46 if [ $# -ne 2 ]; then echo "bzip2netbsd src dest"; exit 1; fi
     47 
     48 r=$1
     49 d=$2/src/external/bsd/bzip2/dist
     50 
     51 case "$d" in
     52 	/*)
     53 		;;
     54 	*)
     55 		d=`/bin/pwd`/$d
     56 		;;
     57 esac
     58 
     59 case "$r" in
     60 	/*)
     61 		;;
     62 	*)
     63 		r=`/bin/pwd`/$r
     64 		;;
     65 esac
     66 
     67 echo preparing directory $d
     68 rm -rf $d
     69 mkdir -p $d
     70 
     71 ### Copy the files and directories
     72 echo copying $r to $d
     73 cd $r
     74 pax -rw * $d
     75 
     76 # cd to import directory
     77 cd $d
     78 
     79 ### delete formatted manual pages
     80 echo removing unneeded directories and files
     81 rm -f bzip2.1.preformatted bzip2.txt
     82 
     83 ### bzip2 distribution doesn't have RCS/CVS tags (!).
     84 
     85 ### Add our NetBSD RCS Id
     86 find $d -type f -name '*.[chly]' -print | while read c; do
     87 	sed 1q < $c | grep -q '\$NetBSD' || (
     88 echo "/*	\$NetBSD\$	*/" >/tmp/bzip3n$$
     89 echo "" >>/tmp/bzip3n$$
     90 cat $c  >> /tmp/bzip3n$$
     91 mv /tmp/bzip3n$$ $c && echo added NetBSD RCS tag to $c
     92 	)
     93 done
     94 
     95 find $d -type f -name '*.[0-9]' -print | while read m; do
     96 	sed 1q < $m | grep -q '\$NetBSD' || (
     97 echo ".\\\"	\$NetBSD\$" >/tmp/bzip2m$$
     98 echo ".\\\"" >>/tmp/bzip2m$$
     99 cat $m >> /tmp/bzip2m$$
    100 mv /tmp/bzip2m$$ $m && echo added NetBSD RCS tag to $m
    101 	)
    102 done
    103 
    104 echo done
    105 
    106 ### Clean up any CVS directories that might be around.
    107 echo "cleaning up CVS residue."
    108 (
    109 	cd $d
    110 	find . -type d -name "CVS" -print | xargs rm -r
    111 )
    112 echo done
    113 
    114 ### Fixing file and directory permissions.
    115 echo "Fixing file/directory permissions."
    116 (
    117 	cd $d
    118 	find . -type f -print | xargs chmod u+rw,go+r
    119 	find . -type d -print | xargs chmod u+rwx,go+rx
    120 )
    121 echo done
    122 
    123 exit 0
    124