s/mysid/sessionid/
[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 * Set a session name:
12 <pre><code>
13         $ sessionid=sid-$USER-$RANDOM
14         $ echo "My session name is: $sessionid"
15 </code></pre>
16
17 * Begin a persistent schroot session on Debian unstable:
18 <pre><code>
19         $ schroot -b -c sid -n $sessionid
20 </code></pre>
21
22 * Update and upgrade Debian unstable chroot:
23 <pre><code>
24         $ dd-schroot-cmd -c $sessionid apt-get update
25         $ dd-schroot-cmd -c $sessionid apt-get upgrade
26         [..]
27         Do it for real [Y/n]: <Enter>
28         [..]
29 </code></pre>
30
31 * Install your broken package build dependencies:
32 <pre><code>
33         $ dd-schroot-cmd -c $sessionid apt-get build-dep gentoo
34         [..]
35         Do it for real [Y/n]: <Enter>
36         [..]
37 </code></pre>
38
39 * Change root to Debian unstable chroot:
40 <pre><code>
41         $ schroot -r -c $sessionid
42 </code></pre>
43
44 * Download your broken package source:
45 <pre><code>
46         (sid_arch-dchroot)user@porterbox:~$ apt-get source gentoo
47 </code></pre>
48
49 * 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:
50 <pre><code>
51         (sid_arch-dchroot)user@porterbox:~$ exit
52         $ schroot -e -c $sessionid
53         $ exit
54 </code></pre>
55
56 * List (your) open sessions:
57 <pre><code>
58         $ schroot --list --all-sessions
59 or
60         $ schroot-list-sessions
61 </code></pre>
62
63 * You should be done by now. If you find any issue, please report to debian-admin@lists.debian.org.