Π‘Π»Π΅Π΄ ΠΏΠΎΡΡΠΈ Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ·Π΄Π°Π½ΠΈΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ . ΠΡΠΎΠ΅ΠΊΡ RPM4 ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Red Hat ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ ΠΊΠ°ΡΠΎ RHEL (Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ. ΠΡΠ΅Π΄ΠΈ Π΅ Π±ΠΈΠ» Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌ Π΅ΠΊΠΈΠΏ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡ , ΠΊΠΎΠΉΡΠΎ Π½Π΅ Π΅ ΠΏΡΡΠΊΠΎ ΡΠ²ΡΡΠ·Π°Π½ Ρ RPM4 ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅ Π·Π°Π±ΡΠ°Π²Π΅Π½ (Π½Π΅ Π΅ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½ ΠΎΡ 2010 Π³ΠΎΠ΄ΠΈΠ½Π°).
ΠΠ°ΠΉ-Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ Π² RPM 4.15:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π½Π΅ΠΏΠΎΠ΄ΠΏΡΠ°Π²Π΅Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π² chroot ΡΡΠ΅Π΄Π°;
- ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄ΡΠ΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π±ΡΠΎΡ ΠΏΠΎΡΠΎΡΠΈ ΡΠ΅ Π·Π°Π΄Π°Π²Π° ΡΡΠ΅Π· ΠΌΠ°ΠΊΡΠΎΡΠ° Β«%_smp_build_ncpusΒ» ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° $RPM_BUILD_NCPUS. ΠΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π±ΡΠΎΡ Π½Π° CPU Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΌΠ°ΠΊΡΠΎΡΡΡ Β«%getncpusΒ»;
- Π spec ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΡΠ»ΠΎΠ²Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ Β«%elifΒ» (else if), ΠΊΠ°ΠΊΡΠΎ ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΈ Β«%elifosΒ» ΠΈ Β«%elifarchΒ» Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ°;
- Π½ΠΎΠ²ΠΈ ΡΠ΅ΠΊΡΠΈΠΈ Β«%patchlistΒ» ΠΈ Β«%sourcelistΒ», ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΏΠ°ΡΠΎΠ²Π΅ ΠΈ ΠΈΠ·Ρ
ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄ ΡΡΠ΅Π· ΠΏΡΠΎΡΡΠΎ ΠΈΠ·Π±ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Π½Π°ΡΠ° Π±Π΅Π· ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° Π·Π°ΠΏΠΈΡΠΈΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΌΠ΅ΡΡΠΎ
Β«Patch0: popt-1.16-pkgconfig.patchΒ» Π² ΡΠ΅ΠΊΡΠΈΡΡΠ° %patchlist ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠΎΡΠΈ Β«popt-1.16-pkgconfig.patchΒ»); - Π rpmbuild ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Ρ ΡΡΡ Π½ΠΎΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π² src.rpm. Π spec ΡΠ°ΠΉΠ»Π° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅ΠΊΡΠΈΡΡΠ° Β«%generate_buildrequiresΒ», ΡΠΈΠΉΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΊΠ°ΡΠΎ ΡΠΏΠΈΡΡΠΊ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (BuildRequires), ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° (Π°ΠΊΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠ° Π»ΠΈΠΏΡΠ²Π°, ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π³ΡΠ΅ΡΠΊΠ°).
- ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Β«^Β» Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π²Π΅ΡΡΠΈΠΈ ΠΏΠΎ-ΡΡΠ°ΡΠΈ ΠΎΡ Π·Π°Π΄Π°Π΄Π΅Π½Π° Π΄Π°ΡΠ°, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Β«~Β». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
Β«1.1^20160101Β» ΡΠ΅ ΠΎΠ±Ρ Π²Π°Π½Π΅ Π²Π΅ΡΡΠΈΡ 1.1 ΠΈ ΠΏΠ°ΡΠΎΠ²Π΅ΡΠ΅, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ»Π΅Π΄ 1 ΡΠ½ΡΠ°ΡΠΈ 2016 Π³ΠΎΠ΄ΠΈΠ½Π°; - ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ Β«βscmΒ» Π·Π° Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌ Β«%autosetup SCMΒ»;
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π²Π³ΡΠ°Π΄Π΅Π½ ΠΌΠ°ΠΊΡΠΎΡ Β«%{expr:β¦}Β» Π·Π° ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ (ΠΏΡΠ΅Π΄ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄Π½ΠΈ ΡΡΡΠΎ Π±Π΅ΡΠ΅) ΡΠΎΡΠΌΠ°Ρ Β«%[ expr ]Β» );
- ΠΡΠΈΠ³ΡΡΠ΅Π½ΠΎ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° UTF-8 Π·Π° ΡΡΡΠΈΠ½Π³ Π΄Π°Π½Π½ΠΈ Π² Π·Π°Π³Π»Π°Π²ΠΈΡΡΠ°;
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ ΠΌΠ°ΠΊΡΠΎΡΠΈ %build_cflags, %build_cxxflags, %build_fflags ΠΈ %build_ldflags Ρ ΡΠ»Π°Π³ΠΎΠ²Π΅ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° ΠΈ Π»ΠΈΠ½ΠΊΠ΅ΡΠ°;
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΌΠ°ΠΊΡΠΎΡ Β«%dnlΒ» (Discard to Next Line) Π·Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ;
- Π Π±ΠΈΠ½Π΄ΠΈΠ½Π³Π° Π·Π° Python 3 ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π²ΡΡΡΠ°Π½Π΅ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ ΠΊΠ°ΡΠΎ Π΅ΡΠΊΠ΅ΠΉΠΏΠ½Π°ΡΠΈ UTF-8 ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΠΈ Π²ΠΌΠ΅ΡΡΠΎ Π±Π°ΠΉΡΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ;
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠΈΠΊΡΠΈΠ²Π΅Π½ Π±Π΅ΠΊΠ΅Π½Π΄ Π·Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π±Π΅Π· rpmdb (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Debian);
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΎ Π΅ ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ARM ΠΈ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° armv8;
- ΠΡΠΈΠ³ΡΡΠ΅Π½Π° Π΅ Π±Π΅Π·ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Lua 5.2-5.3, ΠΊΠΎΡΡΠΎ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ compat Π² ΠΊΠΎΠ΄Π°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
