1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
<chapter id="maintenance">
<title>Maintenance of the installer</title>
<para>
This document only provides an introduction to some tasks required to
keep the installer up and running. It should be mostly helpful for
d-i release managers.
</para>
<sect1><title>Updating to a new Linux<footnote><para>The same logic should
be applicable to the FreeBSD kernel, even if some details might be
different.</para></footnote> kernel version</title>
<para>
This is possible when the <classname>linux</classname> package gets
uploaded, bumping its ABI. For example, it gets bumped from
<code>3.9-1</code> to <code>3.10-1</code>. This becomes needed when
the <classname>linux-latest</classname> package gets uploaded, since
obsolete
<classname>linux-image-<oldabi>-<arch></classname>
packages (and relevant kernel modules) get decrufted soon after
that. Daily builds start to fail to build at this point, failing to
fetch decrufted packages.
</para><para>
A cron job on <code>d-i.debian.org</code> generates an linux kernel
ABI summary for the <code>testing</code>, <code>unstable</code>, and
<code>experimental</code> suites, and also sends a notification when
the ABI gets bumped in any of them. The summary is available here:
<ulink url="http://d-i.debian.org/kernel-summary.html" />
</para><para>
The following files need to be updated:
<filename>build/config/*.cfg</filename>; beware, some architectures
have specific version handling, so it might be needed to update some
extra variables (like the upstream kernel version), rather than only
those containing the kernel ABI.
</para>
</sect1>
<sect1><title>Dropping a deprecated filesystem</title>
<para>
This is needed when the kernel drops support for a filesystem, say
<code>foofs</code>; on the kernel side, that means the following
packages go away:
<code>foofs-modules-<abi>-<arch></code>. Kernel
maintainers should send a notification to the mailing list in advance.
</para><para>
From a quick grep under the <code>packages/</code> directory, it
appears that the following changes are needed. This list isn't ensured
to be exhaustive:
<orderedlist>
<listitem>
Drop all <code>foofs-modules-${kernel:Version}</code> occurrences
from the files under the <filename>build/config/</filename>
directory.
</listitem><listitem>
Get <code>partman-foofs</code> removed from the archive.
</listitem><listitem>
Move the <code>partman-foofs.git</code> repository below the
<code>attic/</code> directory.
</listitem><listitem>
Update the top-level <filename>.mrconfig</filename> file to mark
the said repository as obsolete, adding <code>deleted =
true</code> to its section.
</listitem><listitem>
Update <code>kernel-wedge</code> if relevant. FIXME: Find out when
that's needed, and what's needed.
</listitem><listitem>
Update <code>iso-scan</code> to drop <code>foofs</code> from the
<code>FS</code> variable in the
<filename>debian/iso-scan.postinst</filename> script.
</listitem><listitem>
Update <code>partman-auto</code> to drop <code>foofs</code>
from the <filename>lib/resize.sh</filename> script.
</listitem><listitem>
Update <code>os-prober</code> to drop <code>foofs</code> from the
<code>FILESYSTEMS</code> variable in the
<filename>os-probes/init/common/10filesystems</filename> file.
</listitem><listitem>
Update <code>partconf</code> to drop <code>foofs</code> from
the <code>file_system_modules</code> variable, but there might
be some more occurrences.
</listitem><listitem>
Update <code>rescue</code> to drop relevant dependencies, and
remove <code>try_load_module foofs</code> from
<filename>debian/rescue-mode.postinst</filename> accordingly.
</listitem>
</orderedlist>
</para>
</sect1>
</chapter>
|