View | Details | Raw Unified | Return to bug 185676 | Differences between
and this patch

Collapse All | Expand All

(-)b/usr.sbin/freebsd-update/freebsd-update.sh (-3 / +17 lines)
Lines 2782-2810 install_from_index () { Link Here
2782
	sort -k 1,1 -t '|' $1 |
2782
	sort -k 1,1 -t '|' $1 |
2783
	    tr '|' ' ' |
2783
	    tr '|' ' ' |
2784
	    while read FPATH TYPE OWNER GROUP PERM FLAGS HASH LINK; do
2784
	    while read FPATH TYPE OWNER GROUP PERM FLAGS HASH LINK; do
2785
		_FILE_INSTALL_STATUS=0
2785
		case ${TYPE} in
2786
		case ${TYPE} in
2786
		d)
2787
		d)
2787
			# Create a directory
2788
			# Create a directory
2788
			install -d -o ${OWNER} -g ${GROUP}		\
2789
			install -d -o ${OWNER} -g ${GROUP}		\
2789
			    -m ${PERM} ${BASEDIR}/${FPATH}
2790
			    -m ${PERM} ${BASEDIR}/${FPATH}
2791
			_FILE_INSTALL_STATUS=$?
2790
			;;
2792
			;;
2791
		f)
2793
		f)
2792
			if [ -z "${LINK}" ]; then
2794
			if [ -z "${LINK}" ]; then
2793
				# Create a file, without setting flags.
2795
				# Create a file, without setting flags.
2794
				gunzip < files/${HASH}.gz > ${HASH}
2796
				gunzip < files/${HASH}.gz > ${HASH}
2795
				install -S -o ${OWNER} -g ${GROUP}	\
2797
				_FILE_INSTALL_STATUS=$?
2796
				    -m ${PERM} ${HASH} ${BASEDIR}/${FPATH}
2798
				if [ ${_FILE_INSTALL_STATUS} -eq 0 ]; then
2797
				rm ${HASH}
2799
					install -S -o ${OWNER} -g ${GROUP}	\
2800
					    -m ${PERM} ${HASH} ${BASEDIR}/${FPATH}
2801
					_FILE_INSTALL_STATUS=$?
2802
					rm ${HASH}
2803
				fi
2798
			else
2804
			else
2799
				# Create a hard link.
2805
				# Create a hard link.
2800
				ln -f ${BASEDIR}/${LINK} ${BASEDIR}/${FPATH}
2806
				ln -f ${BASEDIR}/${LINK} ${BASEDIR}/${FPATH}
2807
				_FILE_INSTALL_STATUS=$?
2801
			fi
2808
			fi
2802
			;;
2809
			;;
2803
		L)
2810
		L)
2804
			# Create a symlink
2811
			# Create a symlink
2805
			ln -sfh ${HASH} ${BASEDIR}/${FPATH}
2812
			ln -sfh ${HASH} ${BASEDIR}/${FPATH}
2813
			_FILE_INSTALL_STATUS=$?
2806
			;;
2814
			;;
2807
		esac
2815
		esac
2816
		if [ ${_FILE_INSTALL_STATUS} -ne 0 ]; then
2817
			echo "Failed to install file ${BASEDDIR}/${FPATH}."
2818
			echo -n "Please verify that there is enough space "
2819
			echo "in ${BASEDIR} to install new files."
2820
			return 1
2821
		fi
2808
	    done
2822
	    done
2809
2823
2810
	# Perform a second pass, adding file flags.
2824
	# Perform a second pass, adding file flags.

Return to bug 185676