diff options
Diffstat (limited to 'Documentation/BK-usage/bz64wrap')
-rwxr-xr-x | Documentation/BK-usage/bz64wrap | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Documentation/BK-usage/bz64wrap b/Documentation/BK-usage/bz64wrap new file mode 100755 index 000000000000..be780876849f --- /dev/null +++ b/Documentation/BK-usage/bz64wrap | |||
@@ -0,0 +1,41 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | # bz64wrap - the sending side of a bzip2 | base64 stream | ||
4 | # Andreas Dilger <adilger@clusterfs.com> Jan 2002 | ||
5 | |||
6 | |||
7 | PATH=$PATH:/usr/bin:/usr/local/bin:/usr/freeware/bin | ||
8 | |||
9 | # A program to generate base64 encoding on stdout | ||
10 | BASE64_ENCODE="uuencode -m /dev/stdout" | ||
11 | BASE64_BEGIN= | ||
12 | BASE64_END= | ||
13 | |||
14 | BZIP=NO | ||
15 | BASE64=NO | ||
16 | |||
17 | # Test if we have the bzip program installed | ||
18 | bzip2 -c /dev/null > /dev/null 2>&1 && BZIP=YES | ||
19 | |||
20 | # Test if uuencode can handle the -m (MIME) encoding option | ||
21 | $BASE64_ENCODE < /dev/null > /dev/null 2>&1 && BASE64=YES | ||
22 | |||
23 | if [ $BASE64 = NO ]; then | ||
24 | BASE64_ENCODE=mimencode | ||
25 | BASE64_BEGIN="begin-base64 644 -" | ||
26 | BASE64_END="====" | ||
27 | |||
28 | $BASE64_ENCODE < /dev/null > /dev/null 2>&1 && BASE64=YES | ||
29 | fi | ||
30 | |||
31 | if [ $BZIP = NO -o $BASE64 = NO ]; then | ||
32 | echo "$0: can't use bz64 encoding: bzip2=$BZIP, $BASE64_ENCODE=$BASE64" | ||
33 | exit 1 | ||
34 | fi | ||
35 | |||
36 | # Sadly, mimencode does not appear to have good "begin" and "end" markers | ||
37 | # like uuencode does, and it is picky about getting the right start/end of | ||
38 | # the base64 stream, so we handle this internally. | ||
39 | echo "$BASE64_BEGIN" | ||
40 | bzip2 -9 | $BASE64_ENCODE | ||
41 | echo "$BASE64_END" | ||