| # fx unarchive-package |
| |
| unarchive a Fuchsia package archive in FAR format |
| |
| ```none |
| Usage: fx unarchive-package <.far file> [ --out-dir <output directory> ] |
| |
| The script unarchives a Fuchsia package archive in FAR format and puts the |
| contents in the output directory. Files in the package will be renamed and |
| arranged according to its meta/contents file. |
| |
| The command will by default create a directory with the same name as the .far |
| file under the current directory, which can be overridden by --output-dir |
| option. If --output-dir is an existing directory, then a sub-directory with |
| the same name as the .far file will be created. |
| |
| Note: although a Fuchsia package archive is in FAR format, not all .far files |
| are valid Fuchsia packages! Also, This tool only works with fuchsia package |
| archives, although it could be extended in the future to work with plain |
| fuchsia packages. |
| |
| Example: |
| $ fx unarchive-package foo.far |
| Unarchived foo.far under foo |
| |
| # directory "foo" will be created as |
| $ tree foo |
| foo |
| ├── bin |
| │ └── foo |
| ├── lib |
| │ ├── ld.so.1 |
| │ ├── libc++abi.so.1 |
| │ ├── libc++.so.2 |
| │ ├── libfdio.so |
| │ └── libunwind.so.1 |
| └── meta |
| ├── contents |
| ├── foo_component.cmx |
| └── package |
| |
| $ fx unarchive-package foo.far --out-dir foo2 # assuming foo2 doesn't exist |
| Unarchived foo.far under foo2 |
| |
| $ fx unarchive-package foo.far --out-dir /tmp |
| Unarchived foo.far under /tmp/foo |
| ``` |
| |
| [unarchive-package source code](https://cs.opensource.google/fuchsia/fuchsia/+/main:tools/devshell/contrib/unarchive-package) |