source: debian-alt/doc/launchpad.txt @ 4a47bea

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

Debian updates for 0.9.33

  • 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          --
20artful          bionic          artful          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, xenial, artful
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 xenial, artful (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 artful 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 you get a dpkg-checkbuilddeps error for precise/trusty,
86  add a -d option, e.g. debuild -d -S -sa -kkeyid
87- If patches fail, you must fix them up, either manually or with quilt
88  (quilt instructions go here)
89
90- You will now have the following files in ..:
91  i2p_0.9.XX-1ubuntu1.debian.tar.xz
92  i2p_0.9.XX-1ubuntu1.dsc
93  i2p_0.9.XX-1ubuntu1_source.changes
94  i2p_0.9.XX-1ubuntu1_source.build
95- And from the copy above:
96  i2p_0.9.XX.orig.tar.bz2
97
98Upload to launchpad
99-------------------
100
101- cd ..
102- Upload to launchpad:
103  dput ppa:your-lp-id/your-ppa-name i2p_0.9.XX-1ubuntu1_source.changes
104
105This will upload the following files:
106  i2p_0.9.XX-1ubuntu1.dsc            (the GPG signature)
107  i2p_0.9.XX-1ubuntu1.debian.tar.xz  (basically the debian/ directory tarball)
108  i2p_0.9.XX-1ubuntu1_source.changes (the changelog text file)
109  i2p_0.9.XX.orig.tar.bz2            (the source tarball)
110
111Note: If you didn't add your GPG fingerprint to your launchpad account
112way up there above in step 2 or so, the upload will work,
113but you will get no email back, and it will never build or show up on
114the pending-build page.
115
116Wait for it to build and be published.
117Could be minutes to hours.
118
119The amd64 build produces one deb:
120   libjbigi-jni (amd64)
121The i386 build produces three debs:
122   i2p-doc (arch-independent), i2p-router (arch-independent), and libjbigi-jni (i386)
123So the build isn't done until both arch builds are complete.
124Don't
125
126
127If it works, copy the series you are running (e.g. yakkety) in your PPA
128so that you can test.
129  (select "copy existing binaries")
130  Wait a few minutes for that to happen
131
132Test
133----
134
135Add your PPA following the instructions at http://i2p-projekt.i2p/en/download/debian:
136     sudo apt-add-repository ppa:your-lp-id/your-ppa-name
137     sudo apt-get update
138     sudo apt-get install i2p
139     mv ~/.i2p ~/.i2p-save
140     i2prouter start
141     (test...)
142     stop router
143     sudo dpkg-reconfigure i2p
144     (reconfigure as a service)
145     (i2p should start as a service. test...)
146
147
148Release
149-------
150
151Then copy from your PPA to the i2p-maintainers PPA.
152Then in the i2p-maintainers PPA, copy artful to bionic.
153Did a new series open up since the last time you did this? Copy to the new one also.
154  (select "copy existing binaries")
155  Copy xenial first and wait for it to be published in i2p-maintainers or the others will fail.
156For xenial, build and copy it separately. It is built from the "ant xenial-release-tarball" source.
157For precise and trusty, build and copy it separately. Both precise and trusty are built
158from the "ant precise-release-tarball" source.
159
160
161Creating milestone, release, and uploading files
162----------------------------------------------
163
164You must first create a milestone, then create a release
165and attach it to the milestone.
166
167(Enable referer sending in your browser if necessary)
168
169Go to https://launchpad.net/i2p/trunk
170Down at bottom, click 'create milestone'
171    Name: 0.9.xx (NOT i2p 0.9.xx)
172    Code name: empty
173    Date targeted: Actual release date
174    Tags: empty
175    Summary: empty
176Click 'create milestone'
177Now you are back on https://launchpad.net/i2p/trunk
178At your milestone, 'release now'
179    Date released: Actual release date
180    Release notes: empty
181    Changelog: empty
182Click 'create release'
183Now you on the page for that milestone
184Click 'add download file'
185For each of the four files
186    i2psource_0.9.xx.tar.bz2
187      Description: I2P 0.9.xx Source Code
188      Sig: i2psource_0.9.xx.tar.bz2.sig
189      File Content Type: Code Release Tarball
190    i2pinstall_0.9.xx_windows.exe
191      Description: I2P 0.9.xx Installer for Windows
192      Sig: i2pinstall_0.9.xx_windows.exe.sig
193      File Content Type: Installer File
194    i2pinstall_0.9.xx.jar
195      Description: I2P 0.9.xx Installer (Linux / OSX / FreeBSD / Solaris)
196      Sig: i2pinstall_0.9.xx.jar.sig
197      File Content Type: Installer File
198    i2pupdate_0.9.xx.zip
199      Description: I2P 0.9.xx Update
200      Sig: i2pupdate_0.9.xx.zip.sig
201      File Content Type: Installer File
Note: See TracBrowser for help on using the repository browser.