NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
bin/54730: postinstall(8) fix doesn't remove obsolete /etc/rc.d files
>Number: 54730
>Category: bin
>Synopsis: postinstall(8) fix doesn't remove obsolete /etc/rc.d files
>Confidential: no
>Severity: non-critical
>Priority: high
>Responsible: bin-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Dec 01 16:55:00 +0000 2019
>Originator: Izumi Tsutsui
>Release: NetBSD 9.0_RC1
>Organization:
>Environment:
System: NetBSD evbarm 9.0_RC1 (HPT5325)
Architecture: earm (but all ports, or all arm ports?)
Machine: evbarm (but all?)
>Description:
It looks postinstall(8) fix command on 9.0_RC1 with the etc.tgz set
doesn't remove at least obsolete /etc/rc.d/isdnd, which it's marked
as obsolete in src/distrib/sets/lists/etc/mi and /var/db/obsolete/etc.
As a result, /etc/rc complains on boot:
---
/etc/rc: WARNING: $dhclient is not set properly - see rc.conf(5).
:
/etc/rc: WARNING: $isdnd is not set properly - see rc.conf(5).
---
even after postinstall-fix.
>How-To-Repeat:
# ftp -o /tmp/etc.tgz http://cdn.netbsd.org/pub/NetBSD/NetBSD-9.0_RC1/evbarm-earm/binary/sets/etc.tgz
Trying [2a04:4e42:15::262]:80 ...
ftp: Can't connect to `2a04:4e42:15::262:80': No route to host
Trying 151.101.89.6:80 ...
Requesting http://cdn.netbsd.org/pub/NetBSD/NetBSD-9.0_RC1/evbarm-earm/binary/sets/etc.tgz
100% |***********************************| 642 KiB 3.49 MiB/s 00:00 ETA
657924 bytes retrieved in 00:00 (3.48 MiB/s)
# postinstall -s /tmp/etc.tgz fix
Note: Creating temporary directory /tmp/_postinstall.2798.0/etc.tgz
Note: Extracting files from /tmp/etc.tgz
Source directory: /tmp/_postinstall.2798.0/etc.tgz
(extracted from: /tmp/etc.tgz)
Target directory: /
bluetooth fix:
ddbonpanic fix:
defaults fix:
(Checking for pf.boot.conf from /tmp/_postinstall.2798.0/etc.tgz/etc/defaults instead of /tmp/_postinstall.2798.0/etc.tgz/usr.sbin/pf/etc/defaults)
dhcpcd fix:
(Checking for dhcpcd.conf from /tmp/_postinstall.2798.0/etc.tgz/etc instead of /tmp/_postinstall.2798.0/etc.tgz/external/bsd/dhcpcd/dist/src)
dhcpcdrundir fix:
envsys fix:
fontconfig fix:
/tmp/_postinstall.2798.0/etc.tgz/etc/fonts/conf.avail is not a directory; skipping check
gid fix:
Error groups (FIX MANUALLY): _rtadvd (missing) _gpio (missing) _nsd (missing) _unbound (missing) nvmm (missing)
Use the following as a template:
_rtadvd:*:30:
_gpio:*:29:
_nsd:*:33:
_unbound:*:32:
nvmm:*:34:root
and adjust if necessary.
gpio fix:
hosts fix:
iscsi fix:
makedev fix:
(Checking for MAKEDEV from /tmp/_postinstall.2798.0/etc.tgz/dev instead of /tmp/_postinstall.2798.0)
(Checking for MAKEDEV.local from /tmp/_postinstall.2798.0/etc.tgz/dev instead of /tmp/_postinstall.2798.0/etc.tgz/etc)
motd fix:
mtree fix:
named fix:
pam fix:
periodic fix:
pf fix:
(Checking for pf.os from /tmp/_postinstall.2798.0/etc.tgz/etc instead of /tmp/_postinstall.2798.0/etc.tgz/dist/pf/etc)
pwd_mkdb fix:
rc fix:
(Checking for blacklistd from /tmp/_postinstall.2798.0/etc.tgz/etc/rc.d instead of /tmp/_postinstall.2798.0/etc.tgz/external/bsd/blacklist/etc/rc.d)
ssh fix:
(Checking for moduli from /tmp/_postinstall.2798.0/etc.tgz/etc instead of /tmp/_postinstall.2798.0/etc.tgz/crypto/external/bsd/openssh/dist)
wscons fix:
x11 fix:
xkb fix:
uid fix:
Error users (FIX MANUALLY): _rtadvd (missing) _nsd (missing) _unbound (missing)
Use the following as a template:
_rtadvd:*:30:30::0:0:& pseudo-user:/var/chroot/rtadvd:/sbin/nologin
_nsd:*:33:33::0:0:& pseudo-user:/var/chroot/nsd:/sbin/nologin
_unbound:*:32:32::0:0:& pseudo-user:/var/chroot/unbound:/sbin/nologin
and adjust if necessary.
varrwho fix:
tcpdumpchroot fix:
atf fix:
(Checking for NetBSD.conf from /tmp/_postinstall.2798.0/etc.tgz/etc/atf instead of /tmp/_postinstall.2798.0/etc.tgz/external/bsd/atf/etc/atf)
(Checking for atf-run.hooks from /tmp/_postinstall.2798.0/etc.tgz/etc/atf instead of /tmp/_postinstall.2798.0/etc.tgz/external/bsd/atf/dist/tools/sample)
catpages fix:
manconf fix:
ptyfsoldnodes fix:
varshm fix:
obsolete fix:
eabi
eabihf
oabi
postinstall fixes passed: bluetooth ddbonpanic defaults dhcpcd dhcpcdrundir envsys fontconfig gpio hosts iscsi makedev motd mtree named pam periodic pf pwd_mkdb rc ssh wscons x11 xkb varrwho tcpdumpchroot atf catpages manconf ptyfsoldnodes varshm obsolete
postinstall fixes failed: gid uid
# ls -l /etc/rc.d/isdnd
-r-xr-xr-x 1 root wheel 472 Apr 13 2014 /etc/rc.d/isdnd
# cd /tmp
# tar zxf etc.tgz
# grep -R isdnd var
var/db/obsolete/etc:./etc/rc.d/isdnd
#
>Fix:
Something wrong in this change?
http://cvsweb.netbsd.org/bsdweb.cgi/src/usr.sbin/postinstall/postinstall.in.diff?r1=1.3&r2=1.4
--- src/usr.sbin/postinstall/postinstall.in 2019/06/14 14:17:45 1.3
+++ src/usr.sbin/postinstall/postinstall.in 2019/06/14 14:39:49 1.4
@@ -1422,6 +1428,15 @@ select_set_files()
-e "/^\.${qdir}/s@^.$2[[:space:]].*@\1@p" $3
}
+# select obsolete files in a sets file
+# $1: directory pattern
+# $2: file pattern
+# $3: filename
+select_obsolete_files()
+{
+ ${SED} -n -e "/obsolete/s@\.$1$2[[:space:]].*@\1@p" $3
+}
+
exclude()
{
if [ -z "$*" ]; then
@@ -1465,9 +1480,8 @@ do_rc()
exclude ${rc_external_files})"
# obsolete rc file in /etc/rc.d
- local rc_obsolete_files="$(${SED} -n \
- -e '/obsolete/s@./etc/rc.d/\([^[:space:]]*\)[[:space:]].*@\1@p' \
- ${etcsets})"
+ local rc_obsolete_files="$(select_obsolete_files /etc/rc.d/ \
+ "\([^[:space:]]*\)" ${etcsets})"
compare_dir "${op}" "${SRC_DIR}/etc" "${DEST_DIR}/etc" 644 \
${rc_644_files}
Home |
Main Index |
Thread Index |
Old Index