plwm je nový, poměrně minimalistický správce oken pro X11. Podporuje dynamické dláždění okny, plochy, pravidla pro okna atd. Zvláštností je, že je napsaný v logickém programovacím jazyce Prolog. Používá implementaci SWI-Prolog.
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Sean Heelan se na svém blogu rozepsal o tom, jak pomocí OpenAI o3 nalezl vzdálenou zranitelnost nultého dne CVE-2025-37899 v Linuxu v implementaci SMB.
Jiří Eischmann v příspěvku na svém blogu představuje typy, jak lépe chránit své soukromí na mobilním telefonu: "Asi dnes neexistuje způsob, jak se sledování vyhnout úplně. Minimálně ne způsob, který by byl kompatibilní s tím, jak lidé technologie běžně používají. Soukromí ovšem není binární věc, ale škála. Absolutního soukromí je dnes na Internetu dost dobře nedosažitelné, ale jen posun na škále blíže k němu se počítá. Čím méně dat se o vás posbírá, tím nepřesnější budou vaše profily a tím méně budou zneužitelné proti vám."
Byla vydána nová stabilní verze 25.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Warbler. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
Multiplatformní open source spouštěč her Heroic Games Launcher byl vydán v nové stabilní verzi 2.17.0 Franky (Mastodon, 𝕏). Přehled novinek na GitHubu. Instalovat lze také z Flathubu.
Organizace Apache Software Foundation (ASF) vydala verzi 26 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Klávesnice IBM Enhanced Keyboard, známá také jako Model M, byla poprvé představena v roce 1985, tzn. před 40 lety, s počítači IBM 7531/7532 Industrial Computer a 3161/3163 ASCII Display Station. Výročí připomíná článek na zevrubném sběratelském webu Admiral Shark's Keyboards. Rozložení kláves IBM Enhanced Keyboard se stalo průmyslovým standardem.
Vyšlo Pharo 13 s vylepšenou podporou HiDPI či objektovým Transcriptem. Pharo je programovací jazyk a vývojové prostředí s řadou pokročilých vlastností.
Java má dnes 30. narozeniny. Veřejnosti byla představena 23. května 1995.
Na začátek musím říci, že v této oblasti panuje poněkud neutěšená situace a možností, jak k programu přidat záplaty, je mnoho. Původní (a stále používaný) formát zdrojových balíčků s jedním souborem se změnami není moc optimální, a proto bylo vyvinuto mnoho snahy pro jeho vylepšení nebo nahrazení.
V celém tomto seriálu popisuji verzi zdrojových balíčků 1.0. Už poměrně dlouho existuje verze 2.0 (nazývaná také Wig and Pen), která umožňuje použít více zdrojových tarballů a místo patche může obsahovat tarball se změnami. Podpora pro tento formát však je jen poloviční - je možné takovéto balíčky rozbalit, ale chybí podpora pro vytváření, protože se tento formát ukázal jako nepříliš dobře navržený.
Aby toho nebylo málo, přibyla v dpkg verze 1.14.17 podpora pro zdrojové
balíčky verze 3.0. Tato verze přináší do vytváření balíčků mnoho změn. Verze
3.0 má několik subformátů - git
, bazaar
, quilt
a custom
. Poslední jmenovaný může sloužit při případné implementaci dalších subformátů a nemá přímé využití. Varianta quilt
vychází z formátu 2.0, s tím rozdílem, že je definované pořadí aplikace patchů a celkově je lépe definována práce s balíčkem. Tento formát by se měl stát preferovaným pro přespříští vydání Debianu (lenny + 1). Zatím ale není podporovaný všemi nástroji a není možné ho nahrát do distribuce. Varianty git
a bazaar
umožňují distribuovat zdrojový
balíček ve formě repozitáře pro tyto distribuované systémy. Protože tyto
formáty ještě nejsou úplně ustálené a podpora pro ně není příliš velká, nebudu
se jejich používání věnovat.
Jak už víme, zdrojový balíček se skládá z tarballu a patche. Tak proč tento patch nevyužít i pro změny programu? Problémů s tímto systémem je více, a proto od něj většina vývojářů ustupuje. Jeden problém je, že tyto změny se špatně uchovávají ve VCS, který dnes mnoho vývojářů používá pro archivaci zdrojových kódů jejich balíčků. Dalším problémem je nemožnost oddělit jednotlivé úpravy. Pokud máte v balíčku například 50 patchů, tak po jejich začlenění do jednoho je mnohem těžší se ve změnách orientovat.
debian/patches
Místo přímého patchování se tedy začal používat adresář debian/patches
, jehož obsah je při kompilaci balíčku pomocí pravidel v debian/rules
naaplikován na zdrojové kódy. Bohužel ani zde není situace jednoduchá a používá se několik implementací, které se liší svými možnostmi.
Asi nejjednodušší řešení - patche se prostě v abecedním pořadí naaplikují.
Většina uživatelů tohoto systému je asi mezi uživateli CDBS, protože ten
nabízí jednoduchý způsob, jak potřebná pravidla do debian/rules
přidat.
Další velmi používané řešení se jmenuje dpatch
. Jedná se o sadu utilit pro správu patchů, ale patch v tomto případě může znamenat spuštění libovolného skriptu, který nějak mění zdrojové kódy. Pořadí patchů určuje soubor
debian/patches/00list
, patche neuvedené v tomto souboru se neaplikují.
Pro jeho použití je nejjednodušší začlenění souboru
/usr/share/dpatch/dpatch.make
do debian/rules
, stačí přidat závislost na pravidlech patch
a unpatch
:
include /usr/share/dpatch/dpatch.make build: build-stamp build-stamp: patch-stamp ${MAKE} touch build-stamp clean: clean1 unpatch clean1: ${MAKE} clean rm -rf debian/files debian/substvars debian/imaginary-package
Pokud chceme nějaký patch upravit, poslouží nám nástroj dpatch-edit-patch
, který zkopíruje aktuální strom, aplikuje případné předchozí patche a umožní nám upravovat libovolné soubory.
Poslední hodně rozšířenou možností je používání quiltu. Tentokrát se nejedná o nástroj speciální pro Debian, ale obecnou utilitu pro správu patchů. Oproti Dpatchi nabízí mnohem více možností na práci s patchi, a proto získává stále větší oblibu.
Výsledné použití je velmi podpobné jako u Dpatche, stačí použít
/usr/share/quilt/quilt.make
a přidat závislosti stejně jako u něj.
Pro práci můžeme použít všechny možnosti, které quilt nabízí, jenom pro
ukládání patchů na správné místo je vhodné nastavit
QUILT_PATCHES=debian/patches
.
Debian nepoužívá žádný centrální systém pro správu verzí (VCS), a proto může každý
správce používat svůj oblíbený systém. Aby byla situace jednodušší, jsou
definována pole do debian/control
, ze kterých můžete vyčíst, kde a jaký VCS se používá. Tato pole mohou vypadat následovně:
Vcs-Svn: svn://svn.cihar.com/debian-gammu/trunk Vcs-Browser: http://viewsvn.cihar.com/debian-gammu/trunk
První je závislé na použitém VCS (zde se jedná o SVN, ale obdobně je možné
použít libovolné jiné, například Vcs-Git
) a ukazuje na umístění repozitáře aktuální vývojové verze. Druhé URL ukazuje na webové rozhraní k VCS.
Čtení control
souborů však není zrovna pohodlné, a proto existují nástroje debcheckout
a debcommit
. Jedná se o nadstavbu nad různými VCS, díky které se nemusíme učit práci s každým VCS, pokud chceme stáhnout aktuální zdrojový kód. Prostě stačí napsat debcheckout jméno-balíčku
a získáme aktuální verzi, kterou má správce ve VCS. debcommit
(kromě commitnutí do VCS) i automaticky vygeneruje popis tohoto commitu podle nového obsahu v souboru debian/changelog
.
Co všechno najdete ve VCS, se liší balíček od balíčku. Velká část balíčků zde
má jen adresář debian
a zdrojové kódy při kompilaci dodá kompilační skript rozbalením z předem definovaného místa. Obvykle se berou z adresáře
../tarballs
, ale jejich umístění je možné upravit, například pro SVN je jeho umístění definované v souboru .svn/deb-layout
. Kompilační skript je jiný pro každý VCS, například při použití výše zmíněného SVN to bude svn-buildpackage
(ze stejnojmenného balíčku).
Při použití distribuovaných systémů je možné i jiné uspořádání - a to, že ve VCS máme vlastní větev pro balíčky, která je odvozena od verze vydané autorem, a po checkoutu získáme kompletní zdrojové kódy.
Obecně ale může mít správce ve VCS uložené cokoliv a není nijak standardizováno, jak takto získané zdrojové kódy kompilovat.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: