source: debian-alt/doc/launchpad.txt @ 41e8b6d

Last change on this file since 41e8b6d was 41e8b6d, checked in by zzz <zzz@…>, 14 months ago

0.9.40 debian files

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