Как сравнить два номера версии пакета

Я пишу скрипт на PHP, который должен сравнить два номера версии пакета , чтобы определить, что новее.

В PHP есть удобная функция под названием version_compare(), но она действительно путается с некоторыми из более креативных номеров версий. Например, version_compare() считает, что 0.9.8g-16ubuntu3.1 новее, чем 0.9.8o-1ubuntu4.4.

Кто-нибудь знает, как я могу заставить это работать?

Я счастлив запускать любые сценарии командной строки, используя exec().

2
задан 30 July 2012 в 12:44

1 ответ

взгляните на опцию dpkg --compare-version , она позволит вам попросить dpkg выполнить сравнение:)

dpkg --compare-versions 0.9.8g-16ubuntu3.1 lt 0.9.8o-1ubuntu4.4

вернет 0, что означает 0.9.8g-16ubuntu3.1 равно lt (меньше, чем <) - 0.9.8o-1ubuntu4.4

0
ответ дан 30 July 2012 в 12:44

Другие вопросы по тегам:

Похожие вопросы: