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

группу DEFAULT:

MASTER_SITES= http://www.foobar.com/:foobar,DEFAULT

Один и тот же файл может входить в несколько групп. Равным образом в
одну группу могут входить несколько файлов. Естественно, допускается
использование подстановки переменных:

GSI_VERSION= 2005-01-20

DISTFILES+= gsi-$(GSI_VERSION)-sorted.txt.bz2:oorus,oorus2
INFRA_PATCHEXT= OOo_1.1.4_infra_patches
DISTFILES+= ${INFRA_PATCHEXT}.tar.gz:DEFAULT,oorus
MASTER_SITES+= http://ootrans.i-rs.ru/out/:oorus
MASTER_SITES+= ftp://ftp.i-rs.ru/pub/openoffice/1.1.4/ru/:oorus2
MASTER_SITES+= ftp://ftp/granch.ru/pub/openoffice

В данном фрагменте файл gsi-2005-01-20-sorted.txt.bz2 будет скачиваться
сначала с http://ootrans.i-rs.ru/out, потом с
ftp://ftp.i-rs.ru/pub/openoffice/1.1.4/ru, а файл
OOo_1.1.4_infra_patches.tar.gz - сначала с
ftp://ftp.i-rs.ru/pub/openoffice/1.1.4/ru, потом с
ftp://ftp.granch.ru/pub/openoffice.
Когда стоит пользоваться такой возможностью? Когда порт может состоять
из большого количества файлов и хочется сделать возможность обойтись без
загрузки файлов, которые не нужны.
Например, это не было сделано в порту editors/openoffice-1.1, и в
результате чего исходные тексты Mozilla Suite (обьема немалого - 35 Мб)
загружались независимо от желания пользователя ее использовать.
Использование внешних патчей во многом похоже на загрузку файлов
исходного кода программы, только здесь используются переменные PATCH_SITES и
PATCHFILES:

PATCH_SITES= ftp://ftp.cis.upenn.edu/pub/xv/
PATCHFILES= ${DISTNAME}.JPEG-patch ${DISTNAME}.TIFF-patch \
croppad.patch grabpatch vispatch \
deepcolor.patch gifpatch exceed_grab.patch \
tiff1200.patch gssafer.patch

Имейте в виду, что патчи, заданные в PATCHFILES, применяются до
применения патчей из подкаталога files! То есть последовательность действий
будет выглядеть так:

-=· Patching for xv-3.10a_5
-=· xv-3.10a_5 depends on file: /usr/local/bin/perl5.8.7 - found
-=· Applying distribution patches for xv-3.10a_5
-=· Applying FreeBSD patches for xv-3.10a_5

Когда стоит использовать внешние патчи? Разработчики обычно используют
их, чтобы избежать выпуска нового релиза программы (так обычно поступают