package-info.in contains information that gets injected into the
package-index file when make bindist is run. Here is a
real world example from the xemacs-base package (a description of each
field follows the example):
(xemacs-base
(standards-version 1.1
version VERSION
author-version AUTHOR_VERSION
date DATE
build-date BUILD_DATE
maintainer MAINTAINER
distribution xemacs
priority high
category CATEGORY
dump nil
description "Fundamental XEmacs support, you almost certainly need this."
filename FILENAME
md5sum MD5SUM
size SIZE
provides (add-log advice-preload advice annotations assoc case-table chistory comint-xemacs comint compile debug ebuff-menu echistory edmacro ehelp electric enriched env facemenu ffap helper imenu iso-syntax macros novice outline passwd pp regexp-opt regi ring shell skeleton sort thing time-stamp timezone tq xbm-button xpm-button)
requires (REQUIRES)
type regular
))
N.B. As yet, the XEmacs Packaging System does not support this type of
package. It will in the future.
make bindist.
make bindist.
‘REQUIRES’ cannot be correctly computed from the calls to
require in the package's library sources. ‘REQUIRES’ is
used to ensure that all macro and defstruct definitions used by the
package are available at build time. This is not merely a matter of
efficiency, to get the expansions inlined. In fact, it is
impossible to call a macro by name in byte-compiled Emacs Lisp
code. Thus, if the macro expansion is not inlined, the call will result
in an error at run-time! Thus, packages providing libraries that would
be loaded because of autoload definitions must also be included.
N.B. This doesn't refer to the number of lisp files in a package. A single-file package can have multiple lisp files in it. See Package Terminology.
The fields in package-info.in that need to be changed directly are:
Everything else is either set from the appropriate Makefile variable, is auto-generated at build time, or is static.