source: debian-alt/doc/launchpad.txt

Last change on this file was 03bd3e2, checked in by zzz <zzz@…>, 14 months ago

checklist/doc updates

  • Property mode set to 100644
File size: 7.4 KB
Line 
1Instructions to upload to launchpad PPA
2
3You must have a GPG key already uploaded to the
4usual public key servers, where launchpad can find it.
5
6Overview
7--------
8
9We currently copy the launchpad builds to our debian repo both
10for use in both the ubuntu and debian distros. This is much easier
11than doing debian builds ourselves.
12
13Versions are as follows:
14
15Min version     Max version     Uses src pkg    Copied to Debian
16-----------     -----------     ------------    ----------------
17precise         saucy           precise         wheezy
18trusty          wily            precise         jessie, stretch
19xenial          yakkety         xenial          --
20bionic          cosmic          bionic          --
21disco           eoan            bionic          buster, sid
22
23
24Prep (first time only)
25----------------------
26
27- Make a launchpad account
28- Log into launchpad
29- Get your GPG fingerprint (gpg -K --fingerprint)
30- Add your GPG fingerprint at the form on
31  https://launchpad.net/~/+editpgpkeys
32- Wait for the encrypted email response
33- Decrypt and click the confirmation link in the email
34- Click confirm on the page
35- Make a PPA, lets call it 'test'
36- OPTIONAL: Go to i2p.packages PPA and copy over existing I2P to your PPA:
37  (select "copy existing binaries")
38    trusty, xenial, bionic
39    not precise (only if building for precise which you probably aren't)
40    not utopic (obsolete, disabled by launchpad)
41- Go to i2p.packages PPA and copy over service-wrapper-java to your PPA.
42  This is required for the build.
43  (select "copy existing binaries")
44    trusty
45    not precise (only if building for precise which you probably aren't)
46    not xenial, bionic (more recent versions 3.5.25-2 or 3.5.26-3 are in official launchpad)
47    not utopic (obsolete, disabled by launchpad)
48
49- you need the following packages
50  sudo apt-get install devscripts dput dh_systemd bash-completion
51
52
53Generate files to upload
54------------------------
55
56- check out clean copy of release:
57  mtn co -d i2p.mtn -b i2p.i2p i2p.i2p.foobar -r t:i2p-0.9.xx
58
59- export TZ=UTC
60- cd i2p.i2p.foobar
61- copy debian-alt/(series)/changelog to debian/
62- edit debian/changelog to add the release at the top
63  * version MUST be 0.9.XX-1ubuntu1
64    next version for fixes would be 0.9.XX-2ubunutu1
65  * series MUST be xenial or trusty or precise
66  * name and email MUST EXACTLY match what's in your GPG keyring
67    or the signing will fail.
68    (or add -kkeyid argument to debuild, which you must do
69     if you want to sign with a subkey)
70    run gpg -K to list your private keys
71- ant debian-release-tarball (this is currently for bionic and higher)
72  (ant precise-release-tarball for precise thru wily... only do this once for both the precise and trusty build)
73  (ant xenial-release-tarball for xenial)
74  this will make a directory ../i2p-0.9.XX-0-xxxxxxxx/
75  and a tarball ../i2p_0.9.XX.orig.tar.bz2
76- cp debian/changelog ../i2p-0.9.XX-0-xxxxxxxx/debian/
77- cp debian-alt/(series)/(other files besides changelog) to ../i2p-0.9.XX-0-xxxxxxxx/debian/
78- (if you build trusty after precise, cp debian/i2p.postinst ../i2p-0.9.XX-0-xxxxxxxx/debian/
79  since precise modifies it but trusty does not)
80- cd ../i2p-0.9.XX-0-xxxxxxxx/
81- Note: If building for precise/trusty and you are on yakkety or higher without Java 7,
82  make a symlink so debuild will work: cd /var/lib/jvm; sudo ln -s java-8-openjdk-amd64/ java-7-openjdk-amd64
83- Build the *1ubuntu1* files:
84  If you have NOT done a successful dput for this release yet:
85    debuild -S -sa -kkeyid
86  otherwise, if just fixing up the control files, patches, etc:
87    debuild -S -sd -kkeyid
88  (note: no space allowed in -kkeyid)
89  If you get a dpkg-checkbuilddeps error for precise/trusty/xenial,
90  add a -d option, e.g. debuild -d -S -sa -kkeyid
91- If patches fail, you must fix them up, either manually or with quilt
92  (quilt instructions go here)
93
94- You will now have the following files in ..:
95  i2p_0.9.XX-1ubuntu1.debian.tar.xz
96  i2p_0.9.XX-1ubuntu1.dsc
97  i2p_0.9.XX-1ubuntu1_source.changes
98  i2p_0.9.XX-1ubuntu1_source.build
99- And from the copy above:
100  i2p_0.9.XX.orig.tar.bz2
101
102Upload to launchpad
103-------------------
104
105- cd ..
106- Upload to launchpad:
107  dput ppa:your-lp-id/your-ppa-name i2p_0.9.XX-1ubuntu1_source.changes
108
109This will upload the following files:
110  i2p_0.9.XX-1ubuntu1.dsc            (the GPG signature)
111  i2p_0.9.XX-1ubuntu1.debian.tar.xz  (basically the debian/ directory tarball)
112  i2p_0.9.XX-1ubuntu1_source.changes (the changelog text file)
113  i2p_0.9.XX.orig.tar.bz2            (the source tarball)
114
115Note: If you didn't add your GPG fingerprint to your launchpad account
116way up there above in step 2 or so, the upload will work,
117but you will get no email back, and it will never build or show up on
118the pending-build page.
119
120Wait for it to build and be published.
121Could be minutes to hours.
122
123The amd64 build produces one deb:
124   libjbigi-jni (amd64)
125The i386 build produces three debs:
126   i2p-doc (arch-independent), i2p-router (arch-independent), and libjbigi-jni (i386)
127So the build isn't done until both arch builds are complete.
128Don't do anything else until both builds are done and published.
129
130If it works, copy the series you are running (e.g. yakkety) in your PPA
131so that you can test.
132  (select "copy existing binaries")
133  Wait a few minutes for that to happen
134
135Test
136----
137
138Add your PPA following the instructions at http://i2p-projekt.i2p/en/download/debian:
139     sudo apt-add-repository ppa:your-lp-id/your-ppa-name
140     sudo apt-get update
141     sudo apt-get install i2p
142     mv ~/.i2p ~/.i2p-save
143     i2prouter start
144     (test...)
145     stop router
146     sudo dpkg-reconfigure i2p
147     (reconfigure as a service)
148     (i2p should start as a service. test...)
149
150
151Release
152-------
153
154Then copy from your PPA to the i2p-maintainers PPA.
155Then in the i2p-maintainers PPA, copy bionic to cosmic.
156Did a new series open up since the last time you did this? Copy to the new one also.
157  (select "copy existing binaries")
158  Copy xenial first and wait for it to be published in i2p-maintainers or the others will fail.
159For xenial, build and copy it separately. It is built from the "ant xenial-release-tarball" source.
160For precise and trusty, build and copy it separately. Both precise and trusty are built
161from the "ant precise-release-tarball" source.
162
163
164Creating milestone, release, and uploading files
165----------------------------------------------
166
167You may do this either before or after doing the Launchpad builds.
168
169You must first create a milestone, then create a release
170and attach it to the milestone.
171
172(Enable referer sending in your browser if necessary)
173
174Go to https://launchpad.net/i2p/trunk
175Down at bottom, click 'create milestone'
176    Name: 0.9.xx (NOT i2p 0.9.xx)
177    Code name: empty
178    Date targeted: Actual release date
179    Tags: empty
180    Summary: empty
181Click 'create milestone'
182Now you are back on https://launchpad.net/i2p/trunk
183At your milestone, 'release now'
184    Date released: Actual release date
185    Release notes: empty
186    Changelog: empty
187Click 'create release'
188Now you on the page for that milestone
189Click 'add download file'
190For each of the four files
191    i2psource_0.9.xx.tar.bz2
192      Description: I2P 0.9.xx Source Code
193      Sig: i2psource_0.9.xx.tar.bz2.sig
194      File Content Type: Code Release Tarball
195    i2pinstall_0.9.xx_windows.exe
196      Description: I2P 0.9.xx Installer for Windows
197      Sig: i2pinstall_0.9.xx_windows.exe.sig
198      File Content Type: Installer File
199    i2pinstall_0.9.xx.jar
200      Description: I2P 0.9.xx Installer (Linux / OSX / FreeBSD / Solaris)
201      Sig: i2pinstall_0.9.xx.jar.sig
202      File Content Type: Installer File
203    i2pupdate_0.9.xx.zip
204      Description: I2P 0.9.xx Update
205      Sig: i2pupdate_0.9.xx.zip.sig
206      File Content Type: Installer File
Note: See TracBrowser for help on using the repository browser.