Nowe posty

Autor Wątek: Nalozenie laty ( zmiana path ) na kernel  (Przeczytany 2107 razy)

TomBoy

  • Gość
Nalozenie laty ( zmiana path ) na kernel
« dnia: 2007-03-04, 16:31:11 »
Witam

Mozliwe ze pomogloby nalozenie laty, lecz nie wiem za bardzo jaka sciezke zrobic zeby nalozylo, napisane jest w patchu ( naglowek ):

diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index 7ca81f4..b05378a 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c


wiec robie plik, a w nim zawartosc:

http://www.linuxhq.com/kernel/v2.6/20/drivers/i2c/i2c-core.c

wchodze do katalogu gdzie mam orginalnego i2c-core.c, czyli  
/usr/src/linux/drivers/i2c i tam tez tworze w/w plik(a w nim zawartosc ze strony ktorej podalem) tylko ze zimeniam na i2c-core.c.orig i widze :

i2c-core.c.orig (patch)
i2c-core.c ( orginalny )

Wchodze do pliku patcha i tam modyfikuje sciezke, czyli daje :

diff --git i2c-core.c i2c-core.c.orig
index 7ca81f4..b05378a 100644
--- i2c-core.c
+++ i2c-core.c.orig

bedac w katalogu gdzie musze nalozyc latw, pisze :

patch -p0 < i2c-core.c.orig

ale wywala mi :

#patch -p0 < i2c-core.c.orig
patching file i2c-core.c
patch: **** malformed patch at line 22:                 +   return sprintf(buf, "%sn", adap->name);

Czy sciezki sa poprawnie zmodyfikowane ? ( nakladam patcha w katalogu gdzie jest orginal i patch )

Ps. Nie chce sciagac calego kernela z innymi poprawkami bo one sa jeszcze niedoracowane.. a prace trwaja.. jedynie chcialem ten jeden modul poprawic do sprawnego dzialania grafiki...


Maciek_Rutecki

  • Gość
Nalozenie laty ( zmiana path ) na kernel
« Odpowiedź #1 dnia: 2007-03-04, 20:03:05 »
2007-03-04 16:31:11 TomBoy napisał:


 > #patch -p0 < i2c-core.c.orig
 > patching file i2c-core.c
 > patch: **** malformed patch at line 22:                 +   return sprintf(buf,
 > "%sn", adap->name);
 
W patchu brakuje najprawdopodobniej tabulatorów.

Zwykle używa się patch -p1...

--
Maciek

TomBoy

  • Gość
Nalozenie laty ( zmiana path ) na kernel
« Odpowiedź #2 dnia: 2007-03-04, 20:30:44 »
2007-03-04 20:03:05 Maciek_Rutecki napisał:

> 2007-03-04 16:31:11 TomBoy napisał:
 >
 >
 >  > #patch -p0 < i2c-core.c.orig
 >  > patching file i2c-core.c
 >  > patch: **** malformed patch at line 22:                 +   return sprintf(buf,
 >  > "%sn", adap->name);
 >  
 > W patchu brakuje najprawdopodobniej tabulatorów.
 >
 > Zwykle używa się patch -p1...
 >
 > --
 > Maciek
 >


Sprawdzalem rowniez pod -p1

Maciek_Rutecki

  • Gość
Nalozenie laty ( zmiana path ) na kernel
« Odpowiedź #3 dnia: 2007-03-04, 21:35:47 »
2007-03-04 20:30:44 TomBoy napisał:

 >
 > Sprawdzalem rowniez pod -p1

Zerknij w pliki źródłowe, czy w danych wierszach nie ma tekstu zaczynającego się od znaku tabulacji (wcięcia).

Akurat dzisiaj miałem ten sam problem:

http://groups.google.com/group/linux-testers-group-pl/browse_thread/thread/f5a73989b8b4a837?hl=en

--
Maciek

xavery

  • Gość
Nalozenie laty ( zmiana path ) na kernel
« Odpowiedź #4 dnia: 2007-03-04, 22:01:31 »
>  > W patchu brakuje najprawdopodobniej tabulatorów.
 >  >

Akurat z białymi znakami to patch powinien sobie jakoś radzić (vide opcja -l)

 >  > Zwykle używa się patch -p1...

 > Sprawdzalem rowniez pod -p1

Może być i p0 albo i inne. Ten parametr zależy od miejsca w hierarchii filesystemu od którego zaczynamy paczowanie. Ta na marginesie - edycja nagłówków patcha jest zbędna, ponieważ właśnie tym parametrem możemy sobie "obciąć" niepotrzebne katalogi.
Po mojemu to ten patch został wygenerowany jakoś dziwnie. Nagłówek patch'a:
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index 7ca81f4..b05378a 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
świadczy chyba o tym, że powstał przy użyciu narzędzi innych niż standardowy "patch". Jest taki pakiet git który zawiera chyba podobne narzędzia diff-patch służące do podobnych celów. Nie wiem - nie używam, być może trzeba ten patch nakładać za pomocą narzędzia git-patch albo podobnie. Zawsze też można dopisać ręcznie łaty na podstawie patcha, w tym przypadku to tylko ponad 50 linii:)

TomBoy

  • Gość
Nalozenie laty ( zmiana path ) na kernel
« Odpowiedź #5 dnia: 2007-03-05, 11:17:33 »
> Może być i p0 albo i inne. Ten parametr zależy od miejsca w hierarchii filesystemu od którego
 > zaczynamy paczowanie. Ta na marginesie

Dlatego dalem -p0 zeby nie chodzilo po katalogach, jak rowniez zmienilem sciezki w patchu zeby mozna bylo odrazu nalozyc bedac w tym katalogu gdzie jest orginal, albo mozna p0 + odpowiednia sciezka w patchu ( z ktorj bedziemy startowac patcha, a ktora odwoluje sie do nalozenia go )


 - edycja nagłówków patcha jest zbędna, ponieważ właśnie
 > tym parametrem możemy sobie "obciąć" niepotrzebne katalogi.
 > Po mojemu to ten patch został wygenerowany jakoś dziwnie. Nagłówek patch'a:
 > diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
 > index 7ca81f4..b05378a 100644
 > --- a/drivers/i2c/i2c-core.c
 > +++ b/drivers/i2c/i2c-core.c
 > świadczy chyba o tym, że powstał przy użyciu narzędzi innych niż standardowy "patch".
 > Jest taki pakiet git który zawiera chyba podobne narzędzia diff-patch służące do podobnych
 > celów. Nie wiem - nie używam, być może trzeba ten patch nakładać za pomocą narzędzia git-patch
 > albo podobnie. Zawsze też można dopisać ręcznie łaty na podstawie patcha, w tym przypadku to
 > tylko ponad 50 linii:)


[...]tylko[..]... albo AŻ  

heh.. :)