Install Functions Reference

The following functions are provided by the package manager to handle various install-related tasks. ${ED} is prepended automatically to the install location.

The do* functions, when given multiple arguments, will work upon multiple targets. The new* functions take exactly two arguments (except as noted) the first is the source name, the second the name to use when installing.

The *into functions create the directory if it does not already exist.

into Change install location for dobin, newbin, dosbin, newsbin, dolib, dolib.a, newlib.a, dolib.so, newlib.so insinto Change install location for doins, newins exeinto Change install location for doexe, newexe docinto Change install location for dodoc, newdoc insopts Specify arguments passed to install (eg -s, -m644) diropts Specify arguments passed to install for directories exeopts Specify arguments passed to install for executables libopts Specify arguments passed to install for libraries Note: Banned in EAPI=7 dobin Install a binary into subdirectory bin of the location provided by into (resulting in /usr/bin by default) with mode 0755 and with ownership set to superuser or its equivalent on the system or installation at hand doconfd Install an /etc/conf.d file dodir Install a directory that will be non-empty when the package is merged. For directories that will be empty, please use keepdir instead. dodoc Install a documentation file into /usr/share/doc/${PF}. The -r option allows directories to be installed recursively. einstalldocs Installs the files and directories specified by the DOCS and HTML_DOCS variables into /usr/share/doc/${PF} recursively using dodoc -r. Note: Approved in EAPI 6. doenvd Install an /etc/env.d file doexe Install an executable into the location provided by exeinto, by default with mode 0755 or with the install options set by exeopts doheader Install a header file into /usr/include. The -r option allows directories to be installed recursively. dohtml Installs HTML document files into /usr/share/doc/${PF}/html The -r option allows directories to be installed recursively. Note: Deprecated in EAPI 6, switch to einstalldocs instead. Note: Banned in EAPI=7 doinfo Install a GNU Info document doinitd Install an /etc/init.d file doins Install a miscellaneous file. The -r option allows directories to be installed recursively. Any symlinks encountered are installed as symlinks, when installing recursively. dolib Install a library file Note: Banned in EAPI=7 dolib.a Install a library (.a) file dolib.so Install a library (shared object) file doman

Install a man page into the appropriate section of /usr/share/man. e.g., foo.1 will be installed in /usr/share/man/man1/foo.1.

If the man page is named foo.<lang>.1 then it will be installed in /usr/share/man/<lang>/man1/foo.1, where <lang> is a language code. Option -i18n=<lang> can be used to explicitly specify a subdirectory (or to suppress it, if empty).

domo Install a Gettext .mo file. (EAPI=7) No longer looks at the value of into dosbin Install an sbin/ file dosym Create a symlink to the target specified as the first parameter, at the path specified by the second parameter. Note that the target is interpreted verbatim; it needs to either specify a relative path or an absolute path including ${EPREFIX}. fowners Call chown on the specified files in ${ED} fperms Call chmod on the specified files in ${ED} keepdir Install a directory that will be empty when the package is merged. This is like dodir, but for empty directories instead. The handling of empty directories is undefined by the package manager specification, and the keepdir function exists to ensure that the (otherwise empty) directory is tracked. This is accomplished by installing a hidden file prefixed with .keep to the directory in question. newbin Install a binary using the second argument as the name newconfd Install an /etc/conf.d entry using the second argument as the name newdoc Install a documentation file using the second argument as the name newenvd Install an /etc/env.d file using the second argument as the name newexe Install an executable file using the second argument as the name newheader Install a header file using the second argument as the name newinitd Install an /etc/init.d file using the second argument as the name newins Install a miscellaneous file using the second argument as the name newlib.a Install a .a library file using the second argument as the name newlib.so Install a .so library file using the second argument as the name newman Install a manual page using the second argument as the name newsbin Install an sbin file using the second argument as the name docompress Controls compression of files. Normally executed to exclude from compression, e.g., docompress -x /usr/share/doc/${PF}/examples. dostrip Introduced with EAPI=7, controls the stripping of executables. Normally executed to exclude from stripping. Eg. dostrip -x /path/to/important.so. May also be used to include binaries to strip when RESTRICT=strip without the -x option.
Function Details