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ů ` 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 `, 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."