Skip to content
Asumu Takikawa edited this page Nov 9, 2020 · 8 revisions

Build instructions for PPA:

  • download unix source tarball from racket-lang.org
  • merge upstream (Debian) master into PPA master
  • follow steps in README.source for upstream branch
    • git checkout upstream
    • (we skip merging the history as merging Debian upstream commits will get this eventually)
    • git clean -fxd
    • git ls-files -z | xargs -0 rm -f
    • tar --strip-components=1 -zxf $tarball
    • git add -A (note may need to delete nested .git folders in submods)
    • git commit -m 'Importing 'basename $tarball``
    • (I usually skip the pristine-tar step)
  • merge upstream branch into ppa branch (instead of dfsg, etc)
  • adjust ppa branch as needed (like deleting non-free files, etc)
  • tag ppa branch with version (e.g., upstream/7.3+ppa1)
  • adjust debian/changelog and anything else as required for PPA
  • use ./debian/rules get-orig-source as written below for tarball
  • use debuild -S -k'...' to build the package with appropriate PPA key
  • use dput ppa:plt/racket racket_X.Y+ppaZ-XX~release_source.changes to upload PPA
  • repeat build for each Ubuntu release that's supported (e.g., change changelog version from xenial1 to trusty1, etc.) as needed (supported releases list: https://wiki.ubuntu.com/Releases)
  • ensure Launchpad builds the PPA correctly (you should get e-mail confirmation)
  • test builds
  • push changes to racket-ppa repo
  • contribute any relevant significant packaging changes to upstream Debian

Note on naming:

  • PPA releases have been following a versioning scheme like 7.3+ppa1-1~xenial1. Racket version + ppa version + ubuntu release version.

Clone this wiki locally