Requirements of a VCS packaging tool
James Westby
jw+debian at jameswestby.net
Mon Mar 17 18:38:53 UTC 2008
Hi,
Martin asked that we look at what such a tool needs to do,
so here's my attempt at starting that discussion.
I do not believe this document will be entirely complete, please
add anything else that you think is important. This is obviously
also coloured by my own experience and views from developing a
tool, so please help to remove those biases.
Support Co-operation
--------------------
There are many workflows which could be adopted, but we require
that the any solution enhances our ability to co-operate.
There are many ways in which we should be able to co-operate
* With upstream
- Submitting patches back in their preferred format.
- This will often be satisfied a plain patch that applies cleanly
to the latest version or the tip of their development branch.
- Providing it in their VCS's preferred format is another
possibility that many upstreams may prefer. However I doubt that
any would refuse a patch not delivered using their VCS.
- Taking individual patches from upstream in order to solve specific
issues, for instance to fix a security bug in a stable release.
* With other distros
- If one distro uses a patch then others may or may not want to
use it. We should therefore have an easy way to see what patches
are applied in another distribution, and then take the ones
we want.
- We should also be able to modify patches from another distro
to suit our own if needed, and then easily contribute the
changes back if appropriate.
* With other people in the same distro
- The workflow should give everyone, not just one person, everything
needed to work on the package.
- If the format is not mandated by the whole distribution then
getting the changes in to and out of the other available systems
should be straightforward. I mean that, for instance, normal
Debian package source uploads are still permitted then the changes
made by someone doing that should be easy to integrate.
- Also if there is more than approach used within a distro then
in each it should be very easy for someone without experience with
the system to make a simple change (consider security uploads).
Support common tasks easily
---------------------------
There are certain common tasks which should be made easy to do.
* New upstream release
- The process of incorporating a new upstream release, making
the necessary changes to the packaging data, and updating
any patches to apply to the new version should not be overly
complicated.
* Submitting patches to upstream
- The patches that are used in the package may not apply directly
to the current upstream. If that is the case it should be as easy
as possible to rectify that for sending them upstream.
This is intentionally as vague as possible about how the final system
would look, as I think we need to keep the benefits that we are aiming
for in mind.
Does anyone have any points to add to this?
Thanks,
James
More information about the vcs-pkg-discuss
mailing list