Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 Sep 1999 00:04:39 -0400 (EDT)
From:      "John W. DeBoskey" <jwd@unx.sas.com>
To:        freebsd-current@freebsd.org
Subject:   optional 'make release' speed-up patch
Message-ID:  <199909090404.AAA71015@bb01f39.unx.sas.com>

next in thread | raw e-mail | index | archive | help
Hi,

   The following patch to /usr/src/release/Makefile allows the
specification of the variable FASTCLEAN, which instead of doing
a recursive rm on CHROOTDIR, simply umounts/newfs/mounts. Of
course, this is only useful if your CHROOTDIR location is a
separate mount point (which mine is: /snap).

   Comments and critiques welcome.

   Would someone consider committing this please?


Thanks,
John

Index: Makefile
===================================================================
RCS file: /mirror/ncvs/src/release/Makefile,v
retrieving revision 1.508
diff -u -r1.508 Makefile
--- Makefile	1999/09/07 20:47:42	1.508
+++ Makefile	1999/09/09 04:01:37
@@ -152,11 +152,23 @@
 .endif
 .if make(release)
 .if exists(${CHROOTDIR})
+.if defined(FASTCLEAN)
+#
+# Simply umount/newfs/mount the partition where $CHROOTDIR resides.
+# This only works if $CHROOTDIR is a separate mount point.
+#
+	-device=`df | grep '${CHROOTDIR}' | cut -f1 -d' '` && \
+		/sbin/umount ${CHROOTDIR} && \
+		/sbin/newfs  $$device && \
+		/sbin/mount  ${CHROOTDIR} && \
+		/bin/df ${CHROOTDIR}
+.else
 # The first command will fail on a handful of files that have their schg
 # flags set.  But it greatly speeds up the next two commands.
 	-rm -rf ${CHROOTDIR}
 	-chflags -R noschg ${CHROOTDIR}/.
 	-rm -rf ${CHROOTDIR}
+.endif
 .endif
 	-mkdir -p ${CHROOTDIR}
 	cd ${.CURDIR}/../etc && ${MAKE} distrib-dirs DESTDIR=${CHROOTDIR}


Sample output:

%make release CHROOTDIR=/snap TITLE=test CVSROOT=/mirror/ncvs FASTCLEAN=yes
device=`df | grep '/snap' | cut -f1 -d' '` &&  /sbin/umount /snap &&  /sbin/newfs  $device &&  /sbin/mount  /snap &&  /bin/df /snap
newfs: /dev/ccd0b: not a character-special device
Warning: 1328 sector(s) in last cylinder unallocated
/dev/ccd0b:     11111120 sectors in 2713 cylinders of 1 tracks, 4096 sectors
        5425.4MB in 170 cyl groups (16 c/g, 32.00MB/g, 7936 i/g)
super-block backups (for fsck -b #) at:
 32, 65568, 131104, 196640, 262176, 327712, 393248, 458784, 524320, 589856,
 655392, 720928, 786464, 852000, 917536, 983072, 1048608, 1114144, 1179680,
...
 10616864, 10682400, 10747936, 10813472, 10879008, 10944544, 11010080, 11075616
Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
/dev/ccd0b    5384181        1  4953446     0%    /snap
mkdir -p /snap




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199909090404.AAA71015>