-
Notifications
You must be signed in to change notification settings - Fork 37
Add Ubuntu Desktop workflows #229
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for working on this! Comments in-line.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Partial review, will come back later. Thanks!
| * Force using the current directory with your local modifications instead of the `build-area` directory, and include any local modifications to the package despite the `ignore-new` option. | ||
|
|
||
| For this, use the `--git-ignore-new --git-export-dir=""` Git options. | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we describe how to also remove local changes? dh_clean is apparently supposed to do that, but some packages don't. I often use git checkout . && git clean -fd . && quilt -f pop -a to reset things if I don't care about what has changed. Sure there's better ways!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good. Until I learn about better commands, I'm using your two suggestions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, removing local changes (as debian changes) is not needed, since when building everything is only in the build directory which is detached from this (it's the beauty of gbp).
If it's about removing git local changes, well that's imho out of scope of the guide, since using git clean is not really something strictly related to packaging.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm for deleting all this, quilt is a no-no in this workflow (that exists exactly not to have to deal with it`
|
Thanks @quine00 for the review so far! Sally and Robert, please take a look if the placement within the documentation set is appropriate. I chose the patching folder for the maintenance guide because that seemed like the closest fit. |
| (desktop-git-merge-a-new-upstream-version-to-latest)= | ||
| ## Merge a new upstream version to latest | ||
|
|
||
| When upstream releases a new version of a given project, you can merge the version on the `ubuntu/latest` branch. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not wrong, you only have to gbp import-origin --uscan (or using the tarball) or either to merge with debian/latest, but you don't have to do the ubuntu/latest merge manually
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you have to be a Debian Developer in order to merge into debian/latest?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, anyone could in theory, but in practice only debian developers / maintainers should do it directly. For others MRs are welcome!
Co-authored-by: Marco Trevisan <[email protected]>
Co-authored-by: Marco Trevisan <[email protected]>
Co-authored-by: Marco Trevisan <[email protected]>
Co-authored-by: Marco Trevisan <[email protected]>
Co-authored-by: Marco Trevisan <[email protected]>
…untu-project-docs into desktop-git-guide-UDENG-6342
| :host: | ||
| :dir: gnome-control-center | ||
| :user: | ||
| :input: git push --follow-tags |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| :input: git push --follow-tags | |
| :input: gbp push origin |
| :host: | ||
| :dir: gnome-control-center | ||
| :user: | ||
| :input: git push --follow-tags |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| :input: git push --follow-tags | |
| :input: gbp push origin |
| gbp:info: Successfully imported version 46.2 of ../gnome-control-center-46.2.tar.xz | ||
| ``` | ||
|
|
||
| 1. Push all needed branches (for example, `ubuntu/latest` and `pristine-tarball` + `upstream/46.x` or `upstream/latest` if this upload is a new upstream release): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 1. Push all needed branches (for example, `ubuntu/latest` and `pristine-tarball` + `upstream/46.x` or `upstream/latest` if this upload is a new upstream release): | |
| 1. Push all related branches (`gbp` handles this automatically, so that `ubuntu/latest`, `pristine-tarball` + `upstream/46.x` or `upstream/latest` if this upload is a new upstream release are handled): |
| :host: | ||
| :dir: gnome-control-center | ||
| :user: | ||
| :input: git push --follow-tags |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| :input: git push --follow-tags | |
| :input: gbp push origin |
| :input: git push | ||
|
|
||
| :input: git push -u upstream/46.x |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| :input: git push | |
| :input: git push -u upstream/46.x | |
| :input: gbp push origin |
| 1. Push the tags that we care about to Salsa: | ||
|
|
||
| ```{terminal} | ||
| :copy: | ||
| :host: | ||
| :dir: gnome-control-center | ||
| :user: | ||
| :input: git tag | grep -E '^ubuntu/|^debian/|^upstream/' | xargs -r git push | ||
| ``` | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 1. Push the tags that we care about to Salsa: | |
| ```{terminal} | |
| :copy: | |
| :host: | |
| :dir: gnome-control-center | |
| :user: | |
| :input: git tag | grep -E '^ubuntu/|^debian/|^upstream/' | xargs -r git push | |
| ``` |
| * Force using the current directory with your local modifications instead of the `build-area` directory, and include any local modifications to the package despite the `ignore-new` option. | ||
|
|
||
| For this, use the `--git-ignore-new --git-export-dir=""` Git options. | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm for deleting all this, quilt is a no-no in this workflow (that exists exactly not to have to deal with it`
| :host: | ||
| :dir: gnome-control-center | ||
| :user: | ||
| :input: git pull |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| :input: git pull | |
| :input: gbp pull origin |
| ```{terminal} | ||
| :copy: | ||
| :host: | ||
| :dir: gnome-control-center | ||
| :user: | ||
| :input: git remote show origin | ||
|
|
||
| […] | ||
| upstream/46.x pushes to upstream/46.x (up to date) | ||
| […] | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would just git tag -l | grep debian or git tag -l | grep upstream
| This procedure really needs a review. I rearranged the steps but I'm not sure if they still work. | ||
| ::: | ||
|
|
||
| 1. Downloading the source tarball. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can use pull-lp-debs --download-only <source-package> [ubuntu-version] [version] like pull-lp-debs --download-only glib noble or pull-lp-debs --download-only gnome-shell 49.0-1ubuntu0
Description
This PR adds Git, patching and packaging workflows migrated from the Ubuntu wiki: https://wiki.ubuntu.com/DesktopTeam/git
These guides are mainly written for the Ubuntu Desktop Team but community contributors can also follow them.
Some of the content is similar in its overall purpose to existing Ubuntu Project guides but the Desktop and GNOME workflow is distinct.
Related issue
https://warthogs.atlassian.net/browse/UDENG-6342
Checklist
Additional notes (optional)
This documentation needs one final review by Desktop Team members. It's a draft for now.
We can adjust the placement of the files in the documentation set. I realize they don't fit too neatly.