Knihovna libpng, tj. oficiální referenční knihovna grafického formátu PNG (Portable Network Graphics), byla vydána ve verzi 1.6.51. Opraveny jsou 4 bezpečnostní chyby obsaženy ve verzích 1.6.0 (vydána 14. února 2013) až 1.6.50. Nejvážnější z chyb CVE-2025-65018 může vést ke spuštění libovolného kódu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 159 (pdf).
Hru Warhammer: Vermintide 2 (ProtonDB) lze na Steamu získat zdarma napořád, když aktivaci provedete do pondělí 24. listopadu.
Virtualizační software Xen (Wikipedie) byl vydán v nové verzi 4.21. Podrobnosti v poznámkách k vydání a přehledu nových vlastností.
Evropská komise schválila český plán na poskytnutí státní pomoci v objemu 450 milionů eur (téměř 11 miliard Kč) na rozšíření výroby amerického producenta polovodičů onsemi v Rožnově pod Radhoštěm. Komise o tom informovala v dnešní tiskové zprávě. Společnost onsemi by podle ní do nového závodu v Rožnově pod Radhoštěm měla investovat 1,64 miliardy eur (téměř 40 miliard Kč).
Microsoft v příspěvku na svém blogu věnovaném open source oznámil, že textové adventury Zork I, Zork II a Zork III (Wikipedie) jsou oficiálně open source pod licencí MIT.
První prosincový týden proběhne SUSE Hack Week 25. Zaměstnanci SUSE mohou věnovat svůj pracovní čas libovolným open source projektům, například přidání AI agenta do Bugzilly, implementaci SSH v programovacím jazyce Zig nebo portaci klasických her na Linux. Připojit se může kdokoli.
Google oznámil, že Quick Share na Androidu funguje s AirDropem na iOS. Zatím na telefonech Pixel 10. Uživatelé tak mohou snadno přenášet soubory z telefonů s Androidem na iPhony a obráceně.
Byla vydána nová verze 8.5 (8.5.0) skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Přináší řadu novinek a vylepšení (URI Extension, Pipe Operator, Clone With, …). Vydána byla také příručka pro přechod z předchozích verzí.
Evropská komise zahájila tři vyšetřování týkající se cloudových platforem Amazon Web Services (AWS) a Microsoft Azure. Evropská exekutiva, která plní také funkci unijního antimonopolního orgánu, chce mimo jiné určit, zda jsou americké společnosti Microsoft a Amazon v cloudových službách takzvanými gatekeepery, tedy hráči, kteří významně ovlivňují provoz internetu a musí dle nařízení o digitálních trzích (DMA) na společném trhu
… více »Pro vytváření balíčku máme v Arch Linuxu skript makepkg, který podle instrukcí v souboru PKGBUILD sestaví balíček; ten lze následně nainstalovat pacmanem. PKGBUILDy jsou tedy jakousi obdobou ebuidů z Gentoo Linuxu.
Pokud chcete poskytnout balíček ostatním, pak je nejlepší umístit jej do AURu (ArchLinux User-community Repository). Je to nebinární repozitář, nachází se v něm jen PKGBUILDy.
Každý balíček musí splňovat Standardy balíčků Archu. Jde o omezení názvů balíčků, způsob verzování, omezení adresářů, do kterých se instaluje software, a několik dalších doporučení. Jen PKGBUILD, který splňuje tato pravidla, může být umístěn do AURu. Vše, co porušuje pravidla, je smazáno, o což se starají správci i samotní uživatelé, kteří tyto prohřešky hlásí.
Popisován je PKGBUILD pro makepkg 3.0.x, starší verze makepkg nemusely vyžadovat všechny direktivy.
Uvedeme si příklad a vysvětlíme si jednotlivé direktivy a volby:
# Maintainer: An Archist <archist@archlinux.org>
# Contributor: Big Boss <bigboss@sf.net>
pkgname = helloworld
pkgver = 0.4
pkgrel = 1
pkgdesc = "helloworld: a kernel module and a userspace daemon \
for controlling an atomic bomb"
url = "http://www.helloworld.sf.net"
arch = ('i686' 'x86_64')
license = ('GPL' 'LGPL')
replaces = ('helloworld-rc' 'helloworld-test')
depend = ('kernel26')
conflict = ('libatomicbomb' 'goodbyeworld')
provides = ('libatomicbomb' 'goodbyeworld')
backup = ('etc/helloworld.conf')
install = $pkgname.install
source = ('http://www.helloworld.sf.net/source/$pkgname-$pkgver.tar.gz')
md5sums = ('a3290cbce4ffabbf91ccb1e9fce64d9e')
sha1sums = ('99fdedaec3acc9a8107443b6bfe87c7cdc0165c2')
build() {
cd $startdir/src
./configure --prefix=/usr
make || return 1
make DESTDIR=$startdir/pkg install || return 1
}
# vim:syntax=sh
*.la soubory knihoven; pokud je chcete smazat, použijte !libtool.makepkg.conf.$pkgname, $pkgver a $startdir.build().Zde popsaný PKGBUILD je použitelný pro sestavení balíčku ze zdrojových souborů dostupných v archivech. Existuje možnost balíček sestavit přímo ze SVN i CVS repozitáře. I v tomto případě je třeba se držet pravidel pro tvorbu PKGBUILDu. Používají se proměnné _cvsroot a _cvsmod, respektive _svntrunk a _svnmod. Ve funkci build() se použije příkaz pro stažení CVS repozitáře a jeho překopírování; až z této kopie se sestavuje balíček.
if [ -d $_cvsmod/CVS ]; then
cd $_cvsmod
cvs -z3 update -d
else
cvs -z3 -d $_cvsroot co -D $pkgver -f $_cvsmod
fi
msg "CVS checkout done or server timeout"
msg "Starting make..."
cp -r $_cvsmod $_cvsmod-build
cd $_cvsmod-build
...
Podobně vypadá fragment pro SVN:
if [ -d $_svnmod/.svn ]; then
cd $_svnmod
svn up -r $pkgver
else
svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
fi
msg "SVN checkout done or server timeout"
msg "Starting make..."
cp -r $_svnmod $_svnmod-build
cd $_svnmod-build
...
Pokud chcete ve svém balíčku používat instalační skript, musíte uvést v PKGBUILDu direktivu:
install=jméno_balíčku.install
Skript poskytuje tyto funkce:
Jak vypadá instalační skript, jsme si ukázali v prvním díle seriálu. Skript nemusí být umístěn v seznamu source; stačí, když je v adresáři, ve kterém je PKGBUILD.
Makepkg je shellový skript, který umožní sestavit balíček podle PKGBUILDu. Je distribuován společně s pacmanem.
Popisovány jsou vlastnosti makepkg 3.0.x, starší verze se mohou lišit. Postupně probereme nejpoužívanější přepínače. Pokud chcete vědět více, prohlédněte si manuálovou stránku.
makepkg se volá takto (musíme být v adresáři, kde je PKGBUILD, který chceme použít):
makepkg [volby]
Konfigurační soubor makepkg umožňuje nastavit optimalizace pro procesor, zapnout distribuovanou kompilaci a další proměnné prostředí, které ovlivňují software ve výsledném balíčku. Soubor je bohatě komentován, takže i neznalý uživatel se v něm neztratí.
Opět uvedu nejdůležitější volby:
AUR je repositář PKGBUILDů, do kterého může přispět každý uživatel Arch Linuxu. Jeho stránky jsou http://aur.archlinux.org/. Pokud chcete připívat, musíte si vytvořit účet.
Když zjistíte, že balíček pro daný software v binárních repozitářích není, nejprve se podívejte do AURu, obvykle ho tam najdete. Pokud vytvoříte PKGBUILD, který ještě neexistuje, pak jej stačí zabalit do archivu a uploadovat do AURu.
Ke každému balíčku je možné posílat komentáře, které mohou obsahovat hlášení chyb nebo návrhy na vylepšení PKGBUILDu určené pro autora. Každý má také možnost pro balíčky hlasovat - pokud bude mít daný balíček hodně hlasů, má velkou šanci se dostat do repozitáře community. Stejně tak se dá balíček označit za neaktuální (Out-of-date).
Vybraní důvěryhodní uživatelé se snaží udržovat AUR a PKGBUILDY v něm ve funkčním stavu, ale stejně je na každém přispěvateli, aby PKGBUILD udržoval v aktuální verzi a v sestavitelné podobě. Proto se může stát, že si stáhnete PKGBUILD, který je nepoužitelný, a nezbývá, než jej opravit. Toto se může odrazit ve vašem hodnocení balíčku.
AUR je dobrým zdrojem, ale často se vám může stát, že daný balíček nesestavíte - proto je dobré se podívat na poslední aktualizaci. Alespoň zjistíte, jestli je PKGBUILD ještě udržován. AUR je stále tak trochu džungle.
V příštím díle budeme pokračovat v sestavování balíčků - podíváme na ABS (Arch Build System) a makeworld.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Zde popsaný PKGBUILD je použitelný pro sestavení balíčku se zdrojových souborů dostupných v archivech.ze zdrojových balíčků - z koho z čeho 2.pád
Protože v případě, že jde o libovolně zaměnitelné alternativy, čárka se nepíše. Třeba Koupím hrušky nebo jablka.
Pokud se nejedná o libovolně zaměnitelné alternativy, čárka se tam píše. Líbí se ti to, nebo na to máš jiný názor?
Už jsi dobuildil to icc? Já už z něj mám hlavu na prasknutí a naprosto to vzdávám. Pokud bys s tím dospěl k úspěchu, můžeš o tom napsat pár řádek do blogu (pravopisné chyby ti odpustím
)
Čeština není matematika