Freebsd 포트(e2fsprogs)를 수정하고 빌드하는 방법

Freebsd 포트(e2fsprogs)를 수정하고 빌드하는 방법

FreeBSD에서 /usr/ports/sysutils/e2fsprogs/를 빌드하려고 합니다. 이를 위해 다음 단계를 따릅니다.

  1. cd $port 포트 디렉터리로 이동합니다: /user/ports /sysutils/e2fsprogs
  2. 'make extract' 실행 --> 소스 코드가 다운로드됩니다.
  3. cp '파일' 디렉터리를 file.bckp로
  4. xyz.c xyz.c.orig 이동
  5. xyz.c에서 필요한 사항을 변경합니다.
  6. 'make makepatch' 실행 --> 파일 디렉터리에 패치 저장
  7. 'make clean patch' 실행 --> 새 코드 추출 및 패치 적용
  8. "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));
 }

관련 정보