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")

Garrett Cooper yaneurabeya at gmail.com
Tue Feb 24 18:58:40 UTC 2015


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,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 496 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20150224/60d8ef06/attachment.sig>


More information about the freebsd-current mailing list