FreeBSD에서 /usr/ports/sysutils/e2fsprogs/를 빌드하려고 합니다. 이를 위해 다음 단계를 따릅니다.
- cd $port 포트 디렉터리로 이동합니다: /user/ports /sysutils/e2fsprogs
- 'make extract' 실행 --> 소스 코드가 다운로드됩니다.
- cp '파일' 디렉터리를 file.bckp로
- xyz.c xyz.c.orig 이동
- xyz.c에서 필요한 사항을 변경합니다.
- 'make makepatch' 실행 --> 파일 디렉터리에 패치 저장
- 'make clean patch' 실행 --> 새 코드 추출 및 패치 적용
- "make build" 실행 --->빌드
이 작업을 수행하면 다음 오류가 발생합니다.
root@pod1229-client98:/usr/ports/sysutils/e2fsprogs # make clean patch DISABLE_VULNERABILITIES=yes
===> Cleaning for e2fsprogs-1.42.10
===> License GPLv2 accepted by the user
===> Found saved configuration for e2fsprogs-1.42.10
===> e2fsprogs-1.42.10 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by e2fsprogs-1.42.10 for building
===> Extracting for e2fsprogs-1.42.10
=> SHA256 Checksum OK for e2fsprogs-1.42.10.tar.xz.
===> Patching for e2fsprogs-1.42.10
===> Applying FreeBSD patches for e2fsprogs-1.42.10
File to patch: /data/usr/ports/sysutils/e2fsprogs/files/patch-misc__mke2fs.c
No such line 551 in input file, ignoring
1 out of 1 hunks failed--saving rejects to /data/usr/ports/sysutils/e2fsprogs/files/patch-misc__mke2fs.c.rej
=> Patch patch-misc__mke2fs.c failed to apply cleanly.
=> Patch(es) patch-350897 patch-e2fsck__unix.c patch-lib__ext2fs__ext2_fs.h patch-lib__ext2fs__tdb.c patch-lib__ext2fs__tst_bitops.c patch-lib__uuid__gen_uuid.c patch-misc__Makefile.in applied cleanly.
*** Error code 1
Stop.
"make clean patch"는 "패치할 파일"에서 중지됩니다. 이상적으로는 파일 디렉터리에서 패치를 선택해야 합니다. 하지만 그런 일은 일어나지 않았습니다.
"make patch"로 생성된 패치 파일을 제공하면 빌드가 실패하더라도 마찬가지입니다. 내가 뭘 잘못하고 있는지 아시나요?
패치 생성:
root@pod1229-client98:/usr/ports/sysutils/e2fsprogs # make makepatch
/usr/bin/diff -ud misc/mke2fs.c.orig misc/mke2fs.c > /data/usr/ports/sysutils/e2fsprogs/files/patch-misc__mke2fs.c
root@pod1229-client98:/usr/ports/sysutils/e2fsprogs #
패치 내용.
--- misc/mke2fs.c.orig 2017-09-07 17:08:40 UTC
+++ misc/mke2fs.c
@@ -552,7 +552,7 @@
io_channel_set_blksize(fs->io, fs->blocksize);
free(buf);
if (retval)
- fprintf(stderr, _("Warning: could not erase sector %d: %s\n"),
+ fprintf(stderr, _("Warning: satpal could not erase sector %d: %s\n"),
sect, error_message(retval));
}