Createrepo игнорирует дополнительные версии пакетов

1329
donovan.lampa

У меня есть репозиторий, где я должен иметь возможность обслуживать более старые версии пакета для клиентов.

Однако, когда я запускаю createrepoданный каталог с более старыми версиями пакета, он создает файл filelists.xml только с самой последней версией.

Когда я запускаю createrepo, я вижу, что он учитывает все пакеты, когда он порождает работника.

Например, репо /var/fooс пакетами:

foo-bar-0.1-1.noarch.rpm foo-bar-0.2-1.i386.rpm foo-bar-0.3-1.i386.rpm foo-bar-0.4-1.i386.rpm 

Запуск createrepoпокажет, что он читает все пакеты

Worker 0: reading foo-bar-0.1-1.noarch.rpm Worker 0: reading foo-bar-0.2-1.i386.rpm Worker 0: reading foo-bar-0.3-1.i386.rpm Worker 0: reading foo-bar-0.4-1.i386.rpm 

Но конечный результат файла filelists.xml имеет только последнюю версию i386.rpm и версию noarch.rpm.

Я попытался передать список файлов, которые я хочу, параметру -i createrepo, но он продолжает дедуплицировать более старые версии и отображает только самые последние.

Это приводит к тому, что клиенты не могут видеть более старые версии пакета.

Кто-нибудь знает, как обеспечить, чтобы все версии всех пакетов были представлены в filelists.xml, чтобы он обслуживался yum?

Я на Centos5 использую yum-3.2.22-39.el5.centos и createrepo-0.4.11-3.el5

0

1 ответ на вопрос

0
donovan.lampa

Я понял, в чем проблема здесь.

Я синхронизировал пакеты из одного ящика в другой, и эти два ящика использовали разные версии createrepo. Коробка, с которой я синхронизировал пакеты и repomd, не содержала более старых версий пакета в репозитории. Версия Centos6 md5 суммирует свои файлы метаданных, а версия centos5 - нет. Yum, очевидно, предпочитает использовать не-md5summed версию и поэтому не смог увидеть все версии пакетов в последней коробке.

Глупая ошибка с моей стороны. Надеюсь, что никто другой не будет иметь эту проблему и учиться на моих ошибках.