パッチ適用時の「ぼかし」とは何ですか?

パッチ適用時の「ぼかし」とは何ですか?

Debian パッケージングにキルトパッチを適用するとエラーが発生します。

Applying patch debian/patches/fixshare.patch
patching file net/slirp.c
Hunk #1 FAILED at 529.
1 out of 1 hunk FAILED -- rejects in file net/slirp.c

Googleを試してみると、このエラーはパッチの適用時に「ファジング」が原因であることがわかりました。今私の質問は何がダウンして、キルトパッチ適用の問題をどのように解決しますか?

私は読んだこの記事案内された手順に従いましたが、まだ問題があります。

答え1

これは必ずしもぼやけによるものではありません(特に説明されているようにパッチを更新した場合)。記事)。ソースコードが変更され、パッチが完全に役に立たなくなる可能性があります。たとえば、ソースソースは次のようになります。

aa
bb
cc

そして、次のことを知らせるパッチ:行を置き換えますbbdd一部のコンテキストでは、ここでは無視されます)。その後、ソースコードは次のように変更されます。

aa
bbb
cc

パッチには次のbb代替行が表示されていますが、その行はddもうbb存在しないため、パッチを正常に適用できません。

回避策は、以前のソースの対応する部分(パッチが適用される可能性がある部分)で失敗したブロックを調べて、新しいソースで行われた変更を確認し、新しいソースを調整してパッチを再生成することです。これは手動でのみ行うことができ、ソースコードに重大な変更がある場合は不可能ではない場合でも困難です。

関連情報