c6ef183975
subprocess.check_call() returns a byte-string which needs to be turned into a unicode string for python3 compatability. Also some minor refactoring while we're here. Closes-Bug: 1536462 Change-Id: Icd957bc4d93ccad94b1246ad62e6e02ee14d9ca5 |
||
---|---|---|
.. | ||
bin | ||
extra-data.d | ||
install.d | ||
post-install.d | ||
pre-install.d | ||
element-deps | ||
README.rst |
================ package-installs ================ The package-installs element allows for a declarative method of installing and uninstalling packages for an image build. This is done by creating a package-installs.yaml or package-installs.json file in the element directory. example package-installs.yaml:: libxml2: grub2: phase: pre-install.d networkmanager: uninstall: True os-collect-config: installtype: source linux-image-amd64: arch: amd64 example package-installs.json:: { "libxml2": null, "grub2": {"phase": "pre-install.d"}, "networkmanager": {"uninstall": true} "os-collect-config": {"installtype": "source"} } Setting phase, uninstall, or installtype properties for a package overrides the following default values:: phase: install.d uninstall: False installtype: * (Install package for all installtypes) arch: * (Install package for all architectures) Setting the installtype property causes the package only to be installed if the specified installtype would be used for the element. See the diskimage-builder docs for more information on installtypes. Setting the arch property causes the package only to be installed for the specified target architecture. See documentation about the ARCH variable for more information. DEPRECATED: Adding a file under your elements pre-install.d, install.d, or post-install.d directories called package-installs-<element-name> will cause the list of packages in that file to be installed at the beginning of the respective phase. If the package name in the file starts with a "-", then that package will be removed at the end of the install.d phase.