libarchive 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
- #ifndef _ARCHIVE_WRITE_OPEN_RB_STR_H_
2
- #define _ARCHIVE_WRITE_OPEN_RB_STR_H_
3
-
4
- int archive_write_open_rb_str(struct archive *a, VALUE str);
5
-
6
- #endif
1
+ #ifndef _ARCHIVE_WRITE_OPEN_RB_STR_H_
2
+ #define _ARCHIVE_WRITE_OPEN_RB_STR_H_
3
+
4
+ int archive_write_open_rb_str(struct archive *a, VALUE str);
5
+
6
+ #endif
@@ -1,32 +1,32 @@
1
- #include <errno.h>
2
- #include <archive.h>
3
-
4
- static struct {
5
- int code;
6
- int (*setter)(struct archive *);
7
- } codes[] = {
8
- { ARCHIVE_COMPRESSION_NONE, archive_write_set_compression_none },
9
- { ARCHIVE_COMPRESSION_GZIP, archive_write_set_compression_gzip },
10
- { ARCHIVE_COMPRESSION_BZIP2, archive_write_set_compression_bzip2 },
11
- #if ARCHIVE_VERSION_NUMBER >= 2005000
12
- { ARCHIVE_COMPRESSION_COMPRESS, archive_write_set_compression_compress },
13
- #endif
14
- // XXX:
15
- /*
16
- { ARCHIVE_COMPRESSION_PROGRAM, archive_read_support_compression_program },
17
- */
18
- { -1, NULL },
19
- };
20
-
21
- int archive_write_set_compression(struct archive *a, int code) {
22
- int i;
23
-
24
- for (i = 0; codes[i].code >= 0; i++) {
25
- if (codes[i].code == code) {
26
- return codes[i].setter(a);
27
- }
28
- }
29
-
30
- archive_set_error(a, EINVAL, "No such compression");
31
- return ARCHIVE_FATAL;
32
- }
1
+ #include <errno.h>
2
+ #include <archive.h>
3
+
4
+ static struct {
5
+ int code;
6
+ int (*setter)(struct archive *);
7
+ } codes[] = {
8
+ { ARCHIVE_COMPRESSION_NONE, archive_write_set_compression_none },
9
+ { ARCHIVE_COMPRESSION_GZIP, archive_write_set_compression_gzip },
10
+ { ARCHIVE_COMPRESSION_BZIP2, archive_write_set_compression_bzip2 },
11
+ #if ARCHIVE_VERSION_NUMBER >= 2005000
12
+ { ARCHIVE_COMPRESSION_COMPRESS, archive_write_set_compression_compress },
13
+ #endif
14
+ // XXX:
15
+ /*
16
+ { ARCHIVE_COMPRESSION_PROGRAM, archive_read_support_compression_program },
17
+ */
18
+ { -1, NULL },
19
+ };
20
+
21
+ int archive_write_set_compression(struct archive *a, int code) {
22
+ int i;
23
+
24
+ for (i = 0; codes[i].code >= 0; i++) {
25
+ if (codes[i].code == code) {
26
+ return codes[i].setter(a);
27
+ }
28
+ }
29
+
30
+ archive_set_error(a, EINVAL, "No such compression");
31
+ return ARCHIVE_FATAL;
32
+ }
@@ -1,6 +1,6 @@
1
- #ifndef _ARCHIVE_WRITE_SET_COMPRESSION_H_
2
- #define _ARCHIVE_WRITE_SET_COMPRESSION_H_
3
-
4
- int archive_write_set_compression(struct archive *a, int code);
5
-
6
- #endif
1
+ #ifndef _ARCHIVE_WRITE_SET_COMPRESSION_H_
2
+ #define _ARCHIVE_WRITE_SET_COMPRESSION_H_
3
+
4
+ int archive_write_set_compression(struct archive *a, int code);
5
+
6
+ #endif
@@ -1,22 +1,22 @@
1
- /* config.h.in. Generated from configure.in by autoheader. */
2
-
3
- /* Define to the address where bug reports for this package should be sent. */
4
- #undef PACKAGE_BUGREPORT
5
-
6
- /* Define to the full name of this package. */
7
- #undef PACKAGE_NAME
8
-
9
- /* Define to the full name and version of this package. */
10
- #undef PACKAGE_STRING
11
-
12
- /* Define to the one symbol short name of this package. */
13
- #undef PACKAGE_TARNAME
14
-
15
- /* Define to the version of this package. */
16
- #undef PACKAGE_VERSION
17
-
18
- /* Number of bits in a file offset, on hosts where this is settable. */
19
- #undef _FILE_OFFSET_BITS
20
-
21
- /* Define for large files, on AIX-style hosts. */
22
- #undef _LARGE_FILES
1
+ /* config.h.in. Generated from configure.in by autoheader. */
2
+
3
+ /* Define to the address where bug reports for this package should be sent. */
4
+ #undef PACKAGE_BUGREPORT
5
+
6
+ /* Define to the full name of this package. */
7
+ #undef PACKAGE_NAME
8
+
9
+ /* Define to the full name and version of this package. */
10
+ #undef PACKAGE_STRING
11
+
12
+ /* Define to the one symbol short name of this package. */
13
+ #undef PACKAGE_TARNAME
14
+
15
+ /* Define to the version of this package. */
16
+ #undef PACKAGE_VERSION
17
+
18
+ /* Number of bits in a file offset, on hosts where this is settable. */
19
+ #undef _FILE_OFFSET_BITS
20
+
21
+ /* Define for large files, on AIX-style hosts. */
22
+ #undef _LARGE_FILES
File without changes
@@ -1,11 +1,11 @@
1
- # -*- Autoconf -*-
2
- # Process this file with autoconf to produce a configure script.
3
-
4
- AC_PREREQ(2.61)
5
- AC_INIT
6
- AC_CONFIG_SRCDIR([archive_read_support_compression.c])
7
- AC_CONFIG_HEADER([config.h])
8
- AC_PROG_CC
9
- AC_PROG_INSTALL
10
- AC_SYS_LARGEFILE
11
- AC_OUTPUT
1
+ # -*- Autoconf -*-
2
+ # Process this file with autoconf to produce a configure script.
3
+
4
+ AC_PREREQ(2.61)
5
+ AC_INIT
6
+ AC_CONFIG_SRCDIR([archive_read_support_compression.c])
7
+ AC_CONFIG_HEADER([config.h])
8
+ AC_PROG_CC
9
+ AC_PROG_INSTALL
10
+ AC_SYS_LARGEFILE
11
+ AC_OUTPUT
data/ext/depend CHANGED
@@ -1,19 +1,19 @@
1
- archive_read_support_compression.o: archive_read_support_compression.c
2
- archive_read_support_format.o: archive_read_support_format.c
3
- archive_write_open_rb_str.o: archive_write_open_rb_str.c
4
- archive_write_set_compression.o: archive_write_set_compression.c
5
- libarchive.o: libarchive.c libarchive_internal.h \
6
- archive_write_open_rb_str.h archive_read_support_compression.h \
7
- archive_read_support_format.h archive_write_set_compression.h
8
- libarchive_archive.o: libarchive_archive.c libarchive_internal.h \
9
- archive_write_open_rb_str.h archive_read_support_compression.h \
10
- archive_read_support_format.h archive_write_set_compression.h
11
- libarchive_entry.o: libarchive_entry.c libarchive_internal.h \
12
- archive_write_open_rb_str.h archive_read_support_compression.h \
13
- archive_read_support_format.h archive_write_set_compression.h
14
- libarchive_reader.o: libarchive_reader.c libarchive_internal.h \
15
- archive_write_open_rb_str.h archive_read_support_compression.h \
16
- archive_read_support_format.h archive_write_set_compression.h
17
- libarchive_writer.o: libarchive_writer.c libarchive_internal.h \
18
- archive_write_open_rb_str.h archive_read_support_compression.h \
19
- archive_read_support_format.h archive_write_set_compression.h
1
+ archive_read_support_compression.o: archive_read_support_compression.c
2
+ archive_read_support_format.o: archive_read_support_format.c
3
+ archive_write_open_rb_str.o: archive_write_open_rb_str.c
4
+ archive_write_set_compression.o: archive_write_set_compression.c
5
+ libarchive.o: libarchive.c libarchive_internal.h \
6
+ archive_write_open_rb_str.h archive_read_support_compression.h \
7
+ archive_read_support_format.h archive_write_set_compression.h
8
+ libarchive_archive.o: libarchive_archive.c libarchive_internal.h \
9
+ archive_write_open_rb_str.h archive_read_support_compression.h \
10
+ archive_read_support_format.h archive_write_set_compression.h
11
+ libarchive_entry.o: libarchive_entry.c libarchive_internal.h \
12
+ archive_write_open_rb_str.h archive_read_support_compression.h \
13
+ archive_read_support_format.h archive_write_set_compression.h
14
+ libarchive_reader.o: libarchive_reader.c libarchive_internal.h \
15
+ archive_write_open_rb_str.h archive_read_support_compression.h \
16
+ archive_read_support_format.h archive_write_set_compression.h
17
+ libarchive_writer.o: libarchive_writer.c libarchive_internal.h \
18
+ archive_write_open_rb_str.h archive_read_support_compression.h \
19
+ archive_read_support_format.h archive_write_set_compression.h
@@ -1,6 +1,10 @@
1
- require 'mkmf'
2
-
3
- if system('/bin/sh configure') and have_header('config.h') and have_header('archive.h') and have_header('archive_entry.h')
4
- $libs << " -larchive"
5
- create_makefile('libarchive_ruby')
6
- end
1
+ require 'mkmf'
2
+
3
+ if system('/bin/sh configure') and have_header('config.h') and have_header('archive.h') and have_header('archive_entry.h')
4
+ $libs << " -larchive"
5
+
6
+ have_header('zlib.h')
7
+ have_header('bzlib.h')
8
+
9
+ create_makefile('rblibarchive')
10
+ end
@@ -1,250 +1,250 @@
1
- #! /bin/sh
2
- #
3
- # install - install a program, script, or datafile
4
- # This comes from X11R5 (mit/util/scripts/install.sh).
5
- #
6
- # Copyright 1991 by the Massachusetts Institute of Technology
7
- #
8
- # Permission to use, copy, modify, distribute, and sell this software and its
9
- # documentation for any purpose is hereby granted without fee, provided that
10
- # the above copyright notice appear in all copies and that both that
11
- # copyright notice and this permission notice appear in supporting
12
- # documentation, and that the name of M.I.T. not be used in advertising or
13
- # publicity pertaining to distribution of the software without specific,
14
- # written prior permission. M.I.T. makes no representations about the
15
- # suitability of this software for any purpose. It is provided "as is"
16
- # without express or implied warranty.
17
- #
18
- # Calling this script install-sh is preferred over install.sh, to prevent
19
- # `make' implicit rules from creating a file called install from it
20
- # when there is no Makefile.
21
- #
22
- # This script is compatible with the BSD install script, but was written
23
- # from scratch. It can only install one file at a time, a restriction
24
- # shared with many OS's install programs.
25
-
26
-
27
- # set DOITPROG to echo to test this script
28
-
29
- # Don't use :- since 4.3BSD and earlier shells don't like it.
30
- doit="${DOITPROG-}"
31
-
32
-
33
- # put in absolute paths if you don't have them in your path; or use env. vars.
34
-
35
- mvprog="${MVPROG-mv}"
36
- cpprog="${CPPROG-cp}"
37
- chmodprog="${CHMODPROG-chmod}"
38
- chownprog="${CHOWNPROG-chown}"
39
- chgrpprog="${CHGRPPROG-chgrp}"
40
- stripprog="${STRIPPROG-strip}"
41
- rmprog="${RMPROG-rm}"
42
- mkdirprog="${MKDIRPROG-mkdir}"
43
-
44
- transformbasename=""
45
- transform_arg=""
46
- instcmd="$mvprog"
47
- chmodcmd="$chmodprog 0755"
48
- chowncmd=""
49
- chgrpcmd=""
50
- stripcmd=""
51
- rmcmd="$rmprog -f"
52
- mvcmd="$mvprog"
53
- src=""
54
- dst=""
55
- dir_arg=""
56
-
57
- while [ x"$1" != x ]; do
58
- case $1 in
59
- -c) instcmd="$cpprog"
60
- shift
61
- continue;;
62
-
63
- -d) dir_arg=true
64
- shift
65
- continue;;
66
-
67
- -m) chmodcmd="$chmodprog $2"
68
- shift
69
- shift
70
- continue;;
71
-
72
- -o) chowncmd="$chownprog $2"
73
- shift
74
- shift
75
- continue;;
76
-
77
- -g) chgrpcmd="$chgrpprog $2"
78
- shift
79
- shift
80
- continue;;
81
-
82
- -s) stripcmd="$stripprog"
83
- shift
84
- continue;;
85
-
86
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
87
- shift
88
- continue;;
89
-
90
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
91
- shift
92
- continue;;
93
-
94
- *) if [ x"$src" = x ]
95
- then
96
- src=$1
97
- else
98
- # this colon is to work around a 386BSD /bin/sh bug
99
- :
100
- dst=$1
101
- fi
102
- shift
103
- continue;;
104
- esac
105
- done
106
-
107
- if [ x"$src" = x ]
108
- then
109
- echo "install: no input file specified"
110
- exit 1
111
- else
112
- true
113
- fi
114
-
115
- if [ x"$dir_arg" != x ]; then
116
- dst=$src
117
- src=""
118
-
119
- if [ -d $dst ]; then
120
- instcmd=:
121
- else
122
- instcmd=mkdir
123
- fi
124
- else
125
-
126
- # Waiting for this to be detected by the "$instcmd $src $dsttmp" command
127
- # might cause directories to be created, which would be especially bad
128
- # if $src (and thus $dsttmp) contains '*'.
129
-
130
- if [ -f $src -o -d $src ]
131
- then
132
- true
133
- else
134
- echo "install: $src does not exist"
135
- exit 1
136
- fi
137
-
138
- if [ x"$dst" = x ]
139
- then
140
- echo "install: no destination specified"
141
- exit 1
142
- else
143
- true
144
- fi
145
-
146
- # If destination is a directory, append the input filename; if your system
147
- # does not like double slashes in filenames, you may need to add some logic
148
-
149
- if [ -d $dst ]
150
- then
151
- dst="$dst"/`basename $src`
152
- else
153
- true
154
- fi
155
- fi
156
-
157
- ## this sed command emulates the dirname command
158
- dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
159
-
160
- # Make sure that the destination directory exists.
161
- # this part is taken from Noah Friedman's mkinstalldirs script
162
-
163
- # Skip lots of stat calls in the usual case.
164
- if [ ! -d "$dstdir" ]; then
165
- defaultIFS='
166
- '
167
- IFS="${IFS-${defaultIFS}}"
168
-
169
- oIFS="${IFS}"
170
- # Some sh's can't handle IFS=/ for some reason.
171
- IFS='%'
172
- set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
173
- IFS="${oIFS}"
174
-
175
- pathcomp=''
176
-
177
- while [ $# -ne 0 ] ; do
178
- pathcomp="${pathcomp}${1}"
179
- shift
180
-
181
- if [ ! -d "${pathcomp}" ] ;
182
- then
183
- $mkdirprog "${pathcomp}"
184
- else
185
- true
186
- fi
187
-
188
- pathcomp="${pathcomp}/"
189
- done
190
- fi
191
-
192
- if [ x"$dir_arg" != x ]
193
- then
194
- $doit $instcmd $dst &&
195
-
196
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
197
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
198
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
199
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
200
- else
201
-
202
- # If we're going to rename the final executable, determine the name now.
203
-
204
- if [ x"$transformarg" = x ]
205
- then
206
- dstfile=`basename $dst`
207
- else
208
- dstfile=`basename $dst $transformbasename |
209
- sed $transformarg`$transformbasename
210
- fi
211
-
212
- # don't allow the sed command to completely eliminate the filename
213
-
214
- if [ x"$dstfile" = x ]
215
- then
216
- dstfile=`basename $dst`
217
- else
218
- true
219
- fi
220
-
221
- # Make a temp file name in the proper directory.
222
-
223
- dsttmp=$dstdir/#inst.$$#
224
-
225
- # Move or copy the file name to the temp name
226
-
227
- $doit $instcmd $src $dsttmp &&
228
-
229
- trap "rm -f ${dsttmp}" 0 &&
230
-
231
- # and set any options; do chmod last to preserve setuid bits
232
-
233
- # If any of these fail, we abort the whole thing. If we want to
234
- # ignore errors from any of these, just make sure not to ignore
235
- # errors from the above "$doit $instcmd $src $dsttmp" command.
236
-
237
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
238
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
239
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
240
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
241
-
242
- # Now rename the file to the real destination.
243
-
244
- $doit $rmcmd -f $dstdir/$dstfile &&
245
- $doit $mvcmd $dsttmp $dstdir/$dstfile
246
-
247
- fi &&
248
-
249
-
250
- exit 0
1
+ #! /bin/sh
2
+ #
3
+ # install - install a program, script, or datafile
4
+ # This comes from X11R5 (mit/util/scripts/install.sh).
5
+ #
6
+ # Copyright 1991 by the Massachusetts Institute of Technology
7
+ #
8
+ # Permission to use, copy, modify, distribute, and sell this software and its
9
+ # documentation for any purpose is hereby granted without fee, provided that
10
+ # the above copyright notice appear in all copies and that both that
11
+ # copyright notice and this permission notice appear in supporting
12
+ # documentation, and that the name of M.I.T. not be used in advertising or
13
+ # publicity pertaining to distribution of the software without specific,
14
+ # written prior permission. M.I.T. makes no representations about the
15
+ # suitability of this software for any purpose. It is provided "as is"
16
+ # without express or implied warranty.
17
+ #
18
+ # Calling this script install-sh is preferred over install.sh, to prevent
19
+ # `make' implicit rules from creating a file called install from it
20
+ # when there is no Makefile.
21
+ #
22
+ # This script is compatible with the BSD install script, but was written
23
+ # from scratch. It can only install one file at a time, a restriction
24
+ # shared with many OS's install programs.
25
+
26
+
27
+ # set DOITPROG to echo to test this script
28
+
29
+ # Don't use :- since 4.3BSD and earlier shells don't like it.
30
+ doit="${DOITPROG-}"
31
+
32
+
33
+ # put in absolute paths if you don't have them in your path; or use env. vars.
34
+
35
+ mvprog="${MVPROG-mv}"
36
+ cpprog="${CPPROG-cp}"
37
+ chmodprog="${CHMODPROG-chmod}"
38
+ chownprog="${CHOWNPROG-chown}"
39
+ chgrpprog="${CHGRPPROG-chgrp}"
40
+ stripprog="${STRIPPROG-strip}"
41
+ rmprog="${RMPROG-rm}"
42
+ mkdirprog="${MKDIRPROG-mkdir}"
43
+
44
+ transformbasename=""
45
+ transform_arg=""
46
+ instcmd="$mvprog"
47
+ chmodcmd="$chmodprog 0755"
48
+ chowncmd=""
49
+ chgrpcmd=""
50
+ stripcmd=""
51
+ rmcmd="$rmprog -f"
52
+ mvcmd="$mvprog"
53
+ src=""
54
+ dst=""
55
+ dir_arg=""
56
+
57
+ while [ x"$1" != x ]; do
58
+ case $1 in
59
+ -c) instcmd="$cpprog"
60
+ shift
61
+ continue;;
62
+
63
+ -d) dir_arg=true
64
+ shift
65
+ continue;;
66
+
67
+ -m) chmodcmd="$chmodprog $2"
68
+ shift
69
+ shift
70
+ continue;;
71
+
72
+ -o) chowncmd="$chownprog $2"
73
+ shift
74
+ shift
75
+ continue;;
76
+
77
+ -g) chgrpcmd="$chgrpprog $2"
78
+ shift
79
+ shift
80
+ continue;;
81
+
82
+ -s) stripcmd="$stripprog"
83
+ shift
84
+ continue;;
85
+
86
+ -t=*) transformarg=`echo $1 | sed 's/-t=//'`
87
+ shift
88
+ continue;;
89
+
90
+ -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
91
+ shift
92
+ continue;;
93
+
94
+ *) if [ x"$src" = x ]
95
+ then
96
+ src=$1
97
+ else
98
+ # this colon is to work around a 386BSD /bin/sh bug
99
+ :
100
+ dst=$1
101
+ fi
102
+ shift
103
+ continue;;
104
+ esac
105
+ done
106
+
107
+ if [ x"$src" = x ]
108
+ then
109
+ echo "install: no input file specified"
110
+ exit 1
111
+ else
112
+ true
113
+ fi
114
+
115
+ if [ x"$dir_arg" != x ]; then
116
+ dst=$src
117
+ src=""
118
+
119
+ if [ -d $dst ]; then
120
+ instcmd=:
121
+ else
122
+ instcmd=mkdir
123
+ fi
124
+ else
125
+
126
+ # Waiting for this to be detected by the "$instcmd $src $dsttmp" command
127
+ # might cause directories to be created, which would be especially bad
128
+ # if $src (and thus $dsttmp) contains '*'.
129
+
130
+ if [ -f $src -o -d $src ]
131
+ then
132
+ true
133
+ else
134
+ echo "install: $src does not exist"
135
+ exit 1
136
+ fi
137
+
138
+ if [ x"$dst" = x ]
139
+ then
140
+ echo "install: no destination specified"
141
+ exit 1
142
+ else
143
+ true
144
+ fi
145
+
146
+ # If destination is a directory, append the input filename; if your system
147
+ # does not like double slashes in filenames, you may need to add some logic
148
+
149
+ if [ -d $dst ]
150
+ then
151
+ dst="$dst"/`basename $src`
152
+ else
153
+ true
154
+ fi
155
+ fi
156
+
157
+ ## this sed command emulates the dirname command
158
+ dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
159
+
160
+ # Make sure that the destination directory exists.
161
+ # this part is taken from Noah Friedman's mkinstalldirs script
162
+
163
+ # Skip lots of stat calls in the usual case.
164
+ if [ ! -d "$dstdir" ]; then
165
+ defaultIFS='
166
+ '
167
+ IFS="${IFS-${defaultIFS}}"
168
+
169
+ oIFS="${IFS}"
170
+ # Some sh's can't handle IFS=/ for some reason.
171
+ IFS='%'
172
+ set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
173
+ IFS="${oIFS}"
174
+
175
+ pathcomp=''
176
+
177
+ while [ $# -ne 0 ] ; do
178
+ pathcomp="${pathcomp}${1}"
179
+ shift
180
+
181
+ if [ ! -d "${pathcomp}" ] ;
182
+ then
183
+ $mkdirprog "${pathcomp}"
184
+ else
185
+ true
186
+ fi
187
+
188
+ pathcomp="${pathcomp}/"
189
+ done
190
+ fi
191
+
192
+ if [ x"$dir_arg" != x ]
193
+ then
194
+ $doit $instcmd $dst &&
195
+
196
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
197
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
198
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
199
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
200
+ else
201
+
202
+ # If we're going to rename the final executable, determine the name now.
203
+
204
+ if [ x"$transformarg" = x ]
205
+ then
206
+ dstfile=`basename $dst`
207
+ else
208
+ dstfile=`basename $dst $transformbasename |
209
+ sed $transformarg`$transformbasename
210
+ fi
211
+
212
+ # don't allow the sed command to completely eliminate the filename
213
+
214
+ if [ x"$dstfile" = x ]
215
+ then
216
+ dstfile=`basename $dst`
217
+ else
218
+ true
219
+ fi
220
+
221
+ # Make a temp file name in the proper directory.
222
+
223
+ dsttmp=$dstdir/#inst.$$#
224
+
225
+ # Move or copy the file name to the temp name
226
+
227
+ $doit $instcmd $src $dsttmp &&
228
+
229
+ trap "rm -f ${dsttmp}" 0 &&
230
+
231
+ # and set any options; do chmod last to preserve setuid bits
232
+
233
+ # If any of these fail, we abort the whole thing. If we want to
234
+ # ignore errors from any of these, just make sure not to ignore
235
+ # errors from the above "$doit $instcmd $src $dsttmp" command.
236
+
237
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
238
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
239
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
240
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
241
+
242
+ # Now rename the file to the real destination.
243
+
244
+ $doit $rmcmd -f $dstdir/$dstfile &&
245
+ $doit $mvcmd $dsttmp $dstdir/$dstfile
246
+
247
+ fi &&
248
+
249
+
250
+ exit 0