make a backup of the factor binary, library, and image before bootstrapping
parent
199bdfdbe6
commit
e121a0822d
|
@ -131,10 +131,10 @@ check_library_exists() {
|
||||||
$ECHO "***Factor will compile NO_UI=1"
|
$ECHO "***Factor will compile NO_UI=1"
|
||||||
NO_UI=1
|
NO_UI=1
|
||||||
fi
|
fi
|
||||||
rm -f $GCC_TEST
|
$DELETE -f $GCC_TEST
|
||||||
check_ret rm
|
check_ret $DELETE
|
||||||
rm -f $GCC_OUT
|
$DELETE -f $GCC_OUT
|
||||||
check_ret rm
|
check_ret $DELETE
|
||||||
$ECHO "found."
|
$ECHO "found."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -209,7 +209,7 @@ c_find_word_size() {
|
||||||
gcc -o $C_WORD $C_WORD.c
|
gcc -o $C_WORD $C_WORD.c
|
||||||
WORD=$(./$C_WORD)
|
WORD=$(./$C_WORD)
|
||||||
check_ret $C_WORD
|
check_ret $C_WORD
|
||||||
rm -f $C_WORD*
|
$DELETE -f $C_WORD*
|
||||||
}
|
}
|
||||||
|
|
||||||
intel_macosx_word_size() {
|
intel_macosx_word_size() {
|
||||||
|
@ -236,17 +236,30 @@ find_word_size() {
|
||||||
|
|
||||||
set_factor_binary() {
|
set_factor_binary() {
|
||||||
case $OS in
|
case $OS in
|
||||||
# winnt) FACTOR_BINARY=factor-nt;;
|
winnt) FACTOR_BINARY=factor.exe;;
|
||||||
# macosx) FACTOR_BINARY=./Factor.app/Contents/MacOS/factor;;
|
|
||||||
*) FACTOR_BINARY=factor;;
|
*) FACTOR_BINARY=factor;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
set_factor_library() {
|
||||||
|
case $OS in
|
||||||
|
winnt) FACTOR_LIBRARY=factor.dll;;
|
||||||
|
macosx) FACTOR_LIBRARY=libfactor.dylib;;
|
||||||
|
*) FACTOR_LIBRARY=libfactor.a;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
set_factor_image() {
|
||||||
|
FACTOR_IMAGE=factor.image
|
||||||
|
}
|
||||||
|
|
||||||
echo_build_info() {
|
echo_build_info() {
|
||||||
$ECHO OS=$OS
|
$ECHO OS=$OS
|
||||||
$ECHO ARCH=$ARCH
|
$ECHO ARCH=$ARCH
|
||||||
$ECHO WORD=$WORD
|
$ECHO WORD=$WORD
|
||||||
$ECHO FACTOR_BINARY=$FACTOR_BINARY
|
$ECHO FACTOR_BINARY=$FACTOR_BINARY
|
||||||
|
$ECHO FACTOR_LIBRARY=$FACTOR_LIBRARY
|
||||||
|
$ECHO FACTOR_IMAGE=$FACTOR_IMAGE
|
||||||
$ECHO MAKE_TARGET=$MAKE_TARGET
|
$ECHO MAKE_TARGET=$MAKE_TARGET
|
||||||
$ECHO BOOT_IMAGE=$BOOT_IMAGE
|
$ECHO BOOT_IMAGE=$BOOT_IMAGE
|
||||||
$ECHO MAKE_IMAGE_TARGET=$MAKE_IMAGE_TARGET
|
$ECHO MAKE_IMAGE_TARGET=$MAKE_IMAGE_TARGET
|
||||||
|
@ -255,6 +268,8 @@ echo_build_info() {
|
||||||
$ECHO DOWNLOADER=$DOWNLOADER
|
$ECHO DOWNLOADER=$DOWNLOADER
|
||||||
$ECHO CC=$CC
|
$ECHO CC=$CC
|
||||||
$ECHO MAKE=$MAKE
|
$ECHO MAKE=$MAKE
|
||||||
|
$ECHO COPY=$COPY
|
||||||
|
$ECHO DELETE=$DELETE
|
||||||
}
|
}
|
||||||
|
|
||||||
check_os_arch_word() {
|
check_os_arch_word() {
|
||||||
|
@ -312,6 +327,8 @@ find_build_info() {
|
||||||
find_architecture
|
find_architecture
|
||||||
find_word_size
|
find_word_size
|
||||||
set_factor_binary
|
set_factor_binary
|
||||||
|
set_factor_library
|
||||||
|
set_factor_image
|
||||||
set_build_info
|
set_build_info
|
||||||
set_downloader
|
set_downloader
|
||||||
set_gcc
|
set_gcc
|
||||||
|
@ -339,6 +356,28 @@ cd_factor() {
|
||||||
check_ret cd
|
check_ret cd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
set_copy() {
|
||||||
|
case $OS in
|
||||||
|
winnt) COPY=cp;;
|
||||||
|
*) COPY=cp;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
set_delete() {
|
||||||
|
case $OS in
|
||||||
|
winnt) DELETE=rm;;
|
||||||
|
*) DELETE=rm;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
backup_factor() {
|
||||||
|
$ECHO "Backing up factor..."
|
||||||
|
$COPY $FACTOR_BINARY $FACTOR_BINARY.bak
|
||||||
|
$COPY $FACTOR_LIBRARY $FACTOR_LIBRARY.bak
|
||||||
|
$COPY $FACTOR_IMAGE $FACTOR_IMAGE.bak
|
||||||
|
$ECHO "Done with backup."
|
||||||
|
}
|
||||||
|
|
||||||
check_makefile_exists() {
|
check_makefile_exists() {
|
||||||
if [[ ! -e "Makefile" ]] ; then
|
if [[ ! -e "Makefile" ]] ; then
|
||||||
echo ""
|
echo ""
|
||||||
|
@ -366,9 +405,9 @@ make_factor() {
|
||||||
|
|
||||||
update_boot_images() {
|
update_boot_images() {
|
||||||
echo "Deleting old images..."
|
echo "Deleting old images..."
|
||||||
rm checksums.txt* > /dev/null 2>&1
|
$DELETE checksums.txt* > /dev/null 2>&1
|
||||||
rm $BOOT_IMAGE.* > /dev/null 2>&1
|
$DELETE $BOOT_IMAGE.* > /dev/null 2>&1
|
||||||
rm temp/staging.*.image > /dev/null 2>&1
|
$DELETE temp/staging.*.image > /dev/null 2>&1
|
||||||
if [[ -f $BOOT_IMAGE ]] ; then
|
if [[ -f $BOOT_IMAGE ]] ; then
|
||||||
get_url http://factorcode.org/images/latest/checksums.txt
|
get_url http://factorcode.org/images/latest/checksums.txt
|
||||||
factorcode_md5=`cat checksums.txt|grep $BOOT_IMAGE|cut -f2 -d' '`;
|
factorcode_md5=`cat checksums.txt|grep $BOOT_IMAGE|cut -f2 -d' '`;
|
||||||
|
@ -382,7 +421,7 @@ update_boot_images() {
|
||||||
if [[ "$factorcode_md5" == "$disk_md5" ]] ; then
|
if [[ "$factorcode_md5" == "$disk_md5" ]] ; then
|
||||||
echo "Your disk boot image matches the one on factorcode.org."
|
echo "Your disk boot image matches the one on factorcode.org."
|
||||||
else
|
else
|
||||||
rm $BOOT_IMAGE > /dev/null 2>&1
|
$DELETE $BOOT_IMAGE > /dev/null 2>&1
|
||||||
get_boot_image;
|
get_boot_image;
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
@ -459,6 +498,7 @@ install() {
|
||||||
update() {
|
update() {
|
||||||
get_config_info
|
get_config_info
|
||||||
git_pull_factorcode
|
git_pull_factorcode
|
||||||
|
backup_factor
|
||||||
make_clean
|
make_clean
|
||||||
make_factor
|
make_factor
|
||||||
}
|
}
|
||||||
|
@ -469,12 +509,12 @@ update_bootstrap() {
|
||||||
}
|
}
|
||||||
|
|
||||||
refresh_image() {
|
refresh_image() {
|
||||||
./$FACTOR_BINARY -script -e="USE: vocabs.loader refresh-all USE: memory save 0 USE: system exit"
|
./$FACTOR_BINARY -script -e="USE: vocabs.loader USE: system refresh-all USE: memory save 0 exit"
|
||||||
check_ret factor
|
check_ret factor
|
||||||
}
|
}
|
||||||
|
|
||||||
make_boot_image() {
|
make_boot_image() {
|
||||||
./$FACTOR_BINARY -script -e="\"$MAKE_IMAGE_TARGET\" USE: bootstrap.image make-image save 0 USE: system exit"
|
./$FACTOR_BINARY -script -e="\"$MAKE_IMAGE_TARGET\" USE: system USE: bootstrap.image make-image save 0 exit"
|
||||||
check_ret factor
|
check_ret factor
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -513,6 +553,9 @@ if [[ -n "$2" ]] ; then
|
||||||
parse_build_info $2
|
parse_build_info $2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
set_copy
|
||||||
|
set_delete
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
install) install ;;
|
install) install ;;
|
||||||
install-x11) install_build_system_apt; install ;;
|
install-x11) install_build_system_apt; install ;;
|
||||||
|
|
Loading…
Reference in New Issue