RPM 4.15 ๋ฆด๋ฆฌ์Šค

์•ฝ XNUMX๋…„ ๊ฐ„์˜ ๊ฐœ๋ฐœ ๋์— ์ผ์–ด๋‚ฌ๋‹ค ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž ๋ฆด๋ฆฌ์Šค RPM 4.15.0. RPM4 ํ”„๋กœ์ ํŠธ๋Š” Red Hat์—์„œ ๊ฐœ๋ฐœํ–ˆ์œผ๋ฉฐ RHEL(ํŒŒ์ƒ ํ”„๋กœ์ ํŠธ CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux ํฌํ•จ), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen ๋ฐ ๊ธฐํƒ€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€. ์ด์ „์— ๋…๋ฆฝ์ ์ธ ๊ฐœ๋ฐœํŒ€ ๊ฐœ๋ฐœ๋จ ๊ณ„ํš RPM5, ์ด๋Š” RPM4์™€ ์ง์ ‘์ ์ธ ๊ด€๋ จ์ด ์—†์œผ๋ฉฐ ํ˜„์žฌ ํ๊ธฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(2010๋…„ ์ดํ›„ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์Œ).

๊ฐ€์žฅ ์ฃผ๋ชฉํ• ๋งŒํ•œ ๊ฐœ๋Ÿ‰ RPM 4.15์—์„œ:

  • 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

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€