Additional clarifications to building test packages
[devwiki.git] / release / debian.mdwn
1 [[!meta title="Debian Packaging"]]
2
3 Debian packages use the debian branch of the master repository.
4
5 # Selecting the right branch
6
7 In the master repository:
8
9     git checkout debian
10     git submodule update --init
11
12 # Per package Instructions
13
14 In each package you wish to update:
15
16 ## Select Debian Branch
17
18 Change directories into the package and run:
19
20     git checkout debian
21
22 ## Updating Package with New Code
23
24 Merge in the source code changes.  To merge in master:
25
26     git pull origin master
27
28 Now run:
29     dch -i
30
31 This brings up a changelog where you can describe the changes in this
32 version.  Check the version number on the first line.  If the upstream
33 has changed then update the version number to be
34 upstream_version_number-1.  Otherwise if the upstream has not changed, then a new debian revision should have been created.
35 Describe the changes in the space provided.  Make sure that the "distribution" on the first line is "unstable" not "UNRELEASED".
36
37     git add debian/changelog
38     git commit
39
40 Push the debian branch:
41
42     git push origin debian
43
44 ## Update Master Repository
45
46 "git add" each updated package to the bmaster repository and then commit.  Push the debian branch of the master repository.  This will trigger builds for 64-bit and 32-bit.  Check the status [here](http://www.project-moonshot.org/buildbot/builders/).  Once the builds succeed, the packages will be in the wheezy-proposed area of our archive.
47
48 # Wheezy and Wheezy-proposed
49
50 We maintain two areas of our Debian archive described by the following /etc/apt/sources.list lines:
51
52     deb http://repository.project-moonshot.org/debian-moonshot wheezy main 
53     deb http://repository.project-moonshot.org/debian-moonshot wheezy-proposed main
54
55 The wheezy-proposed  archive should be used to grab the latest software, and the wheezy archive should be used for known good software.  When Live DVD images are produced, they install the software from wheezy-proposed.  However, the resulting image will only upgrade software from wheezy.  The intent is that you probably want to test the latest software when building a new DVD image, but until it is known to work, others may not want to upgrade to it.  To copy all software from wheezy-proposed to wheezy:
56
57     ssh buildbot@moonshot.suchdamage.org
58     cd /srv/debian
59     reprepro pull wheezy
60
61 The "reprepro copy" command can be used to move individual packages.
62
63