История изменений
Исправление teod0r, (текущая версия) :
убрать дубли, проверить версии
это всё будет делаться в интервалах между запуском установки гаждого пакета: просто греп текстого файла, содержащего то, что уже установлено
ок: есть 1 пакет - парсим сорсы ---> 10 пакетов зависимостей.
распаковываем сорсы 10 пакетов, парсим сорсы ---> ещё по 10 зависимостей у каждого
качаем первые 10 пакетов; запускаем сначала установку первого, спрашиваем опции, создаём файл с опциями этого пакета и файл его зависимостей; -> проверяем список установленных и качаем пакеты из списка, которых нет в списке установленных; запускаем установку первого, создаём файлы опций, зависимостей; -> проверяем; переходим ко второму пакету; -> проверяем...
и так для каждого пакета по дереву по очереди. чего считать? после установки каждого пакета обновляется список установленных пакетов, потом перед установкой следущего, этот список просто грепается при проверке наличия в системе нужной зависимости. когда доходит до последней матрёшки в ветке зависимостей, поднимаемся на уровень выше — запускаем install для того пакета, ради которого устанавливалось дерево его зависимостей, пишем его в файл списка установленных в системе пакетов.
зачем десятки гигов рамы?
Исправление teod0r, :
убрать дубли, проверить версии
это всё будет делаться в интервалах между запуском установки гаждого пакета: просто греп текстого файла, содержащего то, что уже установлено
ок: есть 1 пакет - парсим сорсы ---> 10 пакетов зависимостей.
распаковываем сорсы 10 пакетов, парсим сорсы ---> ещё по 10 зависимостей у каждого
качаем первые 10 пакетов; запускаем сначала установку первого, спрашиваем опции, создаём файл с опциями этого пакета и файл его зависимостей; -> проверяем список установленных и качаем пакеты из списка, которых нет в списке установленных; запускаем установку первого, создаём файлы опций, зависимостей; -> проверяем; переходим ко второму пакету; -> проверяем...
и так для каждого пакета по дереву по очереди. чего считать? после установки каждого пакета обновляется список установленных пакетов, потом перед установкой следущего, этот список просто грепается при проверке наличия в системе нужной зависимости. когда доходит до последней матрёшки в ветке зависимостей, поднимаемся на уровень выше — запускаем install для того пакета, ради которого устанавливалось дерево его зависимостей, пишем его в файл списка установленных в системк пакетов.
зачем десятки гигов рамы?
Исходная версия teod0r, :
убрать дубли, проверить версии
это всё будет делаться в интервалах между запуском установки гаждого пакета: просто греп текстого фала, содержащего то, что уже установлено
ок: есть 1 пакет - парсим сорсы ---> 10 пакетов зависимостей.
распаковываем сорсы 10 пакетов, парсим сорсы ---> ещё по 10 зависимостей у каждого
качаем первые 10 пакетов; запускаем сначала установку первого, спрашиваем опции, создаём файл с опциями этого пакета и файл его зависимостей; -> проверяем список установленных и качаем пакеты из списка, которых нет в списке установленных; запускаем установку первого, создаём файлы опций, зависимостей; -> проверяем; переходим ко второму пакету; -> проверяем...
и так для каждого пакета по дереву по очереди. чего считать? после установки каждого пакета обновляется список установленных пакетов, потом перед установкой следущего, этот список просто грепается при проверке наличия в системе нужной зависимости. когда доходит до последней матрёшки в ветке зависимостей, поднимаемся на уровень выше — запускаем install для того пакета, ради которого устанавливалось дерево его зависимостей, пишем его в файл списка установленных в системк пакетов.
зачем десятки гигов рамы?