Bratislava OpenCamp 2026 zverejnil program a spustil registráciu. Štvrtý ročník komunitnej konferencie o otvorených technológiách prinesie 19 prednášok na rôzne technologické témy. Konferencia sa uskutoční v sobotu 25. apríla 2026 v priestoroch FIIT STU v Bratislave.
Na iVysílání lze zhlédnout všechny díly kultovního sci-fi seriálu Červený trpaslík.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl v březnu 5,33 % (Windows -4,28 %, OSX +1,19 %, Linux +3,10 %). Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 24,48 %. Procesor AMD používá 67,48 % hráčů na Linuxu.
Společnost Apple slaví padesáté narozeniny. Založena byla 1. dubna 1976.
FreeTube, desktopový klient pro YouTube využívající lokální API, byl vydán ve verzi 0.24.0. Toto velké opravné vydání implementuje SABR (Server-Based Adaptive Bit Rate), což řeší část nedávných problémů s načítáním videí z YouTube, a aktualizuje základní komponenty jako Electron nebo přehrávač Shaka Player.
Je tu opět apríl. O víkendu zmizel kamion s 12 tunami tyčinek KitKat. Firmy to využívají k aprílovým žertům. Groupon má super akci. Koupíte 1 tyčinku a dostanete 100 zdarma. Ryanair si přelepil letadla. Šéf Outlooku se ptá, proč mají v baráku 14 beden tyčinek KitKat (𝕏). Prusa Research představuje Prusa Pro ACU a vysvětluje proč přílišné sušení škodí vaším filamentům. Telefon Sony Xperia má miliónnásobný zoom (𝕏). PC.net představil Super Ultrabox 2600 se zajímavými parametry. Další aprílové novinky například na April Fools' Day On The Web.
Společnost OpenAI, která stojí za chatovacím robotem s umělou inteligencí (AI) ChatGPT, získala od investorů 122 miliard USD (2,6 bilionu Kč). Hodnota společnosti tak dosáhla 852 miliard dolarů (více než 18 bilionů Kč). Nejnovější kolo investování se stalo největší, jaké zatím firma uskutečnila, a peníze mají posílit ambiciózní plány rozšíření výpočetní kapacity, datových center a nábor talentů.
Nástroj k identifikaci občanů v on-line komunikaci s úřady byl dnes dopoledne zhruba dvě hodiny částečně nedostupný. Problém se objevil kolem 09:00 a podařilo se ho vyřešit kolem 11:00. Částečně nedostupná byla služba Národní identitní autority (NIA), problémy podle DIA (Digitální a informační agentura) ovlivňovaly přihlašování například i přes bankovní identitu. „Dostupnost NIA byla plně obnovena, přihlášení k digitálním službám
… více »Eben Upton oznámil další zdražení počítačů Raspberry Pi kvůli růstu cen pamětí a představil Raspberry Pi 4 s 3 GB RAM za 83,75 dolarů.
Anthropic patrně omylem zveřejnil celý zdrojový kód svého CLI nástroje Claude Code prostřednictvím přiloženého sourcemap souboru v npm balíčku. Únik odhalil doposud nijak nezveřejněné funkce jako je například režim v utajení, autonomní agent 'KAIROS', orchestrace multi‑agentů, režim snění nebo dokonce virtuální mazlíček Buddy. Zajímavostí je detekce naštvání uživatele pomocí obyčejného regexpu. Anthropic rychle odstranil sourcemap a vydal opravu, nicméně kopie kódu se již stihly na GitHubu rozšířit mezi prostým lidem.
Přidáme si tedy repozitáře, pro které chceme balíček sestavit. To můžeme udělat například pomocí osc -e prj home:m4r3k, přičemž se nám opět spustí $EDITOR. Do něj pak napíšeme kód podobný tomu následujícímu:
<project name="home:m4r3k"> <title<m4r3k's Home Project</title> <description>My packages.</description> <person role="maintainer" userid="m4r3k"/> <repository name="openSUSE_10.3"> <path project="openSUSE:10.3" repository="standard"/> <arch>i586</arch> <arch>x86_64</arch> </repository> </project>
Jak vidíte, tento soubor má poměrně složitou syntaxi (alespoň já si ji ne a ne zapamatovat :-)), naštěstí se však repozitáře dají přidat i pomocí webového rozhraní. Přihlásíme se tedy na build.opensuse.org, v našem domovském projektu klikneme na tlačítko Add Repository a vybereme si některý z repozítářů, pro které chceme sestavovat. V našem příkladu se jedná o repozitáře openSUSE 10.3, Fedora 8 a Mandriva 2008.

Po přidání repozitářů se nám začnou sestavovat jednotlivé balíčky. Průběh sestavování si můžeme vypsat pomocí příkazu osc buildlog distribuce architektura, například tedy:
osc buildlog openSUSE_10.3 i586
Po nějaké době by nám měly vzniknout balíčky pro distribuce openSUSE, Fedora a Mandriva. Každá by měla obsahovat jeden textový soubor umístěný v adresáři /etc/ s příslušným jménem. To si můžeme zkontrolovat tak, že si sestavené balíčky stáhneme a pomocí rpm -qlp balíček.rpm necháme vypsat jejich obsah.
for foo in *.rpm; do echo "balíček $foo obsahuje"; rpm -qlp $foo; echo "---"; done balíček fedora-testovaci-balik.rpm obsahuje warning: fedora-testovaci-balik.rpm: Header V3 DSA signature: NOKEY, key ID a575c4b8 /etc/Fedora.txt --- balíček mandriva-testovaci-balik.rpm obsahuje warning: mandriva-testovaci-balik.rpm: Header V3 DSA signature: NOKEY, key ID a575c4b8 /etc/Mandriva.txt --- balíček openSUSE-testovaci-balik.rpm obsahuje warning: openSUSE-testovaci-balik.rpm: Header V3 DSA signature: NOKEY, key ID a575c4b8 /etc/openSUSE.txt ---
Mezi verzemi distribucí se často přejmenovávají, rozdělují a slučují balíčky. Proto je výhodné mít k dispozici i rozlišování podle verze jednotlivých distribucí. Například, pokud chceme, aby se nějaká část kódu provedla jen v případě, že jde o distribuci openSUSE a zároveň se jedná o verzi novější než 10.2, pak použijeme tento kód:
%if 0%{?suse_version} > 1020
%patch0
%endif
| Distribution | Variable |
|---|---|
| openSUSE Factory | %if 0%{?suse_version} == 1031 |
| openSUSE 10.3 | %if 0%{?suse_version} == 1030 |
| openSUSE 10.2 | %if 0%{?suse_version} == 1020 |
| SUSE Linux 10.1 | %if 0%{?suse_version} == 1010 |
| SLE{S,D} 10 | %if 0%{?sles_version} == 10 |
| SUSE Linux 10.0 | %if 0%{?suse_version} == 1000 |
| SUSE Linux 9.3 | %if 0%{?suse_version} == 930 |
| SLES 9 | %if 0%{?sles_version} == 9 |
| CentOS 5 | %if 0%{?centos_version} == 501 |
| RHEL 5 | %if 0%{?rhel_version} == 501 |
| Fedora 8 | %if 0%{?fedora_version} == 8 |
| Fedora 7 | %if 0%{?fedora_version} == 7 |
| Fedora 6 with Extras | %if 0%{?fedora_version} == 6 |
| Fedora 5 with Extras | %if 0%{?fedora_version} == 5 |
| Fedora 4 with Extras | %if 0%{?fedora_version} == 4 |
| Mandriva 2008 | %if 0%{?mandriva_version} == 2008 |
| Mandriva 2007 | %if 0%{?mandriva_version} == 2007 |
| Mandriva 2006 | %if 0%{?mandriva_version} == 2006 |
Tabulka převzata, upravena a aktualizována z en.opensuse.org.
Porovnávací operátory nejsou samozřejmě omezeny jen na operátor ekvivalence (==), ale také jsou k dispozici operátory menší než (<) a větší než (>). Tyto operátory můžeme také skládat a sestavit tak operátor větší nebo rovno (>=), případně menší nebo rovno =<). Stejně tak můžeme také kombinovat jednotlivé podmínky a sestavit například následující konstrukci:
%if 0%{?suse_version} || 0%{?sles_version}
%patch1 -p1
%endif
Která provede makro %patch vždy, když je balíček sestavován v prostředí openSUSE nebo SLES(D). U sestavování balíčků se lze také rozhodovat podle architektury a tyto podmínky lze samozřejmě také kombinovat ve složitější celky. Například takto:
%if 0%{?suse_version} == 1030
%ifarch x86_64
%patch1
%endif
%endif
Makro %patch1 bude provedeno, jen když je balíček sestavován pro openSUSE verze 10.3 a cílová architektura je x86_64.
Často se stane, že si chcete udělat balíček na nový program a z ničeho nic zjistíte, že programů, na kterých tento program závisí, je obrovská spousta. To je ještě v pohodě, jednoduše je napíšete do BuildRequires nebo do Requires. V tom horším případě však zjistíte, že potřebné balíčky nejsou k dispozici v oficiálních stromech balíčků. Pokud máte štěstí, tak balíček který potřebujete, už vytvořil někdo jiný, kdo připravuje balíčky v rámci openSUSE Build Service. Pak máte několik možnosti, jak tyto balíčky zužitkovat. Můžete je zkopírovat do svého projektu pomocí příkazu osc copypac, který má následující syntaxi:
osc copypac home:jiny-balikar cool-balicek home:m4r3k cool-balicek
Což vytvoří identickou kopii balíčku u vás v home:m4r3k. To se hodí v případě, že hodláte balíček nějak významněji upravovat. Má to však tu nevýhodu, že zbytečně plýtváte strojový čas i místo na build serverech. Proto je k dispozici také příkaz osc linkpac, který provede nalinkování balíčku z jednoho projektu do jiného. Tam se balíček sestaví a bude k dispozici i pro váš projekt. Toto řešení také nabízí určitou míru volnosti. Pokud totiž ve svém nalinkovaném projektu vytvoříte soubor se stejným názvem jako je v tom původním, tak se použije ten váš. Můžete si tak třeba poupravit .spec soubor, aniž by se muselo udržovat několik kopií tarové koule se zdrojovými kódy.
osc linkpac home:jiny-balikar cool-balicek home:m4r3k cool-balicek
Vlastní .spec soubor vnutíte projektu tak, že si aktualizujete svou lokální kopii repozitáře pomocí příkazu osc up a přepnete se do adresáře s balíčkem (cd cool-balicek). Pak si vytvoříte třeba soubor cool-balicek.spec a v něm vlastní obsah. Častěji však využijete už hotový .spec soubor a jen si jej upravíte k obrazu svému. Stažení originálního souboru lze provést pomocí:
osc co home:jiny-balikar cool-balicek cool-balicek.spec
Nyní už stačí soubor jen otevřít ve svém oblíbeném editoru a dle libosti upravit. Soubor poté přidáme do projektu pomocí osc add cool-balicek.spec a výsledek pošleme na server pomocí osc commit. Balíček se nyní sestaví i s vašimi změnami. Tento způsob sice už tolik neplýtvá místem na disku, ale na druhou stranu stále plýtvá strojovým časem serverů. Proto je k dispozici i příkaz osc aggregatepac, který je vhodný v případě, že chceme balíček jen používat a nijak upravovat. Syntaxe je obdobná jako u předchozích příkazů.
osc aggregatepac home:jiny-balikar cool-balicek home:m4r3k cool-balicek
Stejně jakou u předchozích dvou příkazů, je i u tohoto příkazu poslední parametr cool-balicek nepovinný a v případě, že jej nepoužijete, tak se použije název stejný jako u zdrojového balíčku.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
(Program běží, ale nic nedělá a plní konzoli chybovýma hláškama).
(Program běží, ale nic nedělá a plní konzoli chybovýma hláškama).Což mi bez těch hlášek vůbec nepomůže. :D
. Všechny ostatní chyby se už jen od toho odvíjí (křik urllib).
michals@smrz:~> yabsc
user 'ilfirin' not found
Traceback (most recent call last):
File "/usr/bin/yabsc", line 597, in run
self.projects = self.bs.getWatchedProjectList()
File "/usr/bin/yabsc", line 101, in getWatchedProjectList
tree = ElementTree.fromstring(''.join(core.get_user_meta(self.apiurl, username)))
TypeError