Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add remote modules support for OTB nixpkgs #15

Merged
merged 12 commits into from
Aug 31, 2024
Merged

Conversation

daspk04
Copy link
Owner

@daspk04 daspk04 commented Aug 12, 2024

This allows OTB NixPkgs to be built with several remote modules.

daspk04 added 10 commits August 12, 2024 15:24
* Enabled optional integration of various OTB remote modules like MLUtils, Prefetch, and Phenology.
* Add new `otb-dev` package build options for all the remote modules.

 * Also added `otb-dev-docker` for image based on all the remote modules.
* Add OTB_APPLICATION_PATH so that applications are importable via native python api of OTB

* Additionally add a USER as `otbuser` and HOME directory for docker images
* Builds OTB with all the remote modules and also build with minimal modules
* Add documentation for examples on remote modules,

* Add some note on OTBTF related to TF library
@daspk04
Copy link
Owner Author

daspk04 commented Aug 27, 2024

Check regarding LICENSE, may be ask in OTB gitlab and OTBTF :

  • What should be the LICENSE if one is building all from the source ? some ref
  • Possibly add a LICENSE for each of those remote modules separately file similar to how it is done in official OTB GitLab, in that case one has to prepare a separate nix file or json file for each remote module and LICENSE at the beginning of the file.

* [CI] Add AArch64 GitHub Action Workflow

* Add a new GitHub Actions workflow for AArch64 builds using ArchLinux example from https://github.com/marketplace/actions/arm-runner. This prepares an ArchLinux image, sets up the nix environment, and builds the project for AArch64.

* [FIX] Fix Aarch64 workflow build system

* Fix the matrix.machine.platform with aarch64-linux in Nix build commands.

* [FIX] Fix build steps in aarch64 workflow

* Move the 'Build system' task to correctly follow the cache setup.

* [CI] Add permissions to CI workflows and update build steps

* Updated the CI workflows to include `contents: read` and `id-token: write` permissions. Also adjusted build commands to focus on `otb-dev` target and included the use of `magic-nix-cache-action`.

* [CI] Remove deprecated aarch64 GitHub Actions workflow

* The aarch64 GitHub Actions workflow file (.github/workflows/aarch64.yml) was deleted.

* This action is no more needed as the ci.yml works fine with Nix-Magic-Cache

* Rather than building 2 derivation i.e. otb-dev (all modules) and otb (minimal modules) which takes a lot of time for ARM64 build and gets timed out so we build only one derivation i.e otb-dev which contains all the modules.
@remicres
Copy link

Hi @daspk04 I just saw that Mosaic remote module is now deprecated (as part of the OTB now). I am preparing a PR to OTB repo. Regarding the license of otbtf, it is the same as OTB (Apache 2.0) except that INRAE is the owner, not CNES

@daspk04
Copy link
Owner Author

daspk04 commented Aug 29, 2024

Hi @daspk04 I just saw that Mosaic remote module is now deprecated (as part of the OTB now). I am preparing a PR to OTB repo. Regarding the license of otbtf, it is the same as OTB (Apache 2.0) except that INRAE is the owner, not CNES

Thanks @remicres!

Will it possible if you can also confirm if source are correct or should be modified:

LSGRM: The last updated one seems to be in a separate branch named disassembled this branch should be used ?

…readability

* Move the remote module to its own separate file for better readability, also add information regarding remote module code LICENSE and copyright information

* Updated related configurations in `flake.nix` and `docker.nix` to include licensing information and appropriate fetchGit instructions.
@remicres
Copy link

I just have contacted the LSGRM devs to ask them (I don't have followed this project for a while).
A few years ago, inra and irstea have merged (into "inrae") so we will likely have an unique gitlab instance soon... but we don't know when exactly (probably around early 2025). So a lot of these repositories are mirrored, and you can safely use either gitlab.irstea.fr of forgemia.inra.fr at this point (If you have doubt, best is to rely on forgemia.inra.fr though, because it is a bit more stable). I have put otbtf, prefetch, simpleextractiontools, mlutils, and more here https://forgemia.inra.fr/orfeo-toolbox/, I'll do the same after the migration on the future inrae's gitlab

@daspk04
Copy link
Owner Author

daspk04 commented Aug 31, 2024

I just have contacted the LSGRM devs to ask them (I don't have followed this project for a while). A few years ago, inra and irstea have merged (into "inrae") so we will likely have an unique gitlab instance soon... but we don't know when exactly (probably around early 2025). So a lot of these repositories are mirrored, and you can safely use either gitlab.irstea.fr of forgemia.inra.fr at this point (If you have doubt, best is to rely on forgemia.inra.fr though, because it is a bit more stable). I have put otbtf, prefetch, simpleextractiontools, mlutils, and more here https://forgemia.inra.fr/orfeo-toolbox/, I'll do the same after the migration on the future inrae's gitlab

Thanks @remicres !

So then the source I think I have put are correct. I will update LSGRM incase there is any update later. I'll merge this one.

@daspk04 daspk04 merged commit 8c30e66 into main Aug 31, 2024
2 checks passed
@daspk04 daspk04 deleted the add-remote-modules branch August 31, 2024 05:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants