User Tools

Site Tools


Elementary OS Patches

To modify packages from Ubuntu (mostly for branding changes and minor customization like notification bubble color), the Elementary team devised their own system based on Debian's apt versioning and pinning called OS patches.


This system consists of:

  • Branches on Launchpad (ones that start with "os-patches")
  • Launchpad recipes to automatically build these branches into a ppa.
  • Most of the times, the patched packages will have higher version than the Ubuntu packages by appending -elementaryX and is, therefore, prefered. But sometimes, when the Ubuntu version is upgraded, it will still have a higher version than that of the patched version (gedit-0.4 is higher than gedit-0.3-elementary0). Consequently, the Elementary team used apt-pinning to force installation of the patched version with the file /etc/apt/preferences.d/elementary-os-patches.pref, which has the following content:
    Explanation: OS patches for elementary OS.
    Explanation: We need this pin because our patched build can lag a few hours behind Ubuntu's updates,
    Explanation: and during those few hours packages can be overwritten with unpatched ones.
    Package: *
    Pin: release o=LP-PPA-elementary-os-os-patches
    Pin-Priority: 999 

    This file is installed by the elementary-os-overlay package.

Our system

In the near future, we need to create a similar system for our own use.

dev/elementary_os_patches.txt · Last modified: 2013/07/08 13:49 by chin