Репозитории-архивы

С точки зрения Package Manager, любой каталог, web-сайт или FTP-архив, содержащий пакеты и их декларации, является полноправным репозиторием-архивом. К сожалению, из-за ограничений, накладываемых требованиями безопасности, на некоторых серверах, Package Manager не может прочитать список файлов web-сайта или FTP-архива. Поэтому Package Manager первым делом ищет файл описания репозитория, repository.qrm, который также можно назвать декларацией репозитория. Ниже приведен пример декларации:
Archive Repository
William Bull’s Repository
http://207.198.90.123/repository
http://207.198.90.123/
gristle@home.com
http://207.198.90.123/topics/graphics.gif
http://207.198.90.123/topics/graphics.gif
index
William Bull’s Home Repository
rep://index.html
This repository contains packages which may not be stable. Apologies in advance.

Пример файла декларации репозитория (repository.qrm)
Имея в своем распоряжении такой файл декларации, Package Manager способен отобразить информацию о содержимом репозитория и автоматически проверить наличие изменений, анализируя содержимое тегов PackageCount и LastUpdate.

Как уже было упомянуто ранее, некоторые web-сайты и FTP-архивы не могут позволить Package Manager непосредственно проверить наличие пакетов в репозитории. Поэтому, для упрощения, используется простой текстовый файл, содержащий список общедоступного содержимого репозитория. Имя такого файла определяется тегом PackageList. Создать такой индексный файл можно с помощью команды ls > index.

Остальные элементы описания и теги, содержащиеся в файле repository.qrm не являются обязательными. Все, что Вам придется делать при обслуживании репозитория — это выкладывать на FTP пакеты и обновлять файл index.

Просматривая содержимое файла .qrm, можно заметить использование rep://prefix. Одна из наших изначальных целей состояла в упрощении процесса распространения, копирования и зеркалирования пакетов и репозиториев с программным обеспечением. Нам хотелось обойти трудности, связанные со сложными URL, поэтому мы придумали новый тип URL, позвляющий обращаться непосредственно к репозиториям. rep://prefix указывает Package Manager использовать каталог репозитория как относительную базовую позицию для оставшейся части этого URL. Например, приставка rep://foo сообщила бы инсталлятору искать непосредственно foo в корне репозитория.