abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    včera 12:44 | IT novinky

    Nizozemská vláda ve snaze šetřit a zvyšovat efektivitu s využitím umělé inteligence (AI) hodlá zrušit asi 25.000 pracovních míst ve státní správě. Cílem je postupně dosáhnout ročních úspor až 3,5 miliardy eur (85,2 miliardy Kč). Na konci loňského roku ve státní správě pracovalo rekordních 160.000 lidí. „Nemůžeme pokračovat v tom, co jsme dělali dosud,“ uvedl státní tajemník pro efektivní fungování vlády Eric van den Burg. „Proto

    … více »
    Ladislav Hagara | Komentářů: 9
    včera 12:00 | IT novinky

    Příspěvek na blogu PRUSA 3D představuje fotoaparát CAIM1 (Counter Artificial Intelligence Machine 1). Uměle vytvořený obsah je každým dnem těžší rozeznat od skutečných záběrů či fotografií, což podrývá důvěryhodnost žurnalistiky, archivních materiálů i každodenní tvorby obsahu. Fotoaparát CAIM1 byl vyvinut právě k tomu, aby ověřoval původ fotografií a videí přímo během jejich pořizování. Uvnitř fotoaparátu se nachází hardwarová Web3 peněženka se zabezpečovacím čipem Tropic Square TROPIC01.

    Ladislav Hagara | Komentářů: 3
    včera 00:11 | Nová verze

    Jonathan Thomas oznámil vydání nové verze 4.1 video editoru OpenShot (Wikipedie). Zdrojové kódy OpenShotu jsou k dispozici na GitHubu. Ke stažení je i balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit.

    Ladislav Hagara | Komentářů: 0
    31.10. 23:33 | Zajímavý článek

    Při běžné migraci virtuálního stroje mezi hypervizory se jeho MAC adresa přesune na jiný leaf switch. EVPN tuto změnu distribuuje pomocí BGP Type-2 route a MAC mobility sequence number. Problém nastává, pokud útočník podvrhne zdrojovou MAC adresu jiného zařízení. Leaf může změnu interpretovat jako legitimní přesun MAC a rozšířit ji přes BGP do celé fabric. Výsledkem může být přesměrování provozu určeného původnímu zařízení. Autor článku rozebírá možnosti detekce pomocí sledování MAC moves, BGP route reflektorů a kontroly na přístupové vrstvě.

    vencour | Komentářů: 0
    31.10. 15:11 | Nová verze

    Vývojáři desktopového prostředí Enlightenment (Wikipedie) a souvisejících knihoven Enlightenment Foundation Libraries (EFL) vydali nové verze. Enlightenment byl vydán ve verzi 0.28.0 a Enlightenment Foundation Libraries ve verzi 1.29.

    Ladislav Hagara | Komentářů: 4
    31.10. 13:55 | Zajímavý článek

    Cloudflare zjistil, že některé odpovědi modelu GLM-5.3 obsahovaly části dat z předchozích požadavků jiných zákazníků. Příčinou byla kombinace chybné konfigurace a chyby v inference enginu SGLang. Model podporoval kontextové okno 1 048 576 tokenů, ale GPU KV cache pool měl kapacitu pouze 681 280 tokenů. Při překročení kapacity docházelo k nesprávnému zpracování odmítnutého požadavku. Decode část systému následně pracovala se starými

    … více »
    vencour | Komentářů: 2
    31.10. 13:00 | Zajímavý článek

    Vývojáři Knot Resolver vysvětlují, jak změnili rozhodování o tom, které DNS záznamy ponechat v cache a které odstranit. Článek obsahuje skutečná měření: devět hodin DNS provozu při 2 000 QPS, srovnání cache o velikosti 25 MB a 40 GB a také porovnání s BIND 9, kromě algoritmů obsahuje konkrétní doporučení pro konfiguraci a diagnostiku.

    vencour | Komentářů: 0
    30.10. 13:44 | IT novinky

    Největší kryptoměnová burza světa Binance se stala terčem útoku, při kterém podvodníci odcizili během několika minut kryptoměny v hodnotě přibližně 6,3 miliardy dolarů. Jedná se o největší kryptoměnovou krádež v historii, přibližně čtyřikrát větší než loňský útok na burzu Bybit. Binance se podařilo ve spolupráci s partnery zmrazit aspoň aktiva v hodnotě zhruba 3 miliard dolarů a slíbila, že veškeré ztráty pokryje z vlastních prostředků.

    Ladislav Hagara | Komentářů: 16
    30.10. 02:16 | Bezpečnostní upozornění

    Zranitelnost CVE-2026-98432 s CVSS 9.8 odhalila AI od společnosti Anthropic. Jedná se o kritickou chybu v implementaci MPTCP (multipath TCP). Debian vydal patche 16.10. a 22.10., ale např. Ubuntu je zatím bez opravy. Více informací na The Hacker News.

    Max | Komentářů: 20
    29.10. 23:22 | Zajímavý software

    Na Slovensku vznikla úplne nová rally hra, ktorá je zadarmo a funguje vo Windowse, Linuxe či na Macu. Greenie Rally má viac ako 50 tratí a vozidiel, šampionáty či turnaje. Má retro feeling a imituje automobilové hry z prelomu tisícročí. Vyskúšate prejsť všetky mapy na Škode 130RS?

    Stanislav Hoferek | Komentářů: 14
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2963 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Rukověť baliče RPM - V (Zdrojové soubory)

    16. 6. 2005 | David Nečas | Návody | 8691×

    Dokončení popisu položek hlavičky, formátování seznamu změn a představení nesouborů, nezdrojů a nepatchů.

    Metadata

    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á.

    URL
    Domovská stránka programu, případně jiné URL, kde o něm lze nalézt další informace.
    Copyright
    Alias pro License, který se dříve používal.
    Packager
    Kdo balíček zabalil. Nepíše se obvykle do spec souborů, ale namísto toho definujeme v ~/.rpmmacros makro %packager, které přebíjí hodnotu ze spec souboru.
    Distribution
    Distribuce, do níž balíček patří. Opět ji obvykle nepíšeme do spec souboru, ale definujeme makro %distribution.
    DistURL
    URL distribuce, tj. URL, kde se můžeme dovědět více o distribuci samé. V ~/.rpmmacros ji definujeme jako %disturl.
    Vendor
    Obchodník, distributor. Firmy vydávající distribuce tam píší něco jako Red Hat, Inc., ostatní, co je napadne, případně nic. Používáme-li tuto hlavičku, obvykle ji máme definovanou jako %vendor v ~/.rpmmacros.
    Icon
    Ikona. Ignorujte, neboť to je přesně to, co dělají i všechny programy.

    Sekce %changelog

    Zá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:

    • Každý záznam začíná hvězdičkou * (jako prvním nemezerovým znakem na řádku).
    • Po hvězdičce následuje datum ve formátu %a %b %e %Y.
    • Zbytek řádku je „jméno“, na které už ale nejsou kladeny žádné požadavky (kromě neprázdnosti), takže tam borci z RedHatu běžně píší i verzi, jak vidíme v příkladu.
    • Další řádky, jsou-li nějaké, obsahují popis změny. Nejsou na ně kladeny žádné požadavky – kromě toho, že vcelku logicky nemohou začínat hvězdičkou.
    • Změny jsou uspořádány sestupně podle data.

    Jednotlivé distribuce si ovšem mohou zavést přesnější pravidla, co a jak se má do záznamu změn psát.

    Zdrojové soubory a patche

    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

    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í.

    Nezdroje a nepatche

    Ří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í.

    Nejčtenější články posledního měsíce

    Týden na ITBiz: Incident OpenAI a Hugging Face ukázal limity softwarové ochrany
    Týden na ITBiz: 88 % vrcholových manažerů se obává, že selhání v oblasti datové suverenity by je mohlo stát místo
    Týden na ITBiz: Do roku 2028 bude na jednoho prodejce připadat 10 agentů AI

    Nejkomentovanější články posledního měsíce

    Událo se v týdnu 40/2026
    Událo se v týdnu 41/2026
    Událo se v týdnu 42/2026
      všechny statistiky »

    Seriál Rukověť baliče RPM (dílů: 15)

    Rukověť baliče RPM - I (Úvod) (první díl)
    <—« Rukověť baliče RPM - IV (Fáze balení)
    »—> Rukověť baliče RPM - VI (Makro %setup)
    Rukověť baliče RPM 15 - XV (Závěr) (poslední díl)

    Související články

    Rukověť baliče RPM - I (Úvod)
    Rukověť baliče RPM - II (Prostředí)
    Rukověť baliče RPM - III (Struktura spec souboru)
    Rukověť baliče RPM - IV (Fáze balení)
    Rukověť baliče RPM - VI (Makro %setup)
    Rukověť baliče RPM - VII (Podepisování, verze)
    Rukověť baliče RPM - VIII (Závislosti)
    Rukověť baliče RPM - IX (Sekce %files)
    Rukověť baliče RPM - X (Skriptíky)
    Rukověť baliče RPM - XI (Architektury. systémy, platformy)
    Rukověť baliče RPM - XII (Makra, úvod)
    Rukověť baliče RPM - XIII (Makra, dokončení)
    Rukověť baliče RPM - XIV (Přizpůsobení)
    Rukověť baliče RPM 15 - XV (Závěr)
    Na co se často ptáme: Balíčkovací systémy kromě posledního odstavce o checkinstallu.
    Nebojíme se kompilace - I (Teorie)
    Nebojíme se kompilace - II (GCC, configure, make, checkinstall) kompilace a instalace software, opět kromě části o checkinstallu.
    Balíčkovací systém Mandrake Linuxu RPM na uživatelské úrovni (a pro Mandrake).

    Odkazy a zdroje

    Doporučené čtení

    Další články z této rubriky

    VDR a DVB-T2, část 2.
    VDR a DVB-T2, část 1.
    Šifrovaný Proxmox VE 6: ZFS, LUKS, systemd_boot a Dropbear
    MapTiler – proměňte obrázek v zoomovatelnou mapu
    Syncthing
           

    Hodnocení: 100 %

            špatné • dobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    16.6.2005 00:24 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše přirozená čísla
    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 :-)
    16.6.2005 00:26 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: přirozená čísla
    Vlastně ještě o jedna míň :-)
    16.6.2005 06:52 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše Re: přirozená čísla
    :-( to je blbý, to mi na můj projekt Kalkulačka 0.1 nemůže nikdy stačit.
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    16.6.2005 07:25 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: přirozená čísla
    Hm, ona to stejně není pravda -- nedávno jsem při čtení zdrojáku zjistil, že je tam zadtrátováno nějaké omezení, takže je jich ve skutečnosti mnohem méně. Ale už mi vypadlo, kolik to maximální číslo je.
    17.6.2005 14:12 Pavel Janousek
    Rozbalit Rozbalit vše Re: Java a pamet
    No rekneme, ze to omezeni neni tak drasticke, kdyz staci i Linux kernelu - aneb vite o nejakem src.rpm, ktery by byl vice zazaplatovany?
    17.6.2005 14:26 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Java a pamet
    Na Vim 6.2 vydal jen Bram sám 532 patchů.
    16.6.2005 01:34 Jara
    Rozbalit Rozbalit vše norach rpm
    abych moh dynamicky menit misto buildu udelal jsem si skript ktery vytvori soubor 'mojemakra' obsahujici akorat presmerovanej %_topdir. pak vygeneruje mojerc ktere obsahuje macrofiles:puvodni_seznam_maker:mojemakra. pak sestavuju rpm pomoci rpmbuild --rcfile=mojerc.

    vsechno funguje jak ma pokud neuvedu arch jine nez defaultni i686. chtel jsem udelat arch: noarch a zahlasilo to neco jako 'no compatible architecture found to build'. pri blizsim patrani jsem zjistil ze --showrc mi vraci radek: compatible build archs: i686 zatimco kdyz nepouziju moje nove --rcfile=mojerc tak vraci compatible build archs: athlon i686 i586 i486 i386 noarch fat

    tusi nekdo kam se vsechny architektury tim jednoduchym presmerovanim podely?
    16.6.2005 07:31 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: norach rpm
    IIRC se soubory uvedené v --rcfile se čtou namísto výchozích, ne navíc k nim. V tvém případě bych na rcfile vůbec nehrabal a spouštěl rpmbuild --define '_topdir /bla/bla'.
    16.6.2005 08:59 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Nezdrojové rpm
    Třeba v SUSE se s nimi setkáme, viz ftp://ftp.suse.com/pub/suse/i386/9.3/suse/nosrc/ :-)
    16.6.2005 09:05 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Nezdrojové rpm
    Zajímavé. A čím se řídí, od čeho se vydává nosrc?
    16.6.2005 09:15 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: Nezdrojové rpm
    Třeba velké věci, kde jde akorát o přesunutí souborů z tarballu do rpm (dokumentace - wxGTK-doc nebo data ke hrám - pysol, fillets-ng-data), ušetří se tím dost místa a uživatel v podstatě o nic nepřijde.
    16.6.2005 09:20 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Nezdrojové rpm
    To by mohlo vysvětlit některé položky. Ale takové nosrc.rpm teTeXu má cca 60 MB, kdežto plné src.rpm má cca 90 MB. Relativní úspora nic moc.
    16.6.2005 09:22 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: Nezdrojové rpm
    Tak na to se mě neptej, prozradil jsem co vím :-)
    16.6.2005 10:00 Miloslav Trmac
    Rozbalit Rozbalit vše Troska pedantismu...
    s/RedHat/Red Hat/
    16.6.2005 10:15 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Troska pedantismu...
    Jméno firmy je tam správně: Red Hat, Inc.

    A neformální označení? Nemají psát své logo redhat. Pak to dopadá tak, že na red hat Google nabízí opravu redhat.
    16.6.2005 11:18 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Copyright = alias pro License, který se dříve používal
    V rpm-4.4 ten alias už nefunguje. Povinně vyžaduje označení License, jinak zařve něco jako
    error: Legacy syntax is unsupported: copyright
    error: line 8: Unknown tag: Copyright: GPL
    
    16.6.2005 15:20 Triton | skóre: 10 | blog: keep_slacking
    Rozbalit Rozbalit vše *grin*
    ale cizí programy píší vždy prasata a je zapotřebí je patchovat či k nim doplnit další soubory
    Asi 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"<*$` `
    17.6.2005 15:47 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Rozpoznání nosrc v --qf?
    Dá se nějak v --qf rozlišit nosrc balíček od src balíčku? Něco jako
    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ží?
    17.6.2005 18:28 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Rozpoznání nosrc v --qf?
    Tato otázka mě tedy nikdy nenapadla, protože to normálně poznám podle názvu souboru...
    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.
    17.6.2005 23:42 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: Rozpoznání nosrc v --qf?
    Aha, takže nosrc jsou vlastně ghost soubory, to jsem nevěděl. Já to ani k ničemu nepotřebuju, jenom mě to tak napadlo :-)
    20.7.2011 16:54 yeti
    Rozbalit Rozbalit vše Re: Rukověť baliče RPM - V (Zdrojové soubory)
    Typo
    -install -p -m 755 %{SOURCE0} $RPM_BUILD_ROOT/etc/init.d/lobster
    +install -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT/etc/init.d/lobster
    

    Založit nové vlákno • Nahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.