Page MenuHomePureOS Tracker

Merging Packages With Debian
Updated 1,255 Days AgoPublic

Intro

There are two cases where you may want to merge a package that has PureOS-specific changes with its Debian counterpart: Either the PureOS changes have been incorporated upstream in the Debian package or are no longer relevant and can be dropped, or the changes are still relevant but new changes from upstream Debian should be incorporated into the PureOS package.

In any case, the PureOS package should be tracked in Git, which the debian/master or debian/latest branch present, as well as with a shared upstream branch. This makes merging the debian/(master|latest) into pureos/(master|latest) very easy for new package uploads.

Dropping PureOS specific changes

If you want to resynchronize a PureOS package with the Debian version, dropping all PureOS changes, there are two options: If the Debian version of the package in its source suite is newer than the version in PureOS, you can ask the archive admins to force a synchronization from Debian, overriding the PureOS changes. If that is not the case, you can download the pristine Debian package and create a new changelog entry, but instead if the usual XpureosY revision use a Xresync1 revision number.
For example, if the PureOS package version is 1.2-1pureos4, download the pristine Debian package, give it version 1.2-1resync1 and upload it to PureOS.
If a newer Debian package becomes available, the PureOS changelog-only delta to Debian will be dropped automatically.

Please keep the Git repositories for the old PureOS package available, possibly syncing the pureos/(master|latest) with the debian/(master|latest) branch to indicate the PureOS delta has been dropped intentionally.

Merging changes from Debian into a PureOS package

If you want to merge in Debian changes into a PureOS package, keeping some PureOS-specific changes, first merge the two packages (preferrably in Git) and then give the resulting package a new revision number Xpureos1 where X is the preexisting Debian revision.
Write a changelog entry like this:

coolpackage (1.2-4pureos1) byzantium; urgency=medium

  * Merge with Debian unstable, remaining changes:
    - PureOS change 1
    - Remaining PureOS change 2

 -- Jane Doe <jane_doe@puri.sm>  Mon, 30 Sep 2019 19:28:34 +0200

Please detail the changes that are still remaining, as due to the merge some PureOS patches may have been dropped and having the general overview of which changes still exist in this particular package for PureOS is a very valuable reference for other package maintainers working with this package.

Further reading

Ubuntu also has a nice guide for package merging that is worth a read.

Last Author
mak
Last Edited
Jul 11 2021, 09:49

Event Timeline

mak created this object.Jul 11 2021, 09:46
mak edited the content of this document. (Show Details)Jul 11 2021, 09:49