Date: Fri, 13 Jul 2001 12:07:59 +0200 (CEST) From: Simon Nielsen <simon@nitro.dk> To: FreeBSD-gnats-submit@freebsd.org Subject: misc/28938: PicoBSD - An update to the build script to add new features Message-ID: <200107131007.f6DA7xF34151@xserver.babeltech.dk>
next in thread | raw e-mail | index | archive | help
>Number: 28938 >Category: misc >Synopsis: PicoBSD - An update to the build script to add new features >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Jul 13 03:10:00 PDT 2001 >Closed-Date: >Last-Modified: >Originator: Simon Nielsen >Release: FreeBSD 4.3-STABLE i386 >Organization: BabelTech A/S >Environment: System: FreeBSD simon.babeltech.dk 4.3-STABLE FreeBSD 4.3-STABLE #18: Fri May 4 21:24:39 CEST 2001 root@babeltech.dk:/usr/obj/usr/src/sys/GENERIC i386 >Description: A patch to the build script that adds the possibility to make make overrides for the MFS filesystem in the type specific floppy's and still use the main MFS as base. It also adds the -nn (or -n -n) switch which make the script not ask for confirmation for writing the floppy to disk when building. >How-To-Repeat: N/A >Fix: Patch is also avalible at http://simon.nitro.dk/patch/picobsd/buildscript-nonint-mfsmerge.patch diff -u /usr/src/release/orig.picobsd/build/config picobsd/build/config --- /usr/src/release/orig.picobsd/build/config Wed Jul 11 14:30:41 2001 +++ picobsd/build/config Fri Jul 13 11:02:32 2001 @@ -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"} diff -u /usr/src/release/orig.picobsd/build/picobsd picobsd/build/picobsd --- /usr/src/release/orig.picobsd/build/picobsd Wed Jul 11 14:30:41 2001 +++ picobsd/build/picobsd Fri Jul 13 11:04:10 2001 @@ -82,6 +82,16 @@ boot1=/boot/boot1 boot2=/boot/boot2 + # interactive is if interactive mode should be used. + interactive="YES" + + # install_interactive is if the confirmation for install of the + # binary image on the floppy should be interactive + install_interactive="YES" + + # verbose is if script should be verbose + verbose="NO" + # abort in case of error... set -e @@ -90,10 +100,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 } @@ -307,18 +320,32 @@ # Call the build procedure # Install image do_install() { - dialog --title "Build ${TYPE} completed" --inputbox \ -"\nThe build process was completed successfuly.\n\ + local text_common text_interactive text_noninteractive + + abort_time=10 + + 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\ +Please insert a blank floppy in /dev/fd0.\n\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 ${abort_time} to abort by pressing ^C\n" + + if [ ${install_interactive} = "YES" ]; then + dialog --title "Build ${TYPE} completed" --inputbox \ + "${text_common}${text_interactive}" 20 80 2> ${RISU} + else + echo -e "\n\n\n${text_common}${text_noninteractive}" + sleep ${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 @@ -512,7 +539,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 @@ -522,6 +549,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 @@ -658,7 +694,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" >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200107131007.f6DA7xF34151>