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. |