mention experimental
[mirror/dsa-wiki.git] / input / doc / schroot.mdwn
1 using schroot in debian.org porterboxes
2 =======================================
3
4 When logging into Debian porterbox machine:
5
6 * List available chroots:
7 <pre><code>
8         $ schroot -l
9 </code></pre>
10
11 * Begin a persistent schroot session on Debian unstable (or in the case of backports replace sid with, for example, jessie-backports):
12 <pre><code>
13         # Pick your own session name:
14         $ echo -n "Session ID: " && read sessionid && schroot -b -c sid -n $sessionid
15         # or use a random one:
16         $ sessionid=$(schroot -b -c sid)
17 </code></pre>
18
19 * Update and upgrade Debian unstable chroot:
20 <pre><code>
21         $ dd-schroot-cmd -c $sessionid apt-get update
22         $ dd-schroot-cmd -c $sessionid apt-get upgrade
23         [..]
24         Do it for real [Y/n]: <Enter>
25         [..]
26 </code></pre>
27
28 * Install your build dependencies:
29 <pre><code>
30         $ dd-schroot-cmd -c $sessionid apt-get build-dep hello
31         [..]
32         Do it for real [Y/n]: <Enter>
33         [..]
34 </code></pre>
35
36 * In the case of backports (or experimental), you can install a given package. You could use, for example:
37 <pre><code>
38         $ dd-schroot-cmd -c $sessionid apt-get install debhelper/jessie-backports
39         [..]
40 </code></pre>
41
42 * Change root to Debian unstable chroot:
43 <pre><code>
44         $ schroot -r -c $sessionid
45 </code></pre>
46
47 * Download your source:
48 <pre><code>
49         (sid_arch-dchroot)user@porterbox:~$ apt-get source hello
50 </code></pre>
51
52 * You should be able to reproduce your issue, hack on the package, fix the bug. Once you are done with your work, please, finish your schroot session:
53 <pre><code>
54         (sid_arch-dchroot)user@porterbox:~$ exit
55         $ schroot -e -c $sessionid
56         $ exit
57 </code></pre>
58
59 * List your currently open sessions:
60 <pre><code>
61         $ schroot-list-sessions
62 </code></pre>
63
64 * List all currently open sessions:
65 <pre><code>
66         $ schroot --list --all-sessions
67 </code></pre>
68
69 * You should be done by now. If you find any issue, please report to debian-admin@lists.debian.org.