DOKK / manpages / debian 12 / yorick-dev / dh_installyorick.1.en
DH_INSTALLYORICK(1) Debhelper DH_INSTALLYORICK(1)

dh_installyorick - install Yorick add-on packages

dh_installyorick [debhelper options] [-m] [--no-make-install]

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 Makefile.

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> install".
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:

file [directory [link]]

Where file 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 or Y_HOME/lib.
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:
somefile.i /usr/share/yorick/i
somefile.i Y_SITE/i
somefile.i i
somefile.i

Likewise, the following are equivalent:
somefile.i /usr/share/yorick/i0
somefile.i Y_SITE/i0
somefile.i i0

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 "#!/usr/bin/yorick -batch".
somefile.i i usr/bin/command_name

debhelper(7), update-yorickdoc(1), deb-triggers(5)

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 <paumard@users.sourceforge.net>

2016-02-15