Byla vydána (𝕏) nová major verze 17 softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech GitLab (Wikipedie). Představení nových vlastností i s náhledy a videi v oficiálním oznámení.
Sovereign Tech Fund, tj. program financování otevřeného softwaru německým ministerstvem hospodářství a ochrany klimatu, podpoří vývoj FFmpeg částkou 157 580 eur. V listopadu loňského roku podpořil GNOME částkou 1 milion eur.
24. září 2024 budou zveřejněny zdrojové kódy přehrávače Winamp.
Google Chrome 125 byl prohlášen za stabilní. Nejnovější stabilní verze 125.0.6422.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 9 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Textový editor Neovim byl vydán ve verzi 0.10 (𝕏). Přehled novinek v příspěvku na blogu a v poznámkách k vydání.
Byla vydána nová verze 6.3 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.15.
Dnes ve 12:00 byla spuštěna první aukce domén .CZ. Zatím největší zájem je o dro.cz, kachnicka.cz, octavie.cz, uvycepu.cz a vnady.cz [𝕏].
JackTrip byl vydán ve verzi 2.3.0. Jedná se o multiplatformní open source software umožňující hudebníkům z různých částí světa společné hraní. JackTrip lze instalovat také z Flathubu.
Patnáctý ročník ne-konference jOpenSpace se koná 4. – 6. října 2024 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytváří všichni účastníci, se skládá z desetiminutových
… více »Program pro generování 3D lidských postav MakeHuman (Wikipedie, GitHub) byl vydán ve verzi 1.3.0. Hlavní novinkou je výběr tvaru těla (body shapes).
Creating compile log /var/log/sorcery/compile/rlwrap-0.33.bz2 Creating tablet in directory /var/state/sorcery/tablet/rlwrap/20091126140339 Creating install log /var/log/sorcery/install/rlwrap-0.33 Creating MD5 log /var/log/sorcery/md5sum/rlwrap-0.33 Creating cache file /var/cache/sorcery/rlwrap-0.33-i686-pc-linux-gnu.tar.bz2 rm: invalid argument: `' Finished processing install requests. Spells installed successfully: ------------------------------ rlwrapZprvu se předpokládalo, že se jedná o chybu v sorcery. Stejná hláška se ale začala objevovat i při překladě ze zdrojových kódů pomocí ./configure; make. Například balíček libXt:
make[3]: Entering directory `/usr/src/libXt-1.0.7/src' CC ActionHook.lo rm: invalid argument: `' CC Alloc.lo rm: invalid argument: `' CC ArgList.lo rm: invalid argument: `'Změnilo se chování příkazu rm. V souboru NEWS se u příkazu rm píše pouze o změnách při práci s read-only souborovým systémem. Tady se ale o read-only souborový systém nejedná. Nakonec se zjistilo, že danou hlášku lze vypsat příkazem rm "".
# rm "" rm: invalid argument: `'Nikdo asi nebude úmyslně mazat soubor "", což vlastně není žádný soubor, poněvadž jsou uvozovky zpracovány shellem. Problém nastává, pokud chci v shell skriptu smazat soubor, jehož jméno mám v nějaké proměnné. Například rm "$A" v případě, že proměnnou A nemám definovanou. V sorcery byl problém vyřešen jednoduše. Prostě se před spuštěním příkaze rm zkontroluje, zda se opravdu jedná o soubor:
- rm -f $IW_LOG $C_LOG $TMP_INST_LOG $TMP_MD5_LOG "$STAGE_INST_LOG" \ - "$spell_sub_depends" "$spell_rsub_depends" "$spell_depends" + for file in "$IW_LOG $C_LOG" "$TMP_INST_LOG" "$TMP_MD5_LOG" \ + "$STAGE_INST_LOG" "$spell_sub_depends" "$spell_rsub_depends"\ + "$spell_depends" + do + [[ -f $file ]] && rm -f "$file" + doneJe tady ale jiný problém. Co se stane při spuštění příkazu rm a b "" c? Předchozí verze příkazu rm zahlásí chybu (rm: cannot remove `': No such file or directory) a soubory a b c smaže. Nová verze také zahlásí chybu (rm: invalid argument: `'), i když jinou, soubory ale nesmaže.
$ rm --version | head -n 1 rm (GNU coreutils) 7.6 $ touch a b c; rm a b "" c; ls rm: cannot remove `': No such file or directory # rm --version | head -n 1 rm (GNU coreutils) 8.1 # touch a b c; rm a b "" c; ls rm: invalid argument: `' a b cHolt není rm jako rm. Co by vlastně měl příkaz rm provést a jakou chybovou hlášku vypsat při spuštění rm ""? Je lepší "No such file or directory" nebo "invalid argument"? Těžko říct. Jisté ale je, že skripty fungující i několik let a využívající chybu nebo vlastnost předchozí verze rm se budou muset zkontrolovat a případně upravit.
Tiskni Sdílej:
rm (GNU coreutils) 7.6
** Improvements rm: rewrite to use gnulib's fts This makes rm -rf significantly faster (400-500%) in some pathological cases, and slightly slower (20%) in at least one pathological case. rm -r deletes deep hierarchies more efficiently. Before, execution time was quadratic in the depth of the hierarchy, now it is merely linear. However, this improvement is not as pronounced as might be expected for very deep trees, because prior to this change, for any relative name length longer than 8KiB, rm -r would sacrifice official conformance to avoid the disproportionate quadratic performance penalty. Leading to another improvement: rm -r is now slightly more standards-conformant when operating on write-protected files with relative names longer than 8KiB.Ono totiz uz selze inicilalizace fts (inicializace souboru pro smazani). Predtim se soubory neinicializovali najednou (nepouzivalo se fts) a chyba se preskocila (ted selze inicializace jako celek). By me zajimalo jak to hodlaj resit, az se nekdo ozve.
-f
?
# rm --version | head -1 rm (GNU coreutils) 8.1 # touch -f a b c; rm a b "" c; ls rm: invalid argument: `' a b c #
# touch a b c; rm -f a b "" c; ls rm: invalid argument: `' a b c
Odpověď si můžeme přečíst v rm(1p):
For each file the following steps shall be taken: 1. If the file does not exist: a. If the -f option is not specified, rm shall write a diagnostic message to standard error. b. Go on to any remaining files.