@@ -145,23 +145,102 @@ building packages for yourself.
145145
1461461 . Make sure you have thoroughly tested the changes and that the package builds
147147 and installs correctly using the methods described above.
148- 2 . Run ` lintian ` on the test package(s) to ensure there are no packaging problems.
148+
149+ 2 . Run ` lintian ` on the ` .changes ` file to ensure there are no packaging problems.
150+
151+ TODO: we might be able to add lintian to the pbuilder-ev3dev tool so you
152+ don't have to run lintian manually.
153+
1491543 . Ensure any version information (other than ` debian/changelog ` ) is properly
150155 updated to the new version.
151- 4 . Delete any ` debian/changelog ` entries since the last release (you should
152- have at least one for doing a test build).
153- 5 . Make sure there are not any uncommited changes in git. If there are changes,
154- commit them.
155- 6 . Run ` git-dch -R --commit ` to create a ` debian/changelog ` entry. Edit it by
156- hand if necessary.
157- 7 . Run ` git-buildpackage -S -us -uc --git-tag ` to create the source package.
158- 8 . Build the release packages using ` pbuilder-ev3dev ` .
159- 9 . Sign the ` .changes ` file in ` ~/pbuilder/<release>-<arch>_result/ ` using ` debsign ` .
160- 10 . Push the new release to the ev3dev archive using ` dput ` .
161- 11 . Push the git branch and tag to GitHub.
162- 12 . Close any issues on GitHub that are fixed by this release with a message
156+
157+ 4 . Update ` debian/changelog ` .
158+
159+ You can do this automatically:
160+
161+ 1. Delete any `debian/changelog` entries since the last release (you
162+ should have at least one for doing a test build).
163+ 2. Make sure there are not any uncommited changes in git. If there are
164+ changes, commit them.
165+ 3. Run `gbp dch -R --commit` to create a `debian/changelog` entry.
166+ Edit it by hand if necessary.
167+
168+ Or if you have been maintaining it by hand:
169+
170+ 1. Run `dch -r`.
171+ 2. Run `git commit -a -m "Update changelog for release"`.
172+
173+ 5 . Tag the commit:
174+
175+ gbp buildpackage --git-tag-only
176+
177+ 6 . Build the release packages using ` pbuilder-ev3dev ` . If you have run the ` base `
178+ command recently, you can omit those lines.
179+
180+ # build for EV3
181+ OS=debian ARCH=armel DIST=jessie pbuilder-ev3dev base
182+ OS=debian ARCH=armel DIST=jessie pbuilder-ev3dev build
183+ # build for RPi 2/3 and BeagleBone
184+ OS=debian ARCH=armhf DIST=jessie pbuilder-ev3dev base
185+ DEBUILD_OPTIONS="--binary-only" OS=debian ARCH=armhf DIST=jessie pbuilder-ev3dev build
186+ # build for RPi 0/1
187+ OS=raspbian ARCH=armhf DIST=jessie pbuilder-ev3dev base
188+ OS=raspbian ARCH=armhf DIST=jessie pbuilder-ev3dev build
189+
190+ If your package does not have any binary components (like a pure python
191+ package), you can do this instead:
192+
193+ # build for EV3, RPi 2/3 and BeagleBone
194+ OS=debian ARCH=amd64 DIST=jessie pbuilder-ev3dev base
195+ OS=debian ARCH=amd64 DIST=jessie pbuilder-ev3dev build
196+ # build for RPi 0/1
197+ OS=raspbian ARCH=armhf DIST=jessie pbuilder-ev3dev base
198+ OS=raspbian ARCH=armhf DIST=jessie pbuilder-ev3dev build
199+
200+ 7 . Sign the ` .changes ` files in ` ~/pbuilder-ev3dev/$OS/$DIST-$ARCH/ ` using ` debsign ` .
201+
202+ debsign ~/pbuilder-ev3dev/debian/jessie-armel/<package>_<version>_armel.changes
203+ debsign ~/pbuilder-ev3dev/debian/jessie-armhf/<package>_<version>_armhf.changes
204+ debsign ~/pbuilder-ev3dev/raspbian/jessie-armhf/<package>_<version>_armhf.changes
205+ 8 . Upload the new release to the ev3dev archive using ` dput ` .
206+
207+ If you have never uploaded before, you will need to send your SSH public key
208+ to @dlech and save the following as ` ~/.dput.cf ` :
209+
210+ [ev3dev-deb]
211+ login = ev3dev-upload
212+ fqdn = reprepro.ev3dev.org
213+ method = sftp
214+ incoming = ~/debian
215+
216+ [ev3dev-rpi]
217+ login = ev3dev-upload
218+ fqdn = reprepro.ev3dev.org
219+ method = sftp
220+ incoming = ~/raspbian
221+
222+ [ev3dev-ubuntu]
223+ login = ev3dev-upload
224+ fqdn = reprepro.ev3dev.org
225+ method = sftp
226+ incoming = ~/ubuntu
227+
228+ Then upload:
229+
230+ dput ev3dev-deb ~/pbuilder-ev3dev/debian/jessie-armel/<package>_<version>_armel.changes
231+ dput ev3dev-deb ~/pbuilder-ev3dev/debian/jessie-armhf/<package>_<version>_armhf.changes
232+ dput ev3dev-rpi ~/pbuilder-ev3dev/raspbian/jessie-armhf/<package>_<version>_armhf.changes
233+
234+ Please be careful about ` armhf ` and ` ev3dev-deb ` vs. ` ev3dev-rpi ` !
235+
236+ You should receive an email after each upload. If not, let @dlech know about it.
237+
238+ 9 . Push the git branch and tag to GitHub.
239+
240+ 10 . Close any issues on GitHub that are fixed by this release with a message
163241 that includes the package name and version number.
164- 13 . Add a news article to the ev3dev.org site announcing the release.
242+
243+ 11 . Add a news article to the ev3dev.org site announcing the release.
165244
166245## Additional Resources
167246
0 commit comments