rc.d provides and recent changes to rc.d scripts in base (was Re: Shared object "libsodium.so.13" not found, required by "dnscrypt-proxy")

From: Garrett Cooper <yaneurabeya_at_gmail.com>
Date: Tue, 24 Feb 2015 10:58:36 -0800
On Feb 24, 2015, at 10:53, Miguel Clara <miguelmclara_at_gmail.com> wrote:

> 
> On Tue, Feb 24, 2015 at 6:13 PM, Garrett Cooper <yaneurabeya_at_gmail.com> wrote:
> On Feb 24, 2015, at 6:35, Miguel Clara <miguelmclara_at_gmail.com> wrote:
> 
> > ]# rcorder /etc/rc.d/* /usr/local/etc/rc.d/* >/dev/null
> > rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provision `kerberos'
> > rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provision `named'
> > rcorder: file `/usr/local/etc/rc.d/dnscrypt-proxy' is before unknown provision `unbound'
> > rcorder: Circular dependency on file `/usr/local/etc/rc.d/webcamd'.
> > rcorder: Circular dependency on provision `dbus' in file `/usr/local/etc/rc.d/webcamd'.
> > rcorder: Circular dependency on provision `ldconfig' in file `/usr/local/etc/rc.d/dnscrypt-proxy'.
> > rcorder: Circular dependency on provision `mountcritremote' in file `/etc/rc.d/devfs'.
> > rcorder: Circular dependency on provision `mountcritremote' in file `/etc/rc.d/mdconfig2'.
> > rcorder: Circular dependency on provision `mountcritremote' in file `/etc/rc.d/newsyslog'.
> > rcorder: Circular dependency on provision `mountcritremote' in file `/etc/rc.d/syslogd'.
> > rcorder: Circular dependency on provision `NETWORKING' in file `/etc/rc.d/kdc'.
> > rcorder: Circular dependency on provision `ldconfig' in file `/etc/rc.d/SERVERS'.
> > rcorder: Circular dependency on provision `mountcritremote' in file `/etc/rc.d/archdep'.
> > rcorder: Circular dependency on provision `mountcritremote' in file `/etc/rc.d/SERVERS'.
> > rcorder: requirement `tpmd' in file `/usr/local/etc/rc.d/tcsd' has no providers.
> > rcorder: Circular dependency on file `/usr/local/etc/rc.d/uuidd'.
> > rcorder: requirement `usbd' in file `/usr/local/etc/rc.d/hald' has no providers.
> >
> > # rcorder /etc/rc.d/* /usr/local/etc/rc.d/* | awk ‘/SERVERS|cleanvar|ldconfig|dbus/ { print NR, $0 }’
> > rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provision `kerberos'
> > rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provision `named'
> > rcorder: file `/usr/local/etc/rc.d/dnscrypt-proxy' is before unknown provision `unbound'
> > rcorder: Circular dependency on file `/usr/local/etc/rc.d/webcamd'.
> > rcorder: Circular dependency on provision `dbus' in file `/usr/local/etc/rc.d/webcamd'.
> > rcorder: Circular dependency on provision `ldconfig' in file `/usr/local/etc/rc.d/dnscrypt-proxy'.
> > rcorder: Circular dependency on provision `mountcritremote' in file `/etc/rc.d/devfs'.
> > rcorder: Circular dependency on provision `mountcritremote' in file `/etc/rc.d/mdconfig2'.
> > rcorder: Circular dependency on provision `mountcritremote' in file `/etc/rc.d/newsyslog'.
> > rcorder: Circular dependency on provision `mountcritremote' in file `/etc/rc.d/syslogd'.
> > rcorder: Circular dependency on provision `NETWORKING' in file `/etc/rc.d/kdc'.
> > rcorder: Circular dependency on provision `ldconfig' in file `/etc/rc.d/SERVERS'.
> > rcorder: Circular dependency on provision `mountcritremote' in file `/etc/rc.d/archdep'.
> > rcorder: Circular dependency on provision `mountcritremote' in file `/etc/rc.d/SERVERS'.
> > rcorder: requirement `tpmd' in file `/usr/local/etc/rc.d/tcsd' has no providers.
> > rcorder: Circular dependency on file `/usr/local/etc/rc.d/uuidd'.
> > rcorder: requirement `usbd' in file `/usr/local/etc/rc.d/hald' has no providers.
> > cleanvar: Command not found.
> > dbus/: Command not found.
> >
> > Note that this is still with the change to dnscrypt-ptoxy REQUIRE (adding ldconfig)
> 
> Your rcorder is 50 shades of broken :(. Please remove all local modifications to scripts, then repost the output of the rcorder commands again. I suspect what’s going wrong is the result of some of my changes to remove etc/rc.d based on build knobs…
> Cheers,
> 
> So much like the movies them... damn.... :X
> 
> I don't recall any changes to the rc.d scripts except the one to dnscrypt-proxy (adding the ldconfig REQUIRE)

Adding ldconfig can screw everything up, depending on what the ordering is. Dependency loops can be longer than you think.

> I also don't really know what to make of the output... expect this part:
> 
> "Circular dependency on provision", but the man says:
> A set of files has a circular dependency which was	detected while processing the stated condition.
> 
> So it should mean that 'A' requires 'B' but 'B' requires 'A'... but this does not seem to be the case…

Not directly, but indirectly, maybe.

> I guess I'll have to go one by one and see if I can identify issue. But first I'll make sure the ports that use those rc.d scripts are up to date.

Some of your ports are depending on named (which is no longer in base), and unbound (which isn’t installed if MK_UNBOUND=no).

It looks like you’re installing world with MK_KERBEROS=no.

I was going to create a dummy provider called “DNS” for all scripts to depend on (and named/unbound would PROVIDE: DNS), but it would require backporting that script everywhere (and I haven’t done that quite yet…).

Please also run `make delete-old` and delete any stale rc.d scripts if prompted by mergemaster/etcupdate.

HTH,

Received on Tue Feb 24 2015 - 17:58:40 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:55 UTC