diff options
Diffstat (limited to 'PACKAGING.md')
-rw-r--r-- | PACKAGING.md | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/PACKAGING.md b/PACKAGING.md new file mode 100644 index 0000000..c862714 --- /dev/null +++ b/PACKAGING.md @@ -0,0 +1,97 @@ +# Windows + +An executable can only be made on a Windows host because the PyInstaller tool (https://www.pyinstaller.org/) does not support cross-compilation. + +1.) Install Python v3.9.x from https://www.python.org/. To make life easier, check the option to add Python to the PATH environment variable. + +2.) Using pip, install pyinstaller and colorama: + +``` + pip install pyinstaller colorama +``` + +3.) Install Cygwin (https://www.cygwin.com/). + +4.) Create the executable with: + +``` + $ ./build_windows_executable.sh +``` + + +# PyPI + +To create package and upload to test server: + +``` + $ sudo apt install python3-virtualenv + $ make -f Makefile.pypi + $ make -f Makefile.pypi uploadtest +``` + +To download from test server and verify: + +``` + $ virtualenv -p /usr/bin/python3 /tmp/pypi_test + $ cd /tmp/pypi_test; source bin/activate + $ pip3 install --index-url https://test.pypi.org/simple ssh-audit +``` + +To upload to production server (hint: use username '\_\_token\_\_' and API token): + +``` + $ make -f Makefile.pypi uploadprod +``` + +To download from production server and verify: + +``` + $ virtualenv -p /usr/bin/python3 /tmp/pypi_prod + $ cd /tmp/pypi_prod; source bin/activate + $ pip3 install ssh-audit +``` + +# Snap + +To create the snap package, run a fully-updated Ubuntu Server 20.04 VM. + +Install pre-requisites with: + +``` + $ sudo apt install make snapcraft + $ sudo snap install review-tools lxd +``` + +Initialize LXD (leave all options default): + +``` + $ sudo lxd init +``` + +Bump the version number in snapcraft.yaml. Then run: + +``` + $ make -f Makefile.snap +``` + +Upload the snap with: + +``` + $ snapcraft login + $ snapcraft upload --release=stable ssh-audit_*.snap +``` + + +# Docker + +Build image with: + +``` + $ make -f Makefile.docker +``` + +Then upload it to Dockerhub with: + +``` + $ make -f Makefile.docker upload +``` |