rpm-5.4.10-22.i686 loops forever when installing ntpd-4.2.6p5-5.i686.rpm

Jan Rękorajski baggins at pld-linux.org
Fri Nov 30 20:43:02 CET 2012

On Fri, 30 Nov 2012, Jeffrey Johnson wrote:

> On Nov 30, 2012, at 8:57 AM, Jeffrey Johnson <n3npq at me.com> wrote:
> > 
> > The actual namespace and the intended semantic should be identified also:
> > PLD is doing something different than other distros.
> > 
> From git log
> This patch fixes a bug with ntpd package we encoutered:
> - ntpdate has "Conflicts: ntp < 4.2.0-3"
> - ntpd has "Provides: ntp = 4.2.4" and "Provides: user(ntp)"
> now, if ntpdate is installed then attempt to install ntpd causes
> _rpmtsCheck to compare "C: ntp" to both "P: ntp" AND THEN "P: user(ntp)"
> due to lack of dependency namespace check. Side effect of this is
> infinite loop in _rpmtsCheck due to inner workings of rpm dependency
> iterators.
> There are 2 semantics for the namespace user(…) that will surely
> cause additional issues. Something has to change to end (or unify)
> the confused semantics.
> What actions in PLD need the virtual provide
> 	Provide: user(ntp)

In short (quoting Jacek Konieczny <jajcus at jajcus.net>):

The same 'group(mpd)' may be provided by multiple packages (probably not
much sense with the 'mpd' group, but important for other cases) and the
group will be removed only when the last package which provides it is
removed. So the 'Provides: user(*)' and 'Provides: group(*)' are
critical for our %{user,group}{add,remove}  macros.

More here:

> Can a different string choice be substituted?

No can do, changing that will break a lot of already running systems.

Jan Rękorajski                                 | PLD/Linux
SysAdm                                         | http://www.pld-linux.org/

More information about the pld-devel-en mailing list