Difference between revisions of "Development/Building Packages"

From Maemo Leste Wiki
Jump to navigationJump to search
(Update for new repository structure)
m (Typo fix)
Line 1: Line 1:
= How you can build package =
= How you can build packages =


Building a packages is easier than one might think, it requires roughly the following steps:
Building a packages is easier than one might think, it requires roughly the following steps:

Revision as of 21:08, 3 March 2020

How you can build packages

Building a packages is easier than one might think, it requires roughly the following steps:

  1. . Access to a Devuan/Debian system (you can use a VM running Maemo Leste or a Device running Maemo Leste.
  2. . Source code of a package, obtain either via git or apt source <packagename>.
  3. . Build a package using dpkg-buildpackage -uc -b (run from source directory)
  4. . Optionally install build dependencies with apt (dpkg-buildpackage will tell you)

You can now install the package you have just built with dpkg -i somename.deb.

Also see: https://wiki.debian.org/HowToPackageForDebian

Submitting changes

If you make changes to a package, please submit a pull request for the repository of that package, likely: https://github.com/maemo-leste/PACKAGENAME

For now, we will take care of updating tags and branches.


How packages end up in the repository

There are currently two repositories:

The packages in the extras repository are not core, but useful applications nonetheless.

The codenames and an /etc/apt/sources.list file entry would look like the following:

deb https://maedevu.maemo.org/leste ascii main contrib non-free

deb https://maedevu.maemo.org/extras ascii main contrib non-free

Packages in this repository get build by Jenkins, to which a select group of people has access. (Parazyd, Wizzup, Spinal84)


How packages are built using Jenkins

Read only access to the http frontend: https://phoenix.maemo.org/ (write-access can be granted)

All packages are hosted on https://github.com/maemo-leste and a current list of all the packages in Jenkins can be found here:

https://github.com/maemo-leste/jenkins-integration/blob/master/config.py

Every repository has a branch for each release, for example:

  1. maemo/ascii - main branch for Devuan Ascii target
  2. maemo/ascii-devel - main branch for Devuan Ascii, but possibly with unstable version
  3. maemo/beowulf - main branch for Devuan Beowulf version of the package

See Development/Branches for more information on the usual branches flow.