xref: /freebsd/usr.bin/shar/shar.sh (revision bdcbfde3)
19b50d902SRodney W. Grimes#!/bin/sh -
29b50d902SRodney W. Grimes#
38a16b7a1SPedro F. Giffuni# SPDX-License-Identifier: BSD-3-Clause
48a16b7a1SPedro F. Giffuni#
59b50d902SRodney W. Grimes# Copyright (c) 1990, 1993
69b50d902SRodney W. Grimes#	The Regents of the University of California.  All rights reserved.
79b50d902SRodney W. Grimes#
89b50d902SRodney W. Grimes# Redistribution and use in source and binary forms, with or without
99b50d902SRodney W. Grimes# modification, are permitted provided that the following conditions
109b50d902SRodney W. Grimes# are met:
119b50d902SRodney W. Grimes# 1. Redistributions of source code must retain the above copyright
129b50d902SRodney W. Grimes#    notice, this list of conditions and the following disclaimer.
139b50d902SRodney W. Grimes# 2. Redistributions in binary form must reproduce the above copyright
149b50d902SRodney W. Grimes#    notice, this list of conditions and the following disclaimer in the
159b50d902SRodney W. Grimes#    documentation and/or other materials provided with the distribution.
16fbbd9655SWarner Losh# 3. Neither the name of the University nor the names of its contributors
179b50d902SRodney W. Grimes#    may be used to endorse or promote products derived from this software
189b50d902SRodney W. Grimes#    without specific prior written permission.
199b50d902SRodney W. Grimes#
209b50d902SRodney W. Grimes# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
219b50d902SRodney W. Grimes# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
229b50d902SRodney W. Grimes# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
239b50d902SRodney W. Grimes# ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
249b50d902SRodney W. Grimes# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
259b50d902SRodney W. Grimes# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
269b50d902SRodney W. Grimes# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
279b50d902SRodney W. Grimes# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
289b50d902SRodney W. Grimes# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
299b50d902SRodney W. Grimes# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
309b50d902SRodney W. Grimes# SUCH DAMAGE.
319b50d902SRodney W. Grimes
329b50d902SRodney W. Grimesif [ $# -eq 0 ]; then
3353202ce5SJun-ichiro itojun Hagino	echo 'usage: shar file ...' 1>&2
3453202ce5SJun-ichiro itojun Hagino	exit 64			# EX_USAGE
359b50d902SRodney W. Grimesfi
369b50d902SRodney W. Grimes
3753202ce5SJun-ichiro itojun Haginofor i
3853202ce5SJun-ichiro itojun Haginodo
39de51002fSJun-ichiro itojun Hagino	if [ ! \( -d $i -o -r $i \) ]; then
40de51002fSJun-ichiro itojun Hagino		echo "$i inaccessible or not exist" 1>&2
4153202ce5SJun-ichiro itojun Hagino		exit 66		# EX_NOINPUT
4253202ce5SJun-ichiro itojun Hagino	fi
4353202ce5SJun-ichiro itojun Haginodone
4453202ce5SJun-ichiro itojun Hagino
459b50d902SRodney W. Grimescat << EOF
469b50d902SRodney W. Grimes# This is a shell archive.  Save it in a file, remove anything before
479b50d902SRodney W. Grimes# this line, and then unpack it by entering "sh file".  Note, it may
489b50d902SRodney W. Grimes# create directories; files and directories will be owned by you and
499b50d902SRodney W. Grimes# have default permissions.
509b50d902SRodney W. Grimes#
519b50d902SRodney W. Grimes# This archive contains:
529b50d902SRodney W. Grimes#
539b50d902SRodney W. GrimesEOF
549b50d902SRodney W. Grimes
559b50d902SRodney W. Grimesfor i
569b50d902SRodney W. Grimesdo
579b50d902SRodney W. Grimes	echo "#	$i"
589b50d902SRodney W. Grimesdone
599b50d902SRodney W. Grimes
609b50d902SRodney W. Grimesecho "#"
619b50d902SRodney W. Grimes
629b50d902SRodney W. Grimesfor i
639b50d902SRodney W. Grimesdo
649b50d902SRodney W. Grimes	if [ -d $i ]; then
659b50d902SRodney W. Grimes		echo "echo c - $i"
669b50d902SRodney W. Grimes		echo "mkdir -p $i > /dev/null 2>&1"
679b50d902SRodney W. Grimes	else
68d92b4112SRemko Lodder		md5sum=`echo -n $i | md5`
699b50d902SRodney W. Grimes		echo "echo x - $i"
70d92b4112SRemko Lodder		echo "sed 's/^X//' >$i << '$md5sum'"
71de51002fSJun-ichiro itojun Hagino		sed 's/^/X/' $i || exit
72d92b4112SRemko Lodder		echo "$md5sum"
739b50d902SRodney W. Grimes	fi
749b50d902SRodney W. Grimesdone
759b50d902SRodney W. Grimesecho exit
769b50d902SRodney W. Grimesecho ""
779b50d902SRodney W. Grimes
789b50d902SRodney W. Grimesexit 0
79