Ответ 1
Ваш вопрос в том, что вы хотите иметь список системных зависимостей в одном файле, чтобы иметь возможность установить его с помощью одной команды.
Я не рекомендую вам включать версию пакета в системные зависимости. В зависимостях от программной системы, таких как "build-essential" или "uuid-dev", вы обычно хотите получить последнюю версию пакета. В "жестких зависимостях", таких как python, postgres или что-то еще, обычно версия указывается в самом имени самого пакета, например "python2.6-dev" или "postgresql-8.4". Еще одна проблема, с которой вы, возможно, определяете точную версию пакета, состоит в том, что, возможно, версия 8.4.11-1 of postgresql-8.4 не будет доступна в репозитории через три месяца или через год, и вы закончите установку текущей версии в репо.
Пример. Вы можете создать файл с именем "requirements.system" с системными пакетами, которые вам нужны для проекта:
python-virtualenv
python2.6-dev
uuid-dev
python-pip
postgresql-8.4
Затем в вашем файле INSTALL объясните, как установить системные пакеты.
# Install system depencences by running
cat ~/project/install/requirements.system | xargs sudo aptitude install
У нас есть эта конфигурация в течение примерно двух лет, нужно несколько раз воссоздать среду из скреста, и у нас никогда не было проблемы.