eris/packaging/make-snapcraft.py
Andrew Hamilton 0331a9da1e snap: Start snap support.
- Create a snapcraft.yaml file in snap directory.
  Couldn't put this in packaging directory.
- Use make-snapcraft.py to generate the snapcraft file.
- Use make-snap to make the snap from the snapcraft file.
- Eris is confined to only access projects in home.
- os.setpriority doesn't work in snaps.
- eris-webserver is run as "eris.webserver".
2021-12-05 19:14:56 +10:00

70 lines
1.4 KiB
Python
Executable file

#!/usr/bin/env python3.9
# -*- coding: utf-8 -*-
import textwrap
import eris.__main__
import eris.tools as tools
def main():
lines = eris.__main__.__doc__.splitlines()
summary = lines[2]
description = textwrap.indent("\n".join(lines[2:]), " ")
print(f"""\
name: eris
base: core20
version: 2021.11.29
summary: {summary}
description: |
{description}
grade: devel
confinement: strict
apps:
eris:
command: bin/eris
environment:
PYTHONPATH: $SNAP/lib/python3.9/site-packages:$SNAP/lib/python3.9/dist-packages:$PYTHONPATH
plugs:
- home
webserver:
command: bin/eris-webserver
environment:
PYTHONPATH: $SNAP/lib/python3.9/site-packages:$SNAP/lib/python3.9/dist-packages:$PYTHONPATH
plugs:
- home
- network-bind
passthrough:
layout:
$SNAP/usr/bin/php:
symlink: $SNAP/usr/bin/php7.4
parts:
eris:
plugin: python
source: .
python-packages:
- ./termstr
- ./lscolors
- ./fill3
- ./eris
requirements:
- ./termstr/requirements.txt
- ./fill3/requirements.txt
- ./eris/requirements.txt
build-environment:
- SNAPCRAFT_PYTHON_INTERPRETER: python3.9
stage-packages:
- python3.9-venv
- python3-distutils
- python3-pkg-resources
- """, end="")
print("\n - ".join(sorted(tools.dependencies())))
if __name__ == "__main__":
main()