Skip to content

Latest commit

 

History

History
69 lines (57 loc) · 3.02 KB

README.dev.md

File metadata and controls

69 lines (57 loc) · 3.02 KB

Releasing this library

We release by uploading the tarball to GitHub, uploading Ubuntu PPAs, and by updating the Homebrew recipe for this library.

Creating the release tarball

You may want to refer to the section about prerequisites.

  • Check whether there are any open issues to fix while you're doing this.
  • Update Changes.md to include specify the new version, today's date, and list relevant changes. Commit this.
  • Run ./dev-bin/release.sh to update various files in the distro, our GitHub pages, and creates a GitHub release with the tarball.
  • Check the release looks good on both GitHub and launchpad.net.

PPA

In order to upload a PPA, you have to create a launchpad.net account and register a GPG key with that account. You also need to be added to the MaxMind team. Ask in the dev channel for someone to add you. See https://help.launchpad.net/Packaging/PPA for more details.

The PPA release script is at dev-bin/ppa-release.sh. Running it should guide you though the release, although it may require some changes to run on configurations different than Greg's machine.

Check whether any new Ubuntu versions need to be listed in this script before running it.

You should run it from master.

Homebrew

Prerequisites for releasing

  • Required packages (Ubuntu Artful): vim git-core dput build-essential autoconf automake libtool git-buildpackage libfile-slurp-perl pandoc dirmngr libfile-slurp-tiny-perl libdatetime-perl debhelper dh-autoreconf libipc-run3-perl libtest-output-perl devscripts
  • Install hub. (Using ./install from the tarball is fine)
  • GitHub ssh key (e.g. in ~/.ssh/id_rsa)
  • Git config (e.g. ~/.gitconfig)
  • Import your GPG secret key (or create one if you don't have a suitable one)
    • gpg --import /path/to/key
    • gpg --edit-key KEYID and trust it ultimately
    • Ensure it shows with gpg --list-secret-keys
  • You need to be invited to the launchpad.net MaxMind organization on your launchpad.net account.
  • You need your GPG key listed on your launchpad.net account
    • You can add it in the web interface. It wants the output of gpg --fingerprint.
    • Part of the instructions involve having your key published on the Ubuntu keyserver: gpg --keyserver keyserver.ubuntu.com --send-keys KEYID
    • You'll get an email with an encrypted payload that you need to decrypt and follow the link to confirm it.
  • Ensure dch knows your name and email. Refer to its man page for how to tell it this. One way is to set the DEBFULLNAME and DEBEMAIL environment variables. These should match your GPG key's name and email exactly. This is what gets used in the Debian changelog as well as defines what GPG key to use.