3.3. 배포를 위한 소스 코드 아카이브 생성
아카이브 파일은 .tar.gz
또는 .tgz
접미사가 있는 파일입니다. 소스 코드를 아카이브에 배치하는 것은 나중에 배포를 위해 패키징할 소프트웨어를 릴리스하는 일반적인 방법입니다.
3.3.1. 샘플 Bash 프로그램의 소스 코드 아카이브 생성
벨로 프로젝트는 Bash 의 Hello World
파일입니다.
다음 예제에는 bello
쉘 스크립트만 포함되어 있습니다. 따라서 생성된 tar.gz
아카이브에는 LICENSE
파일 외에 하나의 파일만 있습니다.
패치
파일은 프로그램과 함께 아카이브에 배포되지 않습니다. RPM 패키지 관리자는 RPM을 빌드할 때 패치를 적용합니다. 패치는 tar.gz
아카이브와 함께 ~/rpmbuild/SOURCES/
디렉터리에 배치됩니다.
사전 요구 사항
-
bello
프로그램의0.1
버전이 사용된다고 가정합니다. -
LICENSE
파일을 생성하셨습니다. 자세한 내용은 LICENSE 파일 만들기를 참조하십시오.
절차
필요한 모든 파일을 단일 디렉터리로 이동합니다.
$ 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. 샘플 Python 프로그램에 대한 소스 코드 아카이브 생성
pello 프로젝트는 Python 의 Hello World
파일입니다.
다음 예제는 pello.py
프로그램만 포함합니다. 따라서 생성된 tar.gz
아카이브에는 LICENSE
파일 외에 하나의 파일만 있습니다.
패치
파일은 프로그램과 함께 아카이브에 배포되지 않습니다. RPM 패키지 관리자는 RPM을 빌드할 때 패치를 적용합니다. 패치는 tar.gz
아카이브와 함께 ~/rpmbuild/SOURCES/
디렉터리에 배치됩니다.
사전 요구 사항
-
pello
프로그램의0.1.1
버전이 사용되었다고 가정합니다. -
LICENSE
파일을 생성하셨습니다. 자세한 내용은 LICENSE 파일 만들기를 참조하십시오.
절차
필요한 모든 파일을 단일 디렉터리로 이동합니다.
$ 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. 샘플 C 프로그램에 대한 소스 코드 아카이브 생성
cello 프로젝트는 C의 Hello World
파일입니다.
다음 예제에는 cello.c
및 Makefile
파일만 포함되어 있습니다. 따라서 생성된 tar.gz
아카이브에는 LICENSE
파일 외에도 두 개의 파일이 있습니다.
패치
파일은 프로그램과 함께 아카이브에 배포되지 않습니다. RPM 패키지 관리자는 RPM을 빌드할 때 패치를 적용합니다. 패치는 tar.gz
아카이브와 함께 ~/rpmbuild/SOURCES/
디렉터리에 배치됩니다.
사전 요구 사항
-
cello
프로그램의1.0
버전이 사용되었다고 가정합니다. -
LICENSE
파일을 생성하셨습니다. 자세한 내용은 LICENSE 파일 만들기를 참조하십시오.
절차
필요한 모든 파일을 단일 디렉터리로 이동합니다.
$ 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 cello-1.0.tar.gz ~/rpmbuild/SOURCES/
추가 리소스