LucidKDEMerges

KDE merges for Lucid

package

assignee

Merged?

Uploaded?

Diff sent to Debian?

Kubuntu/LucidPatchReview Updated?

pkg-kde-tools

JonathanRiddell

yes

yes

yes

n/a

cmake

RyanKavanagh

yes

yes

kubuntu specific change only

n/a

qt4

Lex

yes

yes

yes

qt3

JonathanRiddell

yes

yes

yes

kdelibs (KDE 3)

JonathanRiddell

yes

yes

no

n/a

phonon-backends

JontheEchidna

yes

yes

not relevant

automoc4

---

up-to-date

---

---

---

akonadi

JontheEchidna

bug 477910

yes

kubuntu-specific

no patches

soprano

---

up-to-date

---

---

---

libs

JontheEchidna

in bzr

yes

yes

yes

pimlibs

JontheEchidna

in bzr

yes

kubuntu-specific

no patches

base

Lex

in bzr

yes

yes

yes

base-workspace

Lex

in bzr

yes

yes

yes

base-runtime

Lex

in bzr

yes

yes

yes

oxygen-icons

Lex

in bzr

yes

not relevant

no patches

accessibility

Lex

in bzr

yes

not relevant

yes

admin

Lex

in bzr

yes

yes

yes

artwork

Lex

in bzr

yes

not relevant

yes

bindings

edu

Lex

in bzr

yes

not relevant

yes

games

Lex

in bzr

yes

not relevant

yes

graphics

Lex

in bzr

yes

yes

yes

multimedia

Lex

in bzr

yes

yes

yes

network

Lex

in bzr

yes

yes

yes

pim

Lex

in bzr

yes

not relevant

yes

pim-runtime

JontheEchidna

in bzr

yes

not relevant

yes

plasma-addons

Lex

in bzr

yes

not relevant

yes

sdk

txwikinger

bug 482706

yes

not relevant

yes

toys

Quintasan

in bzr

yes

no patches

No patches

utils

Lex

in bzr

yes

yes

yes

webdev

JontheEchidna

in bzr

yes

not relevant

No patches

webdev(webdev-kde3)

up to date

--

--

--

--

koffice

neversfelde

in progress (-kde4 still to be dropped)

yes

yes

no patches

amarok

neversfelde

bug 486030 / in bzr

yes

not relevant

yes

An example Merge Process

See this link for an example merge.

For the current merge, we are taking the KDE packages from Lucid (currently 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. lucid 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 lucid 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 experimental (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 experimental

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 lucid files to the directory named current and copy them to new. Current is our baseline for lucid. We will merge changes into the new directory.

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

Now, do the following:

  • for i in current new experimental; 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 experimental:

  • debdiff current/*.dsc experimental/*.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 experimental.

After you made some notes, we need to merge the experimental/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 experimental changelog. We only need to grab the changes newer than that merge from the experimental 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 karmic to lucid (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 experimental/new shown below:

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

    debdiff experimental/*.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/LucidKDEMerges (last edited 2009-11-26 15:43:46 by host-84-9-232-121)