group.of.nepali.translators team mailing list archive
-
group.of.nepali.translators team
-
Mailing list archive
-
Message #46745
[Bug 2015420] Re: motd: can't disable esm-related messages
** Changed in: update-notifier (Ubuntu)
Status: Fix Released => In Progress
** Changed in: update-notifier (Ubuntu Xenial)
Status: Fix Committed => In Progress
** Changed in: update-notifier (Ubuntu Bionic)
Status: Fix Committed => In Progress
** Changed in: update-notifier (Ubuntu Focal)
Status: Fix Committed => In Progress
** Changed in: update-notifier (Ubuntu Jammy)
Status: Fix Committed => In Progress
--
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/2015420
Title:
motd: can't disable esm-related messages
Status in update-notifier package in Ubuntu:
In Progress
Status in update-notifier source package in Xenial:
In Progress
Status in update-notifier source package in Bionic:
In Progress
Status in update-notifier source package in Focal:
In Progress
Status in update-notifier source package in Jammy:
In Progress
Bug description:
[ Impact ]
If ESM Infra/Apps is available for a system, users will always see
messages related to those Ubuntu Pro services in their MOTDs. As
stated in the original description, there have been complains on how
hard it is to disable those messages - we have users who don't want
Pro and don't want to be reminded of Pro all the time.
The fix here is making it easier for people to disable the ESM related
messages in the update-related MOTD, by giving them a way to opt-out.
Users will have the option to add the --no-esm-messages flag to
/etc/apt/apt.conf.d/99update-notifier, where the message generation
script is executed as a hook.
[ Test Plan ]
Compare the messages before and after installing the new version of the package, and make sure they are exactly the same in different scenarios:
- ESM status: unavailable, disabled, enabled
- LTS system: yes or no
- updates available: yes or no
Thankfully, the unit test suite in tests/test_motd.py covers all of
those scenarios functionality-wise. Manual checks on real systems may
endorse the functionality.
New tests were added to the suite making sure the flag hides the ESM
related messages when it is present.
On real systems, adding --no-esm-messages to the conf script and
making sure it updates the MOTDs should remove ESM related messages
for the same scenarios above.
The contents of /etc/apt/apt.conf.d/99update-notifier should be
similar to:
DPkg::Post-Invoke {"if [ -d /var/lib/update-notifier ]; then touch /var/lib/update-notifier/dpkg-run-stamp; fi; /usr/lib/update-notifier/update-motd-updates-available 2>/dev/null || true";};
APT::Update::Post-Invoke-Success {"/usr/lib/update-notifier/update-motd-updates-available 2>/dev/null || true";};
To perform the test, the new flag needs to be added to all calls to
update-motd-updates-available. Using the above as an example, the
result would be:
DPkg::Post-Invoke {"if [ -d /var/lib/update-notifier ]; then touch /var/lib/update-notifier/dpkg-run-stamp; fi; /usr/lib/update-notifier/update-motd-updates-available --no-esm-messages 2>/dev/null || true";};
APT::Update::Post-Invoke-Success {"/usr/lib/update-notifier/update-motd-updates-available --no-esm-messages 2>/dev/null || true";};
The execution of the script relies on running one of those trigger
hooks. Running `apt update` will trigger the second hook in the
example above. To make sure messages will be updated, remove the
/var/lib/update-notifier/updates-available stamp file before. (The
alternative would be running manually with --force, but that is
slightly worse for acceptance testing)
[ Where problems could occur ]
- Other software may be relying on the apt-check script to generate
human-readable messages. A mistake here could intefere with the
message generated, changing expectation on stable releases, or causing
errors. To mitigate that, the new flag is set to False as default, and
all existing functionality is preserved.
- Users may make mistakes when writing the new flag in the
/etc/apt/apt.conf.d/99update-notifier configuration file. We will
mitigate that by having comprehensible documentation with a clear
explanation of what the flag does and where to put it.
- If the user makes the mistake even following the documented steps,
then it is out of our control. The impact of breaking the
configuration file is that There will be no MOTD related to updates at
all (as errors are redirected to /dev/null), or the errors themselves
will appear in the apt update screen, or in the MOTD, if the user
messes up the redirection.
[ Other Info ]
As opposed to what was in the original description, the proposed
changeset does not separate esm messages from the regular updates
messages - this ensures current users and potential callers get
exactly the same result when checking their outputs after the change
lands.
As suggested in the original description, we understand that it is not
easy and straightforward to add a flag to a script when compared to
running a command or clicking a button. However, the messages are
there for a product decision, and it is a product decision not to have
a "too easy opt-out". On the other hand, users who want to disable
this are capable of editing the file, and it will be way easier for
them than making the changes in the python script itself - plus the
configuration is kept between upgrades.
If the default configuration file shipped by update-notifier changes
in the future, the user may see a debconf prompt when upgrading the
package - that is expected, as the user has made changes to a config
file for a reason and needs to decide on keeping those or not.
As noted in a subsequent comment, the patch fixing this bug introduces
a new help message. The translations of update-notifier are shipped
together with the package. Consulting with @enr0n, the decision about
this new entry is:
- For the Noble version, @enr0n will add this new line to the pot file, so it can be translated for the future releases.
- For the SRUs, we will let it be as is. The main two reasons are:
1. there is low value in translating this string to the couple
languages we know, and new translations would require a new SRU in the
future - except in special cases, there are no translations done in
SRUs anyway
2. there is low exposure of the string - it is not in the consumable
output of the command, but rather help text for a command that is
niched enough - as also noted, we don't expect all users to be
applying this.
[ Original Description ]
See https://github.com/canonical/ubuntu-pro-client/issues/2458 for the
origin of the conversation.
We don't think it needs to be _easy_, but it should probably be less
burdensome to disable ESM update notifications in MOTD without
disabling all update notifications in MOTD.
One idea to accomplish this is to separate the /etc/update-motd.d/
files into two. One would print the normal update message, and the
other would print the ESM message. Then, if an admin knows what
they're doing and is willing to accept the risk, they can remove or
edit the ESM update-notifier motd conffile. This is similar to how you
can remove the APT ESM messages by removing/editing
/etc/apt/apt.conf.d/20apt-esm-hook.conf if you know what you're doing.
This would also require some changes to how the messages are created,
since currently it is all in apt_check.py and printed into a single
message file. They'll need to be separated somehow.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/update-notifier/+bug/2015420/+subscriptions