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
입니다.
절차
필요한 모든 파일을 단일 디렉터리에 배치합니다.
$ mkdir /tmp/bello-0.1 $ mv ~/bello /tmp/bello-0.1/ $ cp /tmp/LICENSE /tmp/bello-0.1/
배포를 위한 아카이브를 생성하고
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
입니다.
절차
필요한 모든 파일을 단일 디렉터리에 배치합니다.
$ mkdir /tmp/pello-0.1.2 $ mv ~/pello.py /tmp/pello-0.1.2/ $ cp /tmp/LICENSE /tmp/pello-0.1.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.c
및 Makefile
파일만 포함되므로 결과 tar.gz
아카이브에는 LICENSE
파일과 별도로 두 개의 파일이 있습니다.
패치
파일은 프로그램과 함께 아카이브에 배포되지 않습니다. RPM Packager는 RPM이 빌드될 때 패치를 적용합니다. 패치는 .tar.gz
아카이브와 함께 ~/rpmbuild/SOURCES/
디렉토리에 배치됩니다.
다음 절차에서는 배포를 위해 cello 프로젝트를 준비하는 방법을 설명합니다.
사전 요구 사항
이는 프로그램의 버전 1.0
입니다.
절차
필요한 모든 파일을 단일 디렉터리에 배치합니다.
$ 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/
배포를 위한 아카이브를 생성하고
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/
패치를 추가합니다.
$ mv ~/cello-output-first-patch.patch ~/rpmbuild/SOURCES/
C로 작성된 소스 코드에 대한 자세한 내용은 2.1.1.3절. “C로 작성된 hello World” 을 참조하십시오.