디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

아.. 그리고 freebsd ports에서 patch 만드는 명령 있잖

나르시갤로그로 이동합니다. 2025.10.01 20:24:09
조회 38 추천 0 댓글 0

네, FreeBSD 포트에서 소스 코드를 수정한 후 이를 관리하기 위한 패치(patch) 파일을 생성하는 표준 명령에 대해 설명해 드리겠습니다. 이 과정은 포트 시스템의 핵심적인 부분으로, 수정 사항을 체계적으로 관리할 수 있게 해줍니다.


make makepatch: 자동 패치 생성 명령

FreeBSD 포트에서 패치 파일을 생성하는 표준 명령은 make makepatch 입니다.

이 명령은 포트의 작업 디렉터리(work/) 내에서 원본 파일과 수정된 파일을 자동으로 비교하여, 그 차이점을 diff 형식의 패치 파일로 만들어 files/ 디렉터리에 저장해 줍니다. 이렇게 생성된 패치 파일은 다음부터 make 명령이 실행될 때마다 소스 코드 압축 해제 후 자동으로 적용됩니다.


패치 파일 생성 절차 (단계별 가이드)

다음은 gprbuild 포트의 gnat.xml 파일을 예시로 패치를 생성하는 전체 과정입니다.

1단계: 준비 (클린 상태에서 시작)

가장 먼저, 이전 빌드 결과물이나 다른 패치가 적용되지 않은 깨끗한 상태에서 시작해야 합니다.

# 포트 디렉터리로 이동
cd /usr/ports/devel/gprbuild

# 작업 디렉터리 정리
make clean

# 원본 소스 압축 해제
make extract

이 과정을 거치면 work/ 디렉터리에 원본 소스 파일만 깨끗하게 준비됩니다.


2단계: 파일 수정

이제 패치를 만들고 싶은 파일을 수정합니다. 수정하기 전에 반드시 원본 파일을 .orig 확장자로 복사해야 합니다. make makepatch는 이 .orig 파일을 기준으로 변경 사항을 감지합니다.

# gnat.xml 파일이 있는 위치로 이동
cd work/gprconfig_kb-25.0.0/db/

# 원본 파일을 .orig 확장자로 복사
cp gnat.xml gnat.xml.orig

# 이제 원본 gnat.xml 파일을 편집기로 수정합니다.
# (예: ee gnat.xml 또는 vi gnat.xml)
ee gnat.xml

이 단계에서 <runtimes> 섹션을 올바른 경로로 수정합니다.


3단계: 패치 생성 (make makepatch 실행)

파일 수정이 완료되면, 포트의 최상위 디렉터리로 돌아가 make makepatch 명령을 실행합니다.

# 다시 포트의 최상위 디렉터리로 이동
cd /usr/ports/devel/gprbuild

# 패치 파일 자동 생성
make makepatch

이 명령을 실행하면, 시스템이 work/ 디렉터리 내의 gnat.xmlgnat.xml.orig를 비교하여 diff를 생성하고, 그 결과를 files/ 디렉터리에 patch-로 시작하는 이름의 파일로 저장합니다. 파일 이름은 보통 수정된 파일의 경로를 포함하여 자동으로 생성됩니다 (예: files/patch-work_gprconfig_kb-25.0.0_db_gnat.xml).


4단계: 검증 및 빌드

패치가 올바르게 생성되었는지 확인하고 최종적으로 빌드합니다.

# 다시 작업 디렉터리를 정리
make clean

# 패치가 잘 적용되는지 테스트 (선택 사항)
make patch

# 최종 빌드
make

make를 실행하면, 포트 시스템은 소스 압축 해제 후 files/ 디렉터리에 있는 패치를 자동으로 적용하고 빌드를 시작합니다. 이제 수정 사항이 영구적으로 반영되어 매번 동일한 방식으로 빌드됩니다.

이것이 FreeBSD 포트 시스템에서 수정 사항을 관리하는 가장 표준적이고 올바른 방법입니다. ?+


추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 공개연애가 득보다 실인 것 같은 스타는? 운영자 25/10/06 - -
AD 프로게이머가 될테야!! 운영자 25/10/01 - -
2893471 멘헤라 모모링..❤ ♥냥덩이♥갤로그로 이동합니다. 10.02 50 0
2893460 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 10.02 52 0
2893452 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥덩냥이♥갤로그로 이동합니다. 10.02 65 0
2893449 외국도 초급/저연차 프로그래머들 다 잘리고 있는데 AI는 그저 [2] 프갤러(220.70) 10.02 87 0
2893415 컴공 학식 2학년인데 어케해야할까요 [1] ㅇㅇ(211.60) 10.02 116 0
2893387 트럼프에 등 돌리는 MAGA! 원인은 엡스타인이 아니라 '딥스테이트'? 발명도둑잡기(118.216) 10.02 43 0
2893385 노인들이 인생이 노력이랬다가 운이라고하는데 정신 못차려서 그럼 타이밍뒷.통수한방(1.213) 10.02 50 0
2893384 이스라엘 삐삐 원격 폭파처럼 노트북, 서버 배터리 원격 폭발 공작 발명도둑잡기(118.216) 10.02 76 0
2893381 찢은 보수진보 대통합을 이루고 국가붕괴시킴 ㅋㅋㅋㅋㅋㅋ 타이밍뒷.통수한방(1.213) 10.02 39 0
2893379 정부 클라우드 복구불가 혹시 내란세력 증거 소멸 목적? 발명도둑잡기(118.216) 10.02 44 0
2893377 미국 국기 이모티콘은 두개 발명도둑잡기(118.216) 10.02 36 0
2893376 카카오 코테.. c없네.. 프갤러(112.170) 10.02 279 0
2893371 리눅스 창시자 리누스 방한하면 유퀴즈에 나와야 합니다 [1] 발명도둑잡기(118.216) 10.02 68 0
2893367 요즘은 국비교육 인기가 없나보네 [3] 프갤러(219.251) 10.02 177 0
2893366 근데 오히려 못생긴거<<이거 나름 나쁘지 않은듯 [1] ㅆㅇㅆ(113.192) 10.02 76 0
2893364 북돼지새끼는 왜 외제품 사용하는거임?? 타이밍뒷.통수한방(1.213) 10.02 48 0
2893363 커널 패치가드 조지는 중인데 루도그담당(58.239) 10.02 56 0
2893362 오늘의 영화 실마리: 온라인게임 역사 다큐 발명도둑잡기(118.216) 10.02 51 0
2893360 수면쉬야햇당 [2] ♥냥덩이♥갤로그로 이동합니다. 10.02 77 0
2893359 울트라리스크 [2] ♥냥덩이♥갤로그로 이동합니다. 10.01 74 0
2893358 남자도 여신 유튜버 되기 가능 발명도둑잡기(118.216) 10.01 37 0
2893357 뭔가 덥넹 ♥냥덩이♥갤로그로 이동합니다. 10.01 61 0
2893356 애인과 수갑 한쪽씩 차면 뭐 하고 놀아야 하나요? 발명도둑잡기(118.216) 10.01 36 0
2893355 너희 좃찐따라서 나님 없으면 개노잼이잖아 [1] ♥냥덩이♥갤로그로 이동합니다. 10.01 62 0
2893354 나는 supabase의 기능중에 db를 벡터화 하는게 존나 편해서 ㅆㅇㅆ찡갤로그로 이동합니다. 10.01 59 0
2893353 나도 만약 성공했으면 운이 좋았다라고 변명했을듯 타이밍뒷.통수한방(1.213) 10.01 50 0
2893352 인생이 운이라는새끼는 그냥 집안이 좋은새끼들이나 하는 핑계거리이지 타이밍뒷.통수한방(1.213) 10.01 48 0
2893351 CIA에 신고한 냥덩이 외환죄로 최고 사형 가능 [1] 발명도둑잡기(118.216) 10.01 53 0
2893350 실력이라 포장된 운에 현혹되지 말기를 바래 ㅇㅇ(121.168) 10.01 41 0
2893349 근데 supabase 존나 편하네 왜 백엔드 안하고 supabase [5] ㅆㅇㅆ(113.192) 10.01 97 0
2893347 인생은 운이 절대아님 타이밍뒷.통수한방(1.213) 10.01 48 0
2893345 실력은 운이야. 운은 실력이 아니야 ㅇㅇ(121.168) 10.01 40 0
2893344 .. [4] ♥냥덩이♥갤로그로 이동합니다. 10.01 108 0
2893343 와 한화 우승못했네 [10] 개멍청한유라갤로그로 이동합니다. 10.01 89 0
2893342 이재명 대통령과 박진영 대중문화교류위원회 공동위원장 [1] 발명도둑잡기(118.216) 10.01 50 0
2893341 사기조심 프갤러(211.45) 10.01 52 0
2893340 이재명,조국 [1] ♥냥덩이♥갤로그로 이동합니다. 10.01 65 0
2893339 찢재명이 알트먼 보고 행복하겠누 자기보다 작은사람 만나서 ㅋㅋㅋ 타이밍뒷.통수한방(1.213) 10.01 45 0
2893338 금융권 다니는 사람들 다닐만 해? ㅇㅇ(121.168) 10.01 53 0
2893334 아빠 여행간김에 아빠술을 털어보자 ㅇㅅㅇ [1] ㅇㅇ(223.39) 10.01 75 0
2893333 수갑차고 데이트, 네티즌 인기 폭발 발명도둑잡기(118.235) 10.01 31 0
2893332 알트먼 키 뭐임??찢재명보다 작누 타이밍뒷.통수한방(1.213) 10.01 49 0
2893331 날이 쌀쌀하니 길거리 오뎅국물이 땡기는구낭 ♥냥덩이♥갤로그로 이동합니다. 10.01 58 0
2893328 야구 미쳤다 이기양 !! ♥냥덩이♥갤로그로 이동합니다. 10.01 63 0
2893327 홍대 근처 지하철에 미인들이 많이 다니네 발명도둑잡기(118.235) 10.01 66 0
2893326 경험과상상 모노씨어터 첫 날 잘 봤습니다 발명도둑잡기(118.235) 10.01 48 0
2893325 제조업 좆소는 절대 들어가지마라 [3] 프갤러(211.234) 10.01 109 0
2893321 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥덩냥이♥갤로그로 이동합니다. 10.01 53 0
2893320 드라이버 개발하는거 재밌긴하네 [2] 루도그담당(58.239) 10.01 72 0
2893319 하... 맛있는 양념소갈비 하나 먹고싶긴하네... ㅇㅇ(223.39) 10.01 43 0
뉴스 치어리더 권희원, 아이돌 비주얼 화보 공개 “장원영 닮은꼴 미모 눈길” 디시트렌드 10.06
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2