
가정
Source0: %{gnu_download_url}/coreutils/coreutils-%{version}.tar.gz
Source1: mk7distro.tar.bz2
Patch0: hostutils.patch.bz2
%prep
RPM 사양 파일 섹션 에서 다음 명령이 수행하는 작업이 무엇인지 말해 줄 수 있습니까 ?
%setup -q -n %{name} -c -a 1
답변1
그것은소스 압축을 푸는 매크로:
the %setup macro is used to unpack the original sources, in preparation for the
build. In its simplest form, the macro is used with no options and gets the name
of the source archive from the source tag specified earlier in the spec file.
답변2
질문에 더 정확하게 대답하고 업데이트된 링크를 제공하기 위해 그렇습니다.%설정 명령Source1 타르볼은 압축 해제되지만 -a 1
지정된 옵션으로 인해 Source0 타르볼은 압축 해제되지 않습니다. 이 옵션을 사용하면 사양 파일의 "Name:" 부분에 있는 에 -c
따라 이름이 지정된 하위 디렉터리에 tarball이 추출됩니다 .-n %{name}
%setup -q 이 명령은 빌드 디렉터리(일반적으로 /usr/src/redhat/BUILD)로 변경한 다음 소스 파일을 추출합니다. 이 매크로는 소스 파일 중 최소한 하나가 /usr/src/redhat/BUILD 아래에 필요한 하위 디렉토리를 생성할 것으로 예상합니다. 이 하위 디렉터리의 이름은 telnet-1.0.1과 같이 패키지 이름과 버전으로 지정되어야 합니다. 올바른 하위 디렉토리를 자동으로 생성하는 압축된 tar 아카이브를 사용하지 않는 경우 %setup 매크로에 –c 옵션을 추가하십시오. –c 옵션은 소스를 추출하기 위한 하위 디렉터리를 만듭니다.
%setup 지시문은 tar, zip, gzip, bzip2, pack, 압축 및 lzh 압축 파일을 자동으로 추출할 수 있습니다. 그러나 tar-gzip 형식이 가장 널리 사용됩니다.