Subject: install/21348: etc/postinstall should remove obsolete files before obsolete directories
To: None <gnats-bugs@gnats.netbsd.org>
From: None <rquinn@sec.sprint.net>
List: netbsd-bugs
Date: 04/28/2003 12:13:04
>Number:         21348
>Category:       install
>Synopsis:       etc/postinstall should remove obsolete files before obsolete directories
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    install-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Apr 28 12:14:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Rob Quinn
>Release:        current
>Organization:
>Environment:
NetBSD struck 1.6R NetBSD 1.6R (STRUCK) #169: Mon Apr 28 04:32:24 EDT 2003  root@struck:/usr/obj/STRUCK sparc

>Description:
/usr/src/etc/postinstall reports I have some obsolete files and directories, and shows a
command to fix the problem, but I have to run the fix twice because the first one fails.

[....]
obsolete check:
        Remove obsolete directory /usr/share/man/man8/x86_64
        Remove obsolete directory /usr/share/man/html8/x86_64
        Remove obsolete directory /usr/share/man/cat8/x86_64
        Remove obsolete file /usr/share/man/man8/x86_64/makedev.8
        Remove obsolete file /usr/share/man/man8/x86_64/MAKEDEV.8
        Remove obsolete file /usr/share/man/cat8/x86_64/makedev.0
        Remove obsolete file /usr/share/man/cat8/x86_64/MAKEDEV.0
[....]
To fix, run:
    etc/postinstall -s /usr/src -d / fix mtree makedev obsolete



#etc/postinstall -s /usr/src -d / fix mtree makedev obsolete
Source directory: /usr/src
Target directory: /
[....]
obsolete fix:
rmdir: /usr/share/man/man8/x86_64: Directory not empty
        Can't remove obsolete directory /usr/share/man/man8/x86_64
        Removed obsolete directory /usr/share/man/html8/x86_64
rmdir: /usr/share/man/cat8/x86_64: Directory not empty
        Can't remove obsolete directory /usr/share/man/cat8/x86_64
        Removed obsolete file /usr/share/man/man8/x86_64/makedev.8
        Removed obsolete file /usr/share/man/man8/x86_64/MAKEDEV.8
        Removed obsolete file /usr/share/man/cat8/x86_64/makedev.0
        Removed obsolete file /usr/share/man/cat8/x86_64/MAKEDEV.0
[....]
postinstall fixes failed: obsolete



#etc/postinstall -s /usr/src -d / fix mtree makedev obsolete
[...]
obsolete fix:
        Removed obsolete directory /usr/share/man/man8/x86_64
        Removed obsolete directory /usr/share/man/cat8/x86_64
postinstall fixes passed: mtree makedev obsolete
[....]

>How-To-Repeat:

>Fix:
etc/postinstall should remove obsolete files before obsolete directories.

>Release-Note:
>Audit-Trail:
>Unformatted: