Skip site navigation (1)Skip section navigation (2)
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>