dh_installyorick - install Yorick add-on packages
dh_installyorick is a debhelper program that installs the files of your Yorick
add-on at the right place when building a Debian package. For a simple plug-in
package, this is mostly done by calling "make
DESTDIR=debian/<package> install" and then moving arch-independent
files to usr/share. Note that there is no Y_SITE/contrib directory in the
Debian packages, its content is merged into YSITE/i.
Calling "make ... install" can be disabled by using the
"--no-make-install" flag. This is useful in particular for
interpreted add-on packages, which do not ship with a standard Yorick
If the "-m" flag is used (but not the "-n" one),
dh_installyorick will also add lines to your package's postinst and postrm
scripts to call "update-yorickdoc --auto" if the yorick-doc package
is installed. It is necessary to call dh_installdeb after dh_installyorick for
this to work. It is usually not necessary with a recent dpkg supporting
triggers, so this possibility is kept mostly for easing backports and should
be deprecated soon.
dh_installyorick will look for a file named debian/<package>.ynstall for
additional files to install (see YNSTALL FILE
below). The prefix
"<package>." can be omitted for the main binary package being
built (usually the first one listed in debian/control).
For the time being, Y_SITE=Y_HOME=/usr/lib/yorick. Requests to install a file
under Y_SITE results in its installation under /usr/share/yorick.
dh_installyorick handles the creation of the necessary symbolic links from
Y_HOME to /usr/share/yorick.
Files that are installed in a directory ending in "/bin" or
"/sbin", as well as files that are pointed at by symbolic link in
such a directory, are installed with execution permission for everyone.
- Modify postinst/postrm scripts to add a call to
update-yorickdoc. This is needed only if the target dpkg does not support
triggers. If both "-m" and "-n" are specified, the
scripts are not modified.
- Do not call "make DESTDIR=debian/<package>
- An additional pkg_mngr .info file to install.
Additionally, dh_installyorick abides by the following standard debhelper
options: -a/--arch, -i/--indep, --mainpackage, -n, --no-act, -N/--no-package,
-p/--package, -P/--tmpdir, -s/--same-arch, and -v/--verbose.
Blank lines are ignored, several blank character are counted as one, and line
starting with "#" (possibly following one or more blanks) are
ignored. Each non-comment, non-blank line should be of the form:
is the file to install, directory
the directory it
should be installed in, and link
an optional symbolic link pointing on
the installed file.
- the relative path from the top directory of the package
source to the file. If link is not specified, file can
contain shell globs and actually denote sevral files. If directory
is not specified, it is guessed from the extension of file: .i
files are installed in Y_SITE/i, .gs and .gp in Y_SITE/g, .info in
Y_SITE/packages/installed, .packinfo, .aliases and .keywords in
/usr/share/yorick-doc, and .so in Y_HOME/lib.
- the full path (without leading "/") into which
the file should be installed. If the file is to be installed inside
Yorick's Y_SITE or Y_HOME directory (which will almost alway be the case),
it is possible (and advisable) to not specify the full path, but to write
"Y_SITE/" or "Y_HOME" followed by the relative path
from there. It is also possible to omit this "Y_SITE/" or
"Y_HOME/" prefix if directory starts whith one of:
Y_SITE/i, Y_SITE/i0, Y_SITE/i-start, Y_SITE/g, Y_SITE/packages, Y_HOME/bin
- the full path to a symbolic link that should point to the
installed file. The same shortcuts apply as for directory.
The four following lines in debian/ynstall would be equivalent:
Likewise, the following are equivalent:
Example with a symlink. Here, somefile.i is a script that is both useful
#included from within Yorick or from the command line. Its first line reads
somefile.i i usr/bin/command_name
This program is a part of yorick-dev but is made to work with debhelper. Note
that only compatibility level 5 has been implemented and tested. This script
is not idempotent, dh_clean -k should be executed between any two runs.
Thibaut Paumard <email@example.com>