-
If you do not already have a conda installation you want to reuse, install the Miniforge conda appropriate for your system (Linux
aarch64shown here), ideally not your git clone:wget https://github.com/conda-forge/miniforge/releases/download/26.7.2-0/Miniforge3-Linux-aarch64.sh bash Miniforge3-Linux-aarch64.sh -bfp /your/conda/path rm Miniforge3-Linux-aarch64.sh -
Activate your conda's
baseenvironment:. /your/conda/path/etc/profile.d/conda.sh conda activate base -
Install the condev package into your conda's
baseenvironment.conda install -y maddenp::condevIf you cannot or do not want to install this package into your
baseenvironment, you can install it into a custom environment, e.g.:conda create -y -n condev maddenp::condev conda activate condevHereafter, activate this custom environment instead of
baseforrheoswork. -
In the
rheosgit clone root, create and enter the development shell:make devshell
You will now be inside a shell with the DEV-rheos environment activate. Note that:
- The code under
src/rheosis live-linked into the environment, such that any code changes take immediate local effect. - All runtime and test packages are available, so
maketargets likemake formatandmake test-- which will also be executed during package build and by CI -- function correctly. - You can simply exit the shell to return to your previous shell.
- Future invocations of
make devshellwill be much faster since the development environment will already exist. - If you make changes to files under
recipe/and so need to rebuild the development environment, exit the shell, runconda env remove -y -n DEV-rheos, then runmake devshellagain. Therecipe/meta.jsonfile should be refreshed based on the current contents ofrecipe/meta.yaml, and you should commit these changes. - If you need multiple development environments, you can precede
make devshellwithDEV_ENV_PREFIX=<name>, e.g.DEV_ENV_PREFIX=FOOwill create (or activate if already created) development environmentFOO-rheos. - You can run
conda clean --all --yesto reclaim disk space by purging unused cached packages.