Dokumentace závislostí webu #38
					 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