Jonas Havelka
1 year ago
4 changed files with 99 additions and 26 deletions
@ -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." |
|||
|
@ -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 new issue