X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=developers-reference.sgml;h=fbf711d4c209ae9445b4bdfa37082b02d8eeef6e;hb=e0c979b14c5e1aa9cb221b068cecdf0daed7d063;hp=5ff3f5190397534ec79c564bae7ce161b627ec1e;hpb=41145695d172cd34975aba3921b411daf1a4a6f7;p=developers-reference.git diff --git a/developers-reference.sgml b/developers-reference.sgml index 5ff3f51..fbf711d 100644 --- a/developers-reference.sgml +++ b/developers-reference.sgml @@ -6,7 +6,7 @@ %commondata; - + - Architecture-independent data -

- It is not uncommon to have a large amount of architecture-independent - data packaged with a program. For example, collection of icons, - wallpapers or other graphic files, or audio files. If the size of - this data is negligible compared to the size of the remainder of the - package, you can keep it all in the same package. - -

- However, if the size of the data is considerable, consider splitting - it out into a separate, architecture-independent package - ("_all.deb"). By doing this, you avoid needless duplication of the - same data into eleven or more .debs per each architecture. While - this adds some extra overhead into the Packages files, it can save a - lot of disk space on Debian mirrors, and it also reduces processing - time of Lintian or Linda when run over the entire Debian archive. - - + + Architecture-independent data +

+It is not uncommon to have a large amount of architecture-independent +data packaged with a program. For example, collection of icons, +wallpapers or other graphic files, or audio files. If the size of +this data is negligible compared to the size of the remainder of the +package, you can keep it all in the same package. +

+However, if the size of the data is considerable, consider splitting +it out into a separate, architecture-independent package +("_all.deb"). By doing this, you avoid needless duplication of the +same data into eleven or more .debs per each architecture. While +this adds some extra overhead into the Packages files, it can save a +lot of disk space on Debian mirrors, and it also reduces processing +time of Lintian or Linda when run over the entire Debian archive. + - - Best practices for debian/changelog -

-The following practices supplement the .

- - - Writing useful changelog entries -

-The changelog entry for a package revision documents changes in that -revision, and only them. Concentrate on describing changes you did since -the last version that are worth mentioning. -

-Focus on what was changed; who, how and when are usually less -important. Having said that, remember to politely attribute people who have -provided notable help in making the package (e.g. those who have sent in -patches). -

-There's no need to elaborate the trivial and obvious changes. You can also -aggregate several such changes in one entry. However, don't be overly terse -if you have undertaken a major change. Be especially clear if there are -changes that affect the behaviour of the program -- and for further -explanations, use the README.Debian file. -

-Use common English language, one which the majority of viewers can -understand. Avoid abbreviations, "tech-speak" and jargon when explaining -changes that close bugs, especially if the said bugs were filed by users -that did not strike you as particularly techically savvy. Also, be polite, -don't swear. -

-It is customary to prefix changelog entries with the names of the files that -were changed. There's no need to explicitely list each and every last one of -the changed files, especially if the change was small or repetitive -- use -wildcard characters wisely. -

-When referring to bugs, don't assume anything -- say what the problem was, -how it was fixed, and append the "closes: #nnnnn" string. -See for more information. - - - Common misconceptions about changelog entries -

-The changelog entries should not document generic packaging -issues ("Hey, if you're looking for foo.conf, it's in /etc/blah/."), since -administrators and users are supposed to be at least remotely acquainted -with how such things are generally arranged on Debian systems. Do, however, -mention if you change the location of a configuration file. -

-The only bugs closed with a changelog entry should be those that are -actually fixed in the same package revision. Closing bugs unrelated bugs in -the changelog is considered very bad practice. See . -

-The changelog entries should not be used for random -discussion with bug reporters ("I don't see segfaults when starting foo -with option bar; send in more info.") or pleas for help ("The bug list -on this package is huge, please lend me a hand."). Such things usually -won't be noticed by their target audience, but will on the other hand -annoy people who wish to read information about actual changes in the -package. Please see for more information on -how to use the bug tracking system. -

-It is an old tradition to acknowledge bugs fixed in non-maintainer uploads -in the first changelog entry of the real maintainer. You don't have to -follow it, though: if you are certain that you will include the changes from -the NMU in your next release, you can simply close the bugs the normal way. -It's usually polite to note that the bugs were fixed by another developer. -

-Changelogs shouldn't include general statements on life, the universe and -everything ("Sorry this upload took me so long, but I caught the flu."). -Exceptions can be made if the comment is funny ;-) Obviously, this is -subjective, so it's likely best if it's kept out of technical documentation -such as changelogs. - - - Common errors in changelog entries -

- - * Fixed all outstanding bugs. - -

-This doesn't tell readers anything too useful, obviously. Don't do that(TM). - - - * Applied patch from Jane Random. - -

-What was the patch about? - - - * Late night install target overhaul. - -

-Overhaul which accomplished...? Is the mention of late night supposed to -remind us that we shouldn't trust that code? - - - * Fix vsync FU w/ ancient CRTs. - -

-Too many acronyms, and it's not overly clear what the fuckup (oops, -a curse word!) was actually about, or how it was fixed. - - - * This is not a bug. Closes: #nnnnnn - -

-First of all, there's absolutely no need to upload the package to convey -this information. Use the bug tracking system! Secondly, there's no -explanation as to why the report is not a bug. - - - * Has been fixed for ages, but I forgot to close. Closes: #54321 - -

-If for some reason you didn't mention the bug number in a previous changelog -entry, there's no problem, just close the bug normally in the BTS. There's -no need to touch the changelog file, presuming the description of the fix is -already in (this applies to the fixes by the upstream authors/maintainers as -well, you don't have to track bugs that they fixed ages ago in your -changelog). - - - * Closes: #12345, #12346, #15432 - -

-Where's the description?! If you can't think of a descriptive message, start -by inserting the title of each different bug. - + @@ -3587,7 +3626,7 @@ will help prevent a situation in which several maintainers start filing the same bug report simultaneously.

Note that when sending lots of bugs on the same subject, you should -send the bug report to maintonly@bugs.debian.org so +send the bug report to maintonly@&bugs-host; so that the bug report is not forwarded to the bug distribution mailing list. @@ -3915,7 +3954,7 @@ written in Python rather than Perl.

debdiff

-debdiff (from the devscripts package) +debdiff (from the devscripts package, ) compares file lists and control files of two packages. It is a simple regression test, as it will help you notice if the number of binary packages has changed since the last upload, or if something's changed @@ -4190,7 +4229,8 @@ finalizing a version and listing the package's current bugs.

dpkg-depcheck

-dpkg-depcheck (from the devscripts package) +dpkg-depcheck (from the devscripts +package, ) runs a command under strace to determine all the packages that were used by the said command.