/[ddp]/manuals/trunk/developers-reference/pkgs.dbk
ViewVC logotype

Diff of /manuals/trunk/developers-reference/pkgs.dbk

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 5352 by hertzog, Thu Jun 26 16:53:09 2008 UTC revision 5353 by lucas, Tue Aug 26 08:37:40 2008 UTC
# Line 1829  role="package">ftp.debian.org</systemite Line 1829  role="package">ftp.debian.org</systemite
1829  <section id="nmu">  <section id="nmu">
1830  <title>Non-Maintainer Uploads (NMUs)</title>  <title>Non-Maintainer Uploads (NMUs)</title>
1831  <para>  <para>
1832  Under certain circumstances it is necessary for someone other than the official  Every package has one or more maintainers. Normally, these are the people who
1833  package maintainer to make a release of a package.  This is called a  work on and upload new versions of the package. In some situations, it is
1834  non-maintainer upload, or NMU.  useful that other developers can upload a new version as well, for example if
1835  </para>  they want to fix a bug in a package they don't maintain, when the maintainer
1836  <para>  needs help to respond to issues.  Such uploads are called
1837  This section handles only source NMUs, i.e.  NMUs which upload a new version of  <emphasis>Non-Maintainer Uploads (NMU)</emphasis>.
 the package.  For binary-only NMUs by porters or QA members, please see <xref  
 linkend="binary-only-nmu"/> .  If a buildd builds and uploads a package, that  
 too is strictly speaking a binary NMU.  See <xref linkend="wanna-build"/> for  
 some more information.  
 </para>  
 <para>  
 The main reason why NMUs are done is when a developer needs to fix another  
 developer's package in order to address serious problems or crippling bugs or  
 when the package maintainer is unable to release a fix in a timely fashion.  
 </para>  
 <para>  
 First and foremost, it is critical that NMU patches to source should be as  
 non-disruptive as possible.  Do not do housekeeping tasks, do not change the  
 name of modules or files, do not move directories; in general, do not fix  
 things which are not broken.  Keep the patch as small as possible.  If things  
 bother you aesthetically, talk to the Debian maintainer, talk to the upstream  
 maintainer, or submit a bug.  However, aesthetic changes must  
 <emphasis>not</emphasis> be made in a non-maintainer upload.  
1838  </para>  </para>
1839    
1840    <section id="nmu-guidelines">
1841    <title>When and how to do an NMU</title>
1842    
1843  <para>  <para>
1844  And please remember the Hippocratic Oath: Above all, do no harm.  It is better  Before doing an NMU, consider the following questions:
 to leave a package with an open grave bug than applying a non-functional patch,  
 or one that hides the bug instead of resolving it.  
1845  </para>  </para>
1846  <section id="nmu-guidelines">  <itemizedlist>
1847  <title>How to do a NMU</title>  <listitem>
1848  <para>  <para>
1849  NMUs which fix important, serious or higher severity bugs are encouraged and  Does your NMU really fix bugs? Fixing cosmetic issues or changing the
1850  accepted.  You should endeavor to reach the current maintainer of the package;  packaging style in NMUs is discouraged.
 they might be just about to upload a fix for the problem, or have a better  
 solution.  
1851  </para>  </para>
1852    </listitem>
1853    <listitem>
1854  <para>  <para>
1855  NMUs should be made to assist a package's maintainer in resolving bugs.  Did you give enough time to the maintainer? When was the bug reported to the
1856  Maintainers should be thankful for that help, and NMUers should respect the  BTS? Being busy for a week or two isn't unusual.  Is the bug so severe that it
1857  decisions of maintainers, and try to personally help the maintainer by their  needs to be fixed right now, or can it wait a few more days?
 work.  
1858  </para>  </para>
1859    </listitem>
1860    <listitem>
1861  <para>  <para>
1862  A NMU should follow all conventions, written down in this section.  For an  How confident are you about your changes? Please remember the Hippocratic Oath:
1863  upload to <literal>testing</literal> or <literal>unstable</literal>, this  "Above all, do no harm." It is better to leave a package with an open grave bug
1864  order of steps is recommended:  than applying a non-functional patch, or one that hides the bug instead of
1865    resolving it. If you are not 100% sure of what you did, it might be a good idea
1866    to seek advice from others. Remember that if you break something in your NMU,
1867    many people will be very unhappy about it.
1868  </para>  </para>
1869  <itemizedlist>  </listitem>
1870  <listitem>  <listitem>
1871  <para>  <para>
1872  Make sure that the package's bugs that the NMU is meant to address are all  Have you clearly expressed your intention to NMU, at least in the BTS?
1873  filed in the Debian Bug Tracking System (BTS).  If they are not, submit them  It is also a good idea to try to contact the
1874  immediately.  maintainer by other means (private email, IRC).
1875  </para>  </para>
1876  </listitem>  </listitem>
1877  <listitem>  <listitem>
1878  <para>  <para>
1879  Wait a few days for the response from the maintainer.  If you don't get any  If the maintainer is usually active and responsive, have you tried to contact
1880  response, you may want to help them by sending the patch that fixes the bug.  him? In general it should be considered preferable that a maintainer takes care
1881  Don't forget to tag the bug with the patch keyword.  of an issue himself and that he is given the chance to review and correct your
1882    patch, because he can be expected to be more aware of potential issues which an
1883    NMUer might miss. It is often a better use of everyone's time if the maintainer
1884    is given an opportunity to upload a fix on their own.
1885  </para>  </para>
1886  </listitem>  </listitem>
1887    </itemizedlist>
1888    <para>
1889    When doing an NMU, you must first make sure that your intention to NMU is
1890    clear.  Then, you must send a patch with the differences between the
1891    current package and your proposed NMU to the BTS. The
1892    <literal>nmudiff</literal> script in the <literal>devscripts</literal> package
1893    might be helpful.
1894    </para>
1895    <para>
1896    While preparing the patch, you should better be aware of any package-specific
1897    practices that the maintainer might be using. Taking them into account reduces
1898    the burden of getting your changes integrated back in the normal package
1899    workflow and thus increases the possibilities that that will happen. A good
1900    place where to look for for possible package-specific practices is
1901    <ulink url="&url-debian-policy;ch-source.html#s-readmesource"><literal>debian/README.source</literal></ulink>.
1902    </para>
1903    <para>
1904    Unless you have an excellent reason not to do so, you must then give some time
1905    to the maintainer to react (for example, by uploading to the
1906    <literal>DELAYED</literal> queue).  Here are some recommended values to use for delays:
1907    </para>
1908    <itemizedlist>
1909  <listitem>  <listitem>
1910  <para>  <para>
1911  Wait a few more days.  If you still haven't got an answer from the maintainer,  Upload fixing only release-critical bugs older than 7 days: 2 days
 send them a mail announcing your intent to NMU the package.  Prepare an NMU as  
 described in this section, and test it carefully on your machine (cf.  <xref  
 linkend="sanitycheck"/> ).  Double check that your patch doesn't have any  
 unexpected side effects.  Make sure your patch is as small and as  
 non-disruptive as it can be.  
1912  </para>  </para>
1913  </listitem>  </listitem>
1914  <listitem>  <listitem>
1915  <para>  <para>
1916  Upload your package to incoming in <filename>DELAYED/7-day</filename> (cf.  Upload fixing only release-critical and important bugs: 5 days
 <xref linkend="delayed-incoming"/> ), send the final patch to the maintainer  
 via the BTS, and explain to them that they have 7 days to react if they want to  
 cancel the NMU.  
1917  </para>  </para>
1918  </listitem>  </listitem>
1919  <listitem>  <listitem>
1920  <para>  <para>
1921  Follow what happens, you're responsible for any bug that you introduced with  Other NMUs: 10 days
 your NMU.  You should probably use <xref linkend="pkg-tracking-system"/> (PTS)  
 to stay informed of the state of the package after your NMU.  
1922  </para>  </para>
1923  </listitem>  </listitem>
1924  </itemizedlist>  </itemizedlist>
1925    
1926  <para>  <para>
1927  At times, the release manager or an organized group of developers can announce  Those delays are only examples. In some cases, such as uploads fixing security
1928  a certain period of time in which the NMU rules are relaxed.  This usually  issues, or fixes for trivial bugs that blocking a transition, it is desirable
1929  involves shortening the period during which one is to wait before uploading the  that the fixed package reaches <literal>unstable</literal> sooner.
 fixes, and shortening the DELAYED period.  It is important to notice that even  
 in these so-called bug squashing party times, the NMU'er has to file bugs and  
 contact the developer first, and act later.  Please see <xref  
 linkend="qa-bsp"/> for details.  
1930  </para>  </para>
1931    
1932  <para>  <para>
1933  For the <literal>testing</literal> distribution, the rules may be changed by  Sometimes, release managers decide to allow NMUs with shorter delays for a
1934  the release managers.  Please take additional care, and acknowledge that the  subset of bugs (e.g release-critical bugs older than 7 days). Also, some
1935  usual way for a package to enter <literal>testing</literal> is through  maintainers list themselves in the <ulink url="&url-low-threshold-nmu;">Low
1936  <literal>unstable</literal>.  Threshold NMU list</ulink>, and accept that NMUs are uploaded without delay. But
1937    even in those cases, it's still a good idea to give the maintainer a few days
1938    to react before you upload, especially if the patch wasn't available in the BTS
1939    before, or if you know that the maintainer is generally active.
1940  </para>  </para>
1941    
1942  <para>  <para>
1943  For the stable distribution, please take extra care.  Of course, the release  After you upload an NMU, you are responsible for the possible problems that you
1944  managers may also change the rules here.  Please verify before you upload that  might have introduced. You must keep an eye on the package (subscribing to the
1945  all your changes are OK for inclusion into the next stable release by the  package on the PTS is a good way to achieve this).
 release manager.  
1946  </para>  </para>
1947    
1948  <para>  <para>
1949  When a security bug is detected, the security team may do an NMU, using their  This is not a license to perform NMUs thoughtlessly.  If you NMU when it is
1950  own rules.  Please refer to <xref linkend="bug-security"/> for more  clear that the maintainers are active and would have acknowledged a patch in a
1951  information.  timely manner, or if you ignore the recommendations of this document, your
1952    upload might be a cause of conflict with the maintainer.
1953    You should always be prepared to
1954    defend the wisdom of any NMU you perform on its own merits.
1955  </para>  </para>
1956    </section>
1957    
1958    <section id="nmu-changelog">
1959    <title>NMUs and debian/changelog</title>
1960  <para>  <para>
1961  For the differences for Porters NMUs, please see <xref  Just like any other (source) upload, NMUs must add an entry to
1962  linkend="source-nmu-when-porter"/> .  <literal>debian/changelog</literal>, telling what has changed with this
1963    upload.  The first line of this entry must explicitely mention that this upload is an NMU, e.g.:
1964  </para>  </para>
1965    <screen>
1966      * Non-maintainer upload.
1967    </screen>
1968    
1969  <para>  <para>
1970  Of course, it is always possible to agree on special rules with a maintainer  The version must be the version of the last maintainer upload, plus
1971  (like the maintainer asking please upload this fix directly for me, and no diff  <literal>+nmu<replaceable>X</replaceable></literal>, where
1972  required).  <replaceable>X</replaceable> is a counter starting at <literal>1</literal>.  If
1973    the last upload was also an NMU, the counter should be increased.  For example,
1974    if the current version is <literal>1.5-1</literal>, then an NMU would get
1975    version <literal>1.5-1+nmu1</literal>.  If the current version is
1976    <literal>1.5+nmu3</literal> (a native package which has already been NMUed), the
1977    NMU would get version <literal>1.5+nmu4</literal>.  If a new upstream version
1978    is packaged in the NMU, the debian revision is set to <literal>0</literal>, for
1979    example <literal>1.6-0+nmu1</literal>.
1980  </para>  </para>
 </section>  
1981    
 <section id="nmu-version">  
 <title>NMU version numbering</title>  
1982  <para>  <para>
1983  Whenever you have made a change to a package, no matter how trivial, the  A special versioning scheme is needed to avoid disrupting the maintainer's
1984  version number needs to change.  This enables our packing system to function.  work, since using an integer for the Debian revision will potentially
1985    conflict with a maintainer upload already in preparation at the time of an
1986    NMU, or even one sitting in the ftp NEW queue.
1987    It also has the
1988    benefit of making it visually clear that a package in the archive was not made
1989    by the official maintainer.
1990  </para>  </para>
1991    
1992  <para>  <para>
1993  If you are doing a non-maintainer upload (NMU), you should add a new minor  If you upload a package to testing or stable, you sometimes need to "fork" the
1994  version number to the <replaceable>debian-revision</replaceable> part of the  version number tree. This is the case for security uploads, for example.  For
1995  version number (the portion after the last hyphen).  This extra minor number  this, a version of the form
1996  will start at `1'.  For example, consider the package `foo', which is at  <literal>+deb<replaceable>XY</replaceable>u<replaceable>Z</replaceable></literal>
1997  version 1.1-3.  In the archive, the source package control file would be  should be used, where <replaceable>X</replaceable> and
1998  <filename>foo_1.1-3.dsc</filename>.  The upstream version is `1.1' and the  <replaceable>Y</replaceable> are the major and minor release numbers, and
1999  Debian revision is `3'.  The next NMU would add a new minor number `.1' to the  <replaceable>Z</replaceable> is a counter starting at <literal>1</literal>.
2000  Debian revision; the new source control file would be  When the release number is not yet known (often the case for
2001  <filename>foo_1.1-3.1.dsc</filename>.  <literal>testing</literal>, at the beginning of release cycles), the lower
2002    release number higher than the last stable release number must be used.  For
2003    example, while Etch (Debian 4.0) is stable, a security NMU to stable for a
2004    package at version <literal>1.5-3</literal> would have version
2005    <literal>1.5-3+deb40u1</literal>, whereas a security NMU to Lenny would get
2006    version <literal>1.5-3+deb50u1</literal>. After the release of Lenny, security
2007    uploads to the <literal>testing</literal> distribution will be versioned
2008    <literal>+deb51uZ</literal>, until it is known whether that release will be
2009    Debian 5.1 or Debian 6.0 (if that becomes the case, uploads will be versioned
2010    as <literal>+deb60uZ</literal>.
2011  </para>  </para>
2012    </section>
2013    
2014    <section id="nmu-delayed">
2015    <title>Using the <literal>DELAYED/</literal> queue</title>
2016    
2017  <para>  <para>
2018  The Debian revision minor number is needed to avoid stealing one of the package  Having to wait for a response after you request permission to NMU is
2019  maintainer's version numbers, which might disrupt their work.  It also has the  inefficient, because it costs the NMUer a context switch to come back to the
2020  benefit of making it visually clear that a package in the archive was not made  issue.
2021  by the official maintainer.  The <literal>DELAYED</literal> queue (see <xref linkend="delayed-incoming"/>)
2022    allows the developer doing the NMU to perform all the necessary tasks at the
2023    same time. For instance, instead of telling the maintainer that you will
2024    upload the updated
2025    package in 7 days, you should upload the package to
2026    <literal>DELAYED/7</literal> and tell the maintainer that he has 7 days to
2027    react.  During this time, the maintainer can ask you to delay the upload some
2028    more, or cancel your upload.
2029  </para>  </para>
2030    
2031  <para>  <para>
2032  If there is no <replaceable>debian-revision</replaceable> component in the  The <literal>DELAYED</literal> queue should not be used to put additional
2033  version number then one should be created, starting at `0.1' (but in case of a  pressure on the maintainer. In particular, it's important that you are
2034  debian native package still upload it as native package).  If it is absolutely  available to cancel or delay the upload before the delay expires since the
2035  necessary for someone other than the usual maintainer to make a release based  maintainer cannot cancel the upload himself.
 on a new upstream version then the person making the release should start with  
 the <replaceable>debian-revision</replaceable> value `0.1'.  The usual  
 maintainer of a package should start their  
 <replaceable>debian-revision</replaceable> numbering at `1'.  
2036  </para>  </para>
2037    
2038  <para>  <para>
2039  If you upload a package to <literal>testing</literal> or <literal>stable  If you make an NMU to <literal>DELAYED</literal> and the maintainer updates
2040  </literal>, sometimes, you need to fork the version number tree.  For this,  his package before the delay expires, your upload will be rejected because a
2041  version numbers like 1.1-3sarge0.1 could be used.  newer version is already available in the archive.
2042    Ideally, the maintainer will take care to include your proposed changes (or
2043    at least a solution for the problems they address) in that upload.
2044  </para>  </para>
2045    
2046  </section>  </section>
2047    
2048  <section id="nmu-changelog">  <section id="nmu-maintainer">
2049  <title>Source NMUs must have a new changelog entry</title>  <title>NMUs from the maintainer's point of view</title>
2050    
2051  <para>  <para>
2052  Anyone who is doing a source NMU must create a changelog entry, describing  When someone NMUs your package, this means they want to help you to keep it in
2053  which bugs are fixed by the NMU, and generally why the NMU was required and  good shape.  This gives users fixed packages faster.  You
2054  what it fixed.  The changelog entry will have the email address of the person  can consider asking the NMUer to become a co-maintainer of the package.
2055  who uploaded it in the log entry and the NMU version number in it.  Receiving an NMU on a package is not a bad
2056    thing; it just means that the package is interesting enough for other people to
2057    work on it.
2058  </para>  </para>
2059    
2060  <para>  <para>
2061  By convention, source NMU changelog entries start with the line  To acknowledge an NMU, include its changes and changelog entry in your next
2062    maintainer upload.  If you do not acknowledge the NMU by including the
2063    NMU changelog entry in your changelog, the bugs will remain closed in the
2064    BTS but will be listed as affecting your maintainer version of the package.
2065  </para>  </para>
2066  <screen>  
   * Non-maintainer upload  
 </screen>  
2067  </section>  </section>
2068    
2069  <section id="nmu-patch">  <section id="nmu-binnmu">
2070  <title>Source NMUs and the Bug Tracking System</title>  <title>Source NMUs vs Binary-only NMUs (binNMUs)</title>
2071    
2072  <para>  <para>
2073  Maintainers other than the official package maintainer should make as few  The full name of an NMU is <emphasis>source NMU</emphasis>.  There is also
2074  changes to the package as possible, and they should always send a patch as a  another type, namely the <emphasis>binary-only NMU</emphasis>, or
2075  unified context diff (<literal>diff -u</literal>) detailing their changes to  <emphasis>binNMU</emphasis>.  A binNMU is also a package upload by someone
2076  the Bug Tracking System.  other than the package's maintainer.  However, it is a binary-only upload.
 </para>  
 <para>  
 What if you are simply recompiling the package?  If you just need to recompile  
 it for a single architecture, then you may do a binary-only NMU as described in  
 <xref linkend="binary-only-nmu"/> which doesn't require any patch to be sent.  
 If you want the package to be recompiled for all architectures, then you do a  
 source NMU as usual and you will have to send a patch.  
 </para>  
 <para>  
 Bugs fixed by source NMUs used to be tagged fixed instead of closed, but since  
 version tracking is in place, such bugs are now also closed with the NMU  
 version.  
 </para>  
 <para>  
 Also, after doing an NMU, you have to send the information to the existing bugs  
 that are fixed by your NMU, including the unified diff.  Historically, it was  
 custom to open a new bug and include a patch showing all the changes you have  
 made.  The normal maintainer will either apply the patch or employ an alternate  
 method of fixing the problem.  Sometimes bugs are fixed independently upstream,  
 which is another good reason to back out an NMU's patch.  If the maintainer  
 decides not to apply the NMU's patch but to release a new version, the  
 maintainer needs to ensure that the new upstream version really fixes each  
 problem that was fixed in the non-maintainer release.  
 </para>  
 <para>  
 In addition, the normal maintainer should <emphasis>always</emphasis> retain  
 the entry in the changelog file documenting the non-maintainer upload -- and of  
 course, also keep the changes.  If you revert some of the changes, please  
 reopen the relevant bug reports.  
2077  </para>  </para>
 </section>  
2078    
 <section id="nmu-build">  
 <title>Building source NMUs</title>  
2079  <para>  <para>
2080  Source NMU packages are built normally.  Pick a distribution using the same  When a library (or other dependency) is updated, the packages using it may need
2081  rules as found in <xref linkend="distribution"/> , follow the other  to be rebuilt.  Since no changes to the source are needed, the same source
2082  instructions in <xref linkend="upload"/> .  package is used.
2083  </para>  </para>
2084    
2085  <para>  <para>
2086  Make sure you do <emphasis>not</emphasis> change the value of the maintainer in  BinNMUs are usually triggered on the buildds by wanna-build.
2087  the <filename>debian/control</filename> file.  Your name as given in the NMU  An entry is added to debian/changelog,
2088  entry of the <filename>debian/changelog</filename> file will be used for  explaining why the upload was needed and increasing the version number as
2089  signing the changes file.  described in <xref linkend="binary-only-nmu"/>.
2090    This entry should not be included in the next upload.
2091  </para>  </para>
 </section>  
2092    
 <section id="ack-nmu">  
 <title>Acknowledging an NMU</title>  
2093  <para>  <para>
2094  If one of your packages has been NMU'ed, you have to incorporate the changes in  Buildds upload packages for their architecture to the archive as binary-only
2095  your copy of the sources.  This is easy, you just have to apply the patch that  uploads.  Strictly speaking, these are binNMUs.  However, they are not normally
2096  has been sent to you.  Once this is done, you have to close the bugs that have  called NMU, and they don't add an entry to debian/changelog.
 been tagged fixed by the NMU.  The easiest way is to use the  
 <literal>-v</literal> option of <command>dpkg-buildpackage</command>, as this  
 allows you to include just all changes since your last maintainer upload.  
 Alternatively, you can close them manually by sending the required mails to the  
 BTS or by adding the required <literal>closes: #nnnn</literal> in the changelog  
 entry of your next upload.  
 </para>  
 <para>  
 In any case, you should not be upset by the NMU.  An NMU is not a personal  
 attack against the maintainer.  It is a proof that someone cares enough about  
 the package that they were willing to help you in your work, so you should be  
 thankful.  You may also want to ask them if they would be interested in helping  
 you on a more frequent basis as co-maintainer or backup maintainer (see <xref  
 linkend="collaborative-maint"/> ).  
2097  </para>  </para>
2098    
2099  </section>  </section>
2100    
2101  <section id="nmu-vs-qa">  <section id="nmu-qa-upload">
2102  <title>NMU vs QA uploads</title>  <title>NMUs vs QA uploads</title>
2103    
2104  <para>  <para>
2105  Unless you know the maintainer is still active, it is wise to check the package  NMUs are uploads of packages by somebody else than their assigned maintainer.
2106  to see if it has been orphaned.  The current list of orphaned packages which  There is
2107  haven't had their maintainer set correctly is available at <ulink  another type of upload where the uploaded package is not yours: QA uploads. QA
2108  url="&url-debian-qa-orphaned;"></ulink>.  If you perform an NMU on an  uploads are uploads of orphaned packages.
 improperly orphaned package, please set the maintainer to <literal>Debian QA Group  
 &lt;packages@qa.debian.org&gt;</literal>.  
2109  </para>  </para>
 </section>  
2110    
 <section id="nmu-who">  
 <title>Who can do an NMU</title>  
2111  <para>  <para>
2112  Only official, registered Debian Developers can do binary or source NMUs.  A  QA uploads are very much like normal maintainer uploads: they may fix anything,
2113  Debian Developer is someone who has their key in the Debian key ring.  even minor issues; the version numbering is normal, and there is no need to use
2114  Non-developers, however, are encouraged to download the source package and  a delayed upload.  The difference is that you are not listed as the Maintainer
2115  start hacking on it to fix problems; however, rather than doing an NMU, they  or Uploader for the package.  Also, the changelog entry of a QA upload has a
2116  should just submit worthwhile patches to the Bug Tracking System.  Maintainers  special first line:
 almost always appreciate quality patches and bug reports.  
2117  </para>  </para>
 </section>  
2118    
2119  <section id="nmu-terms">  <screen>
2120  <title>Terminology</title>   * QA upload.
2121    </screen>
2122    
2123  <para>  <para>
2124  There are two new terms used throughout this section: ``binary-only NMU'' and  If you want to do an NMU, and it seems that the maintainer is not active, it is
2125  ``source NMU''.  These terms are used with specific technical meaning  wise to check if the package is orphaned
2126  throughout this document.  Both binary-only and source NMUs are similar, since  (this information is displayed on the package's Package Tracking System page).
2127  they involve an upload of a package by a developer who is not the official  When doing the first QA upload to an
2128  maintainer of that package.  That is why it's a  orphaned package, the maintainer should be set to <literal>Debian QA Group
2129  <literal>non-maintainer</literal> upload.  &lt;packages@qa.debian.org&gt;</literal>.  Orphaned packages which did
2130  </para>  not yet have a QA upload still have their old maintainer set.  There is a list
2131  <para>  of them at <ulink url="&url-orphaned-not-qa;"/>.
 A source NMU is an upload of a package by a developer who is not the official  
 maintainer, for the purposes of fixing a bug in the package.  Source NMUs  
 always involves changes to the source (even if it is just a change to  
 <filename>debian/changelog</filename>).  This can be either a change to the  
 upstream source, or a change to the Debian bits of the source.  Note, however,  
 that source NMUs may also include architecture-dependent packages, as well as  
 an updated Debian diff.  
 </para>  
 <para>  
 A binary-only NMU is a recompilation and upload of a binary package for a given  
 architecture.  As such, it is usually part of a porting effort.  A binary-only  
 NMU is a non-maintainer uploaded binary version of a package, with no source  
 changes required.  There are many cases where porters must fix problems in the  
 source in order to get them to compile for their target architecture; that  
 would be considered a source NMU rather than a binary-only NMU.  As you can  
 see, we don't distinguish in terminology between porter NMUs and non-porter  
 NMUs.  
 </para>  
 <para>  
 Both classes of NMUs, source and binary-only, can be lumped under the term  
 ``NMU''.  However, this often leads to confusion, since most people think  
 ``source NMU'' when they think ``NMU''.  So it's best to be careful: always use  
 ``binary NMU'' or ``binNMU'' for binary-only NMUs.  
2132  </para>  </para>
2133    
2134    <para>
2135    Instead of doing a QA upload, you can also consider adopting the package by
2136    making yourself the maintainer.  You don't need permission from anybody to
2137    adopt an orphaned package, you can just set yourself as maintainer and upload
2138    the new version (see <xref linkend="adopting"/>).
2139    </para>
2140    
2141  </section>  </section>
2142    
2143  </section>  </section>

Legend:
Removed from v.5352  
changed lines
  Added in v.5353

  ViewVC Help
Powered by ViewVC 1.1.5