Date: Thu, 6 Sep 2001 14:20:02 -0700 (PDT) From: Simon Nielsen <simon@nitro.dk> To: freebsd-small@FreeBSD.org Subject: Re: misc/28938: PicoBSD - An update to the build script to add new features Message-ID: <200109062120.f86LK2o76271@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR misc/28938; it has been noted by GNATS. From: Simon Nielsen <simon@nitro.dk> To: <freebsd-gnats-submit@FreeBSD.org> Cc: Subject: Re: misc/28938: PicoBSD - An update to the build script to add new features Date: Thu, 6 Sep 2001 23:13:09 +0200 (CEST) There have been some changes to the build script that made the original patch fail. This patch should work with at least 1.1.2.12 of the build script. Some comments have also been changed from the original patch. Patch is also at http://simon.nitro.dk/patch/picobsd/buildscript-nonint-mfsmerge.2.patch Index: config =================================================================== RCS file: /home/ncvs/src/release/picobsd/build/config,v retrieving revision 1.1.2.1 diff -u -d -r1.1.2.1 config --- config 2001/02/19 23:35:24 1.1.2.1 +++ config 2001/09/06 21:06:51 @@ -13,3 +13,9 @@ MY_DEVS=${MY_DEVS:-"std tun2 cuaa0 cuaa1 cuaa2 vty10 fd0 ad0 pty0 \ ttyd0 cuaa0 bpf0 bpf1 sa0 sa1"} + +# If present should the type specific MFS be merged in instead of +# replacing the general PicoBSD MFS. Files from the type specific MFS +# overrides files from general PicoBSD MFS. +# Option can be yes or no. Default is no +MERGE_TYPE_SPECIFIC_MFS=${MERGE_TYPE_SPECIFIC_MFS:-"no"} Index: picobsd =================================================================== RCS file: /home/ncvs/src/release/picobsd/build/picobsd,v retrieving revision 1.1.2.12 diff -u -d -r1.1.2.12 picobsd --- picobsd 2001/09/04 02:03:04 1.1.2.12 +++ picobsd 2001/09/06 21:06:51 @@ -1,6 +1,6 @@ #!/bin/sh - # -# $FreeBSD: src/release/picobsd/build/picobsd,v 1.1.2.12 2001/09/04 02:03:04 luigi Exp $ +# $FreeBSD$ # # The new PicoBSD build script. Invoked as # @@ -87,6 +87,19 @@ boot1=/boot/boot1 boot2=/boot/boot2 + # Should interactive mode be used + interactive=${interactive:-YES} + + # Should the confirmation for install of the + # binary image on the floppy be interactive + install_interactive=${install_interactive:-YES} + + # Should the script be verbose + verbose=${verbose:-NO} + + # How long to wait with floppy write in "not not" interactive mode + floppy_write_abort_time=10 + makeopts=${MAKEOPTS:--s} # be silent by default # abort in case of error... set -e @@ -96,10 +109,13 @@ } # log something on stdout if verbose. +# and wait after each log if interactive log() { - if [ "$verbose" != "" ] ; then + if [ "${verbose}" = "YES" ] ; then printf "%s\n" "$*" - read -p "(log) enter to continue" foo + if [ "${interactive}" = "YES" ]; then + read -p "(log) enter to continue" foo + fi fi } @@ -313,18 +329,31 @@ # Call the build procedure # Install image do_install() { - dialog --title "Build ${THETYPE} completed" --inputbox \ -"\nThe build process was completed successfuly.\n\ + local text_common text_interactive text_noninteractive + + text_common="\nThe build process was completed successfuly.\n\ `cat .build.reply` \n\n\ Now we are going to install the image on the floppy.\n\ Please insert a blank floppy in /dev/fd0.\\n -WARNING: the contents of the floppy will be permanently erased!\n\ -\n\ -Your options:\n\ +WARNING: the contents of the floppy will be permanently erased!\n\n" + + text_interactive="Your options:\n\ * ^C or [Cancel] to abort,\n\ * Enter to install \"picobsd.bin\",\n\ -" 20 80 2> ${RISU} - if [ "$?" = "0" ]; then +" + + text_noninteractive="You have ${floppy_write_abort_time} seconds to \ +abort by pressing ^C\n" + + if [ ${install_interactive} = "YES" ]; then + dialog --title "Build ${THETYPE} completed" --inputbox \ + "${text_common}${text_interactive}" 20 80 2> ${RISU} + else + echo -e "\n\n\n${text_common}${text_noninteractive}" + sleep ${floppy_write_abort_time} + fi + + if [ "$?" = "0" -o "${install_interactive}" = "NO" ]; then echo "Writing picobsd.bin..." dd if=${BUILDDIR}/picobsd.bin of=/dev/rfd0.${FLOPPY_SIZE} else @@ -506,7 +535,7 @@ ssh-keygen -f ${MFS_MOUNTPOINT}/etc/ssh_host_key -N "" -C "root@picobsd" fi - if [ -d ${MY_TREE}/mfs_tree ]; then + if [ -d ${MY_TREE}/mfs_tree -a ${MERGE_TYPE_SPECIFIC_MFS} = "no" ]; then log "---> Copy site-specific MFS tree..." MFS_TREE=${MY_TREE}/mfs_tree else @@ -516,6 +545,15 @@ (cd ${MFS_TREE} ; tar -cf - --exclude CVS . ) | \ (cd ${MFS_MOUNTPOINT} ; tar x${TAR_VERBOSE}f - ) + # Now merge in type specific MFS if requested + if [ -d ${MY_TREE}/mfs_tree -a ${MERGE_TYPE_SPECIFIC_MFS} = "yes" ]; then + log "---> Merging type-specific MFS tree..." + MFS_TREE=${MY_TREE}/mfs_tree + + (cd ${MFS_TREE} ; tar -cf - --exclude CVS . ) | \ + (cd ${MFS_MOUNTPOINT} ; tar x${TAR_VERBOSE}f - ) + fi + if [ "${INCLUDE_FLOPPY_IN_MFS}" = "yes" ]; then log "---> Copy generic floppy_tree into MFS..." cp -Rp ${BUILDDIR}/floppy.tree/* ${MFS_MOUNTPOINT}/fd @@ -702,7 +740,15 @@ shift ;; -n) + # If -n i specified two times also set install_interactive to no + if [ "${interactive}" = "NO" ]; then + install_interactive="NO" + fi interactive="NO" + ;; + -nn) + interactive="NO" + install_interactive="NO" ;; -c*) # clean clean="YES" To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-small" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200109062120.f86LK2o76271>