"Создаем порт для FreeBSD своими руками" - читать интересную книгу автора (Ачилов Рашид)


Џ®ав ¤«п FreeBSD б®бв®Ёв Ё§ ­ҐбЄ®«мЄЁе д ©«®ў, Є®в®алҐ б ¬Ё Ї® ᥡҐ
­ЁзҐЈ® ­Ґ ¤Ґ« ов. „ ¦Ґ ­Ґб¬®вап ­  в®, зв® ®¤Ё­ Ё§ ­Ёе ­ §лў Ґвбп Makefile,
ўбҐ ®­Ё ЇаҐ¤бв ў«пов Ё§ ᥡп д ©«л ¤ ­­ле - ®ЇЁб ­Ёп Ё ®ЇаҐ¤Ґ«Ґ­Ёп ­ҐЄ®в®але
ЇҐаҐ¬Ґ­­ле, ЁбЇ®«м§гҐ¬ле бЁб⥬®© Ї®ав®ў ў Є зҐб⢥ Ёб室­ле ¤ ­­ле.
ЊҐе ­Ё§¬ а Ў®вл бЁбвҐ¬л ¤ ў­л¬-¤ ў­® ®в« ¦Ґ­, ў Їа®б⥩襬 б«гз Ґ ­Ґ®Ўе®¤Ё¬®
в®«мЄ® § ¤ вм Ёб室­лҐ ¤ ­­лҐ. ЌЁ¦Ґ ЇаЁў®¤Ёвбп бЇЁб®Є д ©«®ў, Є®в®алҐ
­Ґ®Ўе®¤Ё¬л ¤«п Ї®ав  (­  б ¬®¬ ¤Ґ«Ґ Ї®ав ¬®¦Ґв ЁбЇ®«м§®ў вм Ё ¤агЈЁҐ д ©«л,
­® ®­Ё ­Ґ пў«повбп ­Ґ®Ўе®¤Ё¬л¬Ё):
щ Makefile - ®б­®ў­®© д ©« Ї®ав . ‚ ­Ґ¬ § ¤ овбп ўбҐ ­Ґ®Ўе®¤Ё¬лҐ
ЇҐаҐ¬Ґ­­лҐ, Є®в®алҐ ­ бва Ёў ов а Ў®вг бЁбвҐ¬л Ї®ав®ў ў ⮬ Ё«Ё Ё­®¬ ०Ё¬Ґ.
’ Є¦Ґ ў н⮬ д ©«Ґ ¬®¦Ґв Їа®Ја ¬¬Ёа®ў вмбп б®Ўб⢥­­® Ї®ўҐ¤Ґ­ЁҐ бЁбвҐ¬л ў
в®© Ё«Ё Ё­®© бЁвг жЁЁ. ’ҐЄбв®ўл© д ©«, бв ­¤ ав­®Ј® д®а¬ в , а бЇ®§­ ў Ґ¬®Ј®
Їа®Ја ¬¬®© BSD make (­Ґ Їгв вм б GNU make! Ћ бЁ­в ЄбЁбҐ д ©«®ў BSD make б¬.
man make). „ ­­л© д ©« гб«®ў­® ¤Ґ«Ёвбп ­  зҐвалҐ бҐЄжЁЁ, Є®в®алҐ ¤®«¦­л Ё¤вЁ
бва®Ј® ¤агЈ §  ¤агЈ®¬, ­Ґ ­ аги п Ї®ап¤Є . ЋЇаҐ¤Ґ«Ґ­Ёп ЇҐаҐ¬Ґ­­ле, Є®в®алҐ
¤®«¦­л Ї®пў«пвмбп ў ¤ ­­®© ᥪ樨, ­Ґ ¤®«¦­л Ї®пў«пвмбп ­Ё ў ЇаҐ¤л¤г饩, ­Ё
ў Ї®б«Ґ¤го饩 ᥪ樨. Џ®а冷Є ᥪ権 в Є®ў: ­ з «м­ п ᥪжЁп -ъ ᥪжЁп
MAINTAINER -ъ ᥪжЁп USE_* -ъ ᥪжЁп ¤®®ЇаҐ¤Ґ«Ґ­Ё©.
щ Ќ з «м­ п ᥪжЁп Ё¤Ґв б ¬®© ЇҐаў®©. ‚ ­ҐҐ Ї®¬Ґй овбп ЇҐаҐ¬Ґ­­лҐ
PORTNAME, PORTVERSION, CATEGORIES, MASTER_SITES Ё DISTNAME. ’ Є¦Ґ ў ­ҐҐ
¬®Јгв Ўлвм Ї®¬ҐйҐ­л ¤агЈЁҐ ЇҐаҐ¬Ґ­­лҐ, Ї®«­л© ЇҐаҐзҐ­м Є®в®але ЇаЁўҐ¤Ґ­ ў
д ©«Ґ bsd.port.mk.
щ ‘ҐЄжЁп MAINTAINER Ё¤Ґв ­ҐЇ®б।б⢥­­® Ї®б«Ґ ­ з «м­®© ᥪ樨. Љ Є
Їа ўЁ«®, ®­  ᮤҐа¦Ёв в®«мЄ® ¤ўҐ ЇҐаҐ¬Ґ­­лҐ - MAINTAINER Ё COMMENT. ‘¬лб«
нв®© ᥪ樨 ў ⮬, зв® ®­  ®ЇаҐ¤Ґ«пҐв ЇҐаб®­г, ®вўҐз ойго §  ¤ ­­л© Ї®ав, Ё
¤ Ґв Єа вЄ®Ґ ®ЇЁб ­ЁҐ нв®Ј® Ї®ав . ‚ 楫пе ЎҐ§®Ї б­®бвЁ ўбҐ § Їа®бл ­  Ї взЁ
(¤  Ё б ¬Ё Ї взЁ в®¦Ґ), ЇаЁиҐ¤иЁҐ ¤«п 㦥 ЇаЁ­пв®Ј® Ї®ав  ­Ґ б  ¤аҐб ,
гЄ § ­­®Ј® ў Ї®«Ґ MAINTAINER,   б ¤агЈ®Ј®  ¤аҐб , ЇҐаҐ­ Їа ў«повбп
MAINTAINER ­  г⢥তҐ­ЁҐ Ё ў­®бпвбп ў Ї®ав в®«мЄ® ў ⮬ б«гз Ґ, Ґб«Ё Ўг¤гв
Ё¬ ®¤®ЎаҐ­л.
щ ‘ҐЄжЁп USE_* а бЇ®«®¦Ґ­  Ї®б«Ґ ᥪ樨 MAINTAINER. Ћ­  ᮤҐа¦Ёв
а §«Ёз­лҐ ЇҐаҐ¬Ґ­­лҐ, § ¤ ойЁҐ пў­® Ё«Ё ­Ґпў­® § ўЁбЁ¬®бвЁ ¤«п ¤ ­­®Ј®
Ї®ав . Ќ ЇаЁ¬Ґа, "USE_GETTEXT=yes" § ¤ бв § ўЁбЁ¬®бвм Ї®ав  ®в
devel\gettext, "USE_KDEBASE_VER=3" § ¤ бв § ўЁ бЁ¬®бвм ®в x11\kdebase3 Ё в.
¤. ‘ЇЁб®Є ўбҐе ў®§¬®¦­ле ЇҐаҐ¬Ґ­­ле USE_* ЇаЁўҐ¤Ґ­ ў д ©«Ґ bsd.port.mk.
Њ®¦Ґв ®вбгвбвў®ў вм, ­®, Є Є Їа ўЁ«®, ЇаЁбгвбвўгҐв - ваг¤­® ­ ©вЁ Ї®ав,
Є®в®ал© ў®®ЎйҐ ­Ё ®в 祣® ­Ґ § ўЁбЁв.
щ ‘ҐЄжЁп ¤®®ЇаҐ¤Ґ«Ґ­Ё© - Ї®б«Ґ¤­пп ᥪжЁп ў д ©«Ґ. Њ®¦Ґв ®вбгвбвў®ў вм
Ё § з бвго в Є Ё Їа®Ёб室Ёв. ‘®¤Ґа¦Ёв ЇҐаҐ®ЇаҐ¤Ґ«Ґ­Ёп а §«Ёз­ле ¬ЁиҐ­Ґ©,
б®бв ў«пойЁе Їа®жҐбб бЎ®аЄЁ Ї®ав . ЏаЁ бЎ®аЄҐ Ї®ав  Ї®б«Ґ¤®ў вҐ«м­®
ўлЇ®«­повбп ¬ЁиҐ­Ё fetch, extract, configure, build Ё install. Љ ¦¤ п Ё§ ­Ёе
ў бў®о ®зҐаҐ¤м б®бв®Ёв Ё§ ваҐе нв Ї®ў: pre-sometarget, do-sometarget Ё
post-sometarget. ќвЁ нв Їл ЇаҐ¤­ §­ зҐ­л ¤«п Їа®ўҐ¤Ґ­Ёп ¤®Ї®«­ЁвҐ«м­®©
ЇаҐ¤ў аЁвҐ«м­®© Ё«Ё Ї®б«Ґ ¤го饩 ®Ўа Ў®вЄЁ,   в Є¦Ґ ¤«п § ¬ҐйҐ­Ёп ­ҐЄ®в®а®Ј®
нв Ї , Ґб«Ё ў н⮬ Ґбвм ­Ґ®Ўе®¤Ё¬®бвм. Ќ ЇаЁ¬Ґа, нв Ї do-extract ¬®¦Ґв Ўлвм
ЇҐаҐ®ЇаҐ¤Ґ«Ґ­ ¤«п ўлЇ®«­Ґ­Ёп а бЇ Є®ўЄЁ ¤ЁбваЁЎгвЁў  ­Ґбв ­¤ ав­л¬ ®Ўа §®¬.
‘гйҐбвўгов Ё ¤агЈЁҐ нв Їл, Ї®«­л© Ёе ЇҐаҐзҐ­м ЇаЁўҐ¤Ґ­ ў д ©«Ґ bsd.port.mk.
щ distinfo - д ©«, ®ЇЁблў ойЁ© ўбҐ д ©«л, ўе®¤пйЁҐ ў ¤ЁбваЁЎгвЁў
Їа®Ја ¬¬л. …Ј® ­Ґв ­Ґ®Ўе®¤Ё¬®б⨠ᮧ¤ ў вм ўагз­го - Ї®б«Ґ ᮧ¤ ­Ёп Makefile