equivs-build - make a Debian package to register local
software
equivs-build [--full|-f] [--source|-s] [--arch=foo|-a=foo]
[--templates=bar|-t=bar] controlfile
equivs-build is a program that creates Debian packages
which can be used to inform dpkg about locally installed packages and their
dependencies. Also empty packages that just require other packages can be
created with equivs. These can be used as "profile" packages which
just mark other ones for installation.
Please note that this is a crude hack and if thoughtlessly used,
it might possibly do damage to your packaging system. And please note as
well that using it is not the recommended way of dealing with broken
dependencies. Better file a bug report instead.
The control file has a structure like the control files in
"real" Debian packages, but it doesn't have to define all keys, as
default values will be used if you omit one.
There are several additional fields that can be used:
- Changelog:
- File to be used as the changelog
- Version:
- If you don't use a local changelog, equivs will create a dummy one. As the
version of the package is defined in the changelog, equivs will assume the
version 1.0. With this field, you can set an explicit version.
- Readme:
- A file to be used as the README.Debian file. You can use the
strings @packagename@ and
@depends@ to insert the
package name and the dependency information used.
- Copyright:
- The copyright file to by used. If omitted, the GPL 2 will be used.
- Preinst: Postinst:
Prerm: Postrm:
- Maintainerscripts executed before/after installation/removal of the
package. See the Debian developers reference for a description (package
developers-reference).
- Multi-Arch:
- Field specifying multiarch dependency status. Used exactly as in 'real'
packages. Foreign: Satisfies dependencies for all architectures Same:
Satisfies dependencies only for the same architecture Allowed: Can act as
either Foreign or Same, as specified in the dependency
- A comma-separated list of files to copy to the
/usr/share/doc/packagename directory.
- Files:
- Files to be copied into some directory of the created package. Each line
contains a source filename and a destination directory, space-separated.
As with other multi-line headers, all lines but the first must be
indented. Example:
Files: foo-cron /etc/cron.d/
foo-cron-helper /usr/local/bin/
- Links:
- Links to be created in some directory of the created package. Each line
contains two paths. The first is the path that the generated symlink
points at; the second is the name of the symlink file (The same order as
'ln -s'). As with other multi-line headers, all lines but the first must
be indented. Example:
Links: /usr/aarch64-linux-gnu/lib/libfoo.so /usr/lib/aarch64-linux-gnu/libfoo.so
/file/to/symlink/to /symlink/file/name
- File:
- Files to be copied into some directory of the created package, specified
inline in the source control file. The field syntax is the name of the
files to be created, followed by lines indented by 1 space denoting file
content; leading space will be trimmed. An octal file mode may be
specified after the filename; it defaults to 644, and will be normalised
to 644 or 755. Example:
File: /usr/local/bin/true 755
#!/bin/sh
exit 0
See /usr/share/doc/equivs/README.Debian for more
information.
- --full | -f
- Do a complete build. debuild will be called, that is, a full
package will be built and signed, suitable for upload to the Debian
servers.
The ID used to signed is taken from, in that order, the user
from the last entry of a supplied changelog, the Maintainer: field in
the equivs control file, or the local username.
- --source | -s
- Do a source build. debuild will be called, that is, a source
package will be built and signed, suitable for upload to the Ubuntu PPA
servers.
The ID used to signed is taken from, in that order, the user
from the last entry of a supplied changelog, the Maintainer: field in
the equivs control file, or the local username.
- --arch | -a
- Build package for the specified architecture. Used e.g. for building
packages for hurd under linux. equivs-build uses
dpkg-architecture to provide this facility.
- --templates |
-t
- Build package using alternative templates in the given directory. By
default equivs-build uses template files from
/usr/share/equivs/template.
Use with caution, this can break equivs-build.
Distribution is subject to the GNU public licence version 2.
Martin Bialasinski <martinb@debian.org>