DEBRSIGN(1)

πŸ’… DEBRSIGN πŸ’…

okay bestie, welcome to debrsign(1), a page from the General Commands Manual β€” yes she's real, yes she's iconic, and yes she's about to make your signing life so much easier. sit down, hydrate, let's go 🫢


🌸 NAME 🌸

debrsign β€” remotely sign a Debian .changes and .dsc file pair using SSH. no cap, that's literally the whole job description πŸ’–


✨ SYNOPSIS ✨

debrsign [options] [user@]remotehost [changes-file|dsc-file]

πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the vibe: debrsign takes either an unsigned .dsc file, or an unsigned .changes file plus the associated unsigned .dsc file that goes with it. how does she find that .dsc? by replacing the architecture name and .changes with .dsc β€” but only if it actually shows up in the .changes file, okay? conditional queen πŸ’…

then she signs them by copying them over to the remote machine with ssh(1) and running debsign(1) over there. and the little detail that matters: all options not listed below get passed straight through to the debsign program on the remote machine. she's generous like that.

if you do specify a .changes or .dsc file, that's the one she signs. if you don't? she parses debian/changelog to figure out the name of the .changes file to go looking for in the parent directory. detective era πŸ”


why would you even need this? okay so imagine you have to build a package on a machine where it is not safe to sign it. scary. instead of doing something reckless, you only need to transfer the small .dsc and .changes files to a safe machine, use the debsign program to sign them there, and transfer them back. debrsign automates that whole little routine for you. obsessed. ✨

and if you want to do it the other way round β€” like, connect to an unsafe machine to download the .dsc and .changes files, sign them locally, then transfer them back β€” go check out the debsign(1) program, because she can handle that task. different queen, same energy πŸ‘‘


πŸŽ€ OPTIONS πŸŽ€

  • -S β€” look for a source-only .changes file instead of a binary-build .changes file. pick your fighter πŸ’–
  • -adebian-architecture, -tGNU-system-type β€” these two are described over in dpkg-architecture(1), go peek. they affect the search for the .changes file. she ships them so she can mimic the behaviour of dpkg-buildpackage when it's determining the name of the .changes file. consistency slay 🫢
  • --multi β€” Multiarch .changes mode, periodt. this means debrsign should use the most recent file matching the name pattern package_version_*+*.changes as the .changes file β€” which is what lets her handle the .changes files produced by dpkg-cross. ✨
  • --path remote-path β€” specify a path to the GPG binary on the remote host. remote-path is the placeholder, don't @ me 🌈
  • --help, --version β€” show help message and version information respectively. classic, beloved, never misses πŸ’…

πŸ’œ Other options

all other options are passed on to debsign on the remote machine. she's not gatekeeping, she's just forwarding πŸ“¬


🌟 CONFIGURATION VARIABLES 🌟

the two configuration files /etc/devscripts.conf and ~/.devscripts get sourced in that order to set configuration variables β€” order matters, bestie, don't switch them up πŸ™ˆ

command line options can override configuration file settings. but heads up: environment variable settings are ignored for this purpose. read that again. she said what she said πŸ’€

the currently recognised variables are:

  • DEBRSIGN_PGP_PATH β€” equivalent to passing --path on the command line (see above). same energy, different outfit ✨

πŸ”₯ SEE ALSO πŸ”₯

debsign(1), dpkg-architecture(1), ssh(1)


πŸ‘‘ AUTHOR πŸ‘‘

this program was written by Julian Gilbey <jdg@debian.org> and is copyright under the GPL, version 2 or later. legend behaviour, fr fr πŸ’–


and that's the whole page, bestie!! this one lives in the Debian Utilities section, source DEBIAN, filed under DEBRSIGN(1) β€” go forth and sign things remotely, you absolute main character πŸ¦‹πŸ’…βœ¨

πŸ“¦ where this page comes from