.deb가 다른 시스템에 설치될 때 자동으로 컴파일 및 설치되는 소스 코드에서 .deb 패키지를 만드는 방법

.deb가 다른 시스템에 설치될 때 자동으로 컴파일 및 설치되는 소스 코드에서 .deb 패키지를 만드는 방법

소스 코드가 있고 .deb 패키지를 만들어야 합니다. 설치되면 소스 코드를 컴파일하고 deb 패키지를 설치할 때 결과 바이너리를 설치합니다.

이미 바이너리가 있을 때 패키지가 생성된다는 것을 알고 있습니다.

방금 추상적 인 생각이 들었습니다. PRE_INSTALL 스크립트 생성과 관련이 있나요? 이 스크립트는 소스 코드를 컴파일하여 바이너리를 제공합니다. 나중에 설치될 것입니다.

답변1

이는 패키지를 "모든" 아키텍처로 지정하고 사전 설치 대신 설치 후 및 제거 전 스크립트를 사용하여 수행할 수 있습니다. 그러나 이것은 매우 나쁜 생각이다. 이는 .deb 파일의 원래 의도 중 많은 부분을 무너뜨립니다.

.deb 파일을 컴파일러(gcc?)와 라이브러리 자체뿐 아니라 코드가 의존하는 모든 라이브러리의 개발 패키지에 종속되게 만들어야 합니다.

코드를 컴파일하고 바이너리를 올바른 위치에 배치하려면 설치 후 스크립트를 만들어야 합니다. 패키지를 제거할 때 설치된 모든 바이너리를 제거하는 제거 전 스크립트를 생성해야 합니다.

그 후에도 dpkg 설치 프로그램에 모든 바이너리가 어디에 있는지 제대로 알려주지 않는 패키지가 남게 됩니다. 패키지와 다른 패키지 간의 충돌을 감지할 수 없습니다.

이것은 매우 나쁜 생각이므로 하지 말 것을 강력히 권고합니다.

관련 정보