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


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

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

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

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


2
2017-07-30 08:44


происхождения




ответы:


взгляните на dpkg --compare-versions вариант, это позволит вам попросить 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


5
2017-07-30 08:51