์ฝ XNUMX๋
๊ฐ์ ๊ฐ๋ฐ ๋์
๊ฐ์ฅ ์ฃผ๋ชฉํ ๋งํ
- chroot ํ๊ฒฝ์์ ๊ถํ ์๋ ์ด์ ๋ธ๋ฆฌ์ ๋ํ ์คํ์ ์ง์์ ์ถ๊ฐํ์ต๋๋ค.
-
๊ตฌํ ๋ฉํฐ ์ฝ์ด ์์คํ ์์ ํจํค์ง ์ด์ ๋ธ๋ฆฌ ๋ณ๋ ฌํ๋ฅผ ์ง์ํฉ๋๋ค. ์ค๋ ๋ ์์ ๋ํ ์ ํ์ "%_smp_build_ncpus" ๋งคํฌ๋ก์ $RPM_BUILD_NCPUS ๋ณ์๋ฅผ ํตํด ์ค์ ๋ฉ๋๋ค. CPU ์๋ฅผ ๊ฒฐ์ ํ๊ธฐ ์ํด "%getncpus" ๋งคํฌ๋ก๊ฐ ์ ์๋์์ต๋๋ค. - ์ฌ์ ํ์ผ์ ์ด์ ์กฐ๊ฑด๋ถ ์ฐ์ฐ์ "%elif"(else if)๋ฟ๋ง ์๋๋ผ ๋ฐฐํฌ ๋ฐ ์ํคํ ์ฒ์ ๋ฐ์ธ๋ฉํ๊ธฐ ์ํ ์ต์ "%elifos" ๋ฐ "%elifarch"๋ ์ง์ํฉ๋๋ค.
-
์ถ๊ฐ๋จ ์๋ก์ด ์น์ "%patchlist" ๋ฐ "%sourcelist"๋ ํญ๋ชฉ ๋ฒํธ๋ฅผ ์ง์ ํ์ง ์๊ณ ๋จ์ํ ์ด๋ฆ์ ๋์ดํ์ฌ ํจ์น์ ์์ค๋ฅผ ์ถ๊ฐํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค(์:
%patchlist ์น์ ์ "Patch0: popt-1.16-pkgconfig.patch"๋ "popt-1.16-pkgconfig.patch"๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. - rpmbuild์์
์ถ๊ฐ src.rpm์ ํฌํจ๋ ์ข ์์ฑ์ ๋์ ์ด์ ๋ธ๋ฆฌ๋ฅผ ์ง์ํฉ๋๋ค. ์ฌ์ ํ์ผ์๋ "%generate_buildrequires" ์น์ ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ผ๋ฉฐ, ๊ทธ ๋ด์ฉ์ ์ข ์์ฑ ๋ชฉ๋ก(BuildRequires)์ผ๋ก ์ฒ๋ฆฌ๋์ด ํ์ธ์ด ํ์ํฉ๋๋ค(์ข ์์ฑ์ด ๋๋ฝ๋ ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค). -
๊ตฌํ "^" ์ฐ์ฐ์๋ "~" ์ฐ์ฐ์์ ๋ฐ๋๋ก ํน์ ๋ ์ง๋ณด๋ค ์ค๋๋ ๋ฒ์ ์ ํ์ธํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด,
"1.1^20160101"์ ๋ฒ์ 1.1๊ณผ 1๋ 2016์ XNUMX์ผ ์ดํ์ ์ถ๊ฐ๋ ํจ์น๋ฅผ ํฌํจํฉ๋๋ค. - "%autosetup SCM" ๋ชจ๋๋ฅผ ํ์ฑํํ๊ธฐ ์ํด "--scm" ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์์์ ํํ์์ ํ๊ฐํ๊ธฐ ์ํ ๋ด์ฅ ๋งคํฌ๋ก "%{expr:...}"๋ฅผ ์ถ๊ฐํ์ต๋๋ค(๋ฉฐ์น ์ ์๋
์ ์ ํ์ "%[ expr ]"); - ํค๋์ ๋ฌธ์์ด ๋ฐ์ดํฐ์ ๋ํ ๊ธฐ๋ณธ ์ธ์ฝ๋ฉ์ด UTF-8์ธ์ง ํ์ธํฉ๋๋ค.
- ์ปดํ์ผ๋ฌ ๋ฐ ๋ง์ปค์ฉ ํ๋๊ทธ๊ฐ ํฌํจ๋ ์ ์ญ ๋งคํฌ๋ก %build_cflags, %build_cxxflags, %build_fflags ๋ฐ %build_ldflags๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ์ฃผ์ ์ฝ์ ์ ์ํด ๋งคํฌ๋ก "%dnl"(๋ค์ ์ค๋ก ์ญ์ )์ ์ถ๊ฐํ์ต๋๋ค.
- Python 3์ฉ ๋ฐ์ธ๋ฉ์ ๋ฌธ์์ด์ด ๋ฐ์ดํธ ๋ฐ์ดํฐ ๋์ ์ด์ค์ผ์ดํ๋ UTF-8 ์ํ์ค๋ก ๋ฐํ๋๋๋ก ๋ณด์ฅํฉ๋๋ค.
- rpmdb๊ฐ ์๋ ์์คํ (์: Debian)์ ๋ํ ์ง์์ ๊ฐ์ ํ๊ธฐ ์ํด ๋๋ฏธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฑ์๋๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ARM ์ํคํ ์ฒ ๊ฐ์ง๊ฐ ๊ฐ์ ๋๊ณ armv8์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ฝ๋์ compat ์ ์๊ฐ ํ์ํ์ง ์์ Lua 5.2-5.3์ ๋ํ ์ํํ ์ง์์ ์ ๊ณตํฉ๋๋ค.
์ถ์ฒ : opennet.ru