RPM 사양 파일에는 다양한 특수 변수가 있습니다. 이 변수 중 하나라도 처리중인 현재 패키지의 이름을 노출합니까?(하위) 패키지 이름에 대한 RPM 사양 변수는 무엇입니까?
단일 패키지 RPM의 경우 확실한 대답이지만 단일 사양으로 여러 RPM을 생성 할 수도 있습니다. rpmbuild가 자동으로 현재 % 파일 또는 % pre 또는 % post 섹션과 정렬되도록 업데이트하는 $ RPM_PACKAGE_NAME과 같은 변수가 있습니까?
RPM 사양 파일에는 다양한 특수 변수가 있습니다. 이 변수 중 하나라도 처리중인 현재 패키지의 이름을 노출합니까?(하위) 패키지 이름에 대한 RPM 사양 변수는 무엇입니까?
단일 패키지 RPM의 경우 확실한 대답이지만 단일 사양으로 여러 RPM을 생성 할 수도 있습니다. rpmbuild가 자동으로 현재 % 파일 또는 % pre 또는 % post 섹션과 정렬되도록 업데이트하는 $ RPM_PACKAGE_NAME과 같은 변수가 있습니까?
RPM 소스 코드에는 아무 것도 보이지 않습니다. RPM 매크로 또는 Lua를 사용하지 않고 현재 구성중인 패키지 헤더를 사용하여 정의 된 서브 패키지의 현재 목록에 액세스 할 가능성이없는 것 같습니다.
우리가 대신 사용하는 것은 built-in Lua interpreter을 사용하여 루아에서 전체 패키지 절을 생성하는 것입니다. 예를 들어 glibc.spec
; "Array of languages"및 %package langpack-]]..lang..[[
을 검색하십시오. Pagure 뷰어의 구문 강조 표시는 약간 꺼져 있으므로이 언어 간 중첩으로 인해 혼란 스럽습니다.
이것은 가장 깨끗한 방법처럼 보입니다. RPM에 내장 된 루아 통역사가 있다는 것을 전혀 모릅니다. 주제에 관한 최고의 문서에 대한 링크를 포함시켜주십시오. 나는 이것을 찾았다 : http://rpm.org/user_doc/lua.html –
고마워, 나는 링크를 추가했다. 새로운 RPM 문서를 보는 것은 여전히 놀라운 일입니다. –
이름으로 할 수 없습니다. 패키지 이름이 %name
인 매크로가 있지만 기본 패키지의 이름 만 들어 있습니다. 당신이 정말로이 일을해야하고, 당신이 더러운 해킹을하고자하는 경우, 당신은 할 수 있습니다 :
%package base
Summary: Filesystem for %{name}
Group: foo
%post base
echo %group
하는 foo
를 인쇄합니다. 마찬가지로 %summary
의 경우에도 %group
이 가장 유용합니다. 왜냐하면 그룹이 유용한 용도로 사용되지 않았기 때문입니다.
음,이게 더러운 더러운 해킹이라고 언급 했습니까? Florian이 제안한 것은 확실히 더 깨끗한 방법입니다.
내가 아는 한 ... –