NMUDIFF(1)

πŸ“¦
version 2.26.11ubuntu1 Β· 2 versions
, in debian trixie, fedora 43, fedora 44, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– NMUDIFF β€” email an NMU diff to the Debian BTS πŸ’–

okay bestie, sit down, we're doing a Non-Maintainer Upload and we're doing it politely πŸŽ€


✨ NAME ✨

nmudiff β€” email an NMU diff to the Debian BTS


🌸 SYNOPSIS 🌸

nmudiff [options]

πŸ¦‹ DESCRIPTION πŸ¦‹

So nmudiff is the tool you run while you're prepping a Non-Maintainer Upload (NMU), and its whole job is to go tell the maintainer what you've been up to. Communication, queen behavior. πŸ’…

Run it inside the source tree of the package you're NMUing, after the NMU is built. It's assuming β€” like, fully assuming β€” that the source packages for both the previous version of the package and your freshly built NMU version are chilling in the parent directory. Specifically the .dsc and any corresponding tar and diff files. It does not go looking elsewhere, bestie, it just trusts you. 🫢

Then it:

  1. Uses debdiff to generate a diff between the previous version and the current NMU.
  2. Runs either mutt or an editor (via sensible-editor) so you can actually look at and edit the mail message, diff included.
  3. The moment you exit the editor, the diff gets mailed to the Debian BTS. No takebacks. ✨

Default behavior, and this is important: if exactly one bug is closed by this NMU, that bug gets the mail. Otherwise a whole new bug gets submitted. And yes, you can change that with command line options and config file options β€” see below, babe.


πŸ‘‘ OPTIONS πŸ‘‘

  • --new β€” instead of mailing the bug reports that are gonna be closed by this NMU, a brand new bug report gets submitted straight to the BTS. Fresh start energy.
  • --old β€” send the bug report to all the bugs being closed by this NMU, instead of opening a new one. Fair warning though: this option does absolutely nothing if no bugs are being closed by this NMU. It's giving "no bugs, no mail."
  • --mutt β€” use mutt(1) (or neomutt(1)) to edit and send the message to the BTS. This is the default behavior, iykyk. You can also control it with a config file option (see below).
  • --no-mutt β€” use sensible-editor(1) to edit the message, then mail it directly using /usr/bin/sendmail. Also controllable via config file option (see below).
  • --mua MUACMD β€” use whatever command you give it as your mail user agent (MUA). The command gets split on white space and interpreted by the shell, and it'll be handed a mailto: URL as its first argument. The thunderbird is a known example of a program that plays nice with this option. πŸ¦‹
  • --sendmail SENDMAILCMD β€” specify the sendmail command. It gets split on white space and interpreted by the shell. Default is /usr/sbin/sendmail. The -t option gets automatically added if the command is /usr/sbin/sendmail or /usr/sbin/exim*. For other mailers, if they need a -t option, you have to put it in the SENDMAILCMD yourself, like so: --sendmail="/usr/sbin/mymailer -t". You can also set this with the devscripts configuration files; see below.
  • --from EMAIL β€” if you're using the sendmail (--no-mutt) option, the email to the BTS goes out using the name and address from the environment variables DEBEMAIL and DEBFULLNAME. If those aren't set, it falls back to EMAIL and NAME instead. You can override all of that with --from. And heads up: in this case, the program will not work if an email address cannot be determined. It cannot manifest your identity out of thin air, bestie. 😭
  • --delay DELAY β€” indicate in the generated mail that the NMU has been uploaded to the DELAYED queue, with a delay of DELAY days. Default value is XX, which just drops a placeholder into the e-mail. A value of 0 means the upload was not sent to a delayed queue. Also settable via the devscripts configuration files; see below.
  • --no-delay, --nodelay β€” equivalent to --delay 0. Same thing, shorter vibe.
  • --no-conf, --noconf β€” do not read any configuration files. ⚠️ This can only be used as the very first option given on the command-line. First or it doesn't count.
  • --no-pending, --nopending β€” do not add the pending tag. We're keeping it off the record.
  • --non-dd, --nondd β€” mention in the email that you require sponsorship. Asking for help is main character energy, fr fr. πŸ™ˆ
  • --template TEMPLATEFILE β€” use the content of TEMPLATEFILE for the message body instead of the default template. And if TEMPLATEFILE doesn't exist? Default template is applied. No drama. πŸŽ€
  • --help β€” display a help message and exit successfully. Slay.
  • --version β€” display version and copyright information and exit successfully. Also slay.

🌈 CONFIGURATION VARIABLES 🌈

The two configuration files /etc/devscripts.conf and ~/.devscripts are sourced in that order to set configuration variables. Command line options can override configuration file settings. And here's the tea: environment variable settings are ignored for this purpose. Not a factor. Nope.

The currently recognised variables are:

  • NMUDIFF_DELAY β€” if this is set to a number, e-mails generated by nmudiff will by default mention an upload to the DELAYED queue, delayed for the specified number of days. The value 0 indicates that the DELAYED queue has not been used.
  • NMUDIFF_MUTT β€” can be yes (default) or no, and specifies whether to use mutt (or neomutt) to compose and send the message or not, as described above.
  • NMUDIFF_NEWREPORT β€” this option controls whether a new bug report is made, or whether the diff is sent to the bugs closed by this NMU. Can be maybe (default), which sends to the existing bug reports if exactly one bug is being closed; yes, which always creates a new report; or no, which always sends to the reports of the bugs being closed (unless no bugs are being closed, in which case a new report is always made). Yes, that last clause matters. Read it twice. πŸ’€
  • BTS_SENDMAIL_COMMAND β€” if this is set, it specifies a sendmail command to use instead of /usr/sbin/sendmail. Same as the --sendmail command line option.

πŸ’œ SEE ALSO πŸ’œ

debdiff(1), sensible-editor(1), devscripts.conf(5)


⭐ AUTHOR ⭐

nmudiff was written and is copyright 2006 by Steinar H. Gunderson and modified by Julian Gilbey <jdg@debian.org>. The software may be freely redistributed under the terms and conditions of the GNU General Public License, version 2.


okay that's the whole page, bestie πŸ₯° this one comes to you from the Debian Utilities collection in the DEBIAN section of the manual pages β€” go forth, NMU responsibly, and remember: tell the maintainer what you did. Communication is self-care. πŸ’–βœ¨πŸŽ€