6.4.4. 샘플 Python 프로그램에 대한 사양 파일의 예
Python 프로그래밍 언어(pello)로 작성된 샘플 프로그램에 대해 다음 주석이 있는 예제 사양 파일을 검토합니다.
spec 파일에 래퍼 스크립트를 인라인으로 생성하는 예에서는 사양 파일 자체를 스크립팅할 수 있음을 보여줍니다. 이 래퍼 스크립트는 여기 문서를 사용하여 Python 바이트로 컴파일된 코드를 실행합니다.
예 6.4. pello 프로그램에 대한 사양 파일의 예
Name: pello
Version: 0.1.1
Release: 1%{?dist}
Summary: Hello World example implemented in Python
License: GPLv3+
URL: https://www.example.com/%{name}
Source0: https://www.example.com/%{name}/releases/%{name}-%{version}.tar.gz
BuildRequires: python
Requires: python
Requires: bash
BuildArch: noarch
%description
The long-tail description for our Hello World Example implemented in Python.
%prep
%setup -q
%build
python -m compileall %{name}.py
%install
mkdir -p %{buildroot}/%{_bindir}
mkdir -p %{buildroot}/usr/lib/%{name}
cat > %{buildroot}/%{_bindir}/%{name} <<EOF
#!/bin/bash
/usr/bin/python /usr/lib/%{name}/%{name}.pyc
EOF
chmod 0755 %{buildroot}/%{_bindir}/%{name}
install -m 0644 %{name}.py* %{buildroot}/usr/lib/%{name}/
%files
%license LICENSE
%dir /usr/lib/%{name}/
%{_bindir}/%{name}
/usr/lib/%{name}/%{name}.py*
%changelog
* Tue May 31 2016 Adam Miller <maxamillion@fedoraproject.org> - 0.1.1-1
- First pello package
패키지에 대한 런타임 종속성을 지정하는
Requires지시문에는 다음 두 가지 패키지가 포함됩니다.-
python패키지는 런타임 시 바이트로 컴파일된 코드를 실행하는 데 필요합니다. -
small entry-point 스크립트를 실행하는 데 필요한
bash패키지입니다.
-
-
패키지의 build-time 종속 항목을 지정하는
BuildRequires지시문에는python패키지만 포함됩니다.pello프로그램을 사용하려면python이 바이트 컴파일 빌드 프로세스를 수행해야 합니다. -
소프트웨어를 빌드하는 방법을 지정하는
%build섹션은 바이트로 컴파일된 버전의 스크립트를 생성합니다. 실제 패키지에서는 일반적으로 사용되는 배포에 따라 자동으로 수행됩니다. -
%install섹션은 바이트로 컴파일된 파일을 시스템의 라이브러리 디렉터리에 설치해야 하므로 액세스할 수 있습니다.