diff -Naur config-udev-166-r2/Makefile config-udev-166-r2-honor-persistent/Makefile --- config-udev-166-r2/Makefile 2012-04-03 14:50:54.000000000 +0000 +++ config-udev-166-r2-honor-persistent/Makefile 2014-04-22 11:35:32.156000000 +0000 @@ -23,6 +23,7 @@ install-files: # install rc-script install -m 0755 udev.rc $(DESTDIR)${rcscriptdir}/udev + install -m 0755 udev-postmount.rc $(DESTDIR)${rcscriptdir}/udev # our config file install -m 0644 udev.conf $(DESTDIR)${udevconfdir}/ diff -Naur config-udev-166-r2/udev-postmount.rc config-udev-166-r2-honor-persistent/udev-postmount.rc --- config-udev-166-r2/udev-postmount.rc 1970-01-01 00:00:00.000000000 +0000 +++ config-udev-166-r2-honor-persistent/udev-postmount.rc 2014-04-22 11:50:53.856000000 +0000 @@ -0,0 +1,52 @@ +#!/bin/sh +# $Id$ + +# start this after mountfs to have a writeable rootfs +#%rlevels: 7:s +#%start: 50 +#%stop: + +#deps +#%needs: +#%before: +#%after: + +source /etc/conf.d/rc +source ${rc_functions} + +# store persistent-rules that got created while booting +# when / was still read-only +store_persistent_rules() +{ + local file dest type + + # check if this system uses udev + [ -d /dev/.udev/ ] || return 0 + + # only continue if rules-directory is writable + [ -w /etc/udev/rules.d ] || return 0 + + for file in /dev/.udev/tmp-rules--* + do + dest="${file##*tmp-rules--}" + [ "$dest" = '*' ] && break + type="${dest##70-persistent-}" + type=${type%%.rules} + rc_print "Saving udev persistent ${COLBLUE}${type}${COLDEFAULT} rules to /etc/udev/rules.d" + cat "$file" >> /etc/udev/rules.d/"$dest" && rm -f "$file" + evaluate_retval + done +} + +case "$1" in + start) + store_persistent_rules + + update_svcstatus $1 + splash svc_started "$(basename $0)" 0 + ;; + *) + rc_echo "Usage: $0 {start}" + exit 1 + ;; +esac