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