summaryrefslogtreecommitdiffstats
path: root/support
diff options
context:
space:
mode:
authorNicolas Dechesne <ndec13@gmail.com>2014-02-04 10:26:16 +0100
committerPeter Korsgaard <peter@korsgaard.com>2014-02-04 10:32:11 +0100
commit136ede6f19bff8dcbc6eceab2bef0c1e6049541c (patch)
tree39f0902514654c9b3f8814e3b5d57d5dd3bef83f /support
parent45f756ee9e215e267351c4870cf3507a3d4e36f8 (diff)
downloadbuildroot-136ede6f19bff8dcbc6eceab2bef0c1e6049541c.tar.gz
buildroot-136ede6f19bff8dcbc6eceab2bef0c1e6049541c.zip
scripts: xorg-release: handle case when version needs downgrade
the initial implementation assumes that when a version found in buildroot is different from the one in the X11 release, it requires an upgrade. even though this is most likely the case, it could be a downgrade too, and it's probably worth highlighting such cases when it (rarely) happens. LooseVersion from distutils is doing the low level job of sorting version numbers represented in strings... [Thomas & Thomas: - do not count packages more recent in Buildroot than in the latest X.org release as to be downgraded. If we have more recent version, it's generally for a good reason, so we want to keep them as is. Such packages are counted as "nothing to do", but for information, we indicate that there are "More recent" - also remove the "nothing to do" action indicator. It used to be a simple dash, which was not really useful. ] Signed-off-by: Nicolas Dechesne <ndec13@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'support')
-rwxr-xr-xsupport/scripts/xorg-release12
1 files changed, 8 insertions, 4 deletions
diff --git a/support/scripts/xorg-release b/support/scripts/xorg-release
index 70ba41c08b..a4f090d1d9 100755
--- a/support/scripts/xorg-release
+++ b/support/scripts/xorg-release
@@ -9,6 +9,7 @@ import BeautifulSoup
import re
import os
import urllib
+from distutils.version import LooseVersion
# This can be customized
XORG_VERSION = "X11R7.7"
@@ -147,17 +148,20 @@ def show_summary(packages):
xorg_version = "N/A"
action = "Remove from Buildroot"
remove_pkgs += 1
- # For now, we assume that if a package version is different,
- # it's because an upgrade is needed.
- elif pkg[XORG_VERSION_KEY] != pkg[BR_VERSION_KEY]:
+ elif LooseVersion(pkg[XORG_VERSION_KEY]) > LooseVersion(pkg[BR_VERSION_KEY]):
br_version = pkg[BR_VERSION_KEY]
xorg_version = pkg[XORG_VERSION_KEY]
action = "Upgrade"
upgrade_pkgs += 1
+ elif LooseVersion(pkg[XORG_VERSION_KEY]) < LooseVersion(pkg[BR_VERSION_KEY]):
+ br_version = pkg[BR_VERSION_KEY]
+ xorg_version = pkg[XORG_VERSION_KEY]
+ action = "More recent"
+ nothing_todo_pkgs += 1
else:
br_version = pkg[BR_VERSION_KEY]
xorg_version = pkg[XORG_VERSION_KEY]
- action = "-"
+ action = ""
nothing_todo_pkgs += 1
print FORMAT_STRING % (pkgname, br_version.center(15), xorg_version.center(15), action)
OpenPOWER on IntegriCloud