This repository has been archived by the owner on Aug 31, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 63
Creating a new Debian control file
jwatzman edited this page Dec 4, 2014
·
4 revisions
Suppose Ubuntu N+1 was just released.
- 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.
- Copy the Debian control file for Ubuntu N over to Ubuntu N+1.
- 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.
- 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.
- 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
thensudo gdebi foo.deb
-- whatgdebi
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 -- runhhvm
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. - 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