|
1 ## |
|
2 ## sea -- Shell Execution Archive |
|
3 ## Copyright (c) 2012 Ralf S. Engelschall <rse@engelschall.com> |
|
4 ## |
|
5 ## This program is free software; you can redistribute it and/or modify |
|
6 ## it under the terms of the GNU General Public License as published by |
|
7 ## the Free Software Foundation; either version 2 of the License, or |
|
8 ## (at your option) any later version. |
|
9 ## |
|
10 ## This program is distributed in the hope that it will be useful, |
|
11 ## but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
13 ## General Public License for more details. |
|
14 ## |
|
15 ## You should have received a copy of the GNU General Public License |
|
16 ## along with this program; if not, write to the Free Software |
|
17 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
|
18 ## USA, or contact Ralf S. Engelschall <rse@engelschall.com>. |
|
19 ## |
|
20 ## NOTICE: Given that you include this file verbatim into your own |
|
21 ## source tree, you are justified in saying that it remains separate |
|
22 ## from your package, and that this way you are simply just using GNU |
|
23 ## shtool. So, in this situation, there is no requirement that your |
|
24 ## package itself is licensed under the GNU General Public License in |
|
25 ## order to take advantage of GNU shtool. |
|
26 ## |
|
27 |
|
28 =pod |
|
29 |
|
30 =head1 NAME |
|
31 |
|
32 B<sea> - B<Shell Execution Archive> |
|
33 |
|
34 =head1 SYNOPSIS |
|
35 |
|
36 B<sea> |
|
37 [B<-h>|B<--help>] |
|
38 [B<-o>|B<--output> I<sea>] |
|
39 I<script> |
|
40 [I<file-or-dir> ...] |
|
41 |
|
42 =head1 DESCRIPTION |
|
43 |
|
44 The B<sea> utility allows you to wrap a control shell script (I<script>) |
|
45 plus zero or more payload file or directories (I<file-or-dir>) into a |
|
46 so-called I<Shell Execution Archive> (I<sea>), a sh(1) executable script |
|
47 which temporarily auto-extracts its payload and pass-through execution |
|
48 to the control script. |
|
49 |
|
50 =head1 OPTIONS AND ARGUMENTS |
|
51 |
|
52 =over 4 |
|
53 |
|
54 =item B<-h>|B<--help> |
|
55 |
|
56 Just shows a short usage information of the B<sea> utility. |
|
57 |
|
58 =item B<-o>|B<--output> I<sea> |
|
59 |
|
60 The output I<Shell Execution Archive> file. By default the output is |
|
61 saved to a file with a basename derived from I<script> and with new |
|
62 attached extension F<.sea>. |
|
63 |
|
64 =item I<script> |
|
65 |
|
66 The mandatory control script which is added to the payload and which |
|
67 (after auto-extraction) is executed. It receives all command-line |
|
68 arguments originally passed to the I<Shell Execution Archive>. |
|
69 |
|
70 =item I<file-or-dir> |
|
71 |
|
72 Optional number of files or directories which are added to the payload. |
|
73 |
|
74 =back |
|
75 |
|
76 =head1 EXAMPLES |
|
77 |
|
78 $ sea -o foo.src.sh foo.sh foo.src.d |
|
79 |
|
80 =head1 HISTORY |
|
81 |
|
82 The B<sea> command was implemented in April 2012 by I<Ralf S. Engelschall> |
|
83 E<lt>rse@engelschall.comE<gt>. Its idea is based on the |
|
84 OpenPKG shell packages (F<openpkg.src.sh>) and its implemenation was |
|
85 triggered by the demand for self-contained OpenPKG software stack source |
|
86 archives. |
|
87 |
|
88 =cut |
|
89 |