source: debian-alt/doc/launchpad.txt @ 2441484

Last change on this file since 2441484 was 45f3695f, checked in by zzz <zzz@…>, 3 years ago

Debian: Restore systemd for trusty
Fix date in changelogs
doc update

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