summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorSebastian Schmelzer2010-09-07 11:15:02 +0200
committerSebastian Schmelzer2010-09-07 11:15:02 +0200
commite270a0dd44c64ebddbf6da8e8a5ff65a9bbd3191 (patch)
tree83e35ce98d6e1747e5860bc0848205b643a3e993 /tools
parentupdate gitignore (diff)
downloadcore-e270a0dd44c64ebddbf6da8e8a5ff65a9bbd3191.tar.gz
core-e270a0dd44c64ebddbf6da8e8a5ff65a9bbd3191.tar.xz
core-e270a0dd44c64ebddbf6da8e8a5ff65a9bbd3191.zip
installer can install stuff now :), minor changes
Diffstat (limited to 'tools')
-rwxr-xr-xtools/installer127
1 files changed, 117 insertions, 10 deletions
diff --git a/tools/installer b/tools/installer
index 18401110..92ece80d 100755
--- a/tools/installer
+++ b/tools/installer
@@ -152,7 +152,8 @@ prepare_install()
-p ${INSTALL_BASE}/share/squashfs \
-p ${INSTALL_BASE}/share/templates \
-p ${INSTALL_BASE}/share/ramfstools \
- -p ${PREPARE_INSTALL_TARGET}${USR_BIN_PATH};
+ -p ${PREPARE_INSTALL_TARGET}${USR_BIN_PATH} \
+ -p ${PREPARE_INSTALL_TARGET}/lib;
# copy license
cp COPYING ${INSTALL_BASE}/
@@ -161,35 +162,134 @@ prepare_install()
_install ./tools/inc/files.core base
#### copy OpenSLX shared data ####
- opts="--exclude=OpenSLX --exclude=*.example --strip-components 1"
+ opts="--exclude=OpenSLX --exclude=*.example" # --strip-components 1"
_install ./tools/inc/files.share base $opts
#### copy OpenSLX config data ####
opts="--exclude=OpenSLX"
_install ./tools/inc/files.config config $opts
+ # copy distro-info
+ tar --exclude=*.example -cp -C src/lib distro-info \
+ | tar -xp -C ${PREPARE_INSTALL_TARGET}${SLX_BASE_PATH}/share
+ tar --exclude=prereqfiles --exclude=trusted-package-keys/* \
+ --exclude=*.default --exclude=mirrors \
+ -cp -C src/lib distro-info \
+ | tar -xp -C ${PREPARE_INSTALL_TARGET}${SLX_CONFIG_PATH}
+
+ ### link slx binarires ###
+ ln -sf ${SLX_BASE_PATH}/bin/slx* ${PREPARE_INSTALL_TARGET}${USR_BIN_PATH}/
+
+ ### deprecated.. ###
+ ln -sf ${SLX_BASE_PATH}/share/uclib-rootfs/lib/ld-uClibc.so.0 \
+ ${PREPARE_INSTALL_TARGET}/lib/ld-uClibc.so.0
+
echo -e " [${LightGreen}ok${NC}]"
}
make_install_tarball()
{
- echo -n " * create OpenSLX install tarball"
+ local COMPRESSION=$1
+ [ "x$COMPRESSION" = "x" ] && \
+ echo -n " * create OpenSLX install tarball"
+ [ "x$COMPRESSION" = "x" ] || \
+ echo -n " * create OpenSLX install tarball (compressed with $COMPRESSION)"
VERSIONSTRING="openslx-$(git_version)"
- rm -rf $VERSIONSTRING.tar $VERSIONSTRING.tar.*
cd $PREPARE_INSTALL_TARGET
- tar cfj ../$VERSIONSTRING.tbz2 *
+ tar cf ../$VERSIONSTRING.tar *
cd - 2>&1 >/dev/null
+ [ "x$COMPRESSION" = "x" ] || $COMPRESSION -f $VERSIONSTRING.tar
echo -e " [${LightGreen}ok${NC}]"
}
make_source_tarball()
{
- echo -n " * create OpenSLX source tarball"
+ local COMPRESSION=$1
+ [ "x$COMPRESSION" = "x" ] && \
+ echo -n " * create OpenSLX source tarball"
+ [ "x$COMPRESSION" = "x" ] || \
+ echo -n " * create OpenSLX source tarball (compressed with $COMPRESSION)"
VERSIONSTRING="openslx-$(git_version)-src"
- rm -rf $VERSIONSTRING.tar $VERSIONSTRING.tar.*
git archive --format=tar --prefix=$VERSIONSTRING/ -o $VERSIONSTRING.tar HEAD
- bzip2 $VERSIONSTRING.tar
+ [ "x$COMPRESSION" = "x" ] || $COMPRESSION -f $VERSIONSTRING.tar
+ echo -e " [${LightGreen}ok${NC}]"
+}
+
+prepare_upgrade()
+{
+ echo -n " * cleanup old OpenSLX installation before upgrade"
+ rm -rf ${SLX_BASE_PATH}
+ rm -f ${USR_BIN_PATH}/slx*
+ echo -e " [${LightGreen}ok${NC}]"
+}
+
+do_install()
+{
+ echo -n " * installing OpenSLX"
+ if [ ! "$(whoami)" = "root" ]; then
+ echo -e " [${LightRed}failed${NC}]"
+ echo " you need to be root"
+ exit 1
+ fi
+ check_upgrade
+ make_install_tarball
+ VERSIONSTRING="openslx-$(git_version)"
+ check_upgrade
+ INSTALL_HOME=$(pwd)
+ cd ${SLX_BUILD_PATH}/; tar xf $INSTALL_HOME/$VERSIONSTRING.tar
+ cd $INSTALL_HOME
+}
+
+uninstall()
+{
+ echo -n " * Uninstalling OpenSLX project files but keeping configs and stage1"
+ rm -rf ${SLX_BASE_PATH}
+ rm -rf ${SLX_PUBLIC_PATH}
+ rm -f ${USR_BIN_PATH}/slx*
+ rm -f /lib/ld-uClibc.so.0
+ echo -e " [${LightGreen}ok${NC}]"
+ echo " left config files in ${SLX_CONFIG_PATH} untouched"
+ echo " left config files in ${SLX_PRIVATE_PATH} untouched"
+}
+
+mrproper()
+{
+ echo -n " * Wiping all!"
+ rm -rf ${SLX_BASE_PATH}
+ rm -rf ${SLX_CONFIG_PATH}
+ rm -rf ${SLX_PRIVATE_PATH}
+ rm -rf ${SLX_PUBLIC_PATH}
+ rm -f ${USR_BIN_PATH}/slx*
+ echo -e " [${LightGreen}ok${NC}]"
+}
+
+check_upgrade()
+{
+ # find out if there is an older version installed and, if so, clean that
+ INSTALLED_VERSION=$(slxversion 2>/dev/null)
+ if ! test -z "${INSTALLED_VERSION}"; then
+ if test -e REVISION; then
+ . REVISION
+ else
+ OPENSLX_VERSION_REV=$(git_version)
+ fi;
+ test "${OPENSLX_SVN_SNAPSHOT}" = "0" &&
+ unset OPENSLX_SVN_SNAPSHOT || OPENSLX_SVN_SNAPSHOT="1"
+ . ./VERSIONS;
+ if test ${INSTALLED_VERSION} != ${OPENSLX_VERSION_STRING}; then
+ echo " * preparing upgrade from version (${INSTALLED_VERSION})"
+ prepare_upgrade;
+ fi;
+ fi
+}
+
+clean()
+{
+ echo -n " * Cleanup OpenSLX source directory"
+ for file in ${SLX_INSTALL_LOG} openslx-*.tar.bz2; do
+ rm -f ${file}
+ done
echo -e " [${LightGreen}ok${NC}]"
}
@@ -200,6 +300,13 @@ check_perl_dep
check_perl_db
check_helper_apps
prepare_install
-make_install_tarball
-#make_source_tarballmake_install_tarball
+#make_install_tarball
+#make_install_tarball gzip
+#make_install_tarball bzip2
+#make_install_tarball lzma
+#make_source_tarball
+#make_source_tarball gzip
+#make_source_tarball bzip2
+#make_source_tarball lzma
+do_install
git_version \ No newline at end of file