3.3. 소스 코드를 tarball에 배치

tarball은 .tar.gz 또는 .tgz 접미사가 있는 아카이브 파일입니다. 소스 코드를 tarball에 배치하는 것은 나중에 배포를 위해 패키징할 소프트웨어를 릴리스하는 일반적인 방법입니다.

다음 섹션에서 세 가지 Hello World 프로그램 버전을 gzip-compressed tarball에 배치하는 방법을 알아봅니다.

3.3.1. 벨로 프로그램을 tarball에 배치

bello 프로젝트는 Bash 에서 Hello World 를 구현합니다. 구현에는 bello 쉘 스크립트만 포함됩니다. 따라서 생성된 tar.gz 아카이브에는 LICENSE 파일 외에 하나의 파일만 있습니다.

사전 요구 사항

  • bello 프로그램의 0.1 버전이 사용된다고 가정합니다.

절차

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

    $ mkdir bello-0.1
    
    $ mv ~/bello bello-0.1/
    
    $ mv LICENSE bello-0.1/
  2. 배포를 위한 아카이브를 생성합니다.

    $ tar -cvzf bello-0.1.tar.gz bello-0.1
    bello-0.1/
    bello-0.1/LICENSE
    bello-0.1/bello
  3. 생성된 아카이브를 ~/rpmbuild/SOURCES/ 디렉터리로 이동합니다. 이 디렉터리는 rpmbuild 명령이 패키지 빌드용 파일을 저장하는 기본 디렉터리입니다.

    $ mv bello-0.1.tar.gz ~/rpmbuild/SOURCES/

3.3.2. pello 프로그램을 tarball에 배치

pello 프로젝트는 Python 에서 Hello World 를 구현합니다. 구현에는 pello.py 프로그램만 포함됩니다. 따라서 생성된 tar.gz 아카이브에는 LICENSE 파일 외에 하나의 파일만 있습니다.

사전 요구 사항

  • pello 프로그램의 0.1.1 버전이 사용되었다고 가정합니다.

절차

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

    $ mkdir pello-0.1.1
    
    $ mv pello.py pello-0.1.1/
    
    $ mv LICENSE pello-0.1.1/
  2. 배포를 위한 아카이브를 생성합니다.

    $ tar -cvzf pello-0.1.1.tar.gz pello-0.1.1
    pello-0.1.1/
    pello-0.1.1/LICENSE
    pello-0.1.1/pello.py
  3. 생성된 아카이브를 ~/rpmbuild/SOURCES/ 디렉터리로 이동합니다. 이 디렉터리는 rpmbuild 명령이 패키지 빌드용 파일을 저장하는 기본 디렉터리입니다.

    $ mv pello-0.1.1.tar.gz ~/rpmbuild/SOURCES/

3.3.3. cello 프로그램을 tarball에 배치

cello 프로젝트는 Hello World in C를 구현합니다. 구현에는 cello.cMakefile 파일만 포함됩니다. 따라서 생성된 tar.gz 아카이브에는 LICENSE 파일 외에도 두 개의 파일이 있습니다.

참고

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

사전 요구 사항

  • cello 프로그램의 1.0 버전이 사용되었다고 가정합니다.

절차

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

    $ mkdir cello-1.0
    
    $ mv cello.c cello-1.0/
    
    $ mv Makefile cello-1.0/
    
    $ mv LICENSE cello-1.0/
  2. 배포를 위한 아카이브를 생성합니다.

    $ 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
  3. 생성된 아카이브를 ~/rpmbuild/SOURCES/ 디렉터리로 이동합니다. 이 디렉터리는 rpmbuild 명령이 패키지 빌드용 파일을 저장하는 기본 디렉터리입니다.

    $ mv /tmp/cello-1.0.tar.gz ~/rpmbuild/SOURCES/