MaverickKDEMerges

KDE merges for Maverick

package

assignee

Merged?

Uploaded?

Diff sent to Debian?

pkg-kde-tools

JontheEchidna

yes

yes

N/A

cmake

---

---

---

---

qt4

JonathanRiddell

yes

yes

not yet

qt3

---

---

---

---

kdelibs (KDE 3)

---

---

---

---

phonon

JonathanRiddell

yes

yes

no diff

akonadi

JontheEchidna

yes

yes

attica

JontheEchidna

synced

yes

---

automoc4

---

---

---

---

polkit-kde-1

---

---

---

---

shared-desktop-ontologies

---

---

---

---

soprano

JontheEchidna

yes

yes

N/A

libs

JontheEchidna

yes

yes

pimlibs

JontheEchidna

yes

yes

base

JontheEchidna

yes

yes

base-workspace

ScottK

yes

yes

partly

base-runtime

Quintasan

in progress

accessibility

JontheEchidna

yes

yes

admin

Lex

yes

yes

artwork

Lex

yes

yes

bindings

JonathanRiddell

yes

yes

edu

Lex

yes

yes

games

Lex

yes

yes

graphics

JontheEchidna

yes

yes

multimedia

JontheEchidna

yes

yes

network

Lex

yes

yes

pim

Lex

yes

yes

pim-runtime

Lex

yes

uploaded

plasma-addons

Lex

yes

yes

sdk

Lex

yes

uploaded

toys

Lex

yes

yes

utils

Lex

yes

yes

webdev

Lex

yes

uploaded

An example Merge Process

See this link for an example merge.

For the current merge, we are taking the KDE packages from maverick upload (currently 4.4.3) and comparing them against the Debian KDE packages. We always merge back to Debian at the beginning of the development cycle for the new release (i.e. Jaunty in this case).

The above table is for tracking our work. Please edit the table and pick a package to work on by placing your name in the correct column. That way we do not duplicate effort.

The Maverick packages are located here (replace PACKAGE with the relevant package you wish to retrieve the source files for):

e.g.)

The debian packages all come from sid (replace PACKAGE with the relevant package you wish to retrieve the source files for):

e.g.)

Make a directory with lots of space to develop in. You need enough to download the source code and extract it. A few GB would be handy. I have mine setup as /opt/pbuilder, but you could easily choose something different.

In that directory, do the following (replace PACKAGE with the relevant package you wish to merge):

  • mkdir PACKAGE; cd PACKAGE; mkdir current new sid

There are 3 files to retrieve for both URL's:

  1. PACKAGE_x.x.x.dsc
  2. PACKAGE_x.x.x.orig.tar.gz
  3. PACKAGE_x.x.x.diff.gz

Download the Maverick files to the directory named current and copy them to new. Current is our baseline for Maverick. We will merge changes into the new directory.

Next download the Debian files to sid. Experimental is the Debian baseline.

Now, do the following:

  • for i in current new sid; do
    • cd $i; dpkg-source -x *dsc; cd - done

You can type the above into your bash shell, or manually execute the dpkg-source -x *dsc from within each of the 3 directories. This will extract the source files and apply the diff.

Now it becomes more manual and tricky.

Let's do the easy bit first. Let's use debdiff to create a diff between our current and the Debian sid:

  • debdiff current/*.dsc sid/*.dsc > current-to-debian.debdiff

We'll upload this file later to a bug report in launchpad. We'll also use it to look for differences in the two packages. We want to introduce new changes and fixes from Debian, but not remove anything we have done in our version. For example, we do not use the cdbs directory in debian/cdbs. We have a system kde4.mk and that handles the cdbs part. So, in the above diff, you will see this, but we shouldn't add this back in. Read though the diff and examine the changes. Make notes on things we should add to our package. The other thing you should do is look at the changelog entries in the diff to see what the last couple of entries are as to any hint on what we should merge in from debian sid.

After you made some notes, we need to merge the sid/PACKAGE-x.x.x/debian/changelog with our new/PACKAGE-x.x.x/debian/changelog. To merge the changelog, I look at new/PACKAGE-x.x.x/debian/changelog and search for the last merge entry. Make note of the package version prior to that entry, as we will search for that in the sid changelog. We only need to grab the changes newer than that merge from the sid changelog and insert them into the new changelog (merge them in by hand and keep them in order according to version/date).

NOTE: your changes should only ever go i the new/PACKAGE-x.x.x/debian directory. There should never be a need to change anything outside of that for the merge.

Next, using the notes you made earlier, resolve any differences between the ubuntu and debian packages making changes in the new/PACKAGE-x.x.x/debian directory as required. Once you have made the changes, you need to add your own changelog entry. From within the new/PACKAGE-x.x.x directory, do this:

  • dch -i

For this entry, you should start with ' * Merge with Debian'. Then add in all changes you noted and added from Debian. You should also note any other things which are different in ours with a ' * Ubuntu differences' entry. As well, make a note about merging the changelog with debian and that the MD5SUM has changed.

NOTE: When doing your changelog via dch -i, remember to change lucid to maverick (OTHERWISE THINGS WILL GET MESSED UP). This is at the top of the changelog entry.

Next you need to build the source package.

  • debuild -S -sa

This is the package that contains your changes. You should also use pbuilder to test your changes and that it actually will make the debs (which can fail if you mess up the .install files during the merge). So, you should check this.

Once you are happy with the build, then you can diff between current/new and sid/new shown below:

  • debdiff current/*.dsc new/*.dsc > current-to-merged.debdiff

    debdiff sid/*.dsc new/*.dsc > debian-to-merged.debdiff

NOTE: In the new directory, you now have 2 .dsc files, so the *.dsc will fail with debdiff. you need to specify the actual filename.

Ok, once you have the three of these generated, you need to open a new bug in launchpad. Use this one as an example if you like: https://launchpad.net/bugs/294780

Once you open a bug (make sure you mark is against the PACKAGE you are merging), come back to the #kubuntu-devel channel and let us know. Someone will help review it, and if it is good, they will upload it. Make sure you go back to the wiki and update you entry with the bug report info.

Kubuntu/MaverickKDEMerges (last edited 2010-05-24 02:30:04 by static-72-81-252-22)