Immich byl vydán v nové verzi 3.0.0. Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.
Společnost Juno Computers prodávající počítače s předinstalovaným Linuxem má nově v nabídce linuxový tablet Juno Tab 4 - WiFi. Na výběr je Debian, Ubuntu a Kubuntu. Předobjednat jej lze za 949 liber (26 500 korun).
Podman (Pod Manager), nástroj umožňující vytvářet a provozovat kontejnery, aniž by uživatel potřeboval práva roota, byl vydán v nové major verzi 6.0.0. Přehled novinek v poznámkách k vydání. Řešena je i vážná bezpečnostní chyba CVE-2026-57231.
Společnost Sony oznámila, že od ledna 2028 přestane vydávat nové hry pro PlayStation na fyzických discích. Všechny budoucí tituly budou dostupné výhradně v digitální podobě na PlayStation Store.
Google Chrome 150 byl prohlášen za stabilní. Nejnovější stabilní verze 150.0.7871.46 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 433 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Soudní dvůr Evropské unie potvrdil rekordní pokutu 4,125 miliardy eur (100 miliard Kč) americké technologické firmě Google ze skupiny Alphabet. Pokutu firmě v roce 2018 vyměřila Evropská komise (EK) za to, že Google podle ní zneužívá operačního systému Android k potlačení konkurence na trhu vyhledávacích služeb.
Administrativa amerického prezidenta Donalda Trumpa povolila firmě Anthropic obnovit plný přístup klientů k modelům umělé inteligence (AI) Fable 5 a Mythos 5. Ty byly nedostupné bezmála tři týdny kvůli bezpečnostním obavám vlády, třebaže americké ministerstvo obchodu minulý pátek povolilo omezený přístup k modelu Mythos 5 pro některé „důvěryhodné“ domácí organizace.
Francúzska organizácia na ochranu spotrebiteľa, po viac než ôsmych rokoch skúmania, žaluje Epson za plánované zastarávanie tlačiarní. Súd sa začína dnes, 2. 7. 2026, vo francúzskom Nanterre.
Erin Catto, autor open source 2D fyzikálního enginu Box2D (Wikipedie), představil nový 3D fyzikální engine Box3D. Engine je již používán ve hře The Legend of California.
Byla vydána nová verze 4.0.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.
Programming stuff. And stuff.
RedHat vede uvedený bug jako bug 731365. Z hlavičky v bugzille je vidět, že v kernelu 3.2.1-3.fc16 je opraven. Prvý impluz velí stáhnout src.rpm a zbuildit, tak jsem se do toho pustil. Kernel se zbuildil, ale někde to vyhořelo na balíčkovaní. Nechtělo se mi moc řešit kde je přesně problém, protože build na třech jádrech trval hodinu. Šlo by ovšem ořezat nepotřebné moduly z configu, ale to by mi trvalo ještě déle. Navíc bych to musel opakovat při každém upgradu.
V TODO listu mám vytvoření build serveru který by to překládal, ale zatím jsem to potřeboval nějak ohackovat. Po pár pokusech jsem narazil na funkční postup, jenž je popsán níže.
Z Fedory 16 si do /etc/yum.repos.d/ přidáme fedoří repozitáře, ale vybereme jenom kerneloidní balíčky přes includepkgs klauzuli. Další úpravy jsou nahrazení proměnných jako $releasever, klíče jsou zakomentovány (importujte manuálně přes rpm --import ze stránek fedoraproject.org) Soubory pak vypadají následovně:
[fedora]
name=Fedora $releasever - $basearch
failovermethod=priority
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-16&arch=$basearch
enabled=1
includepkgs=kernel kernel-debuginfo kernel-debuginfo-common-x86_64 kernel-devel kernel-firmware kernel-headers linux-firmware grubby dkms
gpgcheck=1
[fedora-debuginfo]
name=Fedora $releasever - $basearch - Debug
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-16&arch=$basearch
enabled=1
includepkgs=kernel kernel-debuginfo kernel-debuginfo-common-x86_64 kernel-devel kernel-firmware kernel-headers linux-firmware grubby dkms
metadata_expire=7d
gpgcheck=1
[fedora-source]
name=Fedora $releasever - Source
failovermethod=priority
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-source-16&arch=$basearch
enabled=0
includepkgs=kernel kernel-debuginfo kernel-debuginfo-common-x86_64 kernel-devel kernel-firmware kernel-headers linux-firmware grubby dkms
metadata_expire=7d
gpgcheck=1
# FEDORA UPDATES
[fedora-updates]
name=Fedora $releasever - $basearch - Updates
failovermethod=priority
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f16&arch=$basearch
enabled=1
includepkgs=kernel kernel-debuginfo kernel-debuginfo-common-x86_64 kernel-devel kernel-firmware kernel-headers linux-firmware grubby dkms
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
[fedora-updates-debuginfo]
name=Fedora $releasever - $basearch - Updates - Debug
failovermethod=priority
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-debug-f16&arch=$basearch
enabled=1
includepkgs=kernel kernel-debuginfo kernel-debuginfo-common-x86_64 kernel-devel kernel-firmware kernel-headers linux-firmware grubby dkms
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
[fedora-updates-source]
name=Fedora $releasever - Updates Source
failovermethod=priority
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-source-f16&arch=$basearch
enabled=0
includepkgs=kernel kernel-debuginfo kernel-debuginfo-common-x86_64 kernel-devel kernel-firmware kernel-headers linux-firmware grubby dkms
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
Fedora má novější glibc než RHEL a proto některé balíčky nelze jednoduše nainstalovat. Problém byl myslím jen s module-init-tools, ten stačí překompilovat s mock nebo rpmbuild (trvá pár sekund). Případný update module-init-tools z yum repozitáře v budoucnu pak zařve a build se opět bude muset udělat ručně, ale module-init-tools zrovna moc často updatované nejsou. Viz HOWTO k rpmbuild-u a mock-u, pak zbývalo jen doinstalovat rpmdevtools. Zde jenom zmíním užitečný příkaz yum provides '*/bin/rpmdev-setuptree', který ušetří googlování, kterýže to balík nainstalovat (poslední argument je hledaný soubor). Zbuildění module-init-tools lze provést jedním z dvou způsobů, mock-em:
mock --rebuild module-init-tools-3.16-5.fc16.src.rpm
#balíček se pak objeví ve /var/lib/mock/$mock-config/result (default)
nebo rpmbuild-em:
rpm -Uvh module-init-tools-3.16-5.fc16.src.rpm
cd ~/rpmbuild/SPECS
rpmbuild -bb module-init-tools.spec
#balíček se pak objeví ve ~/rpmbuild/RPMS
Hlavní rozdíl mezi rpmbuild a mock je, že mock si vytvoří alternativní root strom pro build ve /var/lib/mock/$mock-config (lze tudíž buildit i pro jiné distra), kdežto rpmbuild používá headery a knihovny z aktuálního systému. Default mock config se nastavuje pomocí symlinku /etc/mock/default.cfg.
Po nainstalování zbuilděných module-init-tools už jenom stačí provést yum update a rebootovat do nového kernelu.
Po pár týdnech v kernelu 3.3.x téměř všechno funguje, změny které jsem zaznamenal:
V novém kernelu je i pár binárek, které jsou zbuilděny proti novější glibc. Ale stačí je jen překompilovat a DKMS udělá zbytek:
export KERNELVER=3.3.1-2.fc16.x86_64
export KERNELSRC=/usr/src/kernels/$KERNELVER/
(cd $KERNELSRC/scripts/basic && gcc fixdep.c -o fixdep); (cd $KERNELSRC/scripts/mod && gcc modpost.c file2alias.c sumversion.c -o modpost)
#Následující dva příkazy jsou jen pro otestování buildu před rebootem do nového kernelu.
#Jinak to /etc/init.d/dkms_autoinstaller udělá při bootu.
dkms autoinstall --kernelver $KERNELVER
find /lib/modules/ -name "vbox*.ko"
Zmíním pár drobností, na které jsem narazil a mohli by být užitečné i pro někoho jiného. Mám relativně menší /var partition, proto jsem musel řešit přesun mysql datadir. V mysql configu se to nastaví hned, pak je potřeba vysvětlit to SELinuxu. Mysql datadir jsem přesunul do /home/mysqldb, pak stačí přidat odpovídající záznamy do nového souboru /etc/selinux/$POLICYTYPE/contexts/files/file_contexts.local (v druhém řádku jsou taby mezi sloupcema, nevím jestli na to záleží):
/home/mysqldb(/.*)? system_u:object_r:mysqld_db_t:s0
/home/mysqldb/tmp -d system_u:object_r:tmp_t:s0
SELinuxu odkážeme ať spustí relabel (kontext lze měnit i přes chcon -R --reference=/var/lib/mysql /home/mysqldb/, ale kvůli relabelu to není permanentní):
restorecon -R -v /home/mysqldb
Přepínač --selinux u tar-u umožňuje uložit SELinux labely (užitečné pro zálohy).
Před několika dny jsem narazil na chybný balíček ldns z rpmforge - chyběl mu podpis a yum update kvůli tomu hlásil problémy se závislostma. Řešení je buď ručná rekompilace nebo já jsem ho prostě mrsknul do exclude direktivy v konfigu repozitáře (stejná verze je i v EPELu). Poučení do budoucna - při přidávání nových repozitářů je nejlepší postup explicitně určit via includepkgs jaké balíky se mají povolit (člověk se pak vyhne ABI konfliktům kvůli nezměněnému soname). Pro účely testování jsem si ve VirtualBoxu rozběhnul Fedoru 16 (asi si tam hodím pak i 17 alpha).
Nakonec jsem dokonvergoval k "distribuci" Scientific Gentoo: nastavit lze v zásadě všechno co v Gentoo, ale nemusí se všechno kompilovat. Balíčky jsou většinou otestované, ale není problém přidat "bleeding edge" verze (v případě složitého konfliktu verzí to prásknu buď do /opt nebo do virtuálu, ale to jsem zatím řešil jen s vlc kvůli nekompatibilnímu ABI; nejspíš by stačilo vlc překompilovat ze src.rpm).
Znáte někdo nástroj, který dostane dva ELFy, headery k nim a zjistí, v čem se liší ABI? Které symboly jsou nové, kde se změnil typ parametrů nebo počet, atd. S mcpp a gcc-xml by pravděpodobně takový nástroj šlo napsat. Nemusí být dokonalý, třeba by mi nevadilo, pokud si na i686 zmýlí int a pointer (ne možná nejlepší příklad). Trocha bych se bál, zda to nenarazí na halting problem u "přema(sa)krovaných" headerů, ale za pokus by to stálo.
Tiskni
Sdílej:
V kernelu už fix je, jenže v 3.2 větvi, přičemž RHEL klony jedou na 2.6.32 větvi s backportovanými bugfixmi.hm, a patch z 2.6.41 by na 2.6.32 neprošel?
Jenže zrovna tenhle bugfix chyběl, tak nezbývalo než upgradovat na 3.xfakt?
fakt?"You are not authorized to access bug #794738"
hm, a patch z 2.6.41 by na 2.6.32 neprošel?
I kdyby neprošel hladce, backportovat ho by téměř jistě znamenalo řádově méně práce než spolehlivě rozchodit jádro 3.3 na distribuci postavené na 2.6.32.
Měl jsem na mysli tenhle, odkaz na něj je v komentáři 82 toho veřejného bugu (k neveřejným nemám přístup). Ale moc důkladně jsem ho neprohlížel, podle komentáře to vypadá, že to není jen čistý revert. I tak bych ale řekl, že backportovat to na RHEL 2.6.32 jádro bude méně pracné než tam dostat celé jádro 3.3 - a to říkám přesto, že se sám zabývám adaptací jádra 3.0 ze SLE 11 SP2 do OpenSuSE 11.4 (nebo spíš právě proto).
Jinak po troše pátrání se dá zjistit, že ten patch je už i v Linusově stromu (commit e76aadc5, zahrnut v 3.3rc1).
Měl jsem na mysli tenhle, odkaz na něj je v komentáři 82 toho veřejného bugu (k neveřejným nemám přístup).to je vpodstatě ono, v první části komentáře jsem narážel na to, že kernel-2.6.41.6-1.fc15 has been submitted as an update for Fedora 15.
(BTW: kernel se v elrepo jmenuje kernel-ml)
Jinak nechápu proč nikde nemají veřejně googlitelnej fingerprint nebo klíč stáhnutelnej přes https; klíč ani není nikým podepsán (naštěstí to není moc běžné, ale už jsem pár takových repo viděl).
Já na něj narazil vlastně jen náhodou - přes web CentOSu
. Tohle je IMHO nejjednodušší cesta k novějšímu kernelu do RHEL a klonů (u mně kvůli Wi-Fi).