appjail-makejail
—
Build a jail using a Makejail file
appjail makejail |
[-c ] [-ev ]
[-a makejail]
[-B makejail]
[[-b
build-arg[=value]] ...]
[-f makejail]
[-j name]
[[-o option] ...]
[[-V
name=value] ...] [--
runtime-args ...] |
appjail makejail |
-A -j
name [-c ]
[-a makejail]
[-B makejail]
[[-b
build-arg[=value]] ...]
[-f makejail]
[[-V
name=value] ...] [--
runtime-args ...] |
appjail makejail |
[-E ] -d
id |
appjail makejail |
[-E ] -u
[id|* ] |
The appjail makejail utility can create a
jail(8)
or apply a
Makejail
file to an existing one, whether obtained from a remote or local site. You
can also maintain cloned
git(1)
repositories, that is, list, delete or update them.
The options are as follows:
- [
-c
] [-ev
]
[-a
makejail]
[-B
makejail]
[[-b
build-arg[=value]] ...]
[-f
makejail]
[-j
name]
[[-o
option] ...]
[[-V
name=value] ...] [--
runtime-args ...]
- Build a jail using a Makejail file.
This parameter is responsible for generating
scripts using a Makejail file. Generates two types of scripts: a
BuildScript and an InitScript. Both
are a
sh(1)
script, but a BuildScript contains all the
instructions specified in the build stage, which are
executed using this parameter, and an InitScript is
executed using other commands, such as
appjail-start(1),
appjail-stop(1),
appjail-run(1),
and so on. This parameter does not run the InitScript,
the exception is for the
apply stage
which is run with this command or with
appjail-apply(1)
(which is just a wrapper for the -A
option).
Note that because this parameter generates an
InitScript, it overwrites any others that were
specified by
appjail-quick(1)'s
initscript
option.
Before generating the BuildScript, a single
Makejail is created with all INCLUDE instructions
processed.
You can't include a Makejail more than once to avoid possible
loops, although the check is very basic: the path to the Makejail
file.
As a last note, the jail should be stopped if the
start stage is specified in the Makejail file only if
the instructions specified there are to be executed after the
appjail makejail command finishes. The reason is that
the start stage was executed before the
InitScript was written and can't be executed because
the InitScript is not written until the
appjail makejail command finishes, so stopping the
jail is the only way: the user will run
appjail-start(1)
and the start stage runs without problems.
-c
- Create a jail. This is the default parameter when no other is
specified.
-e
- By default, appjail makejail will exit if it detects
a command that returns a non-zero value; This parameter will continue
even if such a thing happens.
-v
- Shows each command to be executed before executing it.
-a
makejail
- This parameter adds a new INCLUDE instruction after
all instructions specified in the build stage.
makejail is used as an argument to the
INCLUDE instruction.
-B
makejail
- Same as
-a
but adds the
INCLUDE instruction before all instructions
specified in the build stage.
-b
build-arg[=value]
- If makejail contains build arguments, this
parameter sets the argument value.
-f
makejail
- This parameter performs the same task as the
appjail-makejail(5)'s
INCLUDE instruction.
-o
option
- Specify an
appjail-quick(1)'s
option.
-V
name=value
- Specify environment variables used by the
RUN
instruction in the build stage. See
appjail-makejail(5)'s
ENV
instruction for more details.
- runtime-args
- Arguments used by the Makejail in the build stage.
Because arguments must be prefixed with a double dash (e.g. --arg1,
--arg2 ... --argN), you must use -- before specifying them so that
appjail makejail stops processing parameters.
-A
-j
name
[-c
] [-ev
]
[-a
makejail]
[-B
makejail]
[[-b
build-arg[=value]] ...]
[-f
makejail]
[[-o
option] ...]
[[-V
name=value] ...] [--
runtime-args ...]
- See
-c
parameter and
appjail-apply(1).
- [
-E
] -d
id
-
-E
- Exact match.
-d
id
- Cloned
git(1)
repository ID.
You can specify an incomplete ID (e.g. the first few
characters), but if more than one repository matches, this parameter
will not allow you to continue due to ambiguity. Certainly, deleting
a repository shouldn't be a mistake because such repositories should
be ephemeral, but this may not be desirable in certain
scenarios.
-l
- List the currently cloned
git(1)
repositories.
- [
-E
] -u
[id|*
]
- Update cloned
git(1)
repositories.
-E
- Exact match.
-u
[id|*
]
- Cloned
git(1)
repository ID.
You can specify an incomplete ID (e.g. the first few
characters), appjail makejail will update all
matching repositories. Use *
to update all
repositories. If you specify -E
, you must
provide a complete ID.
The appjail makejail
utility
exits 0 on success, and >0 if an error occurs.