"Рашид Ачилов. Создаем порт для FreeBSD своими руками (Часть 2) " - читать интересную книгу авторавозможности системы. Перечень основных шагов системы, выполняемых при
создании программы, был уже приведен в [1]. Но возможно ли, скажем, установить через систему портов бесплатную программу с закрытым исходным текстом? Думаете, нет? Можно. И именно для этого были реализованы механизмы дополнения и/или замены части процедур сборки порта. Мы рассмотрим их в соответствующем разделе. А теперь пора перейти от слов к делу. Многофайловые дистрибутивы и внешние патчи Обычно программа состоит всего из одного файла архива. Но порт зачастую состоит не только из архива исходных текстов программы - в него могут входить дополнительные архивы, файлы данных, файлы драйверов, дополнительные файлы, используемые в процессе построения. Хорошо, конечно, когда есть свой собственный ftp-сервер, в надежности которого не сомневаешься. В этом случае файлы дистрибутива просто перечисляются: DISTFILES= file1.tar.bz2 \ file2.tar.bz2 \ file3.tar.bz2 при этом все данные файлы будут последовательно запрошены со всех перечисленных сайтов в MASTER_SITES и с основного сайта FreeBSD, если они не будут обнаружены. Но что же делать тем, кто не имеет собственных серверов и размещает файлы на публичных хостингах? Для этого в системе есть специальная при поиске файлов система просматривала только некоторые определенные сайты. Эта возможность называется "MASTER_SITES:n". Возьмем приведенный выше пример. Допустим, у нас имеются веб-сайты www.foobar.com и www.nichego.net. Сайт www.foobar.com находится за рубежом, имеет быстрый и надежный канал. www.nichego.net находится в г. Тьмутаракани и подключен к Интернету через модем на 28.8 кБит. Как сделать так, чтобы система брала только file1.tar.gz с www.nichego.net, а остальные - с www.foobar.com? Нужно ассоциировать метки и с файлами, и с сайтами: DISTFILES= file1.tar.bz2 \ file2.tar.bz2:foobar \ file3.tar.bz2:foobar MASTER_SITES= http://www.foobar.com/:foobar \ http://www.nichego.net Если метка отсутствует, считается, что файл (сайт) имеет метку по умолчанию DEFAULT. Явно задавать ее не следует, разве что требуется перечислить несколько групп и DEFAULT в том числе. Система свяжет DISTFILES и MASTER_SITES, используя метки, и загрузит файлы в следующей последовательности: сначала file1.tar.bz2 с http://www.nichego.net, потом file2.tar.bz2 и file3.tar.bz2 с http://www.foobar.com. Можно было бы сделать, чтобы и файл file1.tar.bz2 тоже сначала проверялся на http://www.foobar.com, а уже потом - на http://www.nichego.net. Для этого нужно www.foobar.com включить также и в |
|
|