반응형
부제: 고친 파일 옆에 .orig만 남기면 패치가 나온다
cp config.txt config.txt.orig # 원본을 .orig로 복사
vi config.txt # 마음껏 수정
gendiff . .orig > fix.patch # 확장자로 짝을 찾아 diff
$ gendiff gd .orig
diff -up gd/foo/config.txt.orig gd/foo/config.txt
--- gd/foo/config.txt.orig 2026-07-15 02:30:11 +0000
+++ gd/foo/config.txt 2026-07-15 02:30:11 +0000
@@ -1,2 +1,3 @@
line one
-line two
+line two CHANGED
+line threegendiff는 디렉토리를 훑어 지정한 확장자(예 .orig)로 끝나는 파일마다 원본과 수정본을 diff로 비교해 하나의 패치로 묶어준다. rpm spec에서 소스에 패치를 적용할 때, 수정본을 만들고 그 패치를 뽑는 정석 도구다. 파일마다 일일이 diff -u를 돌릴 필요가 없다.
이렇게도 쓴다
수정 전에 원본을 백업하는 관성 표기다.
cp config.txt{,.orig}
트리 전체를 통째로 백업한 뒤 고치고 패치를 뽑는다.
cp -a src src.orig # (-a는 -rp 포함: 재귀+속성 보존)
만든 패치를 spec의 SOURCES에 바로 저장한다.
gendiff hello-2.12 .orig > ~/rpmbuild/SOURCES/hello-fix.patch
패치가 몇 개 파일을 건드리는지 센다.
gendiff . .orig | grep -c '^diff'
빈 패치(변경 없음)인지 확인하고 걸러낸다.
gendiff . .orig | tee fix.patch | head -1반응형
'명령어 > Linux' 카테고리의 다른 글
| [RHEL] xfs_info XFS 지오메트리 확인 (0) | 2026.07.16 |
|---|---|
| [RHEL] createrepo_c rpm 디렉토리를 yum 레포로 만들기 (0) | 2026.07.16 |
| [RHEL] rpmdiff 두 RPM 패키지 차이 비교 (0) | 2026.07.16 |
| [RHEL] rpmlint spec과 rpm 패키지 규칙 검사 (0) | 2026.07.16 |
| [RHEL] spectool spec의 소스·패치 나열하고 내려받기 (0) | 2026.07.16 |