PERFORCE change 81329 for review

soc-saturnero soc-saturnero at FreeBSD.org
Tue Aug 2 10:30:16 GMT 2005


http://perforce.freebsd.org/chv.cgi?CH=81329

Change 81329 by soc-saturnero at soc-saturnero_sberta on 2005/08/02 10:29:17

	Added support for unionfs. Actually, this is broken on FreeBSD >5.0.
	You'll more likely set NO_UNIONFS somewhere.

Affected files ...

.. //depot/projects/soc2005/freesbie/ToDo#5 edit
.. //depot/projects/soc2005/freesbie/conf/make.conf.minimal#2 edit
.. //depot/projects/soc2005/freesbie/conf/rc.d/unionfs#1 add
.. //depot/projects/soc2005/freesbie/scripts/clonefs.sh#3 edit
.. //depot/projects/soc2005/freesbie/scripts/flash.sh#2 edit
.. //depot/projects/soc2005/freesbie/scripts/img.sh#4 edit
.. //depot/projects/soc2005/freesbie/scripts/installkernel.sh#2 edit

Differences ...

==== //depot/projects/soc2005/freesbie/ToDo#5 (text+ko) ====

@@ -1,13 +1,9 @@
-- Write freesbie rcNG script
-	- eventually write separated files (one for uzip, one for unionfs, ..)
 
+???
 - Add a new target (patch?) for
 	- creating loader.conf
 	- creating rc.conf
-	- copying freesbie rcNG script
 
-- Add FILE_LIST support to clonefs
-- Add PRUNE_LIST support to clonefs
 
 - Package management
 - Extra stuff

==== //depot/projects/soc2005/freesbie/conf/make.conf.minimal#2 (text+ko) ====

@@ -1,30 +1,49 @@
-NO_PROFILE=TRUE
-NO_KERBEROS=YES
-NO_MODULES=YES
+NO_ACPI=YES
+NO_ATM=YES
+NO_AUTHPF=YES
+NO_BIND=YES
+NO_BIND_DNSSEC=YES
+NO_BIND_ETC=YES
+NO_BIND_LIBS_LWRES=YES
+NO_BIND_MTREE=YES
+NO_BIND_NAMED=YES
+NO_BIND_UTILS=YES
 NO_BLUETOOTH=YES
 NO_CVS=YES
 NO_CXX=YES
+NO_DICT=YES
 NO_FORTRAN=YES
+NO_GAMES=YES
+NO_GCOV=YES
 NO_GDB=YES
+NO_GPIB=YES
+NO_HESIOD_LIBC=YES
+NO_HTML=YES
 NO_I4B=YES
+NO_INET6=YES
+NO_INFO=YES
 NO_IPFILTER=YES
-NO_PF=YES
-NO_AUTHPF=YES
-NO_TOOLCHAIN=YES
-NO_ATM=YES
+NO_KERBEROS=YES
+NO_KLDLOAD=YES
+NO_LIBC_R=YES
+NO_LIBPTHREAD=YES
+NO_LIBTHR=YES
 NO_LPR=YES
-NO_VINUM=YES
 NO_MAILWRAPPER=YES
 NO_MAN=YES
+NO_MODULES=YES
+NO_NETCAT=YES
+NO_NETGRAPH=YES
+NO_NIS=YES
 NO_OBJC=YES
+NO_P1003_1B=YES
+NO_PAM=YES
+NO_PF=YES
+NO_PROFILE=YES
+NO_RESCUE=YES
+NO_TOOLCHAIN=YES
+NO_USB=YES
+NO_VINUM=YES
 NO_SENDMAIL=YES
 NO_SHAREDOCS=YES
-NO_GAMES=YES
-NO_INFO=YES
-NO_BIND=YES
-NO_BIND_DNSSEC=YES
-NO_BIND_ETC=YES
-NO_BIND_LIBS_LWRES=YES
-NO_BIND_MTREE=YES
-NO_BIND_NAMED=YES
-NO_BIND_UTILS=YES
+PPP_NO_RADIUS=YES
==== //depot/projects/soc2005/freesbie/scripts/clonefs.sh#3 (text+ko) ====

@@ -80,6 +80,7 @@
 clone_system() {
     echo "#### Cloning ${BASEDIR} to ${CLONEDIR} ####"
     
+#varbug means that command is temporarily disabled
     mkdir -p ${CLONEDIR}
     
     if [ -d "${CLONEDIR}" ]; then
@@ -89,12 +90,13 @@
     
     if [ -z "${NO_UNIONFS:-}" ]; then
         # Preparing unionfs environment
-	mkdir -p ${CLONEDIR}/dist ${CLONEDIR}/mnt/union/{usr,var}
+	mkdir -p ${CLONEDIR}/dist 
+	mkdir -p ${CLONEDIR}/mnt/union/usr 
+	#${CLONEDIR}/mnt/union/var
 	
         # Saving directory structure 
 	mtree -Pcdp ${BASEDIR}/usr > ${CLONEDIR}/dist/usr.dirs
-	mtree -Pcdp ${BASEDIR}/var > ${CLONEDIR}/dist/var.dirs
-	
+#varbug mtree -Pcdp ${BASEDIR}/var > ${CLONEDIR}/dist/var.dirs	
     fi
     
     if [ -z "${NO_COMPRESSEDFS:-}" ]; then   
@@ -107,31 +109,65 @@
 	# When NO_UNIONFS is set, we prefer using a mdmfs var (created
 	# automatically by rc.d scripts
 	if [ -z "${NO_UNIONFS:-}" ]; then
-	    VARDEVICE=$(create_vnode ${CLONEDIR}/uzip/var.ufs var)
-	    DEVICES=${DEVICES} ${VARDEVICE}
+#varbug      VARDEVICE=$(create_vnode ${CLONEDIR}/uzip/var.ufs var)
+#varbug      DEVICES="${DEVICES} ${VARDEVICE}"
 	fi
 	trap "umount_md_devices ${DEVICES}; exit 1" INT
     fi
 
     cd ${BASEDIR}
-    # XXX Add support for FILE_LIST and/or PRUNE_LIST
-    find . -print -depth | cpio -pvudm ${CLONEDIR} >> ${LOGFILE} 2>&1
+
+    # If FILE_LIST isn't defined...
+    if [ -z "${FILE_LIST:-}" ]; then
+	# then copy the whole filesystem
+	find . -print -depth | cpio -dump -v ${CLONEDIR} >> ${LOGFILE} 2>&1
+    else
+	# else pass it to cpio
+	if [ -f ${FILE_LIST} ]; then
+	    echo "Using ${FILE_LIST} as source" | tee -a ${LOGFILE}
+	    cpio -dump -v ${CLONEDIR} < ${FILE_LIST} >> ${LOGFILE} 2>&1
+	else
+	    echo "${FILE_LIST} is not a valid path, exiting..." \
+		| tee -a ${LOGFILE}
+	    if [ -z "${NO_COMPRESSEDFS:-}" ]; then
+		umount_md_devices ${DEVICES}
+	    fi
+	    exit 1
+	fi
+    fi
+	    
+    # If PRUNE_LIST file exists, delete files and dir listed in it
+    if [ -n "${PRUNE_LIST:-}" ]; then
+	if [ -f ${PRUNE_LIST} ]; then
+	    echo "Deleting files listed in ${PRUNE_LIST}" | tee -a ${LOGFILE}
+	    (cd ${CLONEDIR} && cat ${PRUNE_LIST} | xargs rm -rvf >> ${LOGFILE} 2>&1)
+	else
+	    echo "${PRUNE_LIST} isn't a regular file, skipping file deletion" \
+		| tee -a ${LOGFILE}
+	fi
+    fi
 
     if [ -z "${NO_COMPRESSEDFS:-}" ]; then
 	umount_md_devices ${DEVICES}
 	trap "" INT
 	uzip $CLONEDIR/uzip/usr.ufs $CLONEDIR/uzip/usr.uzip
 	if [ -z "${NO_UNIONFS:-}" ]; then
-	    uzip $CLONEDIR/uzip/var.ufs $CLONEDIR/uzip/var.uzip	
+#var bug    uzip $CLONEDIR/uzip/var.ufs $CLONEDIR/uzip/var.uzip	
 	fi
 
-	#Copy the rc script
+	# Copy the rc script for uzip files
 	cp ${LOCALDIR}/conf/rc.d/uzip ${CLONEDIR}/etc/rc.d/
 	chmod 555 ${CLONEDIR}/etc/rc.d/uzip
     fi
+
+    if [ -z "${NO_UNIONFS:-}" ]; then
+	# Copy the rc script for unionfs
+	cp ${LOCALDIR}/conf/rc.d/unionfs ${CLONEDIR}/etc/rc.d/
+	chmod 555 ${CLONEDIR}/etc/rc.d/unionfs
+    fi
+
 }
 
-
 clone_system
 
 cd ${LOCALDIR}
==== //depot/projects/soc2005/freesbie/scripts/flash.sh#2 (text+ko) ====

@@ -45,9 +45,9 @@
 echo "Writing files..."
 
 cd ${CLONEDIR}
-find . -print -depth | cpio -pvudm ${TMPDIR} >> ${LOGFILE} 2>&1
+find . -print -depth | cpio -dump -v ${TMPDIR} >> ${LOGFILE} 2>&1
 echo "/dev/ufs/${LABEL} / ufs ro 1 1" > ${TMPDIR}/etc/fstab
 umount ${TMPDIR}
 cd ${LOCALDIR}
 
-rm -rf ${TMPDIR}+rm -rf ${TMPDIR}

==== //depot/projects/soc2005/freesbie/scripts/img.sh#4 (text+ko) ====

@@ -51,7 +51,7 @@
 echo "Writing files..."
 
 cd ${CLONEDIR}
-find . -print -depth | cpio -pvudm ${TMPDIR} >> ${LOGFILE} 2>&1
+find . -print -depth | cpio -dump -v ${TMPDIR} >> ${LOGFILE} 2>&1
 echo "/dev/ufs/${LABEL} / ufs ro 1 1" > ${TMPDIR}/etc/fstab
 umount ${TMPDIR}
 cd ${LOCALDIR}

==== //depot/projects/soc2005/freesbie/scripts/installkernel.sh#2 (text+ko) ====

@@ -39,4 +39,10 @@
  
 (script -aq $LOGFILE make ${MAKEOPT:-} installkernel __MAKE_CONF=${MAKE_CONF} TARGET_ARCH=${ARCH} DESTDIR=${BASEDIR} || print_error;) | grep '^>>>'
 
+cd ${BASEDIR}/boot/kernel
+if [ "${ARCH}" = "`uname -m`" -a -z "${DEBUG:-}" ]; then
+    strip kernel
+fi
+gzip -f9 kernel
+
 cd $LOCALDIR


More information about the p4-projects mailing list