[readthedoc] update copy_bom doc
This commit is contained in:
parent
1e472a67ed
commit
fe59284e3d
@ -2,7 +2,55 @@
|
|||||||
The `copy_bom` tool is designed to copy files described in a bom file to a given dest root directory.
|
The `copy_bom` tool is designed to copy files described in a bom file to a given dest root directory.
|
||||||
|
|
||||||
## Bom file
|
## Bom file
|
||||||
Bom file is used to describe which files should be copied to the root directory(usually, the image directory). A bom file contains all files, directories that should be copied to the root directory. We also can define symbolic links and directories that should be created in a bom file. The meanings of each entry in the bom file can be seen in [RFC: bom file](https://github.com/occlum/occlum/issues/565). Also, a bom example with all optional entries can be seen in `example.yaml`.
|
Bom file is used to describe which files should be copied to the root directory(usually, the image directory). A bom file contains all files, directories that should be copied to the root directory. We also can define symbolic links and directories that should be created in a bom file. The meanings of each entry in the bom file can be seen in [RFC: bom file](https://github.com/occlum/occlum/issues/565). Also, a bom example with all optional entries can be seen in **example.yaml**.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# include other bom files
|
||||||
|
includes:
|
||||||
|
- base.yaml
|
||||||
|
- java-11-alibaba-dragonwell.yaml
|
||||||
|
# This excludes will only take effect when copy directories. We will exclude files or dirs with following patterns.
|
||||||
|
excludes:
|
||||||
|
- .git
|
||||||
|
- .dockerignore
|
||||||
|
targets:
|
||||||
|
# one target represents operations at the same destination
|
||||||
|
- target: /
|
||||||
|
# make directory in dest: mkdir -p $target/dirname
|
||||||
|
mkdirs:
|
||||||
|
- bin
|
||||||
|
- proc
|
||||||
|
# build a symlink: ln -s $src $target/linkname
|
||||||
|
createlinks:
|
||||||
|
- src: ../hello
|
||||||
|
linkname: hello_softlink
|
||||||
|
copy:
|
||||||
|
# from represents the prefix of copydirs and files(to copy)
|
||||||
|
# If there's no copydirs or files, copy the *ENTIRE from directory* to target: cp -r $from/ $target
|
||||||
|
- from: .
|
||||||
|
# copy directory: cp -r $from/dirname $target
|
||||||
|
dirs:
|
||||||
|
- hello_c_demo
|
||||||
|
- example_dirname
|
||||||
|
# copy file: cp $from/filename $target
|
||||||
|
files:
|
||||||
|
- Makefile
|
||||||
|
- name: Cargo.toml
|
||||||
|
hash: DA665E483C11922D07239B1A04BEE0F0C7C1AB6D60AF041DDA7CE56D07AF723E
|
||||||
|
autodep: false
|
||||||
|
rename: Cargo.toml.backup
|
||||||
|
- target: /bin
|
||||||
|
mkdirs:
|
||||||
|
- python-occlum
|
||||||
|
- python-occlum/bin
|
||||||
|
- target: /etc
|
||||||
|
copy:
|
||||||
|
- dirs:
|
||||||
|
# If there's a '/' as the postfix in directory name, copy the contents in
|
||||||
|
# directories, not including the directory itself.
|
||||||
|
# cp -r /etc/opt/ /etc
|
||||||
|
- /etc/opt/
|
||||||
|
```
|
||||||
|
|
||||||
## copy_bom
|
## copy_bom
|
||||||
### overview
|
### overview
|
||||||
@ -51,7 +99,10 @@ The second part in the line indicates where to find shared libraries. All paths
|
|||||||
|
|
||||||
## known limitations
|
## known limitations
|
||||||
|
|
||||||
- The use of wildcard(like *) in files or directories is not supported. It may result in `copy_bom` behaving incorrectly.
|
- The use of wildcard(like *) in files or directories is not supported. It may result in `copy_bom` behaving incorrectly. To achieve a similar purpose, directly add `/` after the directory name to copy all contents in the directory while not copying the directory itself.
|
||||||
- If we create symbolic link in bom file, it will always delete the old link and create a new one. It will change the modification time of the symbolic link.
|
- If we create symbolic link in bom file, it will always delete the old link and create a new one. It will change the modification time of the symbolic link.
|
||||||
- Environmental variables pointing to an empty value may fail to resolve.
|
- Environmental variables pointing to an empty value may fail to resolve.
|
||||||
|
|
||||||
|
## Demos
|
||||||
|
|
||||||
|
Now all the Occlum [demos](https://github.com/occlum/occlum/tree/master/demos) are using **copy_bom** tool to generate Occlum file system. There is also a [tutorial](https://occlum.readthedocs.io/en/latest/tutorials/gen_occlum_instance.html) to give insight of Occlum instance generation using **copy_bom**.
|
||||||
|
Loading…
Reference in New Issue
Block a user