** Description changed:

- The motd-news script is largely useless for desktop users, as they
- rarely login via a text console. It makes more sense for server users.
+ [Impact] 
+ The motd-news script is largely useless for desktop users, as they rarely 
login via a text console. It makes more sense for server users.
  
  We can use package dependencies to have the motd-news script enabled on 
servers, but disabled on desktops, and still handle upgrades. This is the plan:
  - move /etc/default/motd-news from base-files into a NEW package 
(motd-news-config)
  - have ubuntu-server depend on motd-news-config (or recommends)
  - have base-files break current ubuntu-server, so that if base-files if 
upgraded and ubuntu-server is installed, ubuntu-server will also be upgraded to 
the new version which has the depends (or recommends) on motd-news-config
  
  Care must be taken to preserve a changed /etc/default/motd-news when the
  upgrade installs the new motd-news-config package. For example, on a
  server that has set ENABLED=0 in /etc/default/motd-news and upgrades to
  the new base-files and ubuntu-server, and gets the new motd-config-news
  package, ENABLED=0 must remain set.
+ 
+ [Test Case]
+ a) base-files installed, ubuntu-server installed, unmodified /e/d/motd-news
+ apt install base-files
+ - upgrades ubuntu-server
+ - installs motd-news-config
+ - /e/d/motd-news remains, motd-news remains enabled
+ 
+ b) base-files installed, ubuntu-server installed, modified /e/d/motd-news
+ apt install base-files
+ - upgrades ubuntu-server
+ - installs motd-news-config
+ - /e/d/motd-news remains with the original modification
+ 
+ c) base-files installed, ubuntu-server not installed, unmodified 
/e/d/motd-news
+ apt install base-files
+ - upgrades base-files
+ - removes /e/d/motd-news
+ - motd-news is disabled
+ 
+ d) base-files installed, ubuntu-server not installed, modified /e/d/motd-news
+ apt install base-files
+ - upgrades base-files
+ - /e/d/motd-news gets renamed to backup
+ - motd-news is disabled
+ 
+ e) removing motd-news-config will also remove ubuntu-server (since it's
+ a depends, and not a recommends)
+ 
+ f) upgrading just ubuntu-server should pull motd-news-config in, and
+ force-upgrade base-files
+ 
+ g) Removing motd-news-server leaves /e/d/motd-news around; purging motd-
+ news-server removes the /e/d/motd-news config file
+ 
+ h) base-files installed, ubuntu-server installed, removed /e/d/motd-news
+ - apt install base-files
+ - upgrades base-files, upgrades ubuntu-server, installs motd-news-config
+ - /e/d/motd-news is installed with ENABLED=0
+ 
+ i) base-files installed, ubuntu-server NOT installed, removed e/d/motd-news
+ - apt install base-files
+ - base-files is upgraded
+ - no /e/d/motd-news is installed, motd-news remains disabled
+ 
+ [Regression Potential]
+ 
+ 
+ [Other Info]
+ 
+ Testcase (i) will leave around an empty /etc/default/motd-news.wasremoved 
file, created by the base-files postinst. This file is removed by the 
motd-news-config postinst, but since that package doesn't get installed in that 
particular scenario, the file remains. I toyed with the idea of adding an extra 
check to base-file's postinst, like this:
+ --- a/debian/postinst.in
+ +++ b/debian/postinst.in
+ @@ -133,7 +133,11 @@ motd_news_config="/etc/default/motd-news"
+  if [ ! -e ${motd_news_config} ]; then
+    if [ ! -e ${motd_news_config}.dpkg-remove ]; then
+      if [ ! -e ${motd_news_config}.dpkg-backup ]; then
+ -      touch ${motd_news_config}.wasremoved
+ +      # The .wasremoved file only matters if ubuntu-server is installed,
+ +      # because that's what will pull in motd-news-config
+ +      if dpkg -l ubuntu-server 2>/dev/null | grep -q ^i; then
+ +        touch ${motd_news_config}.wasremoved
+ +      fi
+      fi
+    fi
+  fi
+ 
+ But deemed it too risky, and not worth further potential regressions.

** Description changed:

- [Impact] 
+ [Impact]
  The motd-news script is largely useless for desktop users, as they rarely 
login via a text console. It makes more sense for server users.
  
  We can use package dependencies to have the motd-news script enabled on 
servers, but disabled on desktops, and still handle upgrades. This is the plan:
- - move /etc/default/motd-news from base-files into a NEW package 
(motd-news-config)
- - have ubuntu-server depend on motd-news-config (or recommends)
- - have base-files break current ubuntu-server, so that if base-files if 
upgraded and ubuntu-server is installed, ubuntu-server will also be upgraded to 
the new version which has the depends (or recommends) on motd-news-config
+ - move /etc/default/motd-news from base-files into a new binary package 
(motd-news-config, produced by src:base-files)
+ - have ubuntu-server depend on motd-news-config
+ - have base-files break current ubuntu-server, so that if base-files if 
upgraded and ubuntu-server is installed, ubuntu-server will also be upgraded to 
the new version which has the depends on motd-news-config
  
  Care must be taken to preserve a changed /etc/default/motd-news when the
  upgrade installs the new motd-news-config package. For example, on a
  server that has set ENABLED=0 in /etc/default/motd-news and upgrades to
  the new base-files and ubuntu-server, and gets the new motd-config-news
  package, ENABLED=0 must remain set.
  
  [Test Case]
  a) base-files installed, ubuntu-server installed, unmodified /e/d/motd-news
  apt install base-files
  - upgrades ubuntu-server
  - installs motd-news-config
  - /e/d/motd-news remains, motd-news remains enabled
  
  b) base-files installed, ubuntu-server installed, modified /e/d/motd-news
  apt install base-files
  - upgrades ubuntu-server
  - installs motd-news-config
  - /e/d/motd-news remains with the original modification
  
  c) base-files installed, ubuntu-server not installed, unmodified 
/e/d/motd-news
  apt install base-files
  - upgrades base-files
  - removes /e/d/motd-news
  - motd-news is disabled
  
  d) base-files installed, ubuntu-server not installed, modified /e/d/motd-news
  apt install base-files
  - upgrades base-files
  - /e/d/motd-news gets renamed to backup
  - motd-news is disabled
  
  e) removing motd-news-config will also remove ubuntu-server (since it's
  a depends, and not a recommends)
  
  f) upgrading just ubuntu-server should pull motd-news-config in, and
  force-upgrade base-files
  
  g) Removing motd-news-server leaves /e/d/motd-news around; purging motd-
  news-server removes the /e/d/motd-news config file
  
  h) base-files installed, ubuntu-server installed, removed /e/d/motd-news
  - apt install base-files
  - upgrades base-files, upgrades ubuntu-server, installs motd-news-config
  - /e/d/motd-news is installed with ENABLED=0
  
  i) base-files installed, ubuntu-server NOT installed, removed e/d/motd-news
  - apt install base-files
  - base-files is upgraded
  - no /e/d/motd-news is installed, motd-news remains disabled
  
  [Regression Potential]
  
- 
  [Other Info]
  
  Testcase (i) will leave around an empty /etc/default/motd-news.wasremoved 
file, created by the base-files postinst. This file is removed by the 
motd-news-config postinst, but since that package doesn't get installed in that 
particular scenario, the file remains. I toyed with the idea of adding an extra 
check to base-file's postinst, like this:
  --- a/debian/postinst.in
  +++ b/debian/postinst.in
  @@ -133,7 +133,11 @@ motd_news_config="/etc/default/motd-news"
-  if [ ! -e ${motd_news_config} ]; then
-    if [ ! -e ${motd_news_config}.dpkg-remove ]; then
-      if [ ! -e ${motd_news_config}.dpkg-backup ]; then
+  if [ ! -e ${motd_news_config} ]; then
+    if [ ! -e ${motd_news_config}.dpkg-remove ]; then
+      if [ ! -e ${motd_news_config}.dpkg-backup ]; then
  -      touch ${motd_news_config}.wasremoved
  +      # The .wasremoved file only matters if ubuntu-server is installed,
  +      # because that's what will pull in motd-news-config
  +      if dpkg -l ubuntu-server 2>/dev/null | grep -q ^i; then
  +        touch ${motd_news_config}.wasremoved
  +      fi
-      fi
-    fi
-  fi
+      fi
+    fi
+  fi
  
  But deemed it too risky, and not worth further potential regressions.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1888575

Title:
  Split motd-news config into a new package

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/base-files/+bug/1888575/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to