「diff」コマンドを使用してフリースケール「LTIB」のパッチファイルを生成する方法があるかどうか疑問に思っていました(コンパイル中に生成されたバイナリファイル、オブジェクトファイル、およびその他の一時ファイルを除外することにより(「./ltib clean」を使用せずに) /"distclean")) "patch" コマンドでそれらを再適用します。
デフォルトですべての一時ファイルを含むパッチ ファイルを生成できます。
事前にあなたの助けに感謝します..
「diff」コマンドを使用してフリースケール「LTIB」のパッチファイルを生成する方法があるかどうか疑問に思っていました(コンパイル中に生成されたバイナリファイル、オブジェクトファイル、およびその他の一時ファイルを除外することにより(「./ltib clean」を使用せずに) /"distclean")) "patch" コマンドでそれらを再適用します。
デフォルトですべての一時ファイルを含むパッチ ファイルを生成できます。
事前にあなたの助けに感謝します..
作成しようとしているパッチによって異なります。LTIB 環境では、さまざまな戦略で変更したいことがいくつかあります。
パッケージの変更 ($LTIB_DIR/rpm/BUILD の下): LTIB 自体がパッチ ファイルを準備し、アクティブな .spec ファイル ($LTIB_DIR/dist または $LTIB_DIR/config/platform の下にある) を編集できます。これを行うには、ltib を使用してパッチを作成できます。
cd $LTIB_DIR
./ltib -p packagename -m patchmerge
ltib スクリプト自体の patchmerge のコードを見ると、おおよそ次のようになっていることがわかります。
mv $LTIB_DIR/rpm/BUILD/packagename $LTIB_DIR/rpm/BUILD/packagename.modified
cd $LTIB_DIR/rpm/BUILD/packagename.modified
make distclean
cd -
rpmbuild -bp ... # go through the original prep stage
diff --exclude CVS --exclude .git -uNr $LTIB_DIR/rpm/BUILD/packagename $LTIB_DIR/rpm/BUILD/packagename.modified > patchfile
次に、パッチファイルを仕様に追加し、それについて通知します。
どのdistcleanを回避しようとしているのか(グローバルまたはパッケージ)はわかりませんが、パッケージディレクトリで「make distclean」を実行しても問題ない場合(./ltib -m distclean
rootfsを削除するのとは対照的に)、これあなたにとっては大丈夫かもしれません。
それ以外の場合は、diff (またはgit diff
) を使用して独自のパッチ ファイルを作成できます。
diff
similar toの除外ファイルを作成し、.gitignore
それを diff に渡して、パッチの最終的な結果をより選択的にすることができます (diff
マンページを読んでください)。
cd $LTIB_DIR
vi diffignore # add file patterns to this file
mv $LTIB_DIR/rpm/BUILD/packagename $LTIB_DIR/rpm/BUILD/packagename.modified
./ltib -p packagename -m prep
diff --exclude CVS --exclude .git -X diffignore -uNr $LTIB_DIR/rpm/BUILD/packagename $LTIB_DIR/rpm/BUILD/packagename.modified > patchfile