Portál AbcLinuxu, 6. května 2025 11:37
Ahoj. Potřebuji poradit, jak mám aplikovat patch na zdrojový kód.
Ačkoli linux používám už hodně let, tak jsem pořád tak trošku "ucho".....
Ze začátku jsem vyzkoušel několik různých distribucí až jsem zakotvil u ArchLinuxu. No ale nikdy jsem se tak nějak "nehrabal pod kapotu"....
Protože mám teď trošku víc času, tak jsem se rozhodl, že se o linuxu zkusím dozvědět něco trošku víc a začal jsem laškovat s LFS. No a tady nastal problém. Všechno se kompiluje ze zdrojáků a na některé programy je třeba aplikovat patch. Já to nikdy nedělal a co jsem se dočetl v různých diskuzích, tak patch na určitý program byl vždy soubor .diff. Tady se ale na opatchování zdrojájků používají soubory .patch a já nevím, co s nimi... ????
Můžete mi prosím někdo poradit, jak třeba opatchovat soubor: http://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz patchem: http://www.linuxfromscratch.org/patches/lfs/development/bash-4.3-upstream_fixes-3.patch
nebo soubor: http://download.savannah.gnu.org/releases/sysvinit/sysvinit-2.88dsf.tar.bz2 patchem: http://www.linuxfromscratch.org/patches/lfs/development/sysvinit-2.88dsf-consolidated-1.patch
A jesli můžu být hodně smělý.... můžete mi poradit tak nějak polopaticky...... např. uvést konkrétní příkaz .
Moc díky.
.diff
a .patch
jsou totéž. diff
je program, kterým se generují, patch
je program, kterým se aplikují.
Většinou se to aplikuje takto:
cd /neopatchovaný/zdroj # Sem je rozbalený ten tar.gz patch -p1 < soubor.patch(za
-p
je většinou 1
, ale občas je potřeba zjistit správnou hodnotu systémem pokus-omyl)
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.