"Рашид Ачилов. Создаем порт для 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 Когда стоит использовать внешние патчи? Разработчики обычно используют их, чтобы избежать выпуска нового релиза программы (так обычно поступают |
|
|