[Bug 1666570] Re: Post install script has error in RegEx

Robie Basak 1666570 at bugs.launchpad.net
Mon Apr 10 19:22:44 UTC 2017


I've reviewed and uploaded Josh's MPs for tomcat8. Since there are three
and some review comments are shared, I'm writing them up here to avoid
confusion between the multiple MPs.

For all three, I had to s/tomcat7/tomcat8/ in the conffile pathname, as
this has switched in tomcat8.

For Zesty, I changed the version from 8.0.38-2ubuntu1.1 to
8.0.38-2ubuntu2. 1.1 would work, but convention for the development
release is that we would use ubuntu2. Exceptionally we are in final
freeze so it may become an SRU anyway.

I missed that tomcat8 Zesty wasn't fixed before. I would have required
this before uploading tomcat7 too had I noticed, because really the SRU
rule of "fix development first" should apply in spirit between tomcat7
and tomcat8 because it is only a technicality that they have different
source package names in this case. But as we're including Zesty in this
upload, we're fixing that up anyway, and the tomcat7 fixes haven't hit
the release pocket yet so users of not -proposed won't see a regression.

There was a bug in the "usd import" tool that caused Josh's Yakkety
fixes to be based on 8.0.37-1 instead of 8.0.37-1ubuntu0.1 that is in
yakkety-security currently. So the upload got rejected, I noticed, and
rebased Josh's changes on top of the yakkety-security tree for now. The
yakkety-devel branch pointer in the git imported tomcat8 repository is
still wrong, but I think it may fix itself when it imports this upload.
The commit hash will still be "wrong", but will be fixed when we re-
import.

Release and SRU teams: as the SRU for tomcat7 is already in progress
(due to my previous review omission), I figured that having this in the
Zesty unapproved queue would be the best thing to do for now. It's a
minor fix so we can skip it for Zesty release if you like, but we should
process it as post-release SRU in Zesty as Josh is SRUing all the other
releases anyway and Zesty would be left out otherwise.

-- 
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