source: debian-alt/doc/launchpad.txt @ 5aae625

Last change on this file since 5aae625 was 3248a15, checked in by zzz <zzz@…>, 15 months ago

Debian: Update Bionic/Cosmic? to include patch for Jetty 9.4

  • 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
130
131
132If it works, copy the series you are running (e.g. yakkety) in your PPA
133so that you can test.
134  (select "copy existing binaries")
135  Wait a few minutes for that to happen
136
137Test
138----
139
140Add your PPA following the instructions at http://i2p-projekt.i2p/en/download/debian:
141     sudo apt-add-repository ppa:your-lp-id/your-ppa-name
142     sudo apt-get update
143     sudo apt-get install i2p
144     mv ~/.i2p ~/.i2p-save
145     i2prouter start
146     (test...)
147     stop router
148     sudo dpkg-reconfigure i2p
149     (reconfigure as a service)
150     (i2p should start as a service. test...)
151
152
153Release
154-------
155
156Then copy from your PPA to the i2p-maintainers PPA.
157Then in the i2p-maintainers PPA, copy bionic to cosmic.
158Did a new series open up since the last time you did this? Copy to the new one also.
159  (select "copy existing binaries")
160  Copy xenial first and wait for it to be published in i2p-maintainers or the others will fail.
161For xenial, build and copy it separately. It is built from the "ant xenial-release-tarball" source.
162For precise and trusty, build and copy it separately. Both precise and trusty are built
163from the "ant precise-release-tarball" source.
164
165
166Creating milestone, release, and uploading files
167----------------------------------------------
168
169You may do this either before or after doing the Launchpad builds.
170
171You must first create a milestone, then create a release
172and attach it to the milestone.
173
174(Enable referer sending in your browser if necessary)
175
176Go to https://launchpad.net/i2p/trunk
177Down at bottom, click 'create milestone'
178    Name: 0.9.xx (NOT i2p 0.9.xx)
179    Code name: empty
180    Date targeted: Actual release date
181    Tags: empty
182    Summary: empty
183Click 'create milestone'
184Now you are back on https://launchpad.net/i2p/trunk
185At your milestone, 'release now'
186    Date released: Actual release date
187    Release notes: empty
188    Changelog: empty
189Click 'create release'
190Now you on the page for that milestone
191Click 'add download file'
192For each of the four files
193    i2psource_0.9.xx.tar.bz2
194      Description: I2P 0.9.xx Source Code
195      Sig: i2psource_0.9.xx.tar.bz2.sig
196      File Content Type: Code Release Tarball
197    i2pinstall_0.9.xx_windows.exe
198      Description: I2P 0.9.xx Installer for Windows
199      Sig: i2pinstall_0.9.xx_windows.exe.sig
200      File Content Type: Installer File
201    i2pinstall_0.9.xx.jar
202      Description: I2P 0.9.xx Installer (Linux / OSX / FreeBSD / Solaris)
203      Sig: i2pinstall_0.9.xx.jar.sig
204      File Content Type: Installer File
205    i2pupdate_0.9.xx.zip
206      Description: I2P 0.9.xx Update
207      Sig: i2pupdate_0.9.xx.zip.sig
208      File Content Type: Installer File
Note: See TracBrowser for help on using the repository browser.