From owner-p4-projects@FreeBSD.ORG Tue Aug 2 10:30:16 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B486C16A46D; Tue, 2 Aug 2005 10:30:12 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 32F7716A460 for ; Tue, 2 Aug 2005 10:30:12 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DD79743D48 for ; Tue, 2 Aug 2005 10:30:11 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j72AUBde078422 for ; Tue, 2 Aug 2005 10:30:11 GMT (envelope-from soc-saturnero@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j72AUBt3078419 for perforce@freebsd.org; Tue, 2 Aug 2005 10:30:11 GMT (envelope-from soc-saturnero@freebsd.org) Date: Tue, 2 Aug 2005 10:30:11 GMT Message-Id: <200508021030.j72AUBt3078419@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-saturnero@freebsd.org using -f From: soc-saturnero To: Perforce Change Reviews Cc: Subject: PERFORCE change 81329 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2005 10:30:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=81329 Change 81329 by soc-saturnero@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