X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=developers-reference.git;a=blobdiff_plain;f=developers-reference.sgml;h=b08860ffa4ef06abfd31bec874ef0f92508f5514;hp=40e198746cabc6c1d055a1c4a68eece2b8e07e7a;hb=bd99118696fe5af028d49b13ec7cafeb45de6195;hpb=bda25f439fa8e7992b2a6b3f1dfe286fdedb984c diff --git a/developers-reference.sgml b/developers-reference.sgml index 40e1987..b08860f 100644 --- a/developers-reference.sgml +++ b/developers-reference.sgml @@ -5,7 +5,7 @@ %commondata; - + @@ -71,7 +71,7 @@ packages (); and how to handle bug reports The resources discussed in this reference include the mailing lists and servers (); a discussion of the structure of the Debian archive (); explanation of the different -servers which accept package uploads (); and a +servers which accept package uploads (); and a discussion of resources which can help maintainers with the quality of their packages ().

@@ -132,8 +132,11 @@ careful about being compromised. Therefore, we need to verify new maintainers before we can give them accounts on our servers and letting them upload packages.

-Registration requires that the following information be sent to -&email-new-maintainer; as part of the registration application: +Registration requires that the following information be sent in +appropriate steps described at +after the initial contact to &email-new-maintainer: + Your name. @@ -229,13 +232,15 @@ Once you have all your information ready, and your public key is available on public key servers, send a message to &email-new-maintainer; to register as an offical Debian developer so that you will be able to upload your packages. This message must -contain all the information discussed above. The message must also -contain your public key (extracted using gpg --armor --export -user_id in the case of gpg) for the -database of keys which is distributed from and the debian-keyring -package. Please be sure to sign your request message with your chosen -public key. +contain your name and your valid e-mail address. All the information +discussed above is required after your Application Manager is +assigned. Application Manager is your agent in the registration +process, and you can always ask him about the status of your +application. You can check the as well. +

+For more details, please consult at the Debian web site.

Once this information is received and processed, you should be contacted with information about your new Debian maintainer account. @@ -258,7 +263,22 @@ Those who prefer one-on-one help (e.g., via private email) should also post to that list and an experienced developer will volunteer to help. - Maintaining Your Debian Information + Debian Developer's Duties + + Maintaining Your Debian Information +

+There's a LDAP database containing many informations concerning all +developers, you can access it at . You can +update your password (this password is propagated to most of the machines +that are accessible to you), your adress, your country, the latitude and +longitude from the point where you live, phone and fax numbers, your +preferred shell, your IRC nickname, your web page and the email that +you're using as alias for your debian.org email. Most of the information +is not accessible to the public, for more details about this +database, please read its online documentation that you can find +here : . +

+You have to keep the information available there up to date. Maintaining Your Public Key

@@ -268,14 +288,76 @@ public servers or multiuser machines, such as Read the documentation that comes with your software; read the .

-If you add or remove signatures from your public key, or add or remove -user identities, you need to update the key servers and mail your -public key to &email-debian-keyring;. The same key extraction -routines discussed in apply. +If you add signatures to your public key, or add user identities, you +can update the debian keyring by sending your key to the key server at +&keyserver-host;. If you need to add a completely new key, +or remove an old key, send mail to &email-debian-keyring;. The same +key extraction routines discussed in apply.

You can find a more in-depth discussion of Debian key maintenance in the documentation for the debian-keyring package. + Going On Vacation Gracefully +

+Most of the developers take vacation, usually this means that they can't +work for Debian and they can't be reached by email if any problem occurs. +The other developers need to know that you're on vacation so that they'll +do whatever is needed when such a problem occurs. Usually this means that +other developers are allowed to NMU your package if a big problem (release +critical bugs, security update, ...) occurs while you're on vacation. +

+In order to inform the other developers, there's two things that you should do. +First send a mail to &email-debian-private; giving the period of time when +you will be on vacation, you can also give some special instructions on what to +do if any problem occurs. Next you should update your information +available in the Debian LDAP database and mark yourself as « on vacation » +(this information is only accessible to debian developers). Don't forget +to remove the « on vacation » flag when you come back. + + Coordination With Upstream Developers +

+A big part of your job as Debian maintainer will be to stay in contact +with the upstream developers since you'll have to share information that +you get from the Bug Tracking System. It's not your job to fix non-Debian +specific bugs so you have to forward the bugs to the upstream developers +(of course, if you are able to fix them, you can ...). This way the bug +may be corrected when the next upstream version comes out. From time to +time, you may get a patch attached to a bug report, you have to send the +patch upstream and make sure that it gets included (if the authors accept +the proposed fix). If you need to modify the upstream sources in order to +build a policy conformant package, then you should propose a nice fix +to the upstream developers which can be included so that you won't have to +modify the sources of the next upstream version. Whatever changes you +need, always try not to fork from the upstream sources. + + Managing Release Critical Bugs +

+Release Critical Bugs (RCB) are the bugs of severity « critical », +« grave » and « important ». Those bugs can delay +the Debian release and/or can justify the removal of a package at freeze +time. That's why those bugs needs to be corrected as fast as possible. +You must be aware that some developers who are part of the effort are following +those bugs and try to help you each time they can. But if you can't +fix such bugs within 2 weeks, you should either ask for help by sending a +mail to the Quality Assurance (QA) group (&email-debian-qa;) or +justify yourself and gives your plan to fix it by sending a mail to the +concerned bug report. Otherwise people from the QA group may want to do a +Non Maintainer Upload (NMU) after trying to contact you (they might wait +not as long as usually before they do their NMU if they have seen no +recent activity from you on the BTS). + + Quality Assurance Effort +

+Even if there is a dedicated group of people for Quality Assurance, QA is +not reserved to them. You can participate to this effort by keeping your +packages as bug free as possible, as lintian-clean (see ) as possible. If you think that it's quite impossible, +then you should consider orphaning (see ) some of your +packages so that you can do a good job with the other packages that you +maintain. Alternatively you may ask the help of other people in order to +catch up the backlog of bugs that you have (you can ask for help on +&email-debian-qa; or &email-debian-devel;). Retiring Gracefully

@@ -320,7 +402,7 @@ The following are the core Debian mailing lists: &email-debian-devel;, &email-debian-policy;, &email-debian-user;, &email-debian-private;, &email-debian-announce;, and &email-debian-devel-announce;. All developers are expected to be subscribed to at least -&email-debian-private and &email-debian-devel-announce;. There are +&email-debian-private; and &email-debian-devel-announce;. There are other mailing lists are available for a variety of special topics; see for a list. Cross-posting (sending the same message to multiple lists) is discouraged. @@ -332,12 +414,17 @@ As such, it is a low volume list, and users are urged not to use &email-debian-private; unless it is really necessary. Moreover, do not forward email from that list to anyone.

+&email-debian-email; is a special mailing list used as a grab-bag +for Debian related correspondence such as contacting upstream authors +about licenses, bugs, etc. or discussing the project with others where it +might be useful to have the discussion archived somewhere. +

As ever on the net, please trim down the quoting of articles you're replying to. In general, please adhere to the usual conventions for posting messages.

Online archives of mailing lists are available at . +id="&url-lists-archives;">. Debian servers @@ -348,18 +435,14 @@ are and what they do.

If you have a problem with the operation of Debian server, and you think that the system operators need to be notified of this problem, -please find the contact address for the particular role at . If you have a non-operating problems +please find the contact address for the particular machine at . If you have a non-operating problems (such as packages to be remove, suggestions for the web site, etc.), generally you'll report a bug against a ``pseudo-package''. See for information on how to submit bugs. The master server

-The master server, master.debian.org, holds the canonical copy -of the Debian archive (excluding the non-U.S. packages). Generally, -package uploads go to this server; see . -

master.debian.org is the canonical location for the Bug Tracking System (BTS). If you plan on doing some statistical analysis or processing of Debian bugs, this would be the place to do it. @@ -374,13 +457,21 @@ in the clear.

If you find a problem with master.debian.org such as disk full, suspicious activity, or whatever, send an email to -&email-debian-admin;. Problems with the Debian FTP archive generally -need to be reported as bugs against the -ftp.debian.org pseudo-package or an email to -&email-ftpmaster;, but also see the procedures in . +&email-debian-admin;. - The WWW servers + The ftp-master server +

+The ftp-master server, ftp-master.debian.org (or +auric.debian.org), holds the canonical copy of the Debian +archive (excluding the non-U.S. packages). Generally, package uploads +go to this server; see . +

+Problems with the Debian FTP archive generally need to be reported as +bugs against the ftp.debian.org pseudo-package or +an email to &email-ftpmaster;, but also see the procedures in +. + + The WWW server

The main web server, www.debian.org, is also known as va.debian.org. All developers are given accounts on this @@ -389,23 +480,19 @@ machine. If you have some Debian-specific information which you want to serve up on the web, you can do do this by putting material in the public_html directory under your home directory. You can -do this on either va.debian.org or -master.debian.org. Any material you put in those areas are -accessible via the URLs -http://www.debian.org/~user-id/ and -http://master.debian.org/~user-id/, respectively. -Generally, you'll want to use va, for the -www.debian.org address, although in some cases you may need -to put it on master. Please do not put any material on -Debian servers not relating to Debian, unless you have prior -permission. Send mail to &email-debian-devel; if you have any -questions. +do this on va.debian.org. Any material you put in those areas +are accessible via the URL +http://www.debian.org/~user-id/. +If necessary, you can use other Debian machines for this; the procedure +is analogous to the above. Please do not put any material on Debian +servers not relating to Debian, unless you have prior permission. +Send mail to &email-debian-devel; if you have any questions.

If you find a problem with the Debian web server, you should generally submit a bug against the pseudo-package, www.debian.org. First check whether or not someone -else has already reported the problem on the . +else has already reported the problem on the +. The CVS server @@ -446,10 +533,6 @@ your own mirror, either for internal or public access. Note that mirrors are generally run by third-parties who are interested in helping Debian. As such, developers generally do not have accounts on these machines. -

-Please do not mirror off of master.debian.org. This host -already has too much load. Check the sites above for information, or -email debian-devel@lists.debian.org. Other Debian Machines @@ -754,17 +837,13 @@ point to the appropriate release directories.

If you want to create a new package for the Debian distribution, you should first check the list. Checking the WNPP ensures that no -one is already working on packaging that software, and that effort is -not duplicated. Assuming no one else is already working on your -prospective package, you must then send a short email to -&email-debian-devel; describing your plan to create a new package. -You should set the subject of the email to ``intent to package -foo'', substituting the name of the new package for -foo. -

-There are a number of reasons why we ask maintainers to follow these -steps: +Prospective Packages (WNPP)"> list. Checking the WNPP list ensures that +no one is already working on packaging that software, and that effort is +not duplicated. Read the for +more information. +

+There are a number of reasons why we ask maintainers to announce their +intentions: It helps the (potentially new) maintainer to tap into the experience @@ -772,15 +851,11 @@ of people on the list, and lets them know if any one else is working on it already. It lets other people thinking about working on the package know that -there already is a volunteer, and efforts may be shared. The ``intent -to package'' message to &email-debian-devel@; will be picked up the -the WNPP maintainer, and your intention will be published in -subsequent versions of the WNPP document. +there already is a volunteer, and efforts may be shared. It lets the rest of the maintainers know more about the package than -the one line description and the changelog entry ``Initial version'' -that generally gets posted to debian-devel-changes by -default. +the one line description and the usual changelog entry ``Initial release'' +that gets posted to debian-devel-changes. It is helpful to the people who live off unstable (and form our first line of testers); we should encourage these people. @@ -825,12 +900,16 @@ put `stable unstable' in the changelog's Distribution field. Or, if Debian has been frozen, and you want to get a bug-fix release into frozen, you would set the distribution to `frozen unstable'. (See for -more information on when to upload to frozen.) Note that -setting the distribution to `stable' means that the package will be -placed into the proposed-updates directory of the Debian -archive for further testing before it is actually included in -stable. Also note that it never makes sense to combine the -experimental distribution with anything else. +more information on when to upload to frozen.) Note that it +never makes sense to combine the experimental distribution with +anything else. Also note that setting the distribution to `stable' means +that the package will be placed into the proposed-updates +directory of the Debian archive for further testing before it is actually +included in stable. The Release Team (which can be reached at +&email-debian-release;) will decide if your package can be included in +stable, therefore if your changelog entry is not clear enough, you may +want to explain them why you uploaded your package to stable by sending +them a short explication.

The first time a version is uploaded which corresponds to a particular upstream version the original source tar file should be uploaded and @@ -925,19 +1004,17 @@ Remove the package, then reinstall it. - Uploading to master + Uploading to ftp-master

To upload a package, you need a personal account on -master.debian.org. All maintainers should already -have this account, see . You can use either -scp or ftp to transfer the files. In either -case, the files need to be placed into -&master-upload-dir. (You cannot upload to Incoming -on master using anonymous FTP -- you must use your user-name and -password.) +ftp-master.debian.org, which you should have as an +official maintainer. If you use scp or rsync +to transfer the files, place them into &us-upload-dir;; +if you use anonymous FTP to upload, place them into +/pub/UploadQueue/.

Note: Do not upload packages containing software that is -export-controlled by the United States government to master, +export-controlled by the United States government to ftp-master, nor to the overseas upload queues on chiark or erlangen. This prohibition covers almost all cryptographic software, and even sometimes software that contains ``hooks'' to @@ -949,36 +1026,44 @@ message to &email-debian-devel; and ask.

You may also find the Debian package dupload useful when uploading packages. This handy program is distributed with -defaults for uploading via ftp to master, +defaults for uploading via ftp to ftp-master, chiark, and erlangen. It can also be configured to -use ssh. See and - for more information. - +use ssh or rsync. See and for more information. +

+After uploading your package, you can check how dinstall will +process it by running dinstall on your changes file: +/org/ftp.debian.org/scripts/dinstall/dinstall -n foo.changes - Uploading to pandora (non-us) + Uploading to non-us (pandora)

As discussed above, export controlled software should not be uploaded -to master. Instead, use non-anonymous FTP or -scp to copy the package to -pandora.debian.org, placing the files in -&non-us-upload-dir. By default, you can use your -same account which works on master. +to ftp-master. Instead, use scp or non-anonymous +FTP to copy the package to non-us.debian.org, placing +the files in &non-us-upload-dir;. By default, you can +use the same account/password that works on ftp-master.

The program dupload comes with support for uploading to -pandora; please refer to the documentation that comes with +non-us; please refer to the documentation that comes with the program for details. - +

+Similar to the way it's done on ftp-master, you can check your +upload with: + +/org/non-us.debian.org/scripts/dinstall/dinstall -n foo.changes + + Uploads via chiark

-If you have a slow network connection to master, there are +If you have a slow network connection to ftp-master, there are alternatives. One is to upload files to Incoming via a upload queue in Europe on chiark. For details connect to .

Note: Do not upload packages containing software that is export-controlled by the United States government to the queue on -chiark. Since this upload queue goes to master, the -prescription found in applies here as well. +chiark. Since this upload queue goes to ftp-master, the +prescription found in applies here as well.

The program dupload comes with support for uploading to chiark; please refer to the documentation that comes with the @@ -991,25 +1076,25 @@ Another upload queue is available in Germany: just upload the files via anonymous FTP to .

The upload must be a complete Debian upload, as you would put it into -master's Incoming, i.e., a .changes files +ftp-master's Incoming, i.e., a .changes files along with the other files mentioned in the .changes. The queue daemon also checks that the .changes is correctly PGP-signed by a Debian developer, so that no bogus files can find -their way to master via the queue. Please also make sure that +their way to ftp-master via the queue. Please also make sure that the Maintainer field in the .changes contains your e-mail address. The address found there is used for all -replies, just as on master. +replies, just as on ftp-master.

There's no need to move your files into a second directory after the upload as on chiark. And, in any case, you should get some mail reply from the queue daemon what happened to your -upload. Hopefully it should have been moved to master, but in +upload. Hopefully it should have been moved to ftp-master, but in case of errors you're notified, too.

Note: Do not upload packages containing software that is export-controlled by the United States government to the queue on -erlangen. Since this upload queue goes to master, the -prescription found in applies here as well. +erlangen. Since this upload queue goes to ftp-master, the +prescription found in applies here as well.

The program dupload comes with support for uploading to erlangen; please refer to the documentation that comes with @@ -1019,7 +1104,7 @@ the program for details. Other Upload Queues

Another upload queue is available which is based in the US, and is a -good backup when there are problems reaching master. You can +good backup when there are problems reaching ftp-master. You can upload files, just as in erlangen, to .

@@ -1031,22 +1116,25 @@ anonymous FTP to . Announcing package uploads

When a package is uploaded an announcement should be posted to one of -the ``debian-changes'' lists. The announcement should give the -(source) package name and version number, and a very short summary of -the changes, in the Subject field, and should contain the -PGP-signed .changes file. Some additional explanatory text -may be added before the start of the .changes file. +the ``debian-changes'' lists. This is now done automatically by dinstall +when it runs (usually once a day), you just need to use a recent +dpkg-dev (>= 1.4.1.2). Before that, +dupload was used to send those announcements, please make +sure that you configured your dupload to no more send those +announcements (check its documentation and look for dinstall_runs). The +mail generated by dinstall will contain the PGP/GPG signed .changes files +that you uploaded with your package.

If a package is released with the Distribution: set to `stable', the announcement is sent to &email-debian-changes;. If a package is released with Distribution: set to `unstable', -`experimental', or `frozen' (when present), the announcement should be +`experimental', or `frozen' (when present), the announcement will be posted to &email-debian-devel-changes; instead.

On occasion, it is necessary to upload a package to both the stable and unstable distributions; this is done by putting both distributions in the Distribution: line. In -such a case the upload announcement should go to both of the above +such a case the upload announcement will go to both of the above mailing lists.

The dupload program is clever enough to determine for itself @@ -1621,27 +1709,20 @@ that package, and the package has moved into the archive, file a bug against ftp.debian.org asking to remove the package with the obsolete name. - - Orphaning a package

-If you can no longer maintain a package, then you should set the -package maintainer to Debian QA Group -<debian-qa@lists.debian.org> and email &email-wnpp; -indicating that the package is now orphaned. If the package is -especially crucial to Debian, you should instead email -&email-debian-devel; asking for a new maintainer. - +If you can no longer maintain a package, you need to inform the others +about that, and see that the package is marked as orphaned. Read +instructions on the for more +information. Adopting a package

-Periodically, a listing of packages in need of new maintainers will be -sent to &email-debian-devel list. This list is also available at in -the Work-Needing and Prospective Packages document (WNPP), . If you wish to take over maintenance of any of the -packages listed in the WNPP, or if you can no longer maintain a -packages you have, or you simply want to know if any one is working on -a new package, send a message to &email-wnpp;. +A list of packages in need of a new maintainer is available at in the +. If you wish to take over maintenance of any of the +packages listed in the WNPP, please take a look at the aforementioned +page for more information.

It is not OK to simply take over a package that you feel is neglected -- that would be package hijacking. You can, of course, contact the @@ -1732,15 +1813,15 @@ in your debian/changelog file: acme-cannon (3.1415) unstable; urgency=low * Frobbed with options (closes: Bug#98339) - * Added safety to prevent operator dismemberment, closes: bug #98765, - bug #98713, #98714. - * Added manpage. closes: #98725. + * Added safety to prevent operator dismemberment, closes: bug#98765, + bug#98713, #98714. + * Added manpage. Closes: #98725. Technically speaking, the following Perl regular expression is what is used: - /closes:\s*(bug)?\#\d+(,\s*(bug)?\#\d+)*/gi + /closes:\s*(?:bug)?\#\s*\d+(?:,\s*(?:bug)?\#\s*\d+)*/ig The author prefers the (closes: Bug#XXX) syntax,