README cookopts.txt cookutils.de.html cookutils.en.html cookutils.fr.html cookutils.html cookutils.pt.html cookutils.ru.html cross.txt general-questions.md receipts-v2.md timestats.txt

cookopts.txt

You can use a variable COOKOPTS in the receipts to adjust certain aspects of the
preparation of a package. Multiple options are allowed, that can be written
together or separated by spaces, tabs or any other symbols.

Example of use:

    COOKOPTS="!menus !pngz"


Currently, the following options are recognized:

!pixmaps
    Default action is to copy icons from a /usr/share/pixmaps folder as well as
    from the stuff folder (the same action that made obsolete option
    `GENERIC_PIXMAPS="no"`).
    The presence of this option overrides the default action (files will not be
    automatically copied).

!menus
    Default action is to copy desktop files from a /usr/share/applications
    folder (the same action that made obsolete option `GENERIC_MENUS="no"`).
    The presence of this option overrides the default action (files will not be
    automatically copied).

!fixdesktops
    Default action is to fix common errors and warnings in the .desktop files.
    The presence of this option overrides the default action (.desktop files
    will not be changed).

!i18nz
    1. Default action is to delete locales that are not currently supported by
    SliTaz while processing desktop files.
    The presence of this option overrides the default action (.desktop files
    will contain the original set of locales).
    Please note, this option does not have any action if the `!fixdesktops`
    option is provided (desktop files will not change in any way).
    2. Default action is to keep only supported translations provided by the
    *.mo files.
    The presence of this option overrides the default action (all existing *.mo
    files will remain).
    Please note, you can add all the translations to the package, for example,
    using the command: `copy *.mo` (then by default only the supported locales
    will be left).

!extradesktops
    Default action is to remove extra information from the desktop files:
    entries such as 'GenericName', 'X-GNOME-FullName' (all X-* are exposed),
    'Terminal=false', Keywords and other sections. This extra information just
    isn't supported in the current (LXDE) environment.
    The presence of this option overrides the default action (extra information
    will not be removed from the .desktop files).

!strip
    Default action is to strip executable files, shared and static libraries,
    as well as remove Python (*.pyc and *.pyo) and Perl (perllocal.pod and
    .packlist) files.
    The presence of this option overrides the default action (executable files
    and libraries will not be stripped, and Python and Perl files will all be
    left).

!perlz
    Default action is to strip POD (plain old documentation) from the Perl
    modules (*.pm) and program (*.pl) files.
    The presence of this option overrides the default action (Perl files will
    not be stripped).
    Note, if you disabled the cleaning by using the higher !strip option, Perl
    files also will not be stripped.

!rmpod
    Default action is to remove Perl's POD (plain old documentation) (*.pod)
    files.
    The presence of this option overrides the default action (*.pod files will
    all be left).
    Note, if you disabled the cleaning by using the higher !strip option, *.pod
    files also will all be left.

!manz
    Default action is to compress all man pages.
    The presence of this option overrides the default action (all man pages will
    be left "as is"). Please note that these files may be installed in a
    compressed format.

!gz
    Default action is to recompress all *.gz files (excluding man pages) with
    the better compression ratio.
    The presence of this option overrides the default action (all *.gz files
    will be left "as is").

!zip
    Default action is to recompress all *.zip files with the better compression
    ratio.
    The presence of this option overrides the default action (all *.zip files
    will be left "as is").

!pngz
    Default action is to compress all PNG images. Image compression allows you
    to save some space, but it takes a lot of time.
    The presence of this option overrides the default action (all PNG images
    will be left "as is").

!pngquant
    Default action is to use `pngquant` while compressing PNG images. Please
    note, `pngquant` produces indexed images (max 256 colors) which can be
    inappropriate in some cases, a few programs (such as SLiM) will not
    recognize this PNG file format.
    The presence of this option overrides the default action (`pngquant` will
    not be used).

!optipng
    Default action is to use `optipng` to compress PNG images. Please note,
    `optipng` is a lossless PNG compressor. Using `pngquant` and `optipng` in
    conjunction allows you to save more space.
    The presence of this option overrides the default action (`optipng` will not
    be used).

op0 to op8
    Default action is to use optimization level 2 while processing PNG images by
    `optipng`. Using this option you can set the desired `optipng` optimization
    level. The higher the level, the slower the compression and the smaller the
    file size. Please note that this option has no exclamation mark, because it
    means "don't do", and here, on the contrary, "to do".

!svgz
    Default action is to compress all SVG images.
    The presence of this option overrides the default action (all SVG images
    will be left "as is").

!svgextra
    Default options assumed applying transformation to paths and reducing the
    accuracy of the coordinates to the tenth.
    The presence of this option overrides the default behaviour (transformations
    will not be applied to paths and default numeric precision will be 6 digits
    after the dot).

!gifz
    Default action is to compress all GIF images.
    The presence of this option overrides the default action (all GIF images
    will be left "as is").

!uiz
    Default action is to compress Glade UI files. Compression means the removal
    of insignificant spaces and comments.
    The presence of this option overrides the default action (all *.ui and
    *.glade files will be left "as is").

!cssz
    Default action is to compress CSS files. Compression means the removal
    of insignificant spaces and comments.
    The presence of this option overrides the default action (all *.css files
    will be left "as is").

!monorm
    Default action is to normalize *.mo files. Normalization means the
    unconditional conversion to UTF-8, removal of accidental duplicates and
    most of the header lines as well as catalog entries that are not added to
    the translation (when string in msgid equals to string in msgstr).
    The presence of this option overrides the default action (all *.mo files
    will be left "as is").

skip-log-errors
    Default behaviour is to end work with error message when certain words occur
    in the log: "ERROR" or "undefined reference to". In some cases it may
    produce false positives when no errors are produced during cooking, but these
    words occur. For example, next line:
    g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_FAILED
    The presence of this option overrides the default behaviour (word "ERROR" in
    the log will not produce errors, etc.)

empty-pkg
    Default behaviour is to end work with error message when package contains no
    files (exception is made for packages belonging to the "meta" category).
    Presence of this option allows the package not to contain files.

instant-pack
    Usual behaviour is to make the sources (when sources in the $src became
    files in the $install) and then pack the package (when files from $install
    split to one or another $fs and then became the *.tazpkg archives).
    When multiple SETs are used in the receipt, the default behaviour is to make
    all the sources for all the sets and only then to pack all the packages.
    Presence of this option will pack the SET packages instantly before
    to switch to another SET. So, packages created in the first SET will be
    immediately available to use in the second SET and so on.

force-arch
    Architecture of the package determined by examining executable files on
    a packing stage. System with "i486" architecture may produce packages with
    architecture "i486" or "any" (if there's no architecture-dependent no files
    like shared libraries or binaries are found, but only Shell, Python, Perl
    scripts, fonts, icons, and so on). System with "x86_64" architecture may
    produce packages with architecture "x86_64" or "any".
    In rare cases architecture-independent packages built in "i486" and "x86_64"
    environments may have architecture-dependent settings in configuration
    files or package may provide architecture-dependent paths (Perl modules
    packages) - this checking is not implemented yet or package may contain some
    files for another architecture and you need to override default behavior.
    In all these cases you can use this option and architecture of all packages
    produced with this receipt will be the same as the build environment.