/home/Yaakov/src/cygport/tests/cygport-0.20.2-1.noarch/src/cygport-0.20.2/lib/src_postinst.cygpart

Cygport Reference Manual

### TABLE OF CONTENTS

- Postinstall

- Fonts
- Freedesktop.org MIME
- GConf Schemas
- GSettings Schemas
- GIO Modules
- GdkPixbuf Loaders
- GTK+ Input Method Modules
- Icon Themes
- MATEConf Schemas
- TeX Live
- X Sessions
- Documentation Files

- DOCS
- HTMLDOCS
- PKG_DOCS

- Emacs Lisp
- Man Pages
- Info Pages
- Perl Modules
- Game Data
- Empty Directories

- KEEPDIRS

- Strip Binaries
- Split Debugging Information
- Libtool Libraries

- KEEP_LA_FILES

- RESTRICT

## Postinstall

[ Top ] [ Chapter 11 ] [ Concepts ]

## Fonts

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

If fonts are installed into the standard font directory under $D, the following steps will occur automatically:

- PCF fonts are gzip-compressed
- Script(s) will be created to register the fonts with the X11 core font system and with fontconfig.

NOTE

Packages including fonts must depend on the font-encodings, fontconfig, mkfontdir, and mkfontscale packages.

## Freedesktop.org MIME

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Package postinstall commands will be automatically generated if desktop menu entries with MimeType declarations, or additional definitions for the Shared MIME-Info database, are present in the package.

NOTE

Packages including either of these should depend on the desktop-file-utils and shared-mime-info packages.

## GConf Schemas

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Package postinstall and preremove scripts will be automatically generated to un/register GConf schemas into the system GConf database.

NOTE

Packages providing GConf schemas must require the GConf2 package.

SEE ALSO

RESTRICT

## GSettings Schemas

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Package postinstall scripts will be automatically generated to register GSettings schemas with the system GSettings database.

NOTE

Packages using GSettings will always require libglib2.0_0 or one of its bindings.

## GIO Modules

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Package postinstall scripts will be automatically generated to register GIO modules with the system GIO module cache.

NOTE

Packages providing GIO modules will always require libglib2.0_0.

## GdkPixbuf Loaders

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Package postinstall scripts will be automatically generated to register GdkPixbuf loaders with the system GdkPixbuf loader cache.

NOTE

Packages using GSettings will always require libgdk_pixbuf2.0_0.

## GTK+ Input Method Modules

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Package postinstall scripts will be automatically generated to register GTK+ Input Method Modules with the system module cache.

NOTE

Packages providing GTK Input Method Modules will always require either libgtk2.0_0 or libgtk3_0, depending on which version of GTK+ it supports.

## Icon Themes

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Packages postinstall scripts will be automatically generated for packages providing an icon theme, or additional icons for a given theme, to update that icon theme's cache.

## MATEConf Schemas

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Package postinstall and preremove scripts will be automatically generated to un/register MATEConf schemas into the system MATEConf database.

NOTE

Packages providing MATEConf schemas must require the mate-conf package.

SEE ALSO

RESTRICT

## TeX Live

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Package postinstall and preremove scripts will be automatically generated for packages installing TeX files into the system TEXMF tree, which will update the ls-R databases, TeX font maps, and TeX format files.

NOTE

Packages providing TeX files must require the texlive-collection-basic package, and also the fontconfig package if OTF, TTF, or Type1 fonts are provided.

## X Sessions

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Package postinstall and preremove scripts will be automatically generated for packages which provide X sessions to manage Start Menu shortcuts which will launch the session.

NOTE

Packages providing X sessions must require the cygutils, dbus-x11, run, and xinit packages.

## Documentation Files

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Standard documentation files in $S will be automatically installed into $D/usr/share/doc/PN. Empty files will be skipped.

SEE ALSO

RESTRICT

## DOCS

[ Top ] [ Documentation Files ] [ Variables ]

DESCRIPTION

A list of documentation files, relative to $S, to be installed. Note that most standard documentation files are installed automatically and do not need to specified here.

## HTMLDOCS

[ Top ] [ Documentation Files ] [ Variables ]

DESCRIPTION

A list of HTML documentation files, relative to $S, to be installed in the html subdirectory of the standard docdir.

## PKG_DOCS

[ Top ] [ Documentation Files ] [ Variables ]

DESCRIPTION

A list of documentation files, relative to $S, to be installed in a PKG-specific docdir and automatically included in the PKG subpackage. The PKG_DOCS name is descriptive rather than literal, where "PKG" should be substituted with the name of the binary package to whose contents the docs should be added. When a package contains a character which cannot be used in a shell variable name (namely '+', '-', and '.'), that character must be substituted with an underscore ('_'), e.g. libfoo_devel_DOCS for a libfoo-devel package.

NOTE

When using PKG_DOCS, usr/share/doc/PKG should not be included in the corresponding PKG_CONTENTS; the specified files will be added to the package automatically.

## Emacs Lisp

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Emacs Lisp files will be automatically byte-compiled if emacs is present.

## Man Pages

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

The following cleanup steps will occur if man pages are installed:

- Man page filenames with '::' will be renamed for compatibility with man(1).
- Man pages will be gzip-compressed.
- Man page symlinks will be fixed.

## Info Pages

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

The following cleanup steps will occur if info pages are installed:

- Info pages will be gzip-compressed.
- Errant info/dir files will be deleted.

## Perl Modules

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

The following cleanup steps will occur if Perl module(s) are installed:

- The 'perllocal.pod' and '.packlist' files will be automatically deleted, as they are only of use to CPAN.
- If the module(s) were installed under the 'site_perl' tree (which they should not be if perl_compile is used), they will be relocated under the 'vendor_perl' tree.

## Game Data

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Game data installed into /var/games will be handled with make_etc_defaults.

## Empty Directories

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Empty directories will be removed automatically, unless marked for saving with keepdir or KEEPDIRS.

## KEEPDIRS

[ Top ] [ Empty Directories ] [ Variables ]

SYNOPSIS

      KEEPDIRS="DIRECTORY [DIRECTORY...]"

DESCRIPTION

The equivalent of calling keepdir on the given directories. This variable can be used for convenience to avoid defining a custom src_install solely in order to add a keepdir command.

## Strip Binaries

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Debug symbols in executables and shared libraries will be stripped automatically, except for Mono assemblies and OCaml bytecode which cannot be stripped.

SEE ALSO

RESTRICT

## Split Debugging Information

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Debug symbols stripped from executables and libraries are preserved as split debuginfo files, and sources referenced therein are automatically installed into a package-specific location. A PN-debuginfo package will be automatically created with split debugging symbols and source files when present; inclusion in PKG_NAMES and PKG_CONTENTS is not necessary.

SEE ALSO

RESTRICT

## Libtool Libraries

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Libtool libraries use .la ("libtool archive") files to represent the library in a cross-platform way during the build process. By default, these are installed alongside the library, in which they serve two possible purposes: to help lt_dlopen() (or sometimes g_module_open()) find the DLL, and to determine its dependencies when linking something else against it.

The following steps will occur automatically when libtool libraries are included in a package:

- files are checked to assure that all components have been installed
- static and import libraries are removed from modules
- DLLs from non-module libraries will be moved to $D/usr/bin or $D/$CROSS_BINDIR as appropriate.

## KEEP_LA_FILES

[ Top ] [ Libtool Libraries ] [ Variables ]

SYNOPSIS

      KEEP_LA_FILES=[all|module|shared|static|none]

DESCRIPTION

Most of the time, libtool library files are not truly necessary, in which case they end up just slowing down builds and sometimes even causing a module to be loaded twice. Therefore, many distributions have begun removing them from binary packages.

Whether and which .la files are removed during automatic postinstall is based on the value of this variable, which can be one of:

- none: deletes all .la files (the default behaviour on x86_64)
- module: keep only those .la files for modules meant to be dlopen()ed
- shared: keep only those .la files for non-module shared libraries
- static: keep only those .la files for static-only libraries
- all: keep all of the above (the default behaviour on i686)

Some suggested guidelines:

- If modules are to be loaded via libltdl or GModule, you may (but not always) need to set this to 'module'.
- If a shared library is meant to be a dlopen()ed module but is linked without -module, then 'shared' may be necessary in order for the DLL to be found.
- Some shared libraries imply the use of other libraries (e.g. GTK+ apps will always use GLib/GObject). If these libraries are not listed in the corresponding .pc pkg-config file, then 'shared' will help.
- When static libraries depend on other libraries, 'static' is recommended. If the static library depends only on libc, there is no need to keep it.

NOTE

Deleting .la files for an import library which other libtool libraries were linked against will cause build errors when yet another libtool library tries to link against the second. In this case, 'shared' is necessary to avoid breaking other users' installations.

## RESTRICT

[ Top ] [ Postinstall ] [ Variables ]

DESCRIPTION

List of automatic postinstall or packaging step(s) which should be skipped for this package. Supported values are:

- debuginfo: do not create a debuginfo subpackage
- diff: do not generate a .src.patch file of changes made in $S.
- postinst-doc: do not install standard documentation files.
- postinst-gconf: do not create postinstall commands for GConf schemas.
- postinst-mateconf: do not create postinstall commands for MATEConf schemas.
- strip: do not strip binaries.

Of these, "diff" is the only one that should be considered useful, e.g. with very large data-only packages which will have no useful diff. "debuginfo" is useful on a temporary, per-build basis to debug a package in the build tree (e.g. a noinst test package).

If you find yourself using any of the others to work around cygport's default behaviour, in all likelyhood it is either a bug in cygport or in the .cygport file.