source: debian-alt/doc/launchpad.txt @ 2e00cec

Last change on this file since 2e00cec was 2e00cec, checked in by zzz <zzz@…>, 3 years ago

deb doc updates

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