Common coding tasks¶
Adding a new permission¶
- Set the permission’s default value, description, and other attributes in the permissions module
- Tell subuser how to apply the permission in the runtime class
- Test your permission by adding it to the all-permissions image in the test suit and running the test suit.
Running the test suit¶
In the root source directory run:
subuser dev texttest-dev
To run the xpra-bridge test suit run:
./logic/test xpra-bridge
Building the docs¶
In order to build the docs, you must have the subuser-standard within the docs directory. In order to get the subser-standard issue:
cd ~/<subuser-git-repo>/docs
git clone https://github.com/subuser-security/subuser-standard.git
To build the docs, cd to this repositories root, run subuser dev docs
and run make html
in the docs directory:
cd ~/<subuser-git-repo>/
subuser dev docs-dev
cd docs
make html
Profiling¶
Running a built in command, with the exception of test
, with the SUBUSER_RUN_PROFILER
environment variable set will run those commands and print profiler output once the command has finnished.
Debugging the XPRA bridge¶
If you set the SUBUSER_DEBUG_XPRA
environment variable then XPRA logs will be left in ~/.subuser/volumes/xpra/<subuser-name>/xpra-home/
. XPRA will also spew out a bunch of garbage to the screen that you can read through.
Running with a higher verbosity level¶
Set the SUBUSER_VERBOSITY
environment variable to 3 to see more messages. The default is 2. 1 is very terse.
Prepairing a release¶
Run the pre-release checklist by running the pre-release script.
Bump the
VERSION
file.Tag release:
$ git tag -s major.minor.reallyminor
Make packages and test them:
$ make packages $ su # pip3 uninstall subuser # pip3 install ./dist/subuser-0.5.8-py3-none-any.whl
Deploy everything:
$ make deploy $ git push origin 0.5.8