|
Bugzilla – Full Text Bug Listing |
| Summary: | nss-mdns package, built for Factory, breaks nameservice | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE.org | Reporter: | Wolfgang Rosenauer <wolfgang> |
| Component: | BuildService | Assignee: | Michael Schröder <mls> |
| Status: | RESOLVED FIXED | QA Contact: | Adrian Schröter <adrian.schroeter> |
| Severity: | Critical | ||
| Priority: | P5 - None | CC: | mls, mrueckert, ro, sbrabec |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | Other | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
|
Description
Wolfgang Rosenauer
2007-03-19 07:14:22 UTC
I'm not sure if "build" is the problem since the only hint of nsswitch in init_buildsystem seems to work correctly and the local file is changed before the nis flags removal is actually done at all. So either any other part of build is modifying the local file or some scriptlet from any installed RPM is doing weird stuff (what shouldn't happen because of the build-root). So I wasn't able to find the cause yet. Michael? Me? Dunno, I'll have to reproduce this. A simple grep over the sources didn't reveal anything suspicious. The nss-mdns package has a %posttrans script which does the change. Seems that the script is run outside the build chroot. Grrr, posttrans suck. I'm considering to remove support for it, as it is so buggy. And you're using it for completely wrong reasons, it is not meant to be as a replacement for "%post" that is run after the uninstall scripts. I guess it can be a duplicate of bug 235361. Well. If you remove %posttrans, we will have to reopen bug 48114 and add non-optimal code to about 100 GNOME packages. If this bug cannot be fixed in a timely manner, please consider working around by disabling the stuff in the nss-mdns package in Factory for now. It keeps breaking users machines setup, when they build packages for Factory, and it is very hard to find for them. As a work-around: Is there any way, how to detect from %posttrans, that RPM was called with --noscritps or --test? Note that nss-mdns scriptlet should be root aware - it refers to etc/nsswitch.conf, not /etc/nsswitch.conf. Ah, I know what the problem is. Reordering is done with the rpm from the "outer" system, where #235361 isn't fixed. Tough, I can't do much about that. Maybe a --root to some dummy root might help. Or just update your rpm... I can't imagine a workaround for the package, just don't use pre/posttrans. It's not easy to stop using %posttrans:
cd /work/SRC/all
grep -l '^%posttrans' */*.spec */*/*.spec | wc -l
87
Maybe ask user to update and add fixed rpm to the repository where osc resides:
if ! rpm -q --changelog rpm | grep 235361 ; then
echo "Your RPM does not have #235361 fixed. Please update it from ..."
fi
(Does not work for Debian/Fedora users.)
Adding --root seems to do the trick... Please update to build-2007.04.12 |