Skip to content
This repository has been archived by the owner on Aug 31, 2023. It is now read-only.

Creating a new Debian control file

jwatzman edited this page Dec 4, 2014 · 4 revisions

Suppose Ubuntu N+1 was just released.

  1. Get HHVM building on Ubuntu N+1. You can probably follow the directions for Ubuntu N; our dependencies are all basically stable in upstream repos at this point, and so things tend to Just Work.
  2. Copy the Debian control file for Ubuntu N over to Ubuntu N+1.
  3. Skim the version numbers for anything that has been obviously upgraded in Ubuntu N+1. Boost is a big candidate for this; for example, trusty had 1.54 and utopic has 1.55. This should just be a matter of checking the Ubuntu N+1 package DB and making sure numbers line up.
  4. At this point you should be able to run the packaging script and create a new deb for that release. Keep in mind that the packaging script takes an optional last argument which is the pre-built hhvm git repo, so you don't need to keep rebuilding HHVM every time you change the packaging script, will save you hours.
  5. Copy the resultant deb over to a clean Ubuntu N+1 machine with no extra packages installed above the base system. sudo apt-get install gdebi-core then sudo gdebi foo.deb -- what gdebi does is read a local deb file, grab all its deps from the upstream repos, then install that local deb. This will verify that the dependencies all exist (fix errors and rebuild the deb as they come up) and that they are exhaustive -- run hhvm and make sure it works. If it doesn't work, it will likely complain about a missing .so, this means you missed a version bump in the step above, try again.
  6. Same for the -dev control file, except this one is much much easier since it depends on a lot less. Should actually be totally trivial once the above is done.

Example: https://github.com/hhvm/packaging/commit/d6aa5043213ae0ff998649a57b96555aeb011476

Clone this wiki locally