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.
Copilot automaticky vkládal do pull requestů 'propagační tipy', reklamní text se na GitHubu objevil ve více než jedenácti tisících pull requestech. Po vlně kritiky byla tato funkce zablokována a produktový manažer Tim Rogers připustil, že umožnit Copilotovi upravovat cizí pull requesty bez vědomí autorů byla chyba.
Je 31. března a tedy Světový den zálohování (World Backup Day). Co by se stalo, kdyby Vám právě teď odešel počítač, tablet nebo telefon, který používáte?
Digitální a informační agentura (DIA) přistupuje ke změně formátu důvěryhodného seznamu České republiky z verze TLv5 na verzi TLv6, která nastane 29. dubna 2026 v 00:00 (CET). Ke změně formátu důvěryhodných seznamů členských států (tzv. Trusted Lists) dochází na základě změn příslušné unijní legislativy. Důvěryhodné seznamy se používají v rámci informačních systémů a aplikací zejména pro účely ověřování platnosti elektronických
… více »V úvodní části jsme probrali některé informativní položky hlavičky (metadata), a teď nastal čas na ty zbývající. Žádná z nich není povinná.
URLCopyrightLicense, který se dříve používal.Packager~/.rpmmacros makro
%packager, které přebíjí hodnotu ze spec souboru.Distribution%distribution.DistURL~/.rpmmacros ji definujeme jako
%disturl.Vendor%vendor v ~/.rpmmacros.Icon%changelogZáznam změn (changelog) je nepovinná sekce spec souboru, tradičně bývá poslední. V distribučních spec souborech je standardní až povinná; u spec souborů našich vlastních programů je zase často logičtější psát i změny v nich do společného záznamu změn, tudíž ji u nich možná nevyužijeme.
Typický záznam změn vypadá
%changelog * Fri Oct 29 2004 Jeremy Katz <katzj@redhat.com> - 2.1.11-2 - add patch to fix multilib updates on ia32e (#135396) * Thu Oct 28 2004 Jeremy Katz <katzj@redhat.com> - 2.1.11-1 - update to 2.1.11 - fix config file error handling - better handling of empty lines/comments in mirror lists - improve some error messages …
RPM samo vynucuje jen několik málo pravidel formátování záznamu změn:
* (jako prvním nemezerovým
znakem na řádku).%a %b %e %Y.Jednotlivé distribuce si ovšem mohou zavést přesnější pravidla, co a jak se má do záznamu změn psát.
Při balení vlastních programů si vystačíme s tarovou koulí se
zdrojovým kódem, ale cizí programy píší vždy prasata a je zapotřebí
je patchovat či k nim doplnit další soubory, např. init skripty pro
naši oblíbenou distribuci. Kam je napíšeme, když je položka
Source hlavičky jen jedna?
Není. Nic totiž není tak jednoduché, jak to napíši. Ve skutečnosti máme
k disposici pro zdrojové kódy tolik položek hlavičky, kolik je
přirozených čísel, což by mělo obyčejně stačit. Jmenují se
Source0, Source1, Source2 atd.,
naše známá Source je přitom jen alias pro
Source0, který vypadá lépe, když máme jen jeden zdrojový
soubor.
Podobně existují pro patche položky Patch0,
Patch1, Patch2 atd. a Patch je
alias pro Patch0. Zde je ovšem méně užitečný než
u zdrojových kódů, protože stejně jako neštěstí nechodí patche nikdy
samy. Zdrojové soubory a patche nemusíme číslovat sekvenčně, můžeme
třeba od nuly číslovat patche opravující chyby při kompilaci, od 100
bezpečností opravy a od 533 dodatečné vlastnosti a přizpůsobení
distribuci. Hlavička se tak může rozrůst na
Source0: ftp://ftp.example.com/pub/lobster/%{name}-%{version}.tar.bz2
Source1: lobster.init
Patch0: lobster-1.8-broken-makefile.patch
Patch1: lobster-1.7-missing-includes.patch
Patch8: lobster-1.10-CAN-1620-1108.diff
Jména jednotlivých zdrojových souborů a patchů (včetně cesty) jsou
přístupná jako automaticky definovaná makra
%{SOURCEn}
a %{PATCHn}. Init skript
lobster.init tudíž nainstalujeme
%install
…
mkdir -p -m 755 $RPM_BUILD_ROOT/etc/init.d
install -p -m 755 %{SOURCE0} $RPM_BUILD_ROOT/etc/init.d/lobster
a samozřejmě ho přidáme do sekce %files.
Patche bychom mohli aplikovat podobně, ale to by nebylo RPM, kdyby na
to nebylo nějaké makro. Jmenuje se %patchn,
aplikuje na zdrojový kód patch číslo n a jako
argumenty mu můžeme dát některé volby programu patch(1). Konkrétně
-pm (úroveň patche m, tj. odstranit ze
začátku cesty m adresářů), -z či
-b (zálohovací koncovka), -R (aplikovat obrácený
patch) a -E (vynucené smazání souborů, když jsou
opatchovány na prázdné).
%prep %setup %patch0 -p1 -b .broken-makefile %patch1 -p1 -b .missing-include %patch8 -p0 -b .CAN-1620-1108
Používat pro každý patch jedinečnou zálohovací koncovku se vyplatí. Dokud se vše aplikuje v pořádku, tak na nich nezáleží. Jakmile však něco neprojde – a ono samozřejmě neprojde, když máte tři sta patchů na jeden textový editor – zvyšují naši šanci se zorientovat, a zejména naši šanci aplikovat vzpouzející se části patche ručně a přegenerovat ho pomocí utility gendiff(1) – která by mimochodem mohla fungovat lépe.
Makro %patch také pozná patche komprimované gzipem či
bzipem2 a samo si je před aplikací rozbalí.
Říkal jsem už, že nic není tak jednoduché, jak to napíši? Kromě
zdrojových souborů a patchů existují také zdrojové nesoubory
a nepatche. Liší se od nich tím, že se nebalí do zdrojového rpm.
V hlavičce uvádíme jejich čísla do zvláštních položek
NoSource a NoPatch.
Source0: ftp://ftp.example.com/pub/lobster/%{name}-%{version}.tar.bz2
NoSource: 0
Zdrojové rpm ze spec souboru s hlavičkami NoSource
či NoPatch je pak nezdrojové a má koncovku
.nosrc.rpm namísto .src.rpm. Nelze je samozřejmě
překompilovat do binárního, dokud chybějící zdroje a patche do
adresáře SOURCES ručně nedoplníme.
V distribucích se s nezdrojovými balíčky nesetkáme. Chceme-li však třeba poslat někomu vše, co je zapotřebí k zabalení rpm Gimpu (což nejspíš nebude jen samotný spec soubor), ale bez 12MB tarové koule, již si může stáhnout kdekoli, je nezdrojové rpm ideální řešení.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Nic totiž není tak jednoduché, jak to napíši. Ve skutečnosti máme k disposici pro zdrojové kódy tolik položek hlavičky, kolik je přirozených čísel, což by mělo obyčejně stačit.Patchů a zdrojáků může být jen tolik, kolik nezáporných čísel může nabývat
int (typicky ušmudlaných 2^31), a to je ještě počítají dohromady (!), takže pozor na to
to je blbý, to mi na můj projekt Kalkulačka 0.1 nemůže nikdy stačit.
red hat Google nabízí opravu redhat.
error: Legacy syntax is unsupported: copyright error: line 8: Unknown tag: Copyright: GPL
ale cizí programy píší vždy prasata a je zapotřebí je patchovat či k nim doplnit další souboryAsi je vaše množina používaných programů disjunktní s tou mojí.
Ale jako laciná provokace dobrý ...
Z'LI0(%:`&/NRU`Y0"@8.L%.%PG(%!D>"<!@C(4&'?`UO!/$"K\2)+!1K',R'
2V,*3$D-EG4PC!<*(%%I"<*$`
`
rpm --qf '%|nosource?{no source}:{source}|\n' -p *src.rpm
což ale nefunguje. V lib/rpmlib.h je
RPMTAG_NOSOURCE = 1051, /*!< internal */
RPMTAG_NOPATCH = 1052, /*!< internal */
znamená to že se ta informace do hlavičky neuloží?
rpm -q --qf='[%{FILENAMES} %{FILEFLAGS:fflags}\n]' -p foobar.src.rpm
Pokud to u nějakého souboru vypíše ,g` (ghost, bude v devátém dílu), tak je to nezdrojový soubor. Když to u žádného nevypíše, tak je src.rpm všechny obsahuje. Nic lepšího asi neexistuje.
-install -p -m 755 %{SOURCE0} $RPM_BUILD_ROOT/etc/init.d/lobster
+install -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT/etc/init.d/lobster