** Description changed:
[Impact]
- * When purging nginx-light, nginx-full, or nginx-naxsi with apt-get
+ * When purging nginx-light, nginx-full, or nginx-naxsi with apt-get
remove --purge (or similar), the /etc/nginx/ folder and all
configurations are removed.
- * nginx-common should be the package that, when purged, will remove the
+ * nginx-common should be the package that, when purged, will remove the
configuration data as well as the program.
- * Removal of a user's configuration when the -common package is not
+ * Removal of a user's configuration when the -common package is not
removed is a severe issue, and when Thomas Ward consulted with Clint
Byrum on bug importance, this was determined to be a "Critical" bug as
user configuration removals should not be happening in this case.
- [Test Case]
+ [Test Cases]
- * Produced by purging nginx-full, nginx-light, or nginx-naxsi.
+ Make sure to run all three test cases. The third one, in particular, was
+ not fixed with the others at the same time in Debian, and relies on a
+ separate commit. --rbasak
- * By running a purge of nginx-full or nginx-light or nginx-naxsi
+ [Test Case 1]
+
+ * Produced by purging nginx-full, nginx-light, or nginx-naxsi.
+
+ * By running a purge of nginx-full or nginx-light or nginx-naxsi
without removing nginx-common, the system should not be removing a
user's configuration files for nginx. Only if nginx-common is removed
should the system
+ [Test Case 2 (added by rbasak)]
+ 1. apt-get install nginx
+ 2. dpkg -P nginx nginx-full
+ 3. apt-get install nginx
+
+ Expected results: nginx-full installed again and functional, with the daemon
running.
+ Actual results: nginx-full postinst failure due to missing /etc/nginx
directory causing daemon start failure.
+
+ [Test Case 3 (added by rbasak)]
+ 1. apt-get install nginx-extras
+ 2. dpkg -P nginx-extras
+ 3. apt-get install nginx-extras
+
+ Expected results: nginx-extras installed again and functional, with the
daemon running.
+ Actual results: nginx-extras postinst failure due to missing /etc/nginx
directory causing daemon start failure.
+
[Regression Potential]
- * Minimal - The patch from Debian has been in the NGINX packages since
+ * Minimal - The patch from Debian has been in the NGINX packages since
1.2.1 and is also included in Quantal and later with no regressions.
+ Added by rbasak:
+
+ Consider the upgrade path carefully. For example: if the nginx-common
+ binary package is held back, and other binaries are upgraded with this
+ SRU, then it's possible that purging functionality will disappear and
+ the old nginx-common binary package could then be purged and /etc/nginx
+ would not be cleaned up. I [rbasak] don't think this case is worth
+ considering in an SRU though, since at worse it'll leave /etc/nginx
+ behind in a very unusual case, which shouldn't have any other
+ repercussions anyway.
+
+ Only postinsts are changed here. The nginx-{full,light,naxsi} postrms
+ are removed, since they didn't have any other functionality. The purge
+ functionality is wholesale added to nginx-common's postrm. So I expect
+ that any regressions will affect maintainer scripts only, not in
+ functionality of the package once configured and installed. If something
+ does go wrong, it will be with users' configurations being affected, but
+ should only happen when they purge a package, which is unlikely in
+ production.
+
+ Finally, make sure to check nginx-extras separately, as this was missed
+ in Debian the first time round.
+
[Other Info]
-
- * Patch to fix this issue (to be attached here shortly) originated from
Debian.
- * Debdiffs to be attached after build-tests are completed.
+ * Patch to fix this issue (to be attached here shortly) originated from
+ Debian.
+ * Debdiffs to be attached after build-tests are completed.
------
Original Description:
nginx in ubuntu has a very violently bug when purging one of the packages
nginx-full, nginx-light or nginx-naxsi while moving from light to full or
other
ways. The packages -light, -full and -naxsi will remove /etc/nginx,
/var/log/nginx and /var/lib/nginx completely leaving the system broken. The
directories are not owned by this respective packages at all then owned by
nginx-common. So after such a transition the whole nginx installation is
broken
and one has to also first to purge nginx-common and reinstalling it.
Unneeded to say that all own site configurations has been deleted too.
This is a massive violation of debian policy. However, debian had never has
this bug in one of there stable distributions, so this bug only affects ubuntu
(12.04 LTS was checked by me)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1206878
Title:
[SRU] Configuration should be purged only in nginx-common
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nginx/+bug/1206878/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs