The ogre-2.1-release repository follows the guidelines of Packaging with Git. There are different permanent branches useful for packaging:
upstream
: the branch host the code coming from the Ogre project. It also has the modifications made by Open Robotics on top of the Ogre code.pristine-tar
: compressed version of upstream branch.master
: upstream branch withdebian/
metadata directory.
Note that the fork is not configured to be able to host changes to source code
directly in repository files. Any modification should happen through patches in
debian/patches
.
To manage Debian release repositories using git the git-buildpackage
tool is
required in the local system together with a checkout of this repository:
sudo apt-get install git-buildpackage
git clone https://github.com/ignition-forks/ogre-2.1-release
The Debian version of the package uses the form: 2.0.9999~20180616~06a386f
:
- First
2.0.9999
means that a snapshot just before2.1
was used from ogre repository. 20180616
date when the source snapshot was taken06a386f
commit hash from the source snapshot from Ogre repository
The repository uses the same changelog for all distributions (a non canonical
way of using this kind of gbp repositories). Since the upstream source code it
is not designed to be modified, new versions usually implies: a new supported
platform or new patches in Debian building system in the master
branch.
To bump revision:
# distro can be any release name of Ubuntu or Debian
gbp dch --force-distribution <distro> --auto
From there are two options: if a changes in Debian packaging need to be released or a new platform needs to be released:
The command should open an editor with the reversion set to something like
-Xubuntu1
while keeping the version still the same. Edit Xubuntu1
to just
use X
+1.
# example of debian/changelog modification
ogre-2.1 (2.0.9999~20180616~06a386f-3ubuntu1) bionic; urgency=medium
<manual edition>
ogre-2.1 (2.0.9999~20180616~06a386f-4) bionic; urgency=medium
The command should open an editor with the reversion set to something like
-Xubuntu1
while keeping the version still the same. Edit Xubuntu1
to leave
the version as it was before:
# example of debian/changelog modification
ogre-2.1 (2.0.9999~20180616~06a386f-3ubuntu1) buster; urgency=medium
<manual edition>
ogre-2.1 (2.0.9999~20180616~06a386f-3) focal; urgency=medium
After preparing the repository in a local system clone all is ready to launch a new release directly in the Jenkins server job:
Login in the server and press Build with Parameters
. The following parameters
needs to be set correctly:
LINUX_DISTRO
(Ubuntu or Debian) andDISTRO
(distribution name) needs to match what is currently in theChangelog
.ARCH
can be set to any particular architecture supported by Ubuntu/Debian beingamd64
,arm64
orarmfh
the main ones.
The build should generate packages and upload the to the stable repository.