summaryrefslogtreecommitdiff
path: root/app-admin/webapp-config/files/webapp-config-1.54-pvr-check.patch
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/webapp-config/files/webapp-config-1.54-pvr-check.patch')
-rw-r--r--app-admin/webapp-config/files/webapp-config-1.54-pvr-check.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/app-admin/webapp-config/files/webapp-config-1.54-pvr-check.patch b/app-admin/webapp-config/files/webapp-config-1.54-pvr-check.patch
new file mode 100644
index 000000000000..9a35ad70cafb
--- /dev/null
+++ b/app-admin/webapp-config/files/webapp-config-1.54-pvr-check.patch
@@ -0,0 +1,49 @@
+commit 9e251c7574d074e424ea19024f743c754f321979
+Author: Devan Franchini <twitch153@gentoo.org>
+Date: Fri Jul 10 21:25:17 2015 -0400
+
+ config.py: Fixes package version checking regression
+
+ Previously webapp-config would not do any sanity checks when
+ setting the package version. After adding a sanity check in 1.54
+ I made the mistake of not being flexible enough and this caused
+ a regression that prevented web apps with versions such as
+ "20140929d"[1] to be installed. This commit fixes that while still
+ allowing for some sanity checking.
+
+ [1]: https://github.com/gentoo/webapp-config/issues/2
+
+diff --git a/WebappConfig/config.py b/WebappConfig/config.py
+index 6c915c3..3a176a0 100644
+--- a/WebappConfig/config.py
++++ b/WebappConfig/config.py
+@@ -996,17 +996,20 @@ class Config:
+ OUT.die('Invalid package name')
+
+ if len(args) > 1:
+- argsvr = args[1].split('.')
+- if len(argsvr) == 1:
+- OUT.die('Invalid package version: %(pvr)s'
++ pvr = args[1]
++ has_int = False # A package version should have at least one
++ # numerical value, but we want to allow for
++ # the flexibility of having any alphanumeric
++ # value while checking to make sure it's sane.
++
++ for char in pvr:
++ if char.isdigit():
++ has_int = True
++
++ if not has_int:
++ OUT.die('Invalid package version: "%(pvr)s"'
+ % {'pvr': args[1]})
+
+- pvr = ''
+- for i in range(0, len(argsvr)):
+- if not i == len(argsvr) - 1:
+- pvr += argsvr[i] + '.'
+- else:
+- pvr += argsvr[i]
+ self.config.set('USER', 'pvr', pvr)
+
+ if (not options['dir'] and