Upgrading eclipse-titan in the Osmocom OBS » History » Revision 3
Revision 2 (osmith, 03/02/2023 09:27 AM) → Revision 3/4 (osmith, 09/22/2023 08:59 AM)
h1. Upgrading eclipse-titan in the Osmocom OBS
This article explains how maintainers of obs.osmocom.org can upgrade the eclipse-titan package.
Running the testsuite against new/different versions of eclipse can be done with *-titan-master in docker-playground (see "this patch":https://gerrit.osmocom.org/c/docker-playground/+/31623).
Requirements:
* dpkg-buildpackage
* dpkg-source
* osc
* uupdate
* wget
1. Create a test project, e.g. home:username:latest
2. Copy the existing package to your test project:
<pre>
$ osc copypac osmocom:latest eclipse-titan home:yourusername:latest
Sending meta data...
Copying files...
<revision rev="1" vrev="1">
<srcmd5>4cdd21667036b92592bc2d5ccdfabdfc</srcmd5>
<version>8.0.0</version>
<time>1677744411</time>
<user>yourusername</user>
<comment>osc copypac from project:osmocom:latest package:eclipse-titan revision:2</comment>
<requestid/>
</revision>
</pre>
3. Checkout your package for local modification:
<pre>
$ mkdir /tmp/obs
$ cd /tmp/obs
$ osc co home:yourusername:latest eclipse-titan
A home:yourusername:latest
A home:yourusername:latest/eclipse-titan
A home:yourusername:latest/eclipse-titan/eclipse-titan_8.0.0-1.debian.tar.xz
A home:yourusername:latest/eclipse-titan/eclipse-titan_8.0.0-1.dsc
A home:yourusername:latest/eclipse-titan/eclipse-titan_8.0.0.orig.tar.bz2
A home:yourusername:latest/eclipse-titan/update.sh
At revision 1.
</pre>
4. Run obs-upgrade-eclipse-titan.sh from osmo-ci.git with the new version (see "tags":https://gitlab.eclipse.org/eclipse/titan/titan.core/-/tags) as argument:
<pre>
$ cd home:yourusername:latest/eclipse-titan
$ …/osmo-ci/contrib/obs-upgrade-eclipse-titan.sh 8.3.0
:: upgrade from 8.0.0 to 8.3.0
:: download titan.core-8.3.0.tar.bz2
…
:: now modify eclipse-titan-8.3.0 (e.g. adjust changelog) and press return when done
</pre>
5. Open a new terminal, adjust the debian changelog (make sure there's a proper version at the top, change UNRELEASED to unstable).
<pre>
$ nvim /tmp/obs/home:yourusername:latest/eclipse-titan/eclipse-titan-8.3.0/debian/changelog
</pre>
6. Back in the first terminal, press return. The new source package will be built:
<pre>
:: build new source package
dpkg-buildpackage: info: source package eclipse-titan
dpkg-buildpackage: info: source version 8.3.0-0
dpkg-buildpackage: info: source distribution unstable
…
dpkg-buildpackage: info: source-only upload (original source is included)
:: clean up extracted dirs
:: clean upstream tarball
:: done!
</pre>
7. Delete files from the old release:
<pre>
$ osc del *8.0.0*
D eclipse-titan_8.0.0-1.debian.tar.xz
D eclipse-titan_8.0.0-1.dsc
D eclipse-titan_8.0.0.orig.tar.bz2
</pre>
8. Add file from the new release:
<pre>
$ osc add *
A eclipse-titan_8.3.0-0.debian.tar.xz
A eclipse-titan_8.3.0-0.dsc
A eclipse-titan_8.3.0.orig.tar.bz2
A titan.core-8.3.0.tar.bz2
</pre>
9. Upload your changes
<pre>
$ osc commit -m "upgrade to 8.3.0"
Deleting eclipse-titan_8.0.0-1.debian.tar.xz
Deleting eclipse-titan_8.0.0-1.dsc
Deleting eclipse-titan_8.0.0.orig.tar.bz2
Sending eclipse-titan_8.3.0-0.debian.tar.xz
Sending eclipse-titan_8.3.0-0.dsc
Sending eclipse-titan_8.3.0.orig.tar.bz2
Sending titan.core-8.3.0.tar.bz2
Transmitting file data ....
Committed revision 2.
</pre>
10. Wait until OBS built a binary package from the source package in the test project.
11. Copy the source package to osmocom:latest:
<pre>
$ osc copypac home:yourusername:latest eclipse-titan osmocom:latest
Copying files...
<revision rev="3" vrev="1">
<srcmd5>8b70f4ede2181d5c51ebd077a1703044</srcmd5>
<version>8.3.0</version>
<time>1677747907</time>
<user>yourusername</user>
<comment>osc copypac from project:home:yourusername:latest package:eclipse-titan revision:2</comment>
<requestid/>
</revision>
</pre>