Byl zveřejněn program konference Installfest 2026. Konference proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13. Vstup zdarma.
Byla vydána Java 26 / JDK 26. Nových vlastností (JEP - JDK Enhancement Proposal) je 10. Odstraněno bylo Applet API.
Byla vydána nová verze 260 správce systému a služeb systemd (Wikipedie, GitHub). Odstraněna byla podpora skriptů System V. Aktualizovány byly závislosti. Minimální verze Linuxu z 5.4 na 5.10, OpenSSL z 1.1.0 na 3.0.0, Pythonu z 3.7.0 na 3.9.0…
Byla vydána nová verze 5.1 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v poznámkách k vydání. Videopředstavení na YouTube.
Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.
Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,
… více »Vědci z univerzity La Sapienza v Římě vyvinuli systém, který dokáže identifikovat jednotlivce pouze na základě toho, jak narušují signály Wi-Fi. Autoři tuto novou technologii nazvali WhoFi. Na rozdíl od tradičních biometrických systémů, jako jsou skenery otisků prstů a rozpoznávání obličeje, nevyžaduje tato metoda přímý fyzický kontakt ani vizuální vstupy. WhoFi může také sledovat jednotlivce na větší ploše než kamera s pevnou polohou; stačí, je-li k dispozici Wi-Fi síť.
SuperTux (Wikipedie), tj. klasická 2D plošinovka inspirovaná sérií Super Mario, byl vydán v nové verzi 0.7.0. Videoukázka na YouTube. Hrát lze i ve webovém prohlížeči.
Ageless Linux je linuxová distribuce vytvořená jako politický protest proti kalifornskému zákonu o věkovém ověřování uživatelů na úrovni OS (AB 1043). Kromě běžného instalačního obrazu je k dispozici i konverzní skript, který kompatibilní systém označí za Ageless Linux a levné jednodeskové počítače v ceně 12$ s předinstalovaným Ageless Linuxem, které se chystají autoři projektu dávat dětem. Ageless Linux je registrován jako operační
… více »PimpMyGRC upravuje vzhled toolkitu GNU Radio a přidává alternativní barevná témata. Primárním cílem autora bylo pouze vytvořit tmavé prostředí vhodné pro noční práci, nicméně k dispozici je nakonec celá škála barevných schémat včetně možností různých animací a vizuálních efektů (plameny, matrix, bubliny...), které nepochybně posunou uživatelský zážitek na zcela jinou úroveň. Témata jsou skripty v jazyce Python, které nahrazují
… více »Subversion je nástroj pro správu verzí software. Je to přímý konkurent CVS, kterou jistě všichni velmi dobře znají. Snaží se implementovat většinu funkcí z CVS, dokonce i podobně ovládaných, ale je napsána kompletně od nuly s důrazem na odstranění některých nedostatků CVS. Licence Subversion je stejná jako "Apache Software Foundation license" s tím rozdílem, že vlastníkem autorských práv je firma CollabNet. Je tedy možné ji volně používat a zdrojové kódy jsou samozřejmě k dispozici.
Jak možná někteří tuší, již velmi brzo vyjde první oficiální verze Subversion. Verze 1.0 by měla vyjít 23. února. Termín se samozřejmě může lehce změnit, ale podle mých zkušeností tým okolo Subversion termíny opravdu dodržuje. Vydání verze 1.0 nasvědčuje i fakt, že koncem loňského roku byla z verze 0.35 udělána "beta verze"(1.0 stabilization) a koncem ledna se verze 0.37 stala prvním "release candidate".
Ze seznamu, který je na domovské stránce Subversion, vyberu jen ty podle mého názoru nejzajímavější:
K poslednímu bodu raději podám bližší vysvětlení. Tato vlastnost vychází z myšlenky, že uživatele příliš nezajímá v jaké verzi je který soubor, ale v jaké verzi se nachází celá repository nebo jak vypadal soubor ve verzi programu xxx. Logy se tedy neukládají ke každému souboru zvlášť, ale je jeden log pro každou verzi. Z toho plyne, že číslování verzí je u Subversion poněkud rychlejší než u CVS, protože jakákoli změna na libovolném souboru zvedne číslo verze u všech ostatních, tedy i nezměněných.
Například samotná Subversion je dnes ve verzi 8578, přičemž poslední změna proběhla na jediném souboru z jedné kapitoly dokumentace. Nebo třeba soubor LICENSE byl podle logů za celou dobu vývoje změněn celkem pouze šestkrát, a přesto má také číslo verze 8578. Tento způsob verzování má své zastánce, ale samozřejmě i odpůrce. Někde se to hodí více, někdě méně, může se nám to líbit, ale také nemusí, a to je tak všechno, co s tím můžeme udělat (tm).
Nejjednoduší a s největší pravděpodobností úspěchu je instalace z binárních balíků. Na stránkách projektu je možné najít balíky takřka pro libovolný systém. Jmenovitě - RedHat, Fedora, Debian, SuSE, [Free|Net|Open]BSD, ale i Mac OS X nebo Windows. Vzhledem k tomu, že Subversion je stále ve vývoji a přímo využívá knihovny APR (Apache Portable Runtime), je potřeba nainstalovat i tuto knihovnu v aktuální verzi. Dále pro přístup přes http je potřeba mít aktuální verzi balíků httpd a neon. Subversion také vyžaduje Berkeley DB ve verzi 4.0.14 nebo vyšší (doporučuje se však současná 4.2.52). Ve většině distribucí je minimálně verze 4.0.14 nainstalována.
Instalace na systémech s balíčkovacím systémem 'rpm' by tedy měla probíhat
pomocí příkazu rpm -ivh subversion*.i386.rpm. Stejně tak i pro
další potřebné balíky. Pokud budete chtít nejen klienta, ale i vytvořit
vlastní repository, je potřeba nainstalovat i balík
subversion-server*.i386.rpm,
který obsahuje nástroje pro administraci repository a modul pro httpd.
Na Debianu by mělo stačit apt-get install subversion a
make install na BSD systémech (na BSD jsem to sice
nezkoušel, ale věřím, že to funguje, protože mě to zanedlouho
čeká).
Instalace ze zdrojových souborů je o něco zajímavější, ale pro zkušenější
uživatele by to neměl být až takový problém. Když budete mít štěstí a
splněné všechny závislosti, tak bude stačit klasické ./configure
&& make && make install s případnými
následujícími volbami pro 'configure':
--enable-maintainer-mode - zapíná debug mód--with-ssl - komunikace přes ssl s knihovnou neon--with-zlib - podpora pro odesílání komprimovaných dat--with-apxs="/cesta/ke_knihovnám_httpd"--with-berkeley-db="/cesta/k_berkeley_db"Nicméně popisovat všechny možnosti instalace nemá smysl, protože by to
zabralo celý článek - a navíc je velmi detailně popsána v souboru INSTALL.
Jestli se instalace povedla, se dá jednoduše ověřit následovně:
svnadmin create /cesta/k_repository/ |
a mělo by se vypsat "Checked out revision 0".
Pokud máte správně nainstalován server i klienta, mělo by vše proběhnout
bez chyb. Pokud máte jen klienta a nechcete server, můžete zkusit
například:
svn co http://svn.collab.net/repos/svn/trunk svn
|
což by mělo do adresáře 'svn' stáhnout aktuální verzi Subversion.
Co to všechno znamená si v zápětí povíme. Jen předešlu, že pokud se chcete dozvědět pouze to, jak se ovládá Subversion klient, tak si budete muset počkat na příští díl. Zbytek tohoto už bude jen o serverové části.
Pokud nechcete pouze stahovat aktuální verze programů a hodláte použít Subversion jako správce verzí pro své vlastní výtvory či cokoli jiného, musíte si vytvořit vlastní repository a nějak si ji zpřístupnit, pokud možno nejen lokálně.
Vytvořit novou repository je velmi jednoduché. Stačí k tomu příkaz:
svnadmin create /cesta/k_repository/. Tím se na daném místě
vytvoří nová repository, ke které se dá přistupovat celkem čtyřmi různými
způsoby. A to (způsob - adresa):
file:///cesta/k_repository/svn+ssh://[uzivatel@]adresa_serveru/cesta/k_repositorysvn://adresa_serveru/cesta
(viz dále)http://adresa_serveru/cesta
(viz dále)U lokálního přístupu je třeba mít na paměti, že cesta se zadává v
URI (Unified Resource Identifier) formátu a tři lomítka za sebou tudíž
nejsou překlep. Přístup přes ssh je vcelku intuitivní. Jen doplním, že je
možné použít proměnnou SVN_SSH, která bude definovat ssh klienta a
jeho parametry. Tedy například:
export SVN_SSH="/usr/local/bin/ssh -l user -p 2222"
|
Pro oba dva případy stačí, pokud má uživatel na serveru účet a práva k souborům z adresáře repository. Zbylé dva případy jsou o něco veselejší.
Ke spuštění samostatného interního serveru slouží program 'svnserve'. Má jen pár parametrů, které je rozumné použít.
-d-r/home/user/repository a
použijeme svnserve -d -r /home/user/, zkrátí se cesta na
svn://adresa_stroje/repository/ místo
svn://adresa_stroje/home/user/repository--listen-port--listen-hostAby bylo možné s repository trochu pracovat, je potřeba definovat nějaká
přístupová práva. Nastavení se provádí v souboru
/cesta/k_repository/conf/svnserve.conf, kde je potřeba dopsat, resp.
odkomentovat, několik řádků.
[general]
|
Znamená to, že anonymní uživatelé budou mít právo pouze ke čtení a
autentizovaní uživatelé budou mít i právo zápisu. Soubor s hesly a jmény
oprávněných uživatelů je soubor_s_uzivateli a při výzvě k autentizaci
bude uživatel požádán o přihlášení k doméně moje repository.
Soubor s hesly a uživateli má také velmi jednoduchou strukturu.
[users]
|
Hesla jsou v textové podobě. Je tedy nutné rozumně nastavit přístupová práva k souboru. Nicméně představu o bezpečnosti ať si udělá každý sám.
Poslední možností je přístup přímo přes http nebo https. Pro použití
je třeba mít nainstalován httpd (v současné chvíli 2.0.48) a trochu si
pohrát s jeho konfiguračním souborem httpd.conf. Pokud máte správně
nainstalován subversion-server, měli byste mít v adresáři s moduly
web serveru (na RH třeba /usr/lib/httpd/modules/) soubor mod_dav_svn.so. V httpd.conf je třeba tento modul nahrát, a to řádkem:
LoadModule dav_svn_module modules/mod_dav_svn.so
|
Dále je nutné říct webserveru, kde se nachází repository a kdo k ní může
přistupovat. To se dělá zápisem do httpd.conf:
<Location /repository>
|
Tyto řádky zařídí přístup k repository na adrese
http://adresa_stroje/repository, ačkoli fyzicky jsou někde na
/cesta/k_repository.
A nakonec ještě zajištění přístupu oprávněným uživatelům.
<Location /repository>
|
Toto zajistí základní autentizaci http serveru s tím, že vyjma akcí
GET PROPFIND OPTIONS REPORT smějí k repository přistupovat pouze
oprávnění uživatelé vypsaní v souboru /cesta/k_repository/svn-auth-file.
Vyjmenované akce odpovídají pouze čtení, které smějí provádět všichni.
Do souboru /cesta/k_repository/svn-auth-file se uživatelé přidávají
pomocí příkazu:
htpasswd '/cesta/k_repository/svn-auth-file' [-m] user
|
Při vytváření tohoto souboru je potřeba použít přepínač -c (create) a doporučuje se používat -m pro ukládání hesel pomocí hashovací funkce
MD5.
S bezpečným přístupem přes http je možné dělat ještě spoustu dalších věcí (ssl, omezení přistupu k jednotlivým adresářům, definování skupin,..), ale to je na delší povídání a v dokumentaci k Subversion a k autentizaci http serveru je toho opravdu spoustu k nastudování.
Pokud je http přístup dobře nastaven, je samozřejmě možné k repository přistupovat přímo z libovolného webového prohlížeče. Výpis je celkem strohý a bez použití nadstavby je možné zobrazovat pouze poslední verzi. Je ale možné použít program ViewCVS (který uživatelé CVS dobře znají) a tím zobrazovat celou repository, včetně její historie a rozdílů mezi verzemi.
Repository jsme vytvořili a zpřístupnili, tak si ještě povíme, jak ji zazálohovat a posléze obnovit. Jsou to velmi jednoduché operace, každá na jeden příkaz:
svnadmin dump /cesta/k_repository/ | gzip -9 > backup.gz
|
uloží a gzipem zabalí celou repository do souboru backup.gz a
gunzip -c backup.gz | svnadmin load /cesta/k_repository/
|
rozbalí soubor backup.gz a v adresáři /cesta/k_repository/ vytvoří repository s jeho obsahem.
Tím jsme probrali instalaci a přípravu repository k rozumné práci. Možná, že to bylo trochu náročnější, ale příští díl už se budeme věnovat práci s klientem. Bude to rozhodně klidnější a zajímavější čtení.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
SVN umi nahrazovat klicova slova na zpusob CVS, jenom mu to musime rici - bohuzel vsak pro kazdy soubor zvlast. Deje se tak pomoci properties.
Umi nahrazovat nasledujici:
Interpretovani $Id$ a $Author$ v souboru test.pm v aktualnim adresari zajistime pomoci
svn propset svn:keywords "LastChangedDate Author" test.pm
Ach jo, zase jsem si to po sobe poradne neprecetl
Takto zapsany prikaz samozrejme zajisti interpretaci $LastChangedDate$ a $Author$. Spravne tam melo byt
svn propset svn:keywords "Id Author" test.pm
enable-auto-props = yes [auto-props] *.c = svn:eol-style=native;svn:keywords="Date rev Author Id" *.cpp = svn:eol-style=native;svn:keywords="Date rev Author Id" *.h = svn:eol-style=native;svn:keywords="Date rev Author Id" *.hpp = svn:eol-style=native;svn:keywords="Date rev Author Id"pak pro vsechny cpp,c,h a hpp soubory budou automaticky tyhle props nastavovany (bez zasahu uzivatele) a $Id$ bude v techhle souborech fungovat.