Difference between revisions of "SatNOGS Client Development"
(→satnogs-client) (Tag: Visual edit) |
(Add satnogs-client dev guide) |
||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | == Intro == | + | ==Intro== |
This page describes the setup of a development environment for the | This page describes the setup of a development environment for the | ||
SatNOGS ground station reference setup based on [https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible satnogs-client-ansible]. | SatNOGS ground station reference setup based on [https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible satnogs-client-ansible]. | ||
It is assumed you have already setup your ground station as explained in [[SatNOGS_Client_Ansible]]. | It is assumed you have already setup your ground station as explained in [[SatNOGS_Client_Ansible]]. | ||
− | == gr-satnogs and gr-satnogs-package == | + | ==gr-satnogs and gr-satnogs-package== |
The gnuradio Out-Of-Tree module [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs gr-satnogs] is packaged by [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package gr-satnogs-package]. The gitlab-CI automatically builds the package in docker containers as nightlies and on each release (git-tag, e.g. [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/-/jobs/artifacts/1.3-1/raw/build/debian/output/armhf/gr-satnogs_1.3-1_armhf.deb?job=release-armhf gr-satnogs_1.3-1_armhf.deb]), configured by the [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/blob/master/.gitlab-ci.yml .gitlab-ci.yml]. | The gnuradio Out-Of-Tree module [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs gr-satnogs] is packaged by [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package gr-satnogs-package]. The gitlab-CI automatically builds the package in docker containers as nightlies and on each release (git-tag, e.g. [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/-/jobs/artifacts/1.3-1/raw/build/debian/output/armhf/gr-satnogs_1.3-1_armhf.deb?job=release-armhf gr-satnogs_1.3-1_armhf.deb]), configured by the [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/blob/master/.gitlab-ci.yml .gitlab-ci.yml]. | ||
Line 13: | Line 13: | ||
Building gr-satnogs with gr-satnogs-package can be automated via gitlab-CI, so that binary releases of your modified gr-satnogs module are available to download and install by the satnogs-client-ansible scripts (<code>satnogs-setup</code>). | Building gr-satnogs with gr-satnogs-package can be automated via gitlab-CI, so that binary releases of your modified gr-satnogs module are available to download and install by the satnogs-client-ansible scripts (<code>satnogs-setup</code>). | ||
− | === Steps. === | + | ===Steps.=== |
− | * Fork gr-satnogs | + | *Fork gr-satnogs |
− | * Fork gr-satnogs-package | + | *Fork gr-satnogs-package |
− | * Adjust the repository url of gr-satnogs in [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/blob/master/debian/debian/rules#L22 gr-satnogs-package/debian/debian/rules#L22] | + | *Adjust the repository url of gr-satnogs in [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/blob/master/debian/debian/rules#L22 gr-satnogs-package/debian/debian/rules#L22] |
− | * Adjust the repository url in the version detection in [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/blob/master/.gitlab-ci.yml#L13 gr-satnogs-package/.gitlab-ci.yml#L13] ,[https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/blob/master/.gitlab-ci.yml#L30 #L30] ,[https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/blob/master/.gitlab-ci.yml#L47 #L47] | + | *Adjust the repository url in the version detection in [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/blob/master/.gitlab-ci.yml#L13 gr-satnogs-package/.gitlab-ci.yml#L13] ,[https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/blob/master/.gitlab-ci.yml#L30 #L30] ,[https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/blob/master/.gitlab-ci.yml#L47 #L47] |
− | * Wait for the gitlab-CI to build your first version of gr-satnogs-package (~45 min) | + | *Wait for the gitlab-CI to build your first version of gr-satnogs-package (~45 min) |
− | * Install your freshly built gr-satnogs-package by pointing the <code>SATNOGS_RADIO_GR_SATNOGS_PACKAGE</code> in satnogs-setup to the built artifact/debian package of your architecture (e.g. <code>armhf</code>, <code>amd64</code>). The build artifacts are available in your gr-satnogs-package fork by clicking CI/CD, selecting there the latest pipeline, the latest build-job and then in the right column <code>Browse</code>, path <code>build/debian/output/$your_arch/gr-satnogs_$your_arch.deb</code> | + | *Install your freshly built gr-satnogs-package by pointing the <code>SATNOGS_RADIO_GR_SATNOGS_PACKAGE</code> in satnogs-setup to the built artifact/debian package of your architecture (e.g. <code>armhf</code>, <code>amd64</code>). The build artifacts are available in your gr-satnogs-package fork by clicking CI/CD, selecting there the latest pipeline, the latest build-job and then in the right column <code>Browse</code>, path <code>build/debian/output/$your_arch/gr-satnogs_$your_arch.deb</code> |
− | == satnogs-client == | + | ==satnogs-client== |
The [https://gitlab.com/librespacefoundation/satnogs/satnogs-client satnogs-client] is a python package, and gets installed by satnogs-setup in a python virtual environment using [https://pip.pypa.io/ pip]. The development branch currently is <code>master</code> and if there is a need commits should be ported on branch <code>0</code>. | The [https://gitlab.com/librespacefoundation/satnogs/satnogs-client satnogs-client] is a python package, and gets installed by satnogs-setup in a python virtual environment using [https://pip.pypa.io/ pip]. The development branch currently is <code>master</code> and if there is a need commits should be ported on branch <code>0</code>. | ||
Line 28: | Line 28: | ||
Please note that satnogs-client and gr-satnogs must be installed in compatible versions, due to (frequent) changes in the arguments available in the demodulation scripts, see [[Compatibility]]. | Please note that satnogs-client and gr-satnogs must be installed in compatible versions, due to (frequent) changes in the arguments available in the demodulation scripts, see [[Compatibility]]. | ||
− | === Steps. === | + | ===Steps.=== |
TODO. | TODO. | ||
+ | # Fork [https://gitlab.com/librespacefoundation/satnogs/satnogs-client satnogs-client] | ||
+ | # Clone the repository on your development desktop | ||
+ | # Create a new branch (e.g. <code>pr/myfancypatch</code>) with your changes & push it | ||
+ | # Run satnogs-setup and change the value of SATNOGS_CLIENT_URL to point to your repository as described in [[SatNOGS_Client_Ansible#Advanced_Setup]] | ||
+ | # Hit "Apply" in satnogs-setup to finally install your satnogs-client version | ||
+ | # Profit. | ||
+ | |||
+ | |||
+ | |||
+ | <br /> | ||
[[ Category:Development ]] | [[ Category:Development ]] |
Revision as of 21:41, 13 November 2019
Intro
This page describes the setup of a development environment for the SatNOGS ground station reference setup based on satnogs-client-ansible. It is assumed you have already setup your ground station as explained in SatNOGS_Client_Ansible.
gr-satnogs and gr-satnogs-package
The gnuradio Out-Of-Tree module gr-satnogs is packaged by gr-satnogs-package. The gitlab-CI automatically builds the package in docker containers as nightlies and on each release (git-tag, e.g. gr-satnogs_1.3-1_armhf.deb), configured by the .gitlab-ci.yml.
To use a modified gr-satnogs module on a SatNOGS ground station, it’s recommended to build it using the gr-satnogs-package scripts. Otherwise you can build gr-satnogs manually and adjust the installation paths to match the paths specified by gr-satnogs-package.
Building gr-satnogs with gr-satnogs-package can be automated via gitlab-CI, so that binary releases of your modified gr-satnogs module are available to download and install by the satnogs-client-ansible scripts (satnogs-setup
).
Steps.
- Fork gr-satnogs
- Fork gr-satnogs-package
- Adjust the repository url of gr-satnogs in gr-satnogs-package/debian/debian/rules#L22
- Adjust the repository url in the version detection in gr-satnogs-package/.gitlab-ci.yml#L13 ,#L30 ,#L47
- Wait for the gitlab-CI to build your first version of gr-satnogs-package (~45 min)
- Install your freshly built gr-satnogs-package by pointing the
SATNOGS_RADIO_GR_SATNOGS_PACKAGE
in satnogs-setup to the built artifact/debian package of your architecture (e.g.armhf
,amd64
). The build artifacts are available in your gr-satnogs-package fork by clicking CI/CD, selecting there the latest pipeline, the latest build-job and then in the right columnBrowse
, pathbuild/debian/output/$your_arch/gr-satnogs_$your_arch.deb
satnogs-client
The satnogs-client is a python package, and gets installed by satnogs-setup in a python virtual environment using pip. The development branch currently is master
and if there is a need commits should be ported on branch 0
.
Branch 0
It's the original client implementation and features a local web interface. A new implementation which aimed at a more modular architecture and doesn't include the local web interface anymore is developed in the master
branch.
Please note that satnogs-client and gr-satnogs must be installed in compatible versions, due to (frequent) changes in the arguments available in the demodulation scripts, see Compatibility.
Steps.
TODO.
- Fork satnogs-client
- Clone the repository on your development desktop
- Create a new branch (e.g.
pr/myfancypatch
) with your changes & push it - Run satnogs-setup and change the value of SATNOGS_CLIENT_URL to point to your repository as described in SatNOGS_Client_Ansible#Advanced_Setup
- Hit "Apply" in satnogs-setup to finally install your satnogs-client version
- Profit.