29. 1. 2015 :: Vývoj pokračuje!
Vývoj knihovny inotify-cxx a aplikace incron pokračuje na https://github.com/ar-/incron. Chyby prosím hlaste tam. Budeme vám vděčni za jakoukoli pomoc při vývoji.
2. 11. 2014 :: Projekt ukončen
Projekt byl ukončen kvůli nedostatku času na další vývoj a údržbu. Navíc crowdfundingová kampaň zůstala zcela bez odezvy - nevybral se ani cent. Máte-li zájem v projektu pokračovat, pište prosím na devel@aiken.cz. Zdrojové kódy jsou svobodné jako svoboda slova a zůstanou i nadále dostupné v SVN repozitáři.
28. 7. 2013 :: Rekurzivní sledování může být už brzy. Přispějte prosím.
Na serveru Indiegogo byla založena kampaň na implementaci rekurzivního sledování podadresářových stromů – tedy přesně té funkce, který v programu incron tolik chybí. Máte-li zájem o brzkou implementaci této funkce zvažte prosím příspěvek. Podrobnější informace najdete na stránce kampaně.
7. 4. 2012 :: incron 0.5.10 vydán znovu
Kvůli chybnému číslu verze v některých souborech musel být incron 0.5.10 vydán znovu.
5. 4. 2012 :: Vydány inotify-cxx 0.7.4 a incron 0.5.10
Byly vydány nové verze implementace inotify-cxx (0.7.4) a programu incron (0.5.10). Některé věci (např. padání při EAGAIN ve volání poll()) byly opraveny již nyní, další budou řešeny v příští verzi.
9. 12. 2009 :: Vydáno inotify-cxx 0.7.3
Byla vydána nová verze inotify-cxx. Od té předchozí se liší pouze "čistším řešením" direktiv include.
21. 6. 2009 :: Vydán incron 0.5.9
Byla vydána nová opravná verze programu incron. Díky lidem, kteří ochotně hlásí chyby a posílají patche na jejich opravu, byly opraveny dvě dlouho přetrvávající chyby a přidána dvě malá vylepšení.
29. 12. 2008 :: Vydán incron 0.5.8
Byla vydána opravná verze programu incron. Obsahuje opravy tří ohlášených chyb.
27. 7. 2008 :: SVN repozitář pro incron
Zdrojové kódy všech verzí programu incron nyní najdete ve veřejném repozitáři SVN (Subversion) na adrese svn://svn.aiken.cz/public/ (jen SVN protokol; HTTP zatím není k dispozici). V tomto repozitáři najdete také inotify-cxx a některé další programy.
9. 7. 2008 :: incron není mrtvý
I když to třeba vypadá jinak, program incron (ani inotify-cxx) rozhodně není mrtvý. Bohužel se poněkud zadrhl vývoj rekurzivního sledování celých stromů, ale probíhá stále příjem hlášení o chybách. Protože už se nějaké chyby nahromadily, vyjde v blízké době aspoň opravná verze incron 0.5.8, která by měla opravovat mnohé z hlášených chyb.
17. 2. 2008 :: Koncepce rekurzivního monitoringu
Protože již za několik dní vyjde první verze inotify-cxx s podporou rekurzivního monitoringu (umožňujícího sledovat celé adresářové podstromy), je vhodný čas přiblížit si, jak je to celé navrženo.
Důležité pojmy:
- fyzická cesta - cesta sledovaná na úrovni jádra (technologie inotify); má přidělen watch deskriptor, stejná cesta se může na stejném souborovém deskriptoru vyskytnout pouze jednou. Při rekurzivním sledování se fyzické cesty vytvářejí pouze k adresářům.
- logická cesta - cesta sledovaná na úrovni uživatele; může zahrnovat jeden soubor, ale i celý adresářový podstrom
- seznam fyzických cest - datová struktura spravující fyzické cesty pro souborový deskriptor
- reverzní mapování - relace umožňující přístup k logickým cestám podle fyzické cesty
Funguje to tak, že si uživatel registruje ke sledování různé logické cesty. Mechanismus pro ně vytváří všechny potřebné fyzické cesty - než ale nějakou vytvoří, nejdřív se vždy podívá, jestli už tato neexistuje. Pokud fyzická cesta již existuje, pouze se aktualizuje její maska podle požadovaných událostí ke sledování.
Přijde-li událost, předá se nejdřív ke zpracování všem logickým cestám, které obsahují příslušnou fyzickou cestu této události. Pak se událost zpracuje interně, tedy vytvoří se nebo zruší příslušné fyzické cesty. Z vnějšího pohledu to znamená, že se nejdřív vloží do fronty všechny objekty událostí a následně se provede vnitřní zpracování.
Uživatel dostane událost přes standardní objekt InotifyEvent
, s tím, že
je v něm uložena cesta k souboru, kde k události došlo. Chová se to tedy
navenek úplně stejně jako dříve, jen lze sledovat celé podstromy.
4. 9. 2007 :: Vydán incron 0.5.7
Byla vydána nová verze programu incron. Obsahuje pouze menší opravy. Větší změny budou začleněny až do verze 0.6.0.
16. 5. 2007 :: E-mailová konference (mailing list) pro incron
incron má nyní svoji e-mailovou konferenci. Můžete ji použít k diskusím o projektech incron a inotify-cxx a o technologii inotify, k požadavkům na nové funkce, řešení problémů apod. Instrukce k použití jsou umístěny na příslušné stránce.
18. 4. 2007 :: Vydán incron 0.5.6
Kvůli kompilačním problémům dosavadních verzí na Debian Sarge byla vydána nová verze programu incron (založená na inotify-cxx 0.7.2).
18. 4. 2007 :: Vydáno inotify-cxx 0.7.2
Bylo vydáno inotify-cxx 0.7.2. Tato verze přidává #include <stdint.h>
. Mělo by to odstranit problémy s kompilací na Debian Sarge.
7. 4. 2007 :: Novinky pomocí RSS
Chcete-li se nechat informovat o změnách na této stránce, můžete nyní použít RSS 2.0. Odkaz najdete v pravém horním rohu, nebo můžete použít příslušnou funkci vašeho prohlížeče (k nakládání s alternativním obsahem).
21. 3. 2007 :: inotify-cxx a incron na SourceForge.net
SourceForge.net je známý server poskytující širokou škálu služeb pro vývoj a distribuci svobodného softwaru. Mnoho uživatelů hledá programy právě tam. Proto nyní můžete najít inotify-cxx i incron také na tomto serveru.
17. 3. 2007 :: Webové stránky v češtině
Vzhledem k českému původu programů inotify-cxx a incron už bylo poněkud ostudné, že si čeští uživatelé nemohli přečíst informace o těchto programech ve své mateřštině. Nyní je tomu konec - od dnešního dne jsou celé webové stránky kromě angličtiny i v češtině. Server by měl automaticky zvolit správnou jazykovou verzi podle nastavení prohlížeče. Pokud tak neučiní, můžete si vybrat jazyk na stránkce vpravo nahoře.
17. 2. 2007 :: Návrh formátu pro tabulky incrontab
Kromě jiných změn, incron 0.6.0 bude používat vylepšený formát tabulek. Hlavním cílem je umožnit komentáře, přidat možnost přenastavit proměnné prostředí, a přesněji definovat, co je a co není platné.
Aktuální návrh vypadá takto (v ABNF - RFC 2234):
table = row 1*br row = comment | envvar | rule comment = *WSP '#' *(^br) envvar = *WSP name *WSP '=' value *WSP name = 1*(ALPHA | DIGIT | "_") value = *(^br) rule = *WSP abspath *WSP mask *WSP cmdline *WSP abspath = "/" *(%x01-09 | %x0a-0b | %x0d-ff) mask = maskitem *("," maskitem) maskitem = 1*(DIGIT) | symbol symbol = ... ; závisí na systému cmdline = cmd [arg *(*WSP arg)] br = CR | LF | CRLF
Tento formát předpokládá, že tabulky mohou používat kterékoli legální schéma konců řádků (CR, LF, CRLF). Symboly inotify zde nemohou být definovány, protože se mohou mezi různými hlavičkovými soubory lišit. Specifikace masky (vyjádřená číselně) je omezena na 32bitové číslo bez znaménka. Proměnné prostředí definované v tabulce ovlivňují všechny následující řádky, pokud nejsou později předefinovány.
Najdete-li v této specifikaci chybu nebo máte nějaký návrh, použijte prosím systém sledování chyb. Díky.
14. 2. 2007 :: Vydán incron 0.5.5
Jedna chyba spojená s proměnnými prostředí nestačí.
Přestože incrontab -e -u <user>
není moc častým
způsobem použití programu incrontab, někdy se může hodit.
Jenže chyba v programu způsobovala, že se to chovalo
podivně. Proměnné prostředí byly špatně nastavené
(např. HOME=/root
namísto něčeho jiného) a proto některé
editory zkoušely přistupovat k souborům roota apod.
Tato verze opravuje také nefunkčnost -V
(--version
) u programů
incrond i incrontab.
11. 2. 2007 :: Vydán incron 0.5.4
Kvůli dvěma chybám byla vydána další opravná verze.
Opravuje přetrvávání systémových proměnných (těch, které má k dispozici
incrond) ve spouštěných procesech, a také drobnou chybu v souboru
s příkladem konfigurace. Další informace o současném chování
ohledně systémových proměnných najdete v
FAQ
a v manuálové stránce incrond(8)
.
9. 2. 2007 :: Opětovné vydání programu incron 0.5.3
Pokud jste si stáhli incron 0.5.3 před 14. hodinou UTC (tedy před 15.
hodinou středoevropského času) 9.2.2007, mohli jste narazit na problém
s chybějícím souborem incron.conf.5
(manuálová stránka pro incron.conf).
Problém byl ohlášen (díky patří curxovi) a opraven.
Stáhněte si prosím příslušný balík znovu.
8. 2. 2007 :: Vydán incron 0.5.3
Je tu nová opravná verze. Řeší jednu velice nepříjemnou chybu, která způsobovala, že nově vytvořené tabulky nebyly v některých případech načteny. Verze opravuje i několik dalších chyb (např. v dokumentaci a také jeden zcela neškodný únik paměti).
4. 2. 2007 :: incron ve Fedora Extras
incron je nyní k dispozici v podobě RPM balíků pro systémy Fedora 5 a 6. Můžete si je stáhnout z hlavního serveru a jeho zrcadel (taktéž i pomocí programu yum atd.) Zasloužil se o to Ruben Kerkhof.
4. 2. 2007 :: Vydán incron 0.5.2
Tato verze obsahuje jen dvě malé opravy. Pouze mění oprávnění k souboru zámku na 0644 (aby PID procesu incrond mohli číst i ostatní uživatelé) a opravuje chybné hlášení případu, kdy se uživatel pokusí odstranit neexistující tabulku.
28. 1. 2007 :: Vydán incron 0.5.1
Práce kvapná málo platná. Tento pracovní styl způsobil, že do kódu pronikly dvě naprosto stupidní chyby. Neovlivňují sice normální použití programu, ale mohou zkomplikovat správu systému.
27. 1. 2007 :: Vydán incron 0.5.0
Z časových důvodů nebyla vydána žádná opravná verze. Bylo lepší zahrnout všechny opravy chyb až do následující verze, která přidává nové funkce. Ten okamžik nastal nyní. Verze 0.5.0 zavádí konfiguraci programu (včetně možnosti využít i specifické konfigurační soubory), vylepšuje mechanismus úklidu podprocesů (kvůli vyloučení problémů se souběhem), obsahuje zamykání aplikace (aby směla běžet jen jedna instance démona) a jak incrond, tak incrontab mají úplně nový mechanismus zpracování argumentů příkazové řádky. Tato verze by měla být poslední před implementací rekurzivního monitoringu.
20. 1. 2007 :: Vydáno inotify-cxx 0.7.1
Ve třídě InotifyEvent
byla chyba, která způsobovala výskyt
"čaje" v názvech událostí. Tato verze tento problém opravuje.
14. 1. 2007 :: Spuštěny nové webové stránky
Technologie okolo inotify mají nyní úplně nové webové stránky. Poskytují informace o technologii inotify jako takové, a také hostí dva související projekty, inotify-cxx a incron. Nyní tedy můžete nají všechny důležité věci na jednom místě.
13. 1. 2007 :: Vydán incron 0.4.0
Krásný den, že? incron má nyní spostu nových funkcí. Systémové tabulky, parametry příkazové řádky pro incrond (běh v popředí, ukončování), hlášení podporovaných událostí a mnoho dalšího. Užívejte dle libosti!
13. 1. 2007 :: Vydáno inotify-cxx 0.7.0
Další funkce pro lenochy: Inotify::SetCloseOnExec()
.
9. 1. 2007 :: Vydán incron 0.3.5
Zase bezpečnostní opravy. Stahujte prosím co nejdřív!
6. 1. 2007 :: Vydáno inotify-cxx 0.6.3
Příznak IN_IGNORED
měl tytéž problémy jako IN_ONESHOT
. Definitivně opraveno.
3. 1. 2007 :: Vydán incron 0.3.4
Nesahej na oprávnění, když jim nerozumíš. Velmi dobrá rada!
3. 1. 2007 :: Vydáno inotify-cxx 0.6.2
Další opravná verze. Malá chyba v textové konverzi, ale nadělá spoustu problémů.
30. 12. 2006 :: Vydáno inotify-cxx 0.6.1
Máte problémy s IN_ONESHOT
? Zkuste stáhnout tuhle verzi.
28. 12. 2006 :: Vydáno inotify-cxx 0.6.0
Lidé jsou líní. A nikdo nikdo nechce kvůli změně limitů pro inotify sahat na nějaké divné soubory v procfs. inotify-cxx nyní poskytuje jednoduchou cestu, jak to udělat.
15. 12. 2006 :: Vydán incron 0.3.3
Opravena spousta chyb. Jako obvykle.
6. 12. 2006 :: Vydáno inotify-cxx 0.5.3
Stáhněte si ho prosím ještě dnes. Opravuje nepříjemnou chybu ve WaitForEvents()
.
2. 12. 2006 :: Vydán incron 0.3.2
Život je složitý. A s reiserfs je legrace.
24. 11. 2006 :: Vydán incron 0.3.1
Je čas. Čas pro uživatelské manuálové stránky.
12. 11. 2006 :: Vydán incron 0.3.0
Žádali jste mezery v cestách? A názvy událostí v příkazech? Staniž se.
12. 11. 2006 :: Vydáno inotify-cxx 0.5.2
Další opravná verze. Událost IN_OPEN
nefungovala.
10. 11. 2006 :: Vydáno inotify-cxx 0.5.1
Nekonečný příběh? Možná... Zlobivé inkludy vrací úder a nutí mě přidat další "ifdefy".
30. 10. 2006 :: Vydán incron 0.2.3
Tato verze opravuje chybu s nechtěným příznakem IN_NO_LOOP
.
29. 10. 2006 :: Vydán incron 0.2.2
incron obsahoval únik paměti. Ale už je pryč. A zombie rovněž!
29. 10. 2006 :: Vydáno inotify-cxx 0.5.0
Kdo čekal na vláknovou bezpečnost inotify-cxx, může být nyní uspojojen.
Je to tady. Jednoduše při kompilaci definujte INOTIFY_THREAD_SAFE
.
14. 10. 2006 :: Vydán incron 0.2.1
Byla vydána další verze programu incron. Je to opravná verze a měla by řešit všechny hlášené chyby.
13. 10. 2006 :: Vydáno inotify-cxx 0.4.1
Ach, ne! Nesnáším pátky třináctého! Do inotify-cxx infiltrovala ošklivá chyba a způsobila, že byl vracen chybný počet sledovaných cest. Stáhněte si prosím 0.4.1.
13. 10. 2006 :: Vydáno inotify-cxx 0.4.0
Opět velké změny. Lidé hlásili problémy na některých distribucích, proto
byl hlavičkový soubor inotify-cxx
změněn, aby se toto eliminovalo.
Navíc bylo implementováno lepší zapínání/vypínání a provedeny některé
další drobné změny.
4. 10. 2006 :: Vydán incron 0.2.0
Za větší čistotu! Tato verze byla navržena k tomu, aby byla stabilnější než ta předchozí. Bylo odstraněno nečisté zpracování signálů a vyčištěn kód. Navíc (a to ani není všechno) může být tato verze nakonfigurována tak, aby se zamezilo cyklení událostí. Další detaily uvádí Changelog.
3. 10. 2006 :: Vydáno inotify-cxx 0.3.1
Pokud jste si stáhli verzi inotify-cxx 0.3.0, prosím zpomalte.
Tato verze obsahuje chybu, která způsobuje vyhazování výjimky
v neblokujícím režimu v okamžiku, kdy se objeví EWOULDBLOCK
jako návratová
hodnota. Aktuální verze 0.3.1 toto řeší.
3. 10. 2006 :: Vydáno inotify-cxx 0.3.0
Byla vydána třetí verze inotify-cxx, 0.3.0. Obsahuje tři zásadní změny: funkcionalitu pro zapínání/vypínání sledovaných cest, zbrusu novou vnitřní datovou strukturu a schopnost pracovat v neblokujícím režimu. Detaily najdete v Changelogu.
15. 9. 2006 :: Vydán incron 0.1.0
Byla vydána první verze programu incron, 0.1.0. incron je systém "inotify cron". Skládá se z démona a tabulkového manipulátoru. Můžete ho používat podobným způsobem jako normální cron. Rozdíl je v tom, že inotify cron pracuje s událostmi v souborovém systému, namísto časových intervalů.
15. 9. 2006 :: Vydáno inotify-cxx 0.2.0
Vydána další verze inotify-cxx, 0.2.0. Z různých důvodů obsahuje v porovnání s 0.1.0 mnoho změn (detaily najdete v Changelogu).
4. 9. 2006 :: Vydáno inotify-cxx 0.1.0
Byla vydána první verze inotify-cxx. Pro aplikace využívající inotify přináší mnoho nového. Místo nízkoúrovňových dat používejte několik jednoduchých objektů a zrychlete tak vývoj programů.