EQUIVS-BUILD(1)

✨ NAME ✨

equivs-build β€” bestie, this makes a Debian package that registers your local software πŸ’–


🌸 SYNOPSIS 🌸

equivs-build [--full|-f] [--source|-s] [--arch=foo|-a=foo]
[--templates=bar|-t=bar] controlfile

πŸŽ€ DESCRIPTION πŸŽ€

okay so equivs-build is literally the program that creates Debian packages you can use to tell dpkg about packages you installed locally, plus all their dependencies. no cap. and you can also make completely empty packages that just require other packages β€” those are the "profile" packages, the ones that exist purely to mark other ones for installation. main character energy, honestly. πŸ‘‘

⚠️ real talk though: this is a crude hack. if you use it thoughtlessly it might possibly do damage to your packaging system 😭 and also, using it is not the recommended way of dealing with broken dependencies. better to file a bug report instead. fr fr.

The control file has a structure like the control files in "real" Debian packages, but bestie it does not have to define all the keys β€” defaults will just slide in if you omit one. 🫢

There are several additional fields you can use:

  • Changelog: β€” the file to be used as the changelog πŸ“
  • Version: β€” if you don't use a local changelog, equivs will create a dummy one. Since 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. slay. ✨
  • 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. so cute, so handy πŸ’…
  • 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
  • Extra-Files: β€” 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, bestie:
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. 🌈


πŸ’œ OPTIONS πŸ’œ

  • --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 πŸ‘‘

Distribution is subject to the GNU public licence version 2.


🧚 AUTHOR 🧚

Martin Bialasinski <martinb@debian.org>


πŸ’– SEE ALSO πŸ’–

equivs-control(1), /usr/share/doc/equivs/README.Debian


and that's the whole page, bestie β€” this one's from the Debian fam, dated 22 Apr 2026, and you absolutely ate it. no notes. periodt. πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from