배포를위한 설치 후크가 필요한 프로젝트가 있습니다. 내 방법은 setuptools를 사용하여 골격 rpm 스펙 파일을 생성하고 소스 파일을 tar로 만드는 것입니다.rpm/setuptools 패키징에 대한 권한 수정
문제는이 방법으로 사용 권한을 제어하는 방법을 모르는 것입니다. spec 파일은 다음과 같이 보입니다 :
%install
python setup.py install --single-version-externally-managed --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES
%files -f INSTALLED_FILES
%defattr(755,%{user},%{user})
이 모든 파일은 적절한 사용자 및 권한으로 설정됩니다. 그러나 디렉토리에는 속성이 설정되어 있지 않습니다. 이것이 문제가되는지는 알 수 없지만 이상하게 보입니다. 모든 디렉토리는 755 권한을 가진 root가 소유하고 있습니다. 누구든지 user
이 소유 한 디렉토리를 만들기위한 합리적인 표준 방법을 알고 있습니까? 우리 회사는 응용 프로그램 별 역할 계정하에 배포 할 패키징 응용 프로그램을 선호하는 경향이 있기 때문에 묻습니다. setuptools를 사용하여 사이트 패키지에 결과를 저장하면 .pyc
파일이 복사됩니다. 하지만 경로에서 설정 파일 디렉토리를 만들고 싶다면 제대로 작동하는 것 같습니다.
주의 사항 : % files -f INSTALLED_FILES는 일반적으로 나쁜 습관으로 간주됩니다. 이 방법으로 신뢰할 수없고 예측할 수없는 rpm 디렉토리 소유권을 갖게됩니다. 실제로 각 파일을 개별적으로 나열 할 필요가 없기 때문에 Python 패키지에 대해 설치된 디렉토리/파일을 수동으로 나열하는 것은 어렵지 않지만 유지 관리 및 업그레이드를 단순화하고 예측 가능한 결과를 제공합니다. – abbot