[Bug 1666570] Re: Post install script has error in RegEx
Joshua Powers
josh.powers at canonical.com
Thu Mar 9 22:06:29 UTC 2017
** Description changed:
== Begin SRU Template ==
- [Impact]
+ [Impact]
- * On upgrade of tomcat7 package, if a user has updated their JAVA_OPTS variable to include a '%' an upgrade will fail. The sed command in the postinst uses the '%' character to act as a delimiter, previous versions used '/' however it was updated to '%' in hopes it was far less common.
- * This SRU updates it to a character that should not be found in the JAVA_ARGS value, namely '\001'.
- * This is the same solution Debian and tomcat maintainers are now using for Tomcat8.
+ * On upgrade of tomcat7 package, if a user has updated their JAVA_OPTS variable to include a '%' an upgrade will fail. The sed command in the postinst uses the '%' character to act as a delimiter, previous versions used '/' however it was updated to '%' in hopes it was far less common.
+ * This SRU updates it to a character that should not be found in the JAVA_ARGS value, namely '\001'.
+ * This is the same solution Debian and tomcat maintainers are now using for Tomcat8.
+
[Test Case]
- Install the version from the trusty pocket. Modify JAVA_OPTS and then
- install the version from security/updates to reproduce the issue.
+ An example to test Tomcat7 on Trusty. The same instructions can apply to
+ Tomcat8 on the other releases.
- * lxc launch ubuntu-daily:trusty terusty
- * lxc exec trusty bash
- * apt install tomcat7=7.0.52-1
- * Edit /etc/defaults/tomcat7, set JAVA_OPTS="-Djava.awt.headless=true -XX:ErrorFile=/var/log/tomcat7/java_error%p.log -XX:+DisableExplicitGC -XX:+UseG1GC"
- * Enable proposed or use version from ppa (ppa:powersj/tomcat7-1666570)
- * apt update
- * apt install tomcat7
- * Keep the local version currently installed
- * With the fix, install will complete
- * Without the fix, post-installation script will return a sed -e expression #1 error.
+ Overview: Install the version from the current release. Modify JAVA_OPTS
+ and then install the version from proposed to validate it upgrades
+ successfully.
+
+ * lxc launch ubuntu-daily:trusty trusty
+ * lxc exec trusty bash
+ * apt install tomcat7
+ * Edit /etc/defaults/tomcat7, set JAVA_OPTS="-Djava.awt.headless=true -XX:ErrorFile=/var/log/tomcat7/java_error%p.log -XX:+DisableExplicitGC -XX:+UseG1GC"
+ * # Enable proposed
+ * apt update
+ * apt install tomcat7
+ * When asked, 'Keep the local version currently installed'
+ * With the fix, install will complete
+ * Without the fix, the error as described under "Other Info" will appear
+
[Regression Potential]
- * Using a new delimiter that is far less likely to be in someone's path. This is not the first time the delimiter has changed, as it originally as '/' which is obviously going to show up as soon as someone adds a path.
- * Upstream change to tomcat8: https://anonscm.debian.org/cgit/pkg-java/tomcat8.git/patch/?id=7664221d66701e2c31a31fe3b4f22e8bea4158dc
+ * Users currently experiencing this issue would be expecting a SRU fix to come from us. Working around it would require changing their JAVA_OPTS temporarily, accepting the maintainers version of the defaults script, or modifying the package's postinst script directly.
+ * In either case the proposed fix will over write any changes an end user may have made to the postinst, and all for correctly working expected behavior.
+ * There is the slight, albeit incredibly low chance, that someone actually has the '\001' character in their JAVA_OPTS. In which, case the upgrade would fail as this bug describes.
+
[Other Info]
- * Error message on failure:
+ * Using a new delimiter that is far less likely to be in someone's path. This is not the first time the delimiter has changed, as it originally as '/' which is obviously going to show up as soon as someone adds a path.
+ * Upstream change to tomcat8: https://anonscm.debian.org/cgit/pkg-java/tomcat8.git/patch/?id=7664221d66701e2c31a31fe3b4f22e8bea4158dc
+ * Error message on failure:
Setting up tomcat7 (7.0.52-1ubuntu0.10) ...
sed: -e expression #1, char 97: unknown option to `s'
dpkg: error processing package tomcat7 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
tomcat7
E: Sub-process /usr/bin/dpkg returned an error code (1)
-
+
== End SRU Template ==
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1666570
Title:
Post install script has error in RegEx
Status in tomcat7 package in Ubuntu:
Invalid
Status in tomcat8 package in Ubuntu:
Fix Committed
Status in tomcat7 source package in Trusty:
Fix Committed
Status in tomcat7 source package in Xenial:
Fix Committed
Status in tomcat8 source package in Xenial:
Fix Committed
Status in tomcat7 source package in Yakkety:
Fix Committed
Status in tomcat8 source package in Yakkety:
Fix Committed
Status in tomcat7 source package in Zesty:
Invalid
Status in tomcat8 source package in Zesty:
Fix Committed
Status in tomcat7 package in Debian:
New
Bug description:
== Begin SRU Template ==
[Impact]
* On upgrade of tomcat7 package, if a user has updated their JAVA_OPTS variable to include a '%' an upgrade will fail. The sed command in the postinst uses the '%' character to act as a delimiter, previous versions used '/' however it was updated to '%' in hopes it was far less common.
* This SRU updates it to a character that should not be found in the JAVA_ARGS value, namely '\001'.
* This is the same solution Debian and tomcat maintainers are now using for Tomcat8.
[Test Case]
An example to test Tomcat7 on Trusty. The same instructions can apply
to Tomcat8 on the other releases.
Overview: Install the version from the current release. Modify
JAVA_OPTS and then install the version from proposed to validate it
upgrades successfully.
* lxc launch ubuntu-daily:trusty trusty
* lxc exec trusty bash
* apt install tomcat7
* Edit /etc/defaults/tomcat7, set JAVA_OPTS="-Djava.awt.headless=true -XX:ErrorFile=/var/log/tomcat7/java_error%p.log -XX:+DisableExplicitGC -XX:+UseG1GC"
* # Enable proposed
* apt update
* apt install tomcat7
* When asked, 'Keep the local version currently installed'
* With the fix, install will complete
* Without the fix, the error as described under "Other Info" will appear
[Regression Potential]
* Users currently experiencing this issue would be expecting a SRU fix to come from us. Working around it would require changing their JAVA_OPTS temporarily, accepting the maintainers version of the defaults script, or modifying the package's postinst script directly.
* In either case the proposed fix will over write any changes an end user may have made to the postinst, and all for correctly working expected behavior.
* There is the slight, albeit incredibly low chance, that someone actually has the '\001' character in their JAVA_OPTS. In which, case the upgrade would fail as this bug describes.
[Other Info]
* Using a new delimiter that is far less likely to be in someone's path. This is not the first time the delimiter has changed, as it originally as '/' which is obviously going to show up as soon as someone adds a path.
* Upstream change to tomcat8: https://anonscm.debian.org/cgit/pkg-java/tomcat8.git/patch/?id=7664221d66701e2c31a31fe3b4f22e8bea4158dc
* Error message on failure:
Setting up tomcat7 (7.0.52-1ubuntu0.10) ...
sed: -e expression #1, char 97: unknown option to `s'
dpkg: error processing package tomcat7 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
tomcat7
E: Sub-process /usr/bin/dpkg returned an error code (1)
== End SRU Template ==
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/tomcat7/+bug/1666570/+subscriptions
More information about the Ubuntu-sponsors
mailing list