| |
@@ -32,19 +32,18 @@
|
| |
The most important reasons for this rule are:
|
| |
|
| |
* One maintainer can commit fixes
|
| |
- like patches or new upstream releases that fix important bugs
|
| |
- (for example security data-corruption issues
|
| |
- or packaging bugs that confuse the users' systems)
|
| |
- even when the other maintainer(s) are away from the keyboard
|
| |
- due to traveling, sleeping or whatever.
|
| |
+ like patches or new upstream releases that fix important bugs
|
| |
+ (for example security data-corruption issues
|
| |
+ or packaging bugs that confuse the users' systems)
|
| |
+ even when the other maintainer(s) are away from the keyboard
|
| |
+ due to traveling, sleeping or whatever.
|
| |
|
| |
* Maintainers further can help, guide and watch each other,
|
| |
- which should lead to better overall package quality.
|
| |
+ which should lead to better overall package quality.
|
| |
|
| |
The goal is to have at least three maintainers per package
|
| |
and at least two per supported distribution release.
|
| |
- Big and important packages should have more maintainers
|
| |
- -- there is no upper limit.
|
| |
+ Big and important packages should have more maintainers -- there is no upper limit.
|
| |
|
| |
There is a primary maintainer who takes care of the package in general.
|
| |
It is their job to approve and find new maintainers
|
| |
@@ -63,15 +62,13 @@
|
| |
and also try to get a second one.
|
| |
That means asking on the mailing list now and then
|
| |
for people that might be interested in the job.
|
| |
- The goal is to have that process mostly automated
|
| |
- -- e.g. let a script parse the owner information now and then
|
| |
+ The goal is to have that process mostly automated -- e.g. let a script parse the owner information now and then
|
| |
and send out the list of the packages
|
| |
that do not have enough co-maintainers yet
|
| |
to a mailing list.
|
| |
|
| |
The primary maintainer can't block co-maintainers for a distribution
|
| |
- only because they do not want to support that distribution
|
| |
- -- e.g. if they do not want to care about their package in EPEL,
|
| |
+ only because they do not want to support that distribution -- e.g. if they do not want to care about their package in EPEL,
|
| |
they have to accept somebody else takes care of the package in EPEL.
|
| |
|
| |
== Guidelines
|
| |
@@ -94,104 +91,104 @@
|
| |
Something like the following points describe the concept roughly:
|
| |
|
| |
* In most cases the primary maintainer
|
| |
- is the primary per-release maintainer
|
| |
- for all supported distributions.
|
| |
- There are two co-maintainers.
|
| |
- The three make sure everybody knows the important stuff
|
| |
- and they share the load,
|
| |
- to make sure everybody knows about the details of the package.
|
| |
+ is the primary per-release maintainer
|
| |
+ for all supported distributions.
|
| |
+ There are two co-maintainers.
|
| |
+ The three make sure everybody knows the important stuff
|
| |
+ and they share the load,
|
| |
+ to make sure everybody knows about the details of the package.
|
| |
|
| |
* The primary maintainer should normally be
|
| |
- the primary per-release maintainer for the Fedora devel branch,
|
| |
- as that is the most important one.
|
| |
+ the primary per-release maintainer for the Fedora devel branch,
|
| |
+ as that is the most important one.
|
| |
|
| |
* All maintainers of a particular package
|
| |
- should be co-maintainers or observers
|
| |
- (somebody that gets CCed to bugs
|
| |
- and get noticed of commits and builds,
|
| |
- but normally doesn't do any work)
|
| |
- for the Fedora devel branch,
|
| |
- as that's where all the fun stuff happens.
|
| |
+ should be co-maintainers or observers
|
| |
+ (somebody that gets CCed to bugs
|
| |
+ and get noticed of commits and builds,
|
| |
+ but normally doesn't do any work)
|
| |
+ for the Fedora devel branch,
|
| |
+ as that's where all the fun stuff happens.
|
| |
|
| |
* The per-release primary maintainer
|
| |
- takes care of the a package for that release.
|
| |
- They should have at least one co-maintainer
|
| |
- for maintaining that package in that release.
|
| |
+ takes care of the a package for that release.
|
| |
+ They should have at least one co-maintainer
|
| |
+ for maintaining that package in that release.
|
| |
|
| |
* Bugs get assigned to the primary per-release maintainer.
|
| |
- The primary maintainer and the co-maintainer for that release
|
| |
- get into the CC list.
|
| |
- The per-release maintainer has to make sure the bugs get fixed,
|
| |
- but of course some of the other maintainers of that package can do that, too.
|
| |
+ The primary maintainer and the co-maintainer for that release
|
| |
+ get into the CC list.
|
| |
+ The per-release maintainer has to make sure the bugs get fixed,
|
| |
+ but of course some of the other maintainers of that package can do that, too.
|
| |
|
| |
* All maintainers should check each others commits for correctness and sanity.
|
| |
|
| |
* The primary maintainer should make sure that
|
| |
- important bugfixes get applied
|
| |
- to all the supported distributions
|
| |
- as needed.
|
| |
+ important bugfixes get applied
|
| |
+ to all the supported distributions
|
| |
+ as needed.
|
| |
|
| |
* For the devel branch:
|
| |
** Small changes
|
| |
- (for example: package enhancements, bugfixes)
|
| |
- and medium sized changes
|
| |
- (for example: update from 1.0.1 to 1.0.2)
|
| |
- go directly to cvs and get built.
|
| |
- If someone feels unsure about a commit
|
| |
- they should wait one or two days
|
| |
- before actually building
|
| |
- or pushing the package out to the repos,
|
| |
- as that should give the other maintainers a chance
|
| |
- to yell if they see problems.
|
| |
+ (for example: package enhancements, bugfixes)
|
| |
+ and medium sized changes
|
| |
+ (for example: update from 1.0.1 to 1.0.2)
|
| |
+ go directly to cvs and get built.
|
| |
+ If someone feels unsure about a commit
|
| |
+ they should wait one or two days
|
| |
+ before actually building
|
| |
+ or pushing the package out to the repos,
|
| |
+ as that should give the other maintainers a chance
|
| |
+ to yell if they see problems.
|
| |
** Big changes
|
| |
- (for example:
|
| |
- update from 1.0.1 to 1.2.0
|
| |
- or heavy changes in the spec file)
|
| |
- should normally get coordinated between the different maintainers;
|
| |
- a temporary separate branch in the cvs, e-mail or bugzilla
|
| |
- can be used for this purpose.
|
| |
+ (for example:
|
| |
+ update from 1.0.1 to 1.2.0
|
| |
+ or heavy changes in the spec file)
|
| |
+ should normally get coordinated between the different maintainers;
|
| |
+ a temporary separate branch in the cvs, e-mail or bugzilla
|
| |
+ can be used for this purpose.
|
| |
|
| |
* For released distributions:
|
| |
- Small changes
|
| |
- (for example: package enhancements, bugfixes)
|
| |
- get go directly to cvs.
|
| |
- The other maintainers of that package
|
| |
- should have the chance
|
| |
- (e.g. a short time period, like two days)
|
| |
- where they can commit other enhancements
|
| |
- (to save users lots of upgrades)
|
| |
- or to discuss the committed change
|
| |
- before its actually pushed to the users.
|
| |
- With the current (FC7T1) scheme it means:
|
| |
- don't build the package immediately.
|
| |
- (In the future with the new repo push stuff from lmacken
|
| |
- it hopefully should be easily possible
|
| |
- to define a waiting period in updates-testing
|
| |
- before a package gets pushed out to the proper repo.)
|
| |
- Only the per-distribution maintainer
|
| |
- should commit and build medium sized changes.
|
| |
- Those should be tested in devel first
|
| |
- and co-maintainers should have a chance
|
| |
- to comment on the commits
|
| |
- before the package gets in the repo.
|
| |
- Big changes get coordinated.
|
| |
+ Small changes
|
| |
+ (for example: package enhancements, bugfixes)
|
| |
+ get go directly to cvs.
|
| |
+ The other maintainers of that package
|
| |
+ should have the chance
|
| |
+ (e.g. a short time period, like two days)
|
| |
+ where they can commit other enhancements
|
| |
+ (to save users lots of upgrades)
|
| |
+ or to discuss the committed change
|
| |
+ before its actually pushed to the users.
|
| |
+ With the current (FC7T1) scheme it means:
|
| |
+ don't build the package immediately.
|
| |
+ (In the future with the new repo push stuff from lmacken
|
| |
+ it hopefully should be easily possible
|
| |
+ to define a waiting period in updates-testing
|
| |
+ before a package gets pushed out to the proper repo.)
|
| |
+ Only the per-distribution maintainer
|
| |
+ should commit and build medium sized changes.
|
| |
+ Those should be tested in devel first
|
| |
+ and co-maintainers should have a chance
|
| |
+ to comment on the commits
|
| |
+ before the package gets in the repo.
|
| |
+ Big changes get coordinated.
|
| |
|
| |
* The usual rules for xref:Who_is_allowed_to_modify_which_packages.adoc[Who is Allowed to Modify Which Packages] remain intact.
|
| |
- Thus people from QA, Security or Arch-SIGs might touch the package, too.
|
| |
- There is the strong wish to have
|
| |
- a group of long-term contributors
|
| |
- (say FESCo members, Release-Managers, Sponsors and some other hand-selected people)
|
| |
- that get access everywhere
|
| |
- to commit package updates easily
|
| |
- without asking the maintainers,
|
| |
- in case the maintainers are not fixing stuff
|
| |
- or if the changes are small and obvious
|
| |
- (it's often a lot easier to commit a simple spec files touch
|
| |
- than to create a patch, send it to the maintainer or open bugzilla).
|
| |
+ Thus people from QA, Security or Arch-SIGs might touch the package, too.
|
| |
+ There is the strong wish to have
|
| |
+ a group of long-term contributors
|
| |
+ (say FESCo members, Release-Managers, Sponsors and some other hand-selected people)
|
| |
+ that get access everywhere
|
| |
+ to commit package updates easily
|
| |
+ without asking the maintainers,
|
| |
+ in case the maintainers are not fixing stuff
|
| |
+ or if the changes are small and obvious
|
| |
+ (it's often a lot easier to commit a simple spec files touch
|
| |
+ than to create a patch, send it to the maintainer or open bugzilla).
|
| |
|
| |
* The primary maintainer has to approve new co-maintainers.
|
| |
- They now and then should search for co-maintainers
|
| |
- if there aren't enough.
|
| |
+ They now and then should search for co-maintainers
|
| |
+ if there aren't enough.
|
| |
|
| |
[[coordination_between_maintainers]]
|
| |
=== Coordination between maintainers
|
| |
@@ -231,13 +228,13 @@
|
| |
but here are some suggestions:
|
| |
|
| |
* if two maintainers are in disagreement over a detail,
|
| |
- ask the third maintainer
|
| |
+ ask the third maintainer
|
| |
|
| |
* if no consensus can be found,
|
| |
- ask on the appropriate mailing list
|
| |
+ ask on the appropriate mailing list
|
| |
|
| |
* if still no consensus can be found,
|
| |
- ask a FESCo member to mediate
|
| |
+ ask a FESCo member to mediate
|
| |
|
| |
If co-maintainers get the impression
|
| |
that the primary maintainer is a lame duck
|
| |
@@ -317,9 +314,7 @@
|
| |
|
| |
We had some situations
|
| |
where maintainers had to stop maintaining packages in Fedora.
|
| |
- That can happen due to different circumstances
|
| |
- -- sicknesses,
|
| |
- accidents,
|
| |
+ That can happen due to different circumstances -- sicknesses, accidents,
|
| |
changes in the job or at home
|
| |
are only some examples of reasons to stop.
|
| |
Some of those situations happen suddenly
|
| |
@@ -335,8 +330,7 @@
|
| |
SIGs cannot be co-maintainers.
|
| |
Rather they should observe the packages
|
| |
or make sure that the SIG members are co-maintainers where needed.
|
| |
- That
|
| |
- -- if properly used --
|
| |
+ That -- if properly used --
|
| |
is nearly the same as having a SIG as a co-maintainer
|
| |
and avoids people suddenly
|
| |
getting an access to a lot of packages
|
| |
@@ -368,8 +362,7 @@
|
| |
to try and help solve them.
|
| |
|
| |
Ask upstream developers
|
| |
- to become a co-maintainer or an observer of the package
|
| |
- -- that could benefit both sides.
|
| |
+ to become a co-maintainer or an observer of the package -- that could benefit both sides.
|
| |
Having upstream developers as primary maintainers
|
| |
is often better avoided
|
| |
(but is allowed).
|
| |
@@ -399,24 +392,24 @@
|
| |
as the infrastructure for it is pretty much in place.
|
| |
|
| |
* The general and primary-maintainers for each release
|
| |
- are typically identical
|
| |
- (exception: EPEL);
|
| |
- it is the one that listed as the devel branch maintainer
|
| |
- in packagedb.
|
| |
+ are typically identical
|
| |
+ (exception: EPEL);
|
| |
+ it is the one that listed as the devel branch maintainer
|
| |
+ in packagedb.
|
| |
|
| |
* Co-maintainers typically
|
| |
- have all the same privileges
|
| |
- as the primary maintainer,
|
| |
- but may only have them
|
| |
- on their own specific branch.
|
| |
+ have all the same privileges
|
| |
+ as the primary maintainer,
|
| |
+ but may only have them
|
| |
+ on their own specific branch.
|
| |
|
| |
* Ideally, all packages should have at least two co-maintainers.
|
| |
|
| |
* The package database should contain all the info
|
| |
- about maintainers and co-maintainers for each package.
|
| |
+ about maintainers and co-maintainers for each package.
|
| |
|
| |
* Co-maintainers should have the permissions to build and push updates
|
| |
- as the maintainer does.
|
| |
+ as the maintainer does.
|
| |
|
| |
=== Procedure
|
| |
|
| |
this minor format issue creates useless log warning when running localization script on fedora documentation system (and prevent me to see real problems because of the spam), here is a fix to save about 1000 lines of spam.