2.7. tarball에 소스 코드 배치


이 섹션에서는 2.1.1절. “소스 코드 예” 에 도입된 세 개의 Hello World 프로그램을 gzip-compressed tarball에 배치하는 방법을 설명합니다. 이는 나중에 배포를 위해 패키징할 소프트웨어를 릴리스하는 일반적인 방법입니다.

2.7.1. bello 프로젝트를 tarball에 배치

bello 프로젝트는 bash 에서 Hello World 를 구현합니다. 구현에는 bello 쉘 스크립트만 포함되므로 결과 tar.gz 아카이브에는 LICENSE 파일 외에도 하나의 파일만 포함됩니다.

이 절차에서는 배포를 위해 bello 프로젝트를 준비하는 방법을 설명합니다.

사전 요구 사항

이것은 프로그램의 버전 0.1 입니다.

절차

  1. 필요한 모든 파일을 단일 디렉터리에 배치합니다.

    $ mkdir /tmp/bello-0.1
    
    $ mv ~/bello /tmp/bello-0.1/
    
    $ cp /tmp/LICENSE /tmp/bello-0.1/
  2. 배포를 위한 아카이브를 생성하고 rpmbuild/SOURCES/ 디렉터리로 이동합니다. 이 디렉터리는 rpmbuild 명령이 패키지를 빌드하는 파일을 저장하는 기본 디렉터리입니다.

    $ cd /tmp/
    
    $ tar -cvzf bello-0.1.tar.gz bello-0.1
    bello-0.1/
    bello-0.1/LICENSE
    bello-0.1/bello
    
    $ mv /tmp/bello-0.1.tar.gz ~/rpmbuild/SOURCES/

bash로 작성된 소스 코드의 예제에 대한 자세한 내용은 2.1.1.1절. “helloworld는 bash로 작성된 것입니다.” 을 참조하십시오.

2.7.2. pello 프로젝트를 tarball에 배치

pello 프로젝트는 Python 에서 Hello World 를 구현합니다. 구현에는 pello.py 프로그램만 포함되므로 결과 tar.gz 아카이브에는 LICENSE 파일 외에도 하나의 파일만 포함됩니다.

이 절차에서는 배포를 위해 pello 프로젝트를 준비하는 방법을 설명합니다.

사전 요구 사항

이것은 프로그램의 버전 0.1.1 입니다.

절차

  1. 필요한 모든 파일을 단일 디렉터리에 배치합니다.

    $ mkdir /tmp/pello-0.1.2
    
    $ mv ~/pello.py /tmp/pello-0.1.2/
    
    $ cp /tmp/LICENSE /tmp/pello-0.1.2/
  2. 배포를 위한 아카이브를 생성하고 rpmbuild/SOURCES/ 디렉터리로 이동합니다. 이 디렉터리는 rpmbuild 명령이 패키지를 빌드하는 파일을 저장하는 기본 디렉터리입니다.

    $ cd /tmp/
    
    $ tar -cvzf pello-0.1.2.tar.gz pello-0.1.2
    pello-0.1.2/
    pello-0.1.2/LICENSE
    pello-0.1.2/pello.py
    
    $ mv /tmp/pello-0.1.2.tar.gz ~/rpmbuild/SOURCES/

Python으로 작성된 소스 코드에 대한 자세한 내용은 2.1.1.2절. “helloworld는 Python으로 작성된 것입니다.” 을 참조하십시오.

2.7.3. cello 프로젝트를 tarball에 배치

cello 프로젝트는 C에서 Hello World 를 구현합니다. 구현에는 cello.cMakefile 파일만 포함되므로 결과 tar.gz 아카이브에는 LICENSE 파일과 별도로 두 개의 파일이 있습니다.

참고

패치 파일은 프로그램과 함께 아카이브에 배포되지 않습니다. RPM Packager는 RPM이 빌드될 때 패치를 적용합니다. 패치는 .tar.gz 아카이브와 함께 ~/rpmbuild/SOURCES/ 디렉토리에 배치됩니다.

다음 절차에서는 배포를 위해 cello 프로젝트를 준비하는 방법을 설명합니다.

사전 요구 사항

이는 프로그램의 버전 1.0 입니다.

절차

  1. 필요한 모든 파일을 단일 디렉터리에 배치합니다.

    $ mkdir /tmp/cello-1.0
    
    $ mv ~/cello.c /tmp/cello-1.0/
    
    $ mv ~/Makefile /tmp/cello-1.0/
    
    $ cp /tmp/LICENSE /tmp/cello-1.0/
  2. 배포를 위한 아카이브를 생성하고 rpmbuild/SOURCES/ 디렉터리로 이동합니다. 이 디렉터리는 rpmbuild 명령이 패키지를 빌드하는 파일을 저장하는 기본 디렉터리입니다.

    $ cd /tmp/
    
    $ tar -cvzf cello-1.0.tar.gz cello-1.0
    cello-1.0/
    cello-1.0/Makefile
    cello-1.0/cello.c
    cello-1.0/LICENSE
    
    $ mv /tmp/cello-1.0.tar.gz ~/rpmbuild/SOURCES/
  3. 패치를 추가합니다.

    $ mv ~/cello-output-first-patch.patch ~/rpmbuild/SOURCES/

C로 작성된 소스 코드에 대한 자세한 내용은 2.1.1.3절. “C로 작성된 hello World” 을 참조하십시오.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.