As desktop team we manage a certain number of packages with various distro-patches, as discussed on the past cycle there is a good consensus in switching to the usage gbp pq
(which is an-impossible-name-to-spell-and-remember which stands for git build-package patch queue
) for managing patches in a way better way as debian salsa already does.
We had some quick discussion on trello, and while I’d personally prefer to use something that is based on gitlab for better git management, we can safely continue using the desktop-team launchpad git repo for this.
The workflow is quite simple, and described in the pq docs (while manual is here), and probably the hardest thing is to remember the actual command name .
# Example workflow
git clone lp:~ubuntu-desktop/my-package
cd my-package
# Generate and switch to a patch-queue/ubuntu branch where all the patches
# just git commits
gbp pq import
# Now work with actual code, use `git rebase` for changing order, or edit a patch,
# so do everything you like that git allows you to do.
# Now export this back to patches, and switch back to the ubuntu branch
gbp pq export --no-patch-numbers
debchange "Love this change!"
git add debian/patches/*
git commit -a -m "Fantastic work with this package, now it's really cool"
# Push the git branch to LP so that you can create the merge-proposal
git push lp:~username/my-package
Anyways, we need some organization in order to proceed. Personally I can help with the migration, while I guess we can automatize this with a script that basically does:
- Import clone the bzr repo
- Convert it to git
- Pull upstream git code
- Includes the ex-bzr branch to an
ubuntu
branchdebian
subfolder inside (keeping the history)- Check that
pq import
works correctly - Do the same for an
ubuntu/bionic
branch based on same upstream branch (or should we use tarballs?) - If patches don’t apply to the latest code just add something mentioning this I guess.
- Check that
- Set the
ubuntu
branch as default (or we want to usemaster
and thenrevision-codename
for others?) - Push it to LP (and maybe remove bzr branches too)
I can craft something like this if wanted, while I’ve not the permissions to then push to ~ubuntu-desktop
(unless any three generous team mates won’t agree that I can join it ), but well that’s just non important as I can push under different umbrella and someone else will then push it there.
When? Let’s decide it, personally I think sooner is better than later as, once we get used to the system it really improves the speed of development.
We want to proceed in another way? Like each time that you work on something new you just use the script to migrate? Not sure what’s preferred, but personally I’d do it in a batch.