Hi all,

While browsing through '/etc', I have stumbled upon ldomd(8) rc.d(8) script:

/etc/rc.d/ldomd

and two entries referring to it:

- one in rc(8):

start_daemon ldomd sshd snmpd ldpd ripd ospfd ospf6d bgpd ifstated

- and one in rc.conf(8):

ldomd_flags=NO             # for normal use: ""

Given that ldomd is sparc64-only, shouldn't the file and the entries be
only available on that architecture?

While looking into the above I have also noticed that login.conf(5) is
machine-dependent, even though it is identical an *all* architectures -
it is only different on alpha where the timestamp is off by one second
(or two characters):

< # $OpenBSD: login.conf,v 1.2 2014/04/22 11:03:39 reyk Exp $
---
> # $OpenBSD: login.conf,v 1.2 2014/04/22 11:03:40 reyk Exp $

I have prepared a diff which addresses both of the above (ldomd and
login.conf) but if you think that it is an overkill to make rc and
rc.conf machine-dependent, then feel free to only use the part which
makes login.conf machine-independent.

Since the diff is massive (15k+), I wouldn't dare including it here in
full but am adding the diff to the Makefile at the very least:


Index: etc/Makefile
===================================================================
RCS file: /cvs/src/etc/Makefile,v
retrieving revision 1.400
diff -u -p -r1.400 Makefile
--- etc/Makefile        3 Dec 2014 20:13:49 -0000       1.400
+++ etc/Makefile        13 Jan 2015 22:50:40 -0000
@@ -31,10 +31,10 @@ kernels: bootblocks ${ALL_KERNELS}
 BINOWN= root
 BINGRP= wheel
 MUTABLE=changelist csh.cshrc csh.login csh.logout daily \
-       etc.${MACHINE}/disktab etc.${MACHINE}/login.conf ftpusers \
-       gettytab group ksh.kshrc locate.rc mailer.conf man.conf \
-       moduli monthly netstart networks newsyslog.conf \
-       pf.os protocols rc rc.conf rpc services shells syslog.conf weekly
+       etc.${MACHINE}/disktab login.conf ftpusers gettytab group ksh.kshrc \
+       locate.rc mailer.conf man.conf moduli monthly netstart networks \
+       newsyslog.conf pf.os protocols etc.${MACHINE}/rc \
+       etc.${MACHINE}/rc.conf rpc services shells syslog.conf weekly
 
 # -rw-r--r--
 EXAMPLES=chio.conf dhclient.conf dhcpd.conf exports ftpchroot hosts.lpd \
@@ -52,12 +52,15 @@ EXAMPLES_600=bgpd.conf dvmrpd.conf hosta
 
 # -r-xr-xr-x
 RCDAEMONS=amd apmd bgpd bootparamd cron dhcpd dhcrelay dvmrpd ftpd ftpproxy \
-       hostapd hotplugd httpd identd ifstated iked inetd isakmpd iscsid \
-       ldapd ldattach ldomd ldpd lockd lpd mopd mountd mrouted nfsd \
-       npppd nsd ntpd ospf6d ospfd pflogd portmap rarpd rbootd relayd \
-       ripd route6d rtadvd sasyncd sensorsd slowcgi smtpd sndiod \
-       snmpd spamd spamlogd sshd statd syslogd tftpd tftpproxy unbound \
-       watchdogd wsmoused xdm ypbind ypldap yppasswdd ypserv
+       hostapd hotplugd httpd identd ifstated iked inetd isakmpd iscsid ldapd \
+       ldattach ldpd lockd lpd mopd mountd mrouted nfsd npppd nsd ntpd ospf6d \
+       ospfd pflogd portmap rarpd rbootd relayd ripd route6d rtadvd sasyncd \
+       sensorsd slowcgi smtpd sndiod snmpd spamd spamlogd sshd statd syslogd \
+       tftpd tftpproxy unbound watchdogd wsmoused xdm ypbind ypldap yppasswdd \
+       ypserv
+.if ${MACHINE} == "sparc64" 
+RCDAEMONS+= ldomd
+.endif
 
 MISETS=        base${OSrev}.tgz comp${OSrev}.tgz man${OSrev}.tgz 
game${OSrev}.tgz


The remaining commands should be something along the lines of:

cd /usr/src/etc     # using /usr/src as the source directory
cp etc.alpha/login.conf .
for i in etc.* ; do rm $i/login.conf
cp rc rc.conf etc.sparc64
# edit rc and rc.conf and removed references to ldomd 
for i in etc.* ; do cp -i rc rc.conf $i ; done  # ignoring etc.sparc64
rm rc rc.conf
# and obviously the necessary cvs add/remove, etc.

I hope all of the above makes sense :^)

Cheers,

Raf

Reply via email to