Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
e889620ddb
4 changed files with 99 additions and 26 deletions
|
@ -27,6 +27,7 @@ Dokumentace (jak v ``docs/``, tak přímo v kódu) je psaná ve
|
||||||
:titlesonly:
|
:titlesonly:
|
||||||
|
|
||||||
vyvoj
|
vyvoj
|
||||||
|
zavislosti
|
||||||
sphinx
|
sphinx
|
||||||
skripty
|
skripty
|
||||||
modules/modules
|
modules/modules
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
.. Není odkázaná z menu, je to záměr
|
|
||||||
|
|
||||||
Tabulka prerekvizit v různých distribucích
|
|
||||||
=========
|
|
||||||
|
|
||||||
.. admonition:: Metodika
|
|
||||||
|
|
||||||
Na čistém repozitáři (``git clean -fxd``) a čistém systému spouštíme
|
|
||||||
``make/init_local``. Když to spadne, tak do tabulky zapíšeme, co jsme
|
|
||||||
přiinstalovali. Protože větev ``makefiles`` aktuálně není mergenutá do
|
|
||||||
masteru, nefunguje synchronizace flatpages (a stejně nemáme SSH klíč), takže
|
|
||||||
tam ``make/init_local`` sestřelíme a vyzkoušíme, že ``make/test`` spustí
|
|
||||||
testy.
|
|
||||||
|
|
||||||
.. Grafické tabulky (grid-tables, simple-tables) jsou strašný porod vyrábět, dlabu na to a cpu to do CSV…
|
|
||||||
|
|
||||||
.. csv-table:: Prerekvizity v jednotlivých distribucích
|
|
||||||
:header: Distribuce / OS, Repozitář s Py3.9, venv, py knihovny, PostgreSQL knihovna, poznámky
|
|
||||||
|
|
||||||
Ubuntu 22.10, ??, ``python3-venv``, ``python3-dev``, ``libpq-dev``, "Je potřeba zapnout zdroj ``universe`` a nainstalovat kompilátor C (``gcc``)?"
|
|
||||||
Linux Mint 21, ??, ``python3-venv``, ``python3-dev``, ``libpq-dev``, ""
|
|
||||||
Archlinux 2022.11.01, AUR, vestavěný, vestavěné, ``postgresql-libs``, "Je potřeba céčkový kompilátor (``gcc``)"
|
|
||||||
openSUSE Leap 15.4, oficiální (``python39``), předinstalovaný?, ``python39-devel``, ??FIXME!!, "Výchozí verze pythonu je 3.6 a ta je moc stará, potřeba instalovat ``gcc``. Nevím jak sehnat pg_config."
|
|
||||||
Debian 11, "oficiální, výchozí", ??, ??, ??, "Určitě to tam rozběhat jde, protože Gimli. Nejspíš bude relativně podobné Ubuntu."
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ Kromě toho je potřeba mít účet na `Gitee <https://gitea.ks.matfyz.cz>`_, kd
|
||||||
bydlí gitový repozitář s kódem.
|
bydlí gitový repozitář s kódem.
|
||||||
|
|
||||||
.. tip:: Potřebné balíčky v různých distribucích jsou sepsané v :ref:`tabulce
|
.. tip:: Potřebné balíčky v různých distribucích jsou sepsané v :ref:`tabulce
|
||||||
prerekvizit <Tabulka prerekvizit v různých distribucích>`.
|
prerekvizit <Alternativní jména balíčků>`.
|
||||||
|
|
||||||
Doporučené
|
Doporučené
|
||||||
^^^^^^^^^^
|
^^^^^^^^^^
|
||||||
|
|
97
docs/zavislosti.rst
Normal file
97
docs/zavislosti.rst
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
Závislosti webu
|
||||||
|
@@@@@@@@@@@@@@@
|
||||||
|
|
||||||
|
Web ke svému běhu potřebuje různé další programy. Tahle stránka se snaží je pokrýt.
|
||||||
|
|
||||||
|
Stránka je koncipována jako odrážkový seznam balíčků pro Ubuntu s případnými
|
||||||
|
komentáři, na konci stránky jsou uvedena :ref:`jména balíčků <Alternativní jména
|
||||||
|
balíčků>` v různých dalších distribucích. (Seznam mj. cílí na lokální
|
||||||
|
rozchození, proto popisuji Ubuntu a ne Debian. I tak se ale snažíme popsat web
|
||||||
|
v úplnosti.)
|
||||||
|
|
||||||
|
.. I use Arch, btw.
|
||||||
|
|
||||||
|
|
||||||
|
Základ webu
|
||||||
|
===========
|
||||||
|
|
||||||
|
- ``python3`` – Ideálně Python 3.9, jenž je na Gimlim
|
||||||
|
- ``python3-pip`` pro instalaci dalších Pythoních balíčků podle ``requirements.txt``
|
||||||
|
- ``python3-venv``
|
||||||
|
- ``gcc`` – kompilace Pythoních knihoven ze zdrojových distribucí (sdist), možná (neotestováno) jde jako alternativu použít ``python3-wheel`` a stahovat bdists
|
||||||
|
- ``python3-dev`` – taktéž
|
||||||
|
- ``libpq-dev`` do třetice…
|
||||||
|
- ``ghostscript`` TODO konverze PDF v korekturovátku
|
||||||
|
- ``pdflatex`` FIXME! generování obálek a stvrzenek
|
||||||
|
- ``git`` – používán :ref:`Make skripty`
|
||||||
|
- ``locales`` pro české formáty
|
||||||
|
|
||||||
|
Nasazení na produkci / testweb
|
||||||
|
==============================
|
||||||
|
|
||||||
|
(nejsou nutně potřeba k provozu lokální instance)
|
||||||
|
|
||||||
|
- ``rsync``
|
||||||
|
- ``pg_utils`` FIXME
|
||||||
|
- ``htpasswd`` FIXME – aby testweb nepoužívali náhodní kolemjdoucí
|
||||||
|
- ``postgresql-server`` TODO
|
||||||
|
- ``acl`` pro nastavování práv přes ``setfacl``
|
||||||
|
|
||||||
|
Pro testweb je potřeba i všechno pro :ref:`dokumentaci <Dokumentace>`, vizte níž.
|
||||||
|
|
||||||
|
Předpokládá se nasazení v uWSGI pod Nginxem a služba běžící pod systemd, nicméně to už je spíš záležitost infrastruktury a ne specifikum mamwebu.
|
||||||
|
|
||||||
|
Dokumentace
|
||||||
|
===========
|
||||||
|
|
||||||
|
- ``make`` pro zbuildění
|
||||||
|
- Pythoní balíčky podle příslušné části ``requirements.txt``
|
||||||
|
|
||||||
|
Vývojové nástroje
|
||||||
|
=================
|
||||||
|
|
||||||
|
(Nejsou nezbytně nutné, ale předpokládáme jejich užitečnost. Mohou se hodit i na produkci.)
|
||||||
|
|
||||||
|
- ``psql`` TODO pro manuální dotazy do PostgreSQL
|
||||||
|
- ``sqlite3`` TODO totéž pro SQLite3
|
||||||
|
- ``ssh``
|
||||||
|
- ``graphviz`` pro vygenerování schématu
|
||||||
|
- ``rsync``
|
||||||
|
- ``ipython3`` – hezčí interaktivní shell (stačí z ``requirements.txt``)
|
||||||
|
|
||||||
|
Potenciální usnadnění života
|
||||||
|
============================
|
||||||
|
|
||||||
|
(Úplně zbytečné, ale sdílíme pozitivní zkušenosti :-))
|
||||||
|
|
||||||
|
- ``tea`` – CLI klient pro Giteu, aby člověk nepotřeboval otevírat web pro založení PR
|
||||||
|
|
||||||
|
|
||||||
|
Alternativní jména balíčků
|
||||||
|
==========================
|
||||||
|
|
||||||
|
Různé distribuce balí SW různě, takže to, co je v jedné distribuci jeden
|
||||||
|
balíček může být v jiné rozděleno do víc. Pro usnadnění nasazení je tady
|
||||||
|
přehled známých alternativních jmen.
|
||||||
|
|
||||||
|
TODO: tabulka není úplná. Pokud na něco narazíte, tak ji prosím doplňte.
|
||||||
|
|
||||||
|
.. admonition:: Jak se pozná, že web funguje, pro účely tabulky?
|
||||||
|
|
||||||
|
Na čistém repozitáři (``git clean -fxd``) a čistém systému spouštíme
|
||||||
|
``make/init_local``. Když to spadne, tak do tabulky zapíšeme, co jsme
|
||||||
|
přiinstalovali. Protože nefunguje synchronizace flatpages (nemáme SSH klíč),
|
||||||
|
``make/init_local`` sestřelíme při pokusu o synchronizaci a vyzkoušíme, že
|
||||||
|
``make/test`` spustí testy.
|
||||||
|
|
||||||
|
.. Grafické tabulky (grid-tables, simple-tables) jsou strašný porod vyrábět, dlabu na to a cpu to do CSV…
|
||||||
|
|
||||||
|
.. csv-table:: Prerekvizity v jednotlivých distribucích
|
||||||
|
:header: Distribuce / OS, Repozitář s Py3.9, venv, py knihovny, PostgreSQL knihovna, poznámky
|
||||||
|
|
||||||
|
Ubuntu 22.10, ??, ``python3-venv``, ``python3-dev``, ``libpq-dev``, "Je potřeba zapnout zdroj ``universe`` a nainstalovat kompilátor C (``gcc``)?"
|
||||||
|
Linux Mint 21, ??, ``python3-venv``, ``python3-dev``, ``libpq-dev``, ""
|
||||||
|
Archlinux 2022.11.01, AUR, vestavěný, vestavěné, ``postgresql-libs``, "Je potřeba céčkový kompilátor (``gcc``)"
|
||||||
|
openSUSE Leap 15.4, oficiální (``python39``), předinstalovaný?, ``python39-devel``, ??FIXME!!, "Výchozí verze pythonu je 3.6 a ta je moc stará, potřeba instalovat ``gcc``. Nevím jak sehnat pg_config."
|
||||||
|
Debian 11, "oficiální, výchozí", ??, ??, ??, "Určitě to tam rozběhat jde, protože Gimli. Nejspíš bude relativně podobné Ubuntu."
|
||||||
|
|
Loading…
Reference in a new issue