[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[vine-users:024631] Re: mkkpkgでのpatchあてについて


Hideo Ogawa <fwht1046 _at_ mb.infoweb.ne.jp> wrote:
> sprcファイルでのパッチの当て方に2通り方法があるようだ。
> 1、peamble部って云うのですか、specファイルの前の方で、パッチ番号とパッ
> チファイル名の対応をさせておいて、パッケージ作成部でパッチ番号でパッチを
> 当てさせる。
>    ex
>     # vfat-jp
>     patch41: http://www.jaist.ac.jp/~amatsus/linux/src/kernel....
> 
>     # vfat-jp
>     %patch41 -p1
> 
> 2、パッケージ作成部で直接パッチを当てさせる。
>    ex
>     patch -p1 < VFAT-jp/common-vfatjp.patch
> 
> どちらの場合でも、patchファイルを置いた場所をフルパスで指定してやれば良
> いのでしょうか。

  フルパスで指定してはいけません。

  1の場合はRPM_SOURCE_DIRにPatch41が存在することが宣言されているので、
%patch41
というマクロでパッチを当てています。

  2の場合、別途宣言されたソースを展開してRPM_BUILD_DIR/linux/VFAT-jp以下
にパッチがあることが明らかであるので、
patch というコマンドでパスを指定してパッチを当てています。
  これはどちらかというと特殊なやり方だと思います。

  なので、通常は
Patch500: what-you-want-to-be-patched.1.patch
Patch501: what-you-want-to-be-patched.2.patch
などと指定した上で、これをSOURCESディレクトリにおいておきます。

%prepセクションの%setup以下で
%patch500 -p2
%patch501 -p1
という風にパッチを当てます。


> あと patch -p(n) の番号指定のしかたが、jman patch を見てみたのですが、何
> のことやら

  rpm -bpでパッチを当てる段階では、通常RPM_BUILD_DIR(今回なら
/usr/src/redhat/BUILD/)を基準にして、ターゲットとなるソースのディレクトリ
(つまり/usr/src/redhat/BUILD/linux)に降りています。

  そのディレクトリで目的のパッチを当てるとき指定する -pn と同じ物を書けば
いいです。
| --- linux/ksymoops-0.7c/Makefile.orig	Thu Jun 10 18:00:21 1999
| +++ linux/ksymoops-0.7c/Makefile	Mon Jul 17 20:30:47 2000

  例えばパッチがこーなって要る場合、直下にksymoopsディレクトリがあり、
"linux"は不要なので、"-p1"になります。

> (どうしてここで http://www...がでてくるのかも分からないのですが ^^;)

  どこから取得した(取得できる)ものかを明らかにしているだけですから、特に
必須ではありません。
-- 

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: References: