Size: 4104
Comment: link to git-buildpackage documentation
|
Size: 6397
Comment: notes for using git
|
Deletions are marked like this. | Additions are marked like this. |
Line 53: | Line 53: |
=== Creating new project git repository === | * We generally follow the workflow and defaults of [[ http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.html | git-buildpackage ]] |
Line 55: | Line 55: |
$ ssh <user>@git.debian.org | * locate the packaging branch on http://git.debian.org. All pkg-multimedia branches have pkg-multimedia in their url. Click on the leftmost link in that line. That will bring you to the summary of the project. |
Line 57: | Line 57: |
$ cd /git/pkg-multimedia | * Note the metadata just above the shortlog, it contains 2 URLs, one of them starting with `git://` |
Line 59: | Line 60: |
$ ./setup-repository <project> | * then [[ http://www.kernel.org/pub/software/scm/git/docs/git-clone.html | git-clone(1) ]] to get a copy of the repository. E.g. |
Line 61: | Line 62: |
<user> ''your alioth account user name'' | {{{ git clone git://git.debian.org/pkg-multimedia/jack-audio-connection-kit.git }}} * Do changes to that branch, build the package, test your changes, and commit early and often! * If someone else has committed while you are working on the branch, you need to integrate his changes. For this you have 2 options: * if your local changes are rather minor and clean, use git rebase: {{{ git fetch origin git rebase origin/master }}} * if you rather don't want to break your history because you think that your changes are rather large and are likely to interfere with the other changes, better merge them with [[ http://www.kernel.org/pub/software/scm/git/docs/git-pull.html | git-pull(1) ]]: {{{ git pull origin }}} * In case you want to cleanup your local commits before pushing, use [[ http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html | git-rebase(1) ]]: {{{ git rebase -i origin/master }}} You will be presented a textfile where you can specify what of your local commits you want to modify, drop or squish (merge with the previous one). You can also improve your commit message here. Make sure that you don't rewrite already published commits. * In order to get comments on your (preferably cleaned up) commits, use [[ http://www.kernel.org/pub/software/scm/git/docs/git-format-patch.html | git-format-patch(1) ]] to generate patches of your commits and email them to the mailing list. Any committer can do this while preserving attribution. * None of the steps above require membership in the pkg-multimedia alioth group. All of that can be done totally anonymously! |
Line 80: | Line 114: |
== Tasks for team members == === Creating new project git repository === $ ssh <user>@git.debian.org $ cd /git/pkg-multimedia $ ./setup-repository <project> <user> ''your alioth account user name'' |
This page contains information already on other pages. Help is welcome to remove the duplicate parts, and to update or remove the obsolete parts. No need to ask before editing.
This page thanks to great work from ?TimHall, shamelessly re-used by dancerj, updated by billitch.
Packages maintained by the Debian Multimedia Team
Here you can find a list of packages maintained by the Debian Multimedia Team:
http://qa.debian.org/developer.php?login=debian-multimedia@lists.debian.org
http://qa.debian.org/developer.php?login=pkg-multimedia-maintainers@lists.alioth.debian.org
New packages should set the Maintainer field to Debian Multimedia Maintainers <pkg-multimedia-maintainers@lists.alioth.debian.org>. Existing packages should move to using that address on a best-effort basis.
All source packages shoud use the pkg-multimedia git area in alioth.
How to help with packaging
The Debian Multimedia Maintainers need help to create new Debian packages and maintain the existing ones. If you want to contribute to this effort, but you are new to the Debian packaging systems, here follows some information to get you started.
Packaging guidelines
- Packages should use git, as mentioned above. Desirable is being able to use git-buildpackage.
Upstream sources should be kept in the upstream branch and the the debian packaging in the master branch.
Quilt should be used for patch management, and the master branch should only differ from the upstream branch in files inside the debian/ directory. This means no direct changes to the source in the master branch.
The maintainer field should be set to Debian Multimedia Maintainers <pkg-multimedia-maintainers@lists.alioth.debian.org>
The git repository should be hosted in alioth, under the pkg-multimedia project. It should forward commit messages to pkg-multimedia-commits@lists.alioth.debian.org and package_cvs@packages.qa.debian.org
- You can use the setup-repository script in /git/pkg-multimedia to create the bare repository with commit messages enabled. The repository should be named as the source package name for the message forwarding to work (eg, the repository for source package liblo is named liblo.git).
- The control file should use the Vcs-Git and Vcs-Browser tags.
Workflow guidelines
One change per commit. This is very important, it eases review, cherry picking, bisecting (and thus debugging) and backporting.
- Do not commit the debian changelog along with the changes. It makes cherry picking and backporting changes easier. The changelog is generated with git-dch at the time of upload.
- After each upload, the first commit should be creating a new changelog entry, to ease testing of unreleased packages.
Documentation
git-buildpackage online documentation (offline: /usr/share/doc/git-buildpackage/manual-html)
Work with git for newbies
We generally follow the workflow and defaults of git-buildpackage
locate the packaging branch on http://git.debian.org. All pkg-multimedia branches have pkg-multimedia in their url. Click on the leftmost link in that line. That will bring you to the summary of the project.
- Note the metadata just above the shortlog, it contains 2 URLs, one of
them starting with git://
then git-clone(1) to get a copy of the repository. E.g.
git clone git://git.debian.org/pkg-multimedia/jack-audio-connection-kit.git
- Do changes to that branch, build the package, test your changes, and commit early and often!
- If someone else has committed while you are working on the branch, you need to integrate his changes. For this you have 2 options:
- if your local changes are rather minor and clean, use git rebase:
git fetch origin git rebase origin/master
if you rather don't want to break your history because you think that your changes are rather large and are likely to interfere with the other changes, better merge them with git-pull(1):
git pull origin
In case you want to cleanup your local commits before pushing, use git-rebase(1):
git rebase -i origin/master
- You will be presented a textfile where you can specify what of your local commits you want to modify, drop or squish (merge with the previous one). You can also improve your commit message here. Make sure that you don't rewrite already published commits.
In order to get comments on your (preferably cleaned up) commits, use git-format-patch(1) to generate patches of your commits and email them to the mailing list. Any committer can do this while preserving attribution.
- None of the steps above require membership in the pkg-multimedia alioth group. All of that can be done totally anonymously!
Uploading your project to git repository
$ cd /path/to/sources/
$ git-import-dsc <project>_0.0.1-1.dsc
$ cd <project>
$ git remote add alioth ssh://<user>@git.debian.org/git/pkg-multimedia/<project>.git
$ git push alioth master
$ git push alioth upstream
$ git push alioth --tags
Tasks for team members
Creating new project git repository
$ ssh <user>@git.debian.org
$ cd /git/pkg-multimedia
$ ./setup-repository <project>
<user> your alioth account user name
Work in progress : We're checking all the WNPP bugs and updating infos on this page.
-- billitch