소스는 RPM 사양 파일의 명령에 어떻게 매핑됩니까? [폐쇄]

소스는 RPM 사양 파일의 명령에 어떻게 매핑됩니까? [폐쇄]

RPM 사양 파일에서 다음과 같은 내용이 가끔 표시됩니다.

Source0: /some/path/or/url/file.tar.xz
Source1: /another/path/or/url/file2.tar.gz
Source2: /some/path/library.so
Source4: /other/path/icon.ico
...

경우에 따라 다양한 파일 형식의 소스가 최대 10개 이상 있을 수 있습니다. 그러나 %{SOURCE1}문서 뒤에 있는 참조 내용을 볼 수 없는 경우가 많습니다 . 이러한 소스는 나중에 파일에서 참조하지 않고 구문 분석 및/또는 사용됩니까? 나는 읽었다RPM 패키지 생성, 그러나 이 예는 매우 간단하며 이 특정 질문에 대한 답변을 포함하지 않습니다. 소스 부분의 다양한 사용 사례를 이해하지 못합니다.

예:https://src.fedoraproject.org/rpms/libreoffice/blob/master/f/libreoffice.specSource7, Source9, Source10 및 Source11은 사양 파일의 어느 곳에서도 참조되지 않습니다.

답변1

%build 섹션을 보면 다음 줄을 찾을 수 있습니다.

EXTSRCDIR=`dirname %{SOURCE0}`

그런 다음 구성 매개변수 중 하나는 다음과 같습니다.

--with-external-tar="$EXTSRCDIR" \

거기에서 빌드의 일부로 tarball을 사용합니다. 모든 소스 항목은 패키지 빌드의 일부로 동일한 디렉터리에 저장되므로 사양에서는 디렉터리 이름만 찾아 나중에 참조합니다. (예제에 로컬 경로를 입력한 이유가 무엇인지 잘 모르겠습니다. 일반 사양 파일의 파일 이름이거나 URL입니다.)

저는 libreoffice 빌드 프로세스에 대해 잘 알지 못하지만, 언급한 모든 소스 항목이 위의 구성 매개변수를 통해 가져온다고 가정합니다.

관련 정보