Portál AbcLinuxu, 14. května 2025 08:12

Dotaz: Jak o patche ovat DJBDNS pro IPv6

16.6.2010 14:05 sixberk | skóre: 4
Jak o patche ovat DJBDNS pro IPv6
Přečteno: 277×
Odpovědět | Admin

Poradte prosim jak implementovat patche do djbdns nasel jsem patche djbdns-1.05-test23.diff.bz2 rozbalil ho a jsou tam same soubory typu dns.h.diff

 

Poradte prosim jak to implementovat nikdy jsem to jeste nedelal.

Dekuji


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

16.6.2010 14:19 Ant
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
Odpovědět | | Sbalit | Link | Blokovat | Admin
man patch ?
16.6.2010 14:58 sixberk | skóre: 4
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6

Muzete to prosim upresnit pro djbdns ?

Dekuji

16.6.2010 16:30 Ant
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
man patch popisuje, jak se pouziva program patch, tedy program, ktery umi upravit jeden soubor (zpravidla puvodni zdrojovy kod) na zaklade prikazu obsazenych v druhem souboru (typicky popis rozdilu mezi puvodni a novou verzi zdrojoveho kodu).

Djbdns neni zadna vyjimka. Patch s tim pracuje jako s kterymkoliv jinym adresarem plnym textovych souboru.

Precti si tu manualovou stranku. Nema cenu, abych ti tady vysvetloval neco, co je popsano tam. Jestli to nepochopis z tech stranek, pouzil Google na nejake tutorialy pro program patch.
16.6.2010 16:42 Ant
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
Sice jsem to nenapsal, protoze jsem mel za to, ze je to samozrejme, ale jen tak pro jistotu: potrebujes pochopitelne take zdrojove kody toho djbdns. Navic az to opatchujes, tak to budes muset zkompilovat stejne jako kterykoliv jiny zdrojovy kod v C pomoci GCC.

Jestli pouzivas nejakou distribuci, tak se ujisti, ze mas nainstalovane prislusne baliky (nekdy se tomu rika "baliky vyvojove sady", "vyvojova stanice" apod. Baliky maji ve jmene zpravidla neco jako *devel*, gcc apod.)

Jestli jsi nikdy nekompiloval programy nebo neinstalovat pridavne baliky do Linuxu, nemyslim, ze tohle je prace pro zacatecnika, ale zkusit to muzes. Mozna budes mit stesti a vsechno na tvem systemu jiz bude pro kompilovani programu nastavene a jedine, co bude potreba udelat, bude:
./configure
./make
./make install
16.6.2010 16:45 Ant
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
Oprava: Ty prikazy "make" maji byt bez uvodni tecky a lomitka.
16.6.2010 20:28 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
Oprava 2: dbjdns nepoužívá svatou trojici, make se volá bez configure.
Quando omni flunkus moritati
16.6.2010 16:45 sixberk | skóre: 4
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
takze staci kdyz dam diff /patche/ /update/ a pak jen klasicky zkompilovat jestli tomu dobre rozumim.
16.6.2010 16:52 Ant
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
staci kdyz dam diff /patche/ /update/
Tohle mi nejak uniklo ...

Diff ty VYTVORI ty patche (tj. soubor s rozdily mezi tema dvema verzemi).

Program patch zase naopak ty rozdily vlozi do puvodniho souboru.

Nevim, co je 'update'. Jinak ano, ty patche jsou update (resp. upgrade) nejake puvodni, starsi verze, ktere typicky chybi nejaka funkce nebo ma chybu, kterou ten patch opravuje nebo doplnuje.

Pak uz staci jen klasicky zkompilovat. Ano.
16.6.2010 16:47 Ant
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
budes muset zkompilovat
Nejake kratke vysvetleni je tady, jinak pochopitelne Google: configure "make install".
16.6.2010 16:51 sixberk | skóre: 4
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6

no znova jsem to zkompiloval ale vysledek je porad stejny podpora ipv6 tam neni nemam krom toho diff /patch/kde/je/ /update/adresar/ udelat jeste neco jineho pak jsem postupoval standartne

echo gcc -O2 -include /usr/include/errno.h > conf-cc

pak uz jen make atd

16.6.2010 17:36 Ant
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
Tak jsem si nakonec stahl i ten originalni djbdns, opatchoval a zkompiloval a probehlo to bez problemu vcetne tech IPv6 souboru.

V tvojem pripade bych se ujistil, ze to opatchovani probehne v poradku.

Rekneme, ze mas v jednom adresari ten patch (*.diff) a pak adresar s originalnimi zdrojovymi kody. Zkus, co ti pise tento prikaz:

patch -p0 --dry-run < ten_diff_soubor

Melo by to probehnout bez problemu. Jestli ne, podivej se, co je spatne. Pro ostry beh nakonec odstran to "--dry-run". Pak dej to "echo gcc ..." a pak dej "make". U me to bylo napoprve bez problemu.
16.6.2010 17:47 sixberk | skóre: 4
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
ten puvodni adresar mam smazat ? nemuze to zpusobovat jeste to ze bezi supervise tinydns ? jinak patch probehl podle me v pohode ani po make nehlasi zadnou chybu ale soubory typu add-host6 tam nejsou a maji byt
16.6.2010 18:01 sixberk | skóre: 4
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
tak jsem v /package/djbdns-1.05
patch -p0 < /usr/src/djbdns-1.05-test23.diff
patching file djbdns-1.05-ipv6/FILES
Hunk #1 FAILED at 135.
Hunk #2 FAILED at 151.
Hunk #3 FAILED at 164.
Hunk #4 FAILED at 241.
patch: **** Can't create file djbdns-1.05-ipv6/FILES.orig : No such file or directory
17.6.2010 00:01 Ant
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
Can't create file djbdns-1.05-ipv6/FILES.orig
Podivej se jestli:
  1. nemas alias v .bashrc na 'patch -b' (vytvareni kopie patchovanych souboru)
  2. mas dostatecna prava na zapis v adresari (/package/djbdns-1.05), do ktereho posilas ty patche (budes tam prepisovat soubory!)
  3. jses ve spravne urovni vzhledem k tomu -p0. Mozna jsi o adresar nahore nebo dole. Pro -p0 bys ten prikaz patch mel spoustet z adresare /packages (cd /packages)
  4. nejlepsi mas dat si to vsechno k sobe do domovskeho adresare a tak si s tim delat pokusy, misto toho delat to nekde v systemove oblasti ("/packages/...")
16.6.2010 21:10 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
po make nehlasi zadnou chybu ale soubory typu add-host6 tam nejsou a maji byt
Ty soubory se vytváří až při generování konfigurace (volání tinydns-conf), tzn. pokud máš někde běžící instanci tinydns, můžeš jinam vygenerovat konfiguraci a ty skripty add-host6 si překopírovat
Quando omni flunkus moritati
17.6.2010 00:04 Ant
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
Ty soubory se vytváří až při generování konfigurace
Nevim, kde se ty soubory vytvareji, ale urcite to neni tim make, protoze v celem Makefile neni ani zminka o zadnem add-host6.
17.6.2010 08:27 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
Nevim, kde se ty soubory vytvareji
Je to napsáno v závorce těsně za místem, kde jsi ukončil citaci.
Quando omni flunkus moritati
17.6.2010 09:39 Ant
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
Ja to chapu :-) Blbe jsem zalinkoval svuj komentar. Mela to byt reakce na Sixberkovu otazku, kde je ten add-host6 s vyuzitim tvoji odpovedi, ze to je v tinydns-conf.

Chtel jsem mu jen ukazat, ze 'make' ten program nemuze vytvorit, kdyz jeho konfigurace neni zminena v Makefile.
16.6.2010 17:02 Ant
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
Odpovědět | | Sbalit | Link | Blokovat | Admin
djbdns-1.05-test23.diff.bz2 rozbalil ho a jsou tam same soubory typu dns.h.diff
Tak jsem nasel ten popisovany patch, stahl ho, rozbalil a obsahuje jen jen diff soubor. Zadne dns.h.diff tam nejsou.
16.6.2010 17:50 sixberk | skóre: 4
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
ja to rozbaloval pres mc a kdyz jsem to ted rozbalil normalne tak mam opravdu jen jeden soubor diff takze to zkusim ted patchovat
17.6.2010 00:09 Ant
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
On to asi MC (Midnight Commander) rozklada na jednotlive patche. Tenhle jeden velky diff je nejake vylepseni od GNU diffu a potrebuje GNU patch prikaz. S temi malymi diff soubory by ti mel stacit jakykoliv patch program z libovolneho UNIXu.
16.6.2010 17:56 sixberk | skóre: 4
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
Odpovědět | | Sbalit | Link | Blokovat | Admin
tak jsem v /package/djbdns-1.05
patch -p0 < /usr/src/djbdns-1.05-test23.diff
patching file djbdns-1.05-ipv6/FILES
Hunk #1 FAILED at 135.
Hunk #2 FAILED at 151.
Hunk #3 FAILED at 164.
Hunk #4 FAILED at 241.
patch: **** Can't create file djbdns-1.05-ipv6/FILES.orig : No such file or directory
16.6.2010 21:11 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jen tak pro jistotu - jsi si jist, že tvoje distribuce nenabízí djbdns již patchované? Např. Debian má balíčky dbndns a djbdns, jeden s IPv6, druhý bez.
Quando omni flunkus moritati
16.6.2010 21:13 sixberk | skóre: 4
Rozbalit Rozbalit vše Re: Jak o patche ovat DJBDNS pro IPv6
Uz jsem to zvladnul. Ted jen nastavit tinydns aby fungovala na ipv6. Dekuji vsem za rady

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.