97 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| 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."
 | ||
| 
 | 
