[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