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í
×
    dnes 04:55 | Komunita

    Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. Aktuální verze Chrome je 150. Aktuální verze Firefoxu je 152. V březnu bylo oznámeno, že od září přejde Chrome na dvoutýdenní cyklus vydávání verzí. To by znamenalo, že Chrome v číslování verzí Firefox brzy přeskočí. Vývojáři Firefoxu proto také od září přecházejí na dvoutýdenní cyklus vydávání verzí. :-)

    Ladislav Hagara | Komentářů: 2
    dnes 00:22 | Zajímavý software

    Microsoft Comic Chat (Wikipedie), tj. grafický IRC klient z devadesátek, který převáděl konverzace na IRC do podoby komiksových panelů, a který zpopularizoval font Comic Sans, je dnešním dnem open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 1
    včera 19:55 | Nová verze

    Byla vydána (𝕏) nová verze 26.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.7 je Xenial Xenops. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky

    Na Seznam nepovolených internetových her (Wikipedie) se k 13. 7. 2026 dostala predikční platforma Polymarket.

    Ladislav Hagara | Komentářů: 5
    včera 14:22 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 167 (pdf) a Hello World 30 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 00:44 | Nová verze

    Byla vydána nová verze 3.22.0 grafického vývojového prostředí a platformy Gambas (Wikipedie) založené na interpretru programovacího jazyka Basic s rozšířením o objektově orientované programování. Přehled novinek v poznámkách k vydání. Zdrojové kódy jsou k dispozici na GitLabu.

    Ladislav Hagara | Komentářů: 0
    15.7. 20:22 | Komunita

    FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.

    Ladislav Hagara | Komentářů: 2
    15.7. 15:22 | IT novinky

    Sociální síti 𝕏 (dříve Twitter) má dnes 20 let. Pro veřejnost byla zpřístupněna 15. července 2006.

    Ladislav Hagara | Komentářů: 2
    15.7. 14:22 | Zajímavý software

    Insula Faktury je open source generátor faktur, který běží přímo ve webovém prohlížeči. Žádná registrace, žádné sledování, žádné omezení. Zdrojové kódy jsou k dispozici na Codebergu.

    Ladislav Hagara | Komentářů: 18
    15.7. 13:22 | Komunita

    První Mobile Linux Hackday v Plzni, tj. komunitní setkání věnované Linuxu na mobilních zařízeních, proběhne 24. července od 10:00. Akce je otevřená všem zájemcům – od zvědavců po zkušené vývojáře. Dopoledne proběhnou přednášky Davida Heidelberga a Petra Hodiny o aktuálním stavu mobilního Linuxu: proč vůbec chtít tučňáka v kapse, jaké telefony jsou dnes dobře podporované a co taková podpora obnáší. Po obědě se zaměříme na konkrétní

    … více »
    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 2151 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Jednoduché patchování v praxi

    8.6.2005 21:07 | Přečteno: 2039× | Linux | poslední úprava: 8.6.2005 21:11

    Právě jsem si trochu vyzkoušel známé příkazy diff a patch pěkně v praxi. Jak jednoduše na to, tak aby to opravdu fungovalo?

    Jednoduše řečeno, diff zkoumá rozdíly s souborech (difference) a patch provádí na základě těchto rozdílů záplatu (patch). Nejčastěji se s tím setkáme u patchů do jádra, nebo do jiných programů, ale dá se to dobře využít téměř na jakékoli textové soubory, které se hodně mění a my o tom chceme mít přehled.

    [pozadí] Mám tu lokalizaci jednoho známého publikačního systému (ano je Wordpress) a chci do ní aplikovat nové bezpečnostní záplaty. Před nějakým časem jsem ručně mergoval změny mezi verzí 1.5 a 1.5.1 do 1.5-cz za vzniku 1.5.1-cz. Možná to zní složitě, ale je to tak. A je to pracné. Tady moc patch a diff použít nešel, ale možná, že by mi ušetřil trochu práce. Jenže než jsem stihnul vydat 1.5.1-cz, objevily se bezpečností updaty - 1.5.1.1 a 1.5.1.2. Tentokrát jsem se rozhodl použít patch.[/pozadí]

    Takže cílem bylo zanést změny mezi 1.5.1 a 1.5.1.2 do 1.5.1-cz za vzniku 1.5.1.2-cz. Ok? Nejdřív si tedy uděláme diff mezi 1.5.1 a 1.5.1.2:

    
    wordpress$ diff -ruN 1.5.1 1.5.1.2 > 1.5.1.2.diff
    

    Parametry: -r = rekurzivně prohledá podadresáře. -u = unified format, a defaultní počet (3) okolních řádků (jako kontext). -N = neexistující soubory bereme jako prázdné.

    Poté si zkopírujeme 1.5.1-cz do 1.5.1.2-cz a přesuneme se tam. Pak provedeme samotný patch:

    
    1.5.1.2-cz$ patch -p1 --verbose < ../1.5.1.2.diff &> ../patch.log
    

    Parametry: -p1 = počet lomítek na začátku, které se uříznou. --verbose = ukecaný výstup. Ještě pro testování můžeme použít --dry-run = neprovádět akci doopravdy, jen ukázat, co to udělá.

    Patch načítá ze standardního vstupu, proto <. Jinak můžeme použít rouru, máme-li diff soubor komprimovaný: bzcat neco.diff | patch -p1. Nakonec si oba výstupy šoupnem do souboru patch.log pomocí &>.

    Tím se provede sloučení změn, neboli merge. Občas se však vyskytnou kolize, které sám patch neumí vyřešit a nechá to na nás. Dá nám to alespoň vědět podobnými hláškami:

    Hunk #1 FAILED at 2.
    1 out of 1 hunk FAILED -- saving rejects to file wp-content/themes/default/header.php.rej

    Zanechá nám ještě soubory *.rej (jako rejected), kde se dozvíme, s čím si patch neví rady a co musíme sloučit ručně.

    Pokud máte rádi trochu pohodlnější práci (nemyslím zrovna hromadné zpracování pomocí automatických skriptů), zkuste KDiff3, což je velice povedený program, který umí hodně, pokud jde o diffování a patchování v grafickém prostředí.

    To by k jednoduchému příkladu použití patche a diffu snad stačilo. Více informací a příkladů použití najdete jako obvykle v manuálech, howto a jiných článcích. Možná tu mám někde chybu(y), tak se nehňevejte.

    Odkazy:

           

    Hodnocení: -

    zatím nehodnoceno
            špatnédobré        

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

    Komentáře

    Vložit další komentář

    8.6.2005 21:10 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Kdiff3
    Pokud si někdo, tak jako já, nemá v úmyslu nechat do systému nakvartýrovat Qt, tak může zkusit třeba diffovátko, které je součástí Xfce :-)
    Copak toho není dost?
    Bohumír Zámečník avatar 8.6.2005 21:14 Bohumír Zámečník | skóre: 19 | blog: bohous
    Rozbalit Rozbalit vše Re: Kdiff3
    Třeba... těch grafickejch udělátek k tomu je dost, ale kdiff3 mi přišel tady na Mandraku v KDE nejrychleji pod ruku. Ale pokud má jít o (polo)automatické zpracování, není na holý diff/patch.
    "Dobrý den pane, nevíte, která bije?!"
    8.6.2005 22:13 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše Re: Kdiff3
    používám vimdiff, teda většinou jeho grafickou podobu - gvimdiff a nemusím řešit nějaké kněco nebo xfce
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.