On Mon, 2020-02-24 at 10:48 +0100, Stefan Seyfried wrote:
You did nothing wrong. The nss-mdns package messes around with nsswitch.conf (and creates the ...bak file). And because it is installed at least on every desktop default installation, it is obvious that nobody really tested the usr/etc move, or they just waved the problems away with "Let the stoopid users suffer! They deserve it!!!" ;-)
Stefan, Please stay fair and stop spreading this 'nobody tested'-nonsense. You know very well how the process is. This services file move did have a couple of tests revealed during the testing that were addressed - simple things like curl https://localhost did not work. We have a dozen upgrade tests from previous openSUSE versions to Tumbleweed passing with every snapshot being released. Of course, it's all standard test scenarios with 'well defined states' to get started - and that has always been known as a 'shortcoming' of any test done. Generally you only know what to test for once you'd seen a failure in the area. To recap: there were two issues around the /etc/services move to /usr/etc: 1) nsswitch.conf being modified on-disk and RPM thus not replacing it 2) Users not having libnss_usrfiles2 installed for 1): yes, nss-mdns modifying the file is an ugly side effect resulting in this issue. What's not yet fully clear (and we're looking into) is why openQA never stumbled over this in the numerous upgrade test scenarios. This is, frankly speaking, the only interesting and valid question. All the rest in this thread is emotional mumble - which I can understand, but after a while is now just becoming distraction. The pain was heard, there is no reason to repeat it every other day. In order to address that, the %post script of aaa_base has actually been enhanced to try to correct the nsswitch.conf for all users.
# Fix /etc/nsswitch.conf, either because admin ignored *.rpmnew, # or because of YaST bug [bsc#1162916] grep -q ^services.*usrfiles /etc/nsswitch.conf if [ $? -eq 1 ]; then cp /etc/nsswitch.conf /etc/nsswitch.conf.pre-usrfiles sed -e 's|^\(services:.*[[:space:]]\)files\>([[:space:]].*\)*$|\1files usrfiles\2|' /etc/nsswitch.conf > /etc/nsswitch.conf.usrfiles mv /etc/nsswitch.conf.usrfiles /etc/nsswitch.conf fi
This script has been in TW since snapshot 0206. Well possible that fix is incomplete (@Thorsten: possibly it should be enhanced for protocols/rpc/aliases?) for 2) libnss_usrfiles2 has been required by patterns-base-minimal_base since Snapshot 20190919 (long before we switched services to /usr/etc). What we had not anticipated was that there were users that removed this pattern from their system - and users building up containers without the pattern. we thus added a dependency from netcfg (the thing owning /usr/etc/services) to require libnss_usrfiles2 - fix was also published in snapshot 0206. So, while yo uall stay emotional on the topic, I very much would like to ask you to 'park' the emotion and bring the discussion on a technical level. It would be much easier to identify possible further gaps and address them - without having to find the technical needle in an emotional haystack. For people still facing issues with current TW snapshots: please be sure to not just 'jump the gun' and assume this to be the problem. I hope we can finally move forward to actually FIX the issues - if there are really still some left (and people not just being on older snapshots) - and move on. It's less the 'bug' that drives people away, but the way people communicate about the problem. And in this area we all have a lot of room to improve. Cheers, Dominique