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 섹션은 바이트로 컴파일된 파일을 시스템의 라이브러리 디렉터리에 설치해야 하므로 액세스할 수 있습니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동