From f0c7b67f8e8b3df7608d2448d0e52ebc1925d469 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sat, 9 Jun 2007 03:09:38 +0000 Subject: [PATCH] Create an upgrade target for MAKEDEV. This target will attempt to update existing mass storage character devices in /dev, but generally is meant to do any adjustments required when upgrading from an earlier version of DragonFly to a later version. Adjust 'make upgrade' to use 'MAKEDEV upgrade' instead of 'MAKEDEV all'. --- etc/MAKEDEV | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++- etc/Makefile | 4 ++-- 2 files changed, 57 insertions(+), 3 deletions(-) diff --git a/etc/MAKEDEV b/etc/MAKEDEV index 0615749daa..477280ee0a 100644 --- a/etc/MAKEDEV +++ b/etc/MAKEDEV @@ -21,7 +21,7 @@ # # @(#)MAKEDEV 5.2 (Berkeley) 6/22/90 # $FreeBSD: src/etc/MAKEDEV,v 1.243.2.57 2003/02/10 11:35:53 simokawa Exp $ -# $DragonFly: src/etc/MAKEDEV,v 1.33 2007/06/03 03:44:12 dillon Exp $ +# $DragonFly: src/etc/MAKEDEV,v 1.34 2007/06/09 03:09:38 dillon Exp $ # # Device "make" file. Valid arguments: # all makes all known devices, standard number of units (or close) @@ -568,6 +568,60 @@ fixit) rm -f fd/[1-9]? ;; +#----------------------------------------------------------------------------- +# Upgrade existing node set. +# +# 1.9 - disk devices have changed +#----------------------------------------------------------------------------- +upgrade) + echo -n "upgrading... " + for i in aacd ad ar afd amrd ccd da fd fla idad ipsd md \ + mlxd pst twed vn vkd + do + for j in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 + do + if [ -c $i$j ]; then + rm -f $i$j + rm -f $i${j}[a-p] + echo -n " $i$j $i${j}s0[a-p] $i${j}s1[a-p]" + sh MAKEDEV $i$j + # s0 and s1 handled by base + for k in s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 \ + s12 s13 s14 s15 + do + if [ -c $i$j${k}c ]; then + rm -f ${i}${j}${k}* + echo -n " $i$j$k" + sh MAKEDEV $i$j$k + echo -n " $i$j$k[a-p]" + sh MAKEDEV $i$j${k}a + elif [ -c $i$j$k ]; then + rm -f ${i}${j}${k}* + echo -n " $i$j$k" + sh MAKEDEV $i$j$k + fi + done + fi + done + done + for i in acd cd vcd + do + for j in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 + do + if [ -c $i$j ]; then + rm -f ${i}${j}* + echo -n " $i$j $i${j}s0 $i${j}[a-p]" + sh MAKEDEV $i$j + elif [ -c $i${j}c ]; then + rm -f ${i}${j}* + echo -n " $i$j $i${j}s0 $i${j}[a-p]" + sh MAKEDEV $i$j + fi + done + done + echo "" + ;; + #----------------------------------------------------------------------------- # Basic device node set. #----------------------------------------------------------------------------- diff --git a/etc/Makefile b/etc/Makefile index 036e2a9b90..54a563f66c 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -1,6 +1,6 @@ # from: @(#)Makefile 5.11 (Berkeley) 5/21/91 # $FreeBSD: src/etc/Makefile,v 1.219.2.38 2003/03/04 09:49:00 ru Exp $ -# $DragonFly: src/etc/Makefile,v 1.173 2007/05/27 23:46:29 swildner Exp $ +# $DragonFly: src/etc/Makefile,v 1.174 2007/06/09 03:09:38 dillon Exp $ .if !defined(NO_SENDMAIL) SUBDIR= sendmail @@ -523,7 +523,7 @@ upgrade_etc: preupgrade cd ${UPGRADE_SRCDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 555 \ MAKEDEV.local MAKEDEV ${DESTDIR}/dev .if !defined(NO_MAKEDEV_RUN) - cd ${DESTDIR}/dev; sh MAKEDEV all + cd ${DESTDIR}/dev; sh MAKEDEV upgrade .endif .endif .endif -- 2.41.0