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
버전이 사용된다고 가정합니다.
절차
필요한 모든 파일을 단일 디렉터리에 배치합니다.
$ mkdir bello-0.1 $ mv ~/bello bello-0.1/ $ mv LICENSE bello-0.1/
배포를 위한 아카이브를 생성합니다.
$ tar -cvzf bello-0.1.tar.gz bello-0.1 bello-0.1/ bello-0.1/LICENSE bello-0.1/bello
생성된 아카이브를
~/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
버전이 사용되었다고 가정합니다.
절차
필요한 모든 파일을 단일 디렉터리에 배치합니다.
$ mkdir pello-0.1.1 $ mv pello.py pello-0.1.1/ $ mv LICENSE pello-0.1.1/
배포를 위한 아카이브를 생성합니다.
$ 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
생성된 아카이브를
~/rpmbuild/SOURCES/
디렉터리로 이동합니다. 이 디렉터리는rpmbuild
명령이 패키지 빌드용 파일을 저장하는 기본 디렉터리입니다.$ mv pello-0.1.1.tar.gz ~/rpmbuild/SOURCES/
추가 리소스
3.3.3. cello 프로그램을 tarball에 배치
cello 프로젝트는 Hello World
in C를 구현합니다. 구현에는 cello.c
및 Makefile
파일만 포함됩니다. 따라서 생성된 tar.gz
아카이브에는 LICENSE
파일 외에도 두 개의 파일이 있습니다.
패치
파일은 프로그램과 함께 아카이브에 배포되지 않습니다. RPM 패키지 관리자는 RPM을 빌드할 때 패치를 적용합니다. 패치는 tar.gz
아카이브와 함께 ~/rpmbuild/SOURCES/
디렉터리에 배치됩니다.
사전 요구 사항
-
cello
프로그램의1.0
버전이 사용되었다고 가정합니다.
절차
필요한 모든 파일을 단일 디렉터리에 배치합니다.
$ mkdir cello-1.0 $ mv cello.c cello-1.0/ $ mv Makefile cello-1.0/ $ mv LICENSE cello-1.0/
배포를 위한 아카이브를 생성합니다.
$ 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
생성된 아카이브를
~/rpmbuild/SOURCES/
디렉터리로 이동합니다. 이 디렉터리는rpmbuild
명령이 패키지 빌드용 파일을 저장하는 기본 디렉터리입니다.$ mv /tmp/cello-1.0.tar.gz ~/rpmbuild/SOURCES/
추가 리소스