Date: Tue, 2 Aug 2005 10:30:11 GMT From: soc-saturnero <soc-saturnero@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 81329 for review Message-ID: <200508021030.j72AUBt3078419@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200508021030.j72AUBt3078419>