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