현재의 MariaDB 설치를 디버그 플래그로 컴파일 된 것으로 교체하고 싶습니다. 바이너리를 컴파일하고 Macports를 통해 설치된 것 위에 복사/붙여 넣기를 할 수 있습니까? 아니면 다른 것이 있습니까?Macports를 통해 설치된 바이너리를 바꾸는 방법은 무엇입니까?
1
A
답변
1
그래서 내가 한 것입니다.
- 는 MariaDB의 포트 파일을 찾습니다 :
port file mariadb-10.1
- 빌드에 대한 디버그 플래그를 추가 @ neverpanic의 대답의 혼합과 MariaDB의 #irc 채널에서 좀 더 질문을했다.
configure.args-append
에서-DCMAKE_BUILD_TYPE=Debug
을 추가하고 마지막으로 변형 후 새로운 하나를 추가variant debug { configure.optflags -O0 -g3 }
- 강제 재 구축 :
sudo port -sn upgrade --force mariadb-10.1 +debug
- 마지막으로 LaunchCtl의 PLIST 파일을 찾아 프로그램의 이름 뒤에
--debug
플래그를 추가port contents mariadb-10.1-server
을한다.
2
아마도 MacPorts Portfile을 편집하고 필요한 플래그를 추가 한 다음 다시 설치하는 것이 가장 쉽습니다. port file mariadb-10.1
을 사용하여 Portfile을 찾을 수 있습니다 (사용중인 버전 인 경우).이를 편집하고 에 추가해야하는 플래그를 if {$subport eq $name} { ... }
으로 묶은 블록에 추가하십시오.
-s
소스에서 다시 컴파일 MacPorts를 지시 소스에서 다시 컴파일 할 파일을 저장하고sudo port -sn upgrade --force mariadb-10.1
을 실행-n
가 MacPorts를 지시 (변화가없는 바이너리 다운로드를 방지하기 위해) mariadb-10.1이 이미 설치되어 있음에도 불구하고 모든 종속성을 수정하지 않고 그대로 두십시오.--force
rsync 방법을 사용하여 포트 트리 (기본값)를 동기화하면 Portfile의 변경 사항이 되돌려집니다. 그것이 원하는 것이 아니라면 local portfile repository을 설정할 수 있습니다.