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.
# Example workflow
git clone lp:~ubuntu-desktop/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
debiansubfolder inside (keeping the history)
- Check that
pq importworks correctly
- Do the same for an
ubuntu/bionicbranch 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
ubuntubranch as default (or we want to use
- 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.