========================================================================= Basics Getting the branch: bzr branch lp:~kubuntu-members/kdelibs/ubuntu kdelibs cd kdelibs Getting the orig tarball: apt-get source kde4libs or pull-lp-source kde4libs jaunty Change something in debian/... Creating a patch for example: bzr bd-do This will take you to an unpacked source tree and will copy any changes you make in debian/ back to the branch (much like dpatch/cdbs-edit-patch). There you can for example import a patch you got from KDE svn: bzr bd-do ln -s debian/patches quilt push -a quilt import -P kubuntu_10_fix_armel_ftbfs.diff ~/armel.diff quilt pop -a exit 0 Exporting the source: cd debian/ bzr builddeb -e Building the source package: cd ../build-area/*/ dpkg-buildpackage -S -sa Building right away: cd debian/ bzr builddeb Committing your changes: debcommit -r # commit release and create a tag (should only be done once the # version is uploaded and accepted to ubuntu) debcommit -R # will commit with uncommited changelog entries as message and # pass the required arguments to make launchpad link the branch # to the bug report (assuming you provided a bug number via # LP: #xxxxx) bzr ci # will commit with custom message Uploading your changes: bzr push lp:~kubuntu-members/kdelibs/ubuntu ================================================== Branching the branched branch Branching the branch: bzr branch kdelibs kdelibs+armel cd kdelibs+armel Change something... Commit... Merge branches: cd ../kdelibs bzr update bzr merge ../kdelibs+armel Commit... Push... You can also merge the kdelibs+armel branch with Launchpad and then push directly to the official branch. That can cause more complex conflicts though, so in general merging with your local main branch before makes more sense. ============================================================== Build that source It is suggestable that you create an alias for creating a source pckage (to my knowledge bzr-buildpackage doesn't provide a feature for that): alias bzr-buildsource='cd debian/; bzr builddeb -e && cd ../build-area/*/ && dpkg-buildpackage -S' ========================================================================== Quilt Bash aliases similar to these ones are very recommendable to improve producitvity with quilt: * To push everything alias qupu='ln -s debian/patches && quilt push -a' * To refresh every patch alias qure='until [ "$?" != "0" ]; do quilt refresh; quilt pop; done && rm patches' * To pop (unpush/unapply) everything alias qupo='quilt pop -a && rm patches'