Difference between revisions of "Development/Building Packages"
(Update for new repository structure) |
m (Typo fix) |
||
Line 1: | Line 1: | ||
= How you can build | = 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:
- . Access to a Devuan/Debian system (you can use a VM running Maemo Leste or a Device running Maemo Leste.
- . Source code of a package, obtain either via git or apt source <packagename>.
- . Build a package using dpkg-buildpackage -uc -b (run from source directory)
- . 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 main repository: https://maedevu.maemo.org/leste
- The extras repository: https://maedevu.maemo.org/extras
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:
- maemo/ascii - main branch for Devuan Ascii target
- maemo/ascii-devel - main branch for Devuan Ascii, but possibly with unstable version
- maemo/beowulf - main branch for Devuan Beowulf version of the package
See Development/Branches for more information on the usual branches flow.