REQUESTSYNC(1)

πŸ’– REQUESTSYNC πŸ’–

okay bestie, so this is requestsync, part of the General Commands Manual squad, and she is literally the girl who files your sync requests for Ubuntu. no cap. let's get into it πŸ¦‹


✨ NAME ✨

requestsync β€” the helper that files sync requests for Ubuntu, periodt πŸ’…


✨ SYNOPSIS ✨

requestsync [-d distro] [-nse] [-k keyid] <source package> [target release] [base version]
requestsync --lp [-nse] <source package> <target release> [base version]
requestsync -h

✨ DESCRIPTION ✨

so here's the tea, bestie πŸ“ requestsync goes and peeks at the versions of <source package> in Debian and Ubuntu, and then it asks you to explain why the Ubuntu changes (if there even are any, ok) should be dropped. then it downloads the changelog entry from packages.debian.org, and files that sync request bug over in Launchpad. iconic. alternatively, you can file the sync request via GPG-signed email with the --email option instead 🫢

then, requestsync checks whether you have the permissions to request the sync straight from the archive administrators. how? by checking if you have upload permissions for that package through package set permissions or component permissions. and if you don't have upload permissions? she's got you β€” the script will subscribe the necessary team with approval rights to the bug report for you. so thoughtful honestly 😭

heads up: this check only happens if requestsync is allowed to use the LP API (so, not email submission). in the other case, requestsync just trusts that you answer the question about upload permissions honestly, and that's how it decides whether a team with approval rights gets subscribed to the bug. no lying, bestie πŸ™ˆ

and if you do have permission to upload the package directly, then you might honestly prefer to use syncpackage instead, to copy the package using the Launchpad API. at some future point, requestsync will be changed to do this automatically. slay, future us ✨

also requestsync uses launchpadlib authentication to file its requests. iykyk πŸ”₯


✨ OPTIONS ✨

here's the full menu of command line options for requestsync, no skips, no skims πŸ’…

  • -h β€” shows a help message and dips out. bye πŸ‘‹
  • -d β€” tells her which Debian distribution a package should be synced from. the default is unstable. the classic ✨
  • -n β€” says that the package is a new package, so requestsync shouldn't even try to look it up in Ubuntu, because it literally will not exist there yet. makes sense bestie πŸ’–
  • -k <keyid> β€” sets your GPG key. only used if the sync request is mailed to Launchpad, ok? πŸŽ€
  • --email β€” uses GPG-signed email to file the bug instead of launchpadlib. old school, we respect it πŸ¦‹
  • -s β€” says you require sponsorship. you NEED this option if you don't have upload permissions for that package, and it disables that upload permissions check we talked about earlier. periodt πŸ‘‘
  • -C β€” allows the changelog to be manually filled in when it's missing. see, requestsync gets Debian changelogs from packages.debian.org, which isn't in sync with the Debian archive 😭. so if you wanna request a sync before the changelog is even available, pass this option and provide the changelog entries yourself. you got this πŸ’ͺ
  • -e β€” use this flag after FeatureFreeze for non-bug fix syncs. requestsync will subscribe the ubuntu-release team instead of the sponsorship team. different team, different vibe 🌸
  • -l INSTANCE, --lpinstance=INSTANCE β€” use the specified instance of Launchpad (like "staging"), instead of the default of "production". go touch some staging grass 🌱
  • --no-conf β€” do not read any configuration files, or configuration from environment variables. she's going in blind, no notes πŸ“
  • <source package> β€” this is the source package you would like to be synced from Debian. the main character of the operation πŸ’œ
  • <target release> β€” this is the release you would like the source package to be synced into. this should always be the latest development release of Ubuntu. always. no exceptions bestie ⭐
  • [base version] β€” sometimes the base version (aka where the Ubuntu package started differing from the Debian package) just can't be automatically determined 😩. that's when you specify this option. manual mode activated πŸŽ€

✨ ENVIRONMENT ✨

requestsync uses these variables, and you should set them in your shell's configuration by adding export VARIABLE= lines, where VARIABLE is one of the following cuties:

  • UBUMAIL, DEBEMAIL β€” specifies which email should be used when sending to Launchpad. pick your fighter πŸ’Œ

oh and also β€” all of the CONFIGURATION VARIABLES below are also supported as environment variables. and variables in the environment take precedence over those in configuration files. environment stays winning, no cap πŸ†


✨ CONFIGURATION VARIABLES ✨

  • REQUESTSYNC_SMTP_SERVER β€” sets which SMTP server to use when sending mail. if you don't specify it, it defaults to launchpad's SMTP servers (the eventual destination). she knows the way πŸ›£οΈ
  • REQUESTSYNC_SMTP_PORT β€” sets which port of the SMTP server to use. default is 25. 🎯
  • REQUESTSYNC_SMTP_USER and REQUESTSYNC_SMTP_PASS β€” sets the username and password to use when authenticating to the SMTP server. keep it secret, keep it safe πŸ”
  • REQUESTSYNC_USE_LPAPI β€” setting this to no is equivalent to running with --email. same energy, different spelling πŸ’«
  • REQUESTSYNC_LPINSTANCE, UBUNTUTOOLS_LPINSTANCE β€” the default value for --lpinstance. 🌈
  • REQUESTSYNC_KEYID, UBUNTUTOOLS_KEYID β€” the default value for -k. πŸ”‘

✨ SEE ALSO ✨

go read these too, bestie, they're all in the same friend group 🫢


✨ AUTHOR ✨

requestsync and this manual page were written by the Ubuntu MOTU Team. legends only πŸ‘‘

both are released under the GNU General Public License, version 2. πŸ“œ


okay that's the whole page, you ate it up fr fr πŸ’…βœ¨ this was ubuntu-dev-tools, dated 19 January 2008 β€” yeah she's a vintage icon but she still serves πŸŒΈπŸ¦‹πŸ’–