diff --git a/CMakeLists.txt b/CMakeLists.txt index 487a2090..2b3735e7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -130,19 +130,19 @@ if (BUILD_CXX_LANGUAGE_PACKAGE) if (LLVM_FOUND) message(STATUS "Found LLVM ${LLVM_VERSION}") endif() - + if (UNIX) set(LLVM_CONFIGURATION_TYPES ".") endif() - + set (CLANG_COMPILER_HEADER_SEARCH_PATH "") foreach(LLVM_CONFIGURATION_TYPE ${LLVM_CONFIGURATION_TYPES}) if (CLANG_COMPILER_HEADER_SEARCH_PATH STREQUAL "") - set (CLANG_COMPILER_HEADER_SEARCH_PATH "${LLVM_BINARY_DIR}/${LLVM_CONFIGURATION_TYPE}/lib/clang/${LLVM_VERSION}/include") + set (CLANG_COMPILER_HEADER_SEARCH_PATH "${LLVM_BINARY_DIR}/${LLVM_CONFIGURATION_TYPE}/lib/clang/${LLVM_VERSION}/include") message (STATUS "Trying to find Clang compiler headers in '${LLVM_CONFIGURATION_TYPE}' build config in directory '${CLANG_COMPILER_HEADER_SEARCH_PATH}'.") if (EXISTS ${CLANG_COMPILER_HEADER_SEARCH_PATH}) message (STATUS "Found headers for '${LLVM_CONFIGURATION_TYPE}' build config.") - file(GLOB_RECURSE CLANG_COMPILER_HEADER_PATHS RELATIVE "${CLANG_COMPILER_HEADER_SEARCH_PATH}" "${CLANG_COMPILER_HEADER_SEARCH_PATH}/*") + file(GLOB_RECURSE CLANG_COMPILER_HEADER_PATHS RELATIVE "${CLANG_COMPILER_HEADER_SEARCH_PATH}" "${CLANG_COMPILER_HEADER_SEARCH_PATH}/*") foreach(CLANG_COMPILER_HEADER_PATH ${CLANG_COMPILER_HEADER_PATHS}) configure_file("${CLANG_COMPILER_HEADER_SEARCH_PATH}/${CLANG_COMPILER_HEADER_PATH}" "${CMAKE_SOURCE_DIR}/bin/app/data/cxx/include/${CLANG_COMPILER_HEADER_PATH}" COPYONLY) endforeach() @@ -155,7 +155,7 @@ if (BUILD_CXX_LANGUAGE_PACKAGE) if (CLANG_COMPILER_HEADER_SEARCH_PATH STREQUAL "") message(FATAL_ERROR "Unable to copy Clang compiler headers from clang build dir.") endif() - + endif() @@ -658,7 +658,7 @@ if (WIN32) # generate pdb for release build set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi") - + set_property( TARGET ${APP_PROJECT_NAME} PROPERTY VS_DEBUGGER_WORKING_DIRECTORY @@ -832,17 +832,6 @@ if (UNIX) COMMAND "${CMAKE_COMMAND}" "-E" "create_symlink" "${CMAKE_SOURCE_DIR}/bin/app/user" "${CMAKE_BINARY_DIR}/app/user" COMMAND "${CMAKE_COMMAND}" "-E" "create_symlink" "${CMAKE_SOURCE_DIR}/bin/test/data" "${CMAKE_BINARY_DIR}/test/data" ) - - if (UNIX AND NOT APPLE) - # Create different sized icons - message(STATUS "create icons") - execute_process( - COMMAND "${CMAKE_SOURCE_DIR}/setup/Linux/createIcons.sh" "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" - ) - - # Linux package - include(cmake/linux_package.cmake) - endif () elseif(WIN32) foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) if (EXISTS "${BACKSLASHED_CMAKE_BINARY_DIR}\\${OUTPUTCONFIG}") diff --git a/README.md b/README.md index ec4044f5..65b461bc 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ If you want to support a certain feature request or you have the same bug that a ## How to Contribute -* Please read and follow the steps in [CONTRIBUTING.md](CONTRIBUTING.md) file. +* Please read and follow the steps in [CONTRIBUTING.md](CONTRIBUTING.md) file. * You may want to look out for issues labeled [good first issue](https://github.com/CoatiSoftware/Sourcetrail/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) to find some initial tasks to tackle. * If you are looking for more information about Sourcetrail software development, please refer to our [wiki](https://github.com/CoatiSoftware/Sourcetrail/wiki). @@ -72,20 +72,20 @@ Building Sourcetrail requires several dependencies to be in place on your machin ### Required Tools -* __CMake v3.12 (required for Windows, Linux and MacOS)__ +* __CMake v3.12 (required for Windows, Linux and MacOS)__ * __Reason__: Used to generate a build configuration for your build system * __Download__: https://cmake.org/download -* __Git (required for Windows, Linux and MacOS)__ +* __Git (required for Windows, Linux and MacOS)__ * __Reason__: Used for version control and to automatically generate the Sourcetrail version number from commits and tags * __Download__: https://git-scm.com/download * __Remarks__: Make sure `git` is added to your `PATH` environment variable before running CMake -* __Visual Studio (required for Windows)__ +* __Visual Studio (required for Windows)__ * __Reason__: Used for building Sourcetrail * __Download__: https://visualstudio.microsoft.com/downloads/ - -* __ccache (optional for Linux and MacOS)__ + +* __ccache (optional for Linux and MacOS)__ * __Reason__: Used to speed up rebuilds if found in `PATH` * __Download__: https://ccache.dev/download.html @@ -94,7 +94,7 @@ Building Sourcetrail requires several dependencies to be in place on your machin * __Boost 1.67__ * __Reason__: Used for file system access and interprocess communication * __Prebuilt Download for Windows__: https://sourceforge.net/projects/boost/files/boost-binaries/ - * __Building for Unix__: + * __Building for Unix__: ``` $ ./bootstrap.sh --with-libraries=filesystem,program_options,system,date_time $ ./b2 --link=static --variant=release --threading=multi --runtime-link=static --cxxflags=-fPIC @@ -109,7 +109,7 @@ Building Sourcetrail requires several dependencies to be in place on your machin #### On Windows * To set up your build environment run: ``` - $ git clone https://github.com/CoatiSoftware/Sourcetrail.git + $ git clone https://github.com/CoatiSoftware/Sourcetrail.git $ cd Sourcetrail $ mkdir -p build/win64 $ cd build/win64 @@ -188,7 +188,7 @@ Building Sourcetrail requires several dependencies to be in place on your machin ### Required Tools -* __WinRAR (required for Windows)__ +* __WinRAR (required for Windows)__ * __REASON__: Used to extract the prebuilt SourcetrailPythonIndexer which is downloaded automatically during build execution. ### Building @@ -206,8 +206,8 @@ Building Sourcetrail requires several dependencies to be in place on your machin #### Required Tools -* __Visual Studio (required for Windows)__ - * __Reason__: Used for building the Sourcetrail Windows installer. +* __Visual Studio (required for Windows)__ + * __Reason__: Used for building the Sourcetrail Windows installer. * __Remarks__: Make sure to install the `.Net desktop development` workload. * __Download__: https://visualstudio.microsoft.com/downloads/ @@ -237,7 +237,7 @@ After building, run the `bundle_install.sh` script within the build directory wh ### Linux -Run `./script/buildonly.sh package` +Run `./setup/Linux/createPackages.sh` from the main directory, which creates both a `.tar.gz` and a `.AppImage` package in the main directory. Packaging depends on [linuxdeployqt](https://github.com/probonopd/linuxdeployqt). # How to Run the Tests diff --git a/cmake/linux_package.cmake b/cmake/linux_package.cmake deleted file mode 100644 index 345c02a9..00000000 --- a/cmake/linux_package.cmake +++ /dev/null @@ -1,200 +0,0 @@ - -function(InstallQtModule module qtversion) - get_filename_component(realpath $ENV{Qt5_DIR}/lib/libQt5${module}.so.${qtversion} REALPATH) - INSTALL(FILES - ${realpath} - DESTINATION Sourcetrail/lib - RENAME libQt5${module}.so.${qtversion} - ) -endfunction(InstallQtModule) - -function(GetAndInstallLibrary libraryName withoutVersion) - execute_process( - COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=${libraryName} - OUTPUT_VARIABLE LIB - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - message(STATUS "lib: ${LIB}") - - get_filename_component(realPath ${LIB} REALPATH) - string(REGEX MATCH "([^\/]*)$" fileName ${realPath}) - - if (withoutVersion) - string(REGEX MATCH ".*\.so" SHORTER ${fileName}) - else() - string(REGEX MATCH ".*\.so\.[^.]*" SHORTER ${fileName}) - endif() - if (NOT EXISTS ${realPath}) - message(WARNING "${libraryName} not found") - else() - INSTALL(FILES - ${realPath} - DESTINATION Sourcetrail/lib - RENAME ${SHORTER} - ) - endif() -endfunction(GetAndInstallLibrary) - -function(InstallQt qtversion) - InstallQtModule(Gui ${qtversion}) - InstallQtModule(Core ${qtversion}) - InstallQtModule(Network ${qtversion}) - InstallQtModule(XcbQpa ${qtversion}) - InstallQtModule(Widgets ${qtversion}) - InstallQtModule(DBus ${qtversion}) - InstallQtModule(Svg ${qtversion}) -endfunction(InstallQt) - -function(AddSharedToComponent) - INSTALL(DIRECTORY - ${CMAKE_SOURCE_DIR}/bin/app/data - DESTINATION Sourcetrail - PATTERN "install" EXCLUDE - PATTERN "ProjectSettings_template.xml" EXCLUDE - PATTERN "color_scheme_template.xml" EXCLUDE - PATTERN "python/SourcetrailPythonIndexer" EXCLUDE - ) - - if (BUILD_PYTHON_LANGUAGE_PACKAGE) - INSTALL(PROGRAMS - ${CMAKE_SOURCE_DIR}/bin/app/data/python/SourcetrailPythonIndexer - DESTINATION Sourcetrail/data/python - ) - endif() - - InstallQt(5) - - GetAndInstallLibrary(libicui18n.so 0) - GetAndInstallLibrary(libicudata.so 0) - GetAndInstallLibrary(libicuuc.so 0) - GetAndInstallLibrary(libudev.so 0) - GetAndInstallLibrary(libpng.so 0) - GetAndInstallLibrary(libEGL.so 0) - GetAndInstallLibrary(libselinux.so 0) - GetAndInstallLibrary(libXrender.so 0) - #GetAndInstallLibrary(libstdc++.so 0) - GetAndInstallLibrary(libX11-xcb.so 0) - GetAndInstallLibrary(libXi.so 0) - GetAndInstallLibrary(libxcb.so 0) - GetAndInstallLibrary(libfontconfig.so 0) - GetAndInstallLibrary(libfreetype.so 0) - GetAndInstallLibrary(libXext.so 0) - GetAndInstallLibrary(libX11.so 0) - GetAndInstallLibrary(libudev.so 0) - GetAndInstallLibrary(libGL.so 0) - GetAndInstallLibrary(libxcb-dri2.so 0) - GetAndInstallLibrary(libxcb-xfixes.so 0) - GetAndInstallLibrary(libxcb-render.so 0) - GetAndInstallLibrary(libxcb-shape.so 0) - GetAndInstallLibrary(libgbm.so.1 0) - GetAndInstallLibrary(libdrm.so 0) - GetAndInstallLibrary(libglapi.so 0) - GetAndInstallLibrary(libXdamage.so 0) - GetAndInstallLibrary(libXfixes.so 0) - GetAndInstallLibrary(libxcb-glx.so 0) - GetAndInstallLibrary(libXxf86vm.so 0) - GetAndInstallLibrary(libdrm.so 0) - GetAndInstallLibrary(libXau.so 0) - GetAndInstallLibrary(libssl.so 1) - GetAndInstallLibrary(libcrypto.so 1) - - INSTALL(DIRECTORY - $ENV{Qt5_DIR}/plugins/platforms - DESTINATION Sourcetrail/lib - ) - - INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/bin/app/user - DESTINATION Sourcetrail - PATTERN "log/*" EXCLUDE - PATTERN "ApplicationSettings.xml" EXCLUDE - PATTERN "ApplicationSettings_template.xml" EXCLUDE - ) - -endfunction(AddSharedToComponent) - -AddSharedToComponent() - -INSTALL(DIRECTORY - ${CMAKE_SOURCE_DIR}/ide_plugins/ - DESTINATION Sourcetrail/plugin - PATTERN "vs" EXCLUDE -) - -INSTALL(DIRECTORY - ${CMAKE_BINARY_DIR}/share - DESTINATION Sourcetrail/setup -) - -INSTALL(FILES - ${CMAKE_SOURCE_DIR}/setup/Linux/README - DESTINATION Sourcetrail -) - -INSTALL(FILES - ${CMAKE_SOURCE_DIR}/setup/Linux/sourcetrail-mime.xml - DESTINATION Sourcetrail/setup/share/mime/packages -) - -INSTALL(FILES - ${CMAKE_SOURCE_DIR}/setup/Linux/sourcetrail.desktop - DESTINATION Sourcetrail/setup/share/applications -) - -INSTALL(PROGRAMS - ${CMAKE_SOURCE_DIR}/setup/Linux/install.sh - ${CMAKE_SOURCE_DIR}/setup/Linux/uninstall.sh - ${CMAKE_SOURCE_DIR}/setup/Linux/resetPreferences.sh - DESTINATION Sourcetrail -) - -INSTALL(PROGRAMS - ${CMAKE_SOURCE_DIR}/setup/Linux/Sourcetrail.sh - DESTINATION Sourcetrail -) - -INSTALL(TARGETS - ${APP_PROJECT_NAME} - DESTINATION Sourcetrail -) - -INSTALL(TARGETS - ${APP_INDEXER_NAME} - DESTINATION Sourcetrail -) - -# SET(CPACK_GENERATOR "DEB;TGZ") -SET(CPACK_GENERATOR "TGZ") -SET(CPACK_ARCHIVE_COMPONENT_INSTALL "ON") - -string(REGEX REPLACE "^([0-9]+)\\..*" "\\1" VERSION_MAJOR "${GIT_VERSION_NUMBER}") -string(REGEX REPLACE "^[0-9]+\\.([0-9]+).*" "\\1" VERSION_MINOR "${GIT_VERSION_NUMBER}") -#string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" VERSION_PATCH "${GIT_VERSION_NUMBER}") -#if(${GIT_VERSION_NUMBER} STREQUAL ${VERSION_PATCH}) - #SET(VERSIONA_PATCH 0) -#endif() -string(REGEX REPLACE "^[0-9]+\\.[0-9]+-([0-9]+).*" "\\1" VERSION_COMMIT "${GIT_VERSION_NUMBER}") - -if(${GIT_VERSION_NUMBER} STREQUAL ${VERSION_COMMIT}) - set(VERSION_NUMBER "${VERSION_MAJOR}_${VERSION_MINOR}") -else() - set(VERSION_NUMBER "${VERSION_MAJOR}_${VERSION_MINOR}_${VERSION_COMMIT}") -endif() - -SET(CPACK_PACKAGE_NAME "Sourcetrail") -SET(CPACK_PACKAGING_INSTALL_PREFIX "") -SET(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 0) -#SET(CPACK_TOPLEVEL_TAG "Sourcetrail") -SET(CPACK_PACKAGING_INSTALL_DIRECTORY "Sourcetrail") -SET(CPACK_PACKAGE_VERSION ${VERSION_NUMBER}) -SET(CPACK_PACKAGE_VENDOR "Coati Software") -SET(CPACK_INSTALL_SCRIPT "${CMAKE_SOURCE_DIR}/cmake/pre_install_linux.cmake") -if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64") - SET(CPACK_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}_64bit") -else() - SET(CPACK_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}_32bit") -endif() -SET(CPACK_PACKAGE_FILE_NAME "Sourcetrail_${VERSION_NUMBER}_${CPACK_SYSTEM_NAME}") -SET(CPACK_STRIP_FILES "Sourcetrail/sourcetrail") -SET(CPACK_PACKAGE_CONTACT "astallinger@coati.io") - -INCLUDE(CPack) diff --git a/cmake/pre_install_linux.cmake b/cmake/pre_install_linux.cmake deleted file mode 100644 index 1417facd..00000000 --- a/cmake/pre_install_linux.cmake +++ /dev/null @@ -1,32 +0,0 @@ -#pre install script -function(Print text) - execute_process( - COMMAND echo ${text} - ) -endfunction() - -function(Run) - execute_process( - COMMAND ${ARGV} - ) -endfunction() - -set(binPath ${CMAKE_CURRENT_LIST_DIR}/../build/Release/app/Sourcetrail) -set(projPath ${CMAKE_CURRENT_LIST_DIR}/../bin/app/user/projects) - -execute_process( - COMMAND ${binPath} index --full ${projPath}/tictactoe_cpp/tictactoe_cpp.srctrlprj -) - -execute_process( - COMMAND ${binPath} index --full ${projPath}/tictactoe_py/tictactoe_py.srctrlprj -) - -execute_process( - COMMAND ${binPath} index --full ${projPath}/tutorial/tutorial.srctrlprj -) - -execute_process( - COMMAND ${binPath} index --full ${projPath}/javaparser/javaparser.srctrlprj -) - diff --git a/deployment/dockerfiles/linux/travis_ci/entrypoint.sh b/deployment/dockerfiles/linux/travis_ci/entrypoint.sh index 99fa1df7..122eec29 100644 --- a/deployment/dockerfiles/linux/travis_ci/entrypoint.sh +++ b/deployment/dockerfiles/linux/travis_ci/entrypoint.sh @@ -10,11 +10,9 @@ git checkout $1 ./script/buildonly.sh all -./script/buildonly.sh package - ./script/build.sh release test -./setup/Linux/createAppImage.sh +./setup/Linux/createPackages.sh mkdir release cp ./Sourcetrail*.tar.gz ./release/ diff --git a/script/buildonly.sh b/script/buildonly.sh index 7771edc7..0e42cb8a 100755 --- a/script/buildonly.sh +++ b/script/buildonly.sh @@ -51,11 +51,6 @@ then #echo "debug app" cmake --build build/Debug --target Sourcetrail fi -elif [ "$1" = "package" ] || [ "$1" = "p" ] -then - cmake --build build/Release --target package - mv build/Release/Sourcetrail*.tar.gz . #&& cp build/Release/Sourcetrail*.deb distr - echo "Packages copied into the root folder" elif [ "$1" = "all" ] || [ "$1" = "a" ] then cmake --build build/Release --target all diff --git a/setup/Linux/createIcons.sh b/setup/Linux/createIcons.sh deleted file mode 100755 index 8e05d1ae..00000000 --- a/setup/Linux/createIcons.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -SOURCE_DIR=$1 -BUILD_DIR=$2 -ICON=$SOURCE_DIR/bin/app/data/gui/icon/logo_1024_1024.png -HICOLOR_DIR=$BUILD_DIR/share/icons/hicolor - -echo "sourcedir: $SOURCE_DIR" -echo "builddir : $BUILD_DIR" -echo "hicolor : $HICOLOR_DIR" -echo "icon : $ICON" - -createIcon() -{ - mkdir -p $HICOLOR_DIR/$1/apps/ - convert $ICON -resize $1 $HICOLOR_DIR/$1/apps/sourcetrail.png -} - -createIcon 512x512 -createIcon 256x256 -createIcon 128x128 -createIcon 64x64 -createIcon 48x48 diff --git a/setup/Linux/createAppImage.sh b/setup/Linux/createPackages.sh similarity index 64% rename from setup/Linux/createAppImage.sh rename to setup/Linux/createPackages.sh index b47108e5..8d70894a 100755 --- a/setup/Linux/createAppImage.sh +++ b/setup/Linux/createPackages.sh @@ -1,5 +1,7 @@ #!/bin/sh +# index sample projects + BIN_PATH=build/Release/app/Sourcetrail PROJECTS_PATH=bin/app/user/projects @@ -8,6 +10,9 @@ PROJECTS_PATH=bin/app/user/projects ./$BIN_PATH index --full $PROJECTS_PATH/tutorial/tutorial.srctrlprj ./$BIN_PATH index --full $PROJECTS_PATH/javaparser/javaparser.srctrlprj + +# create AppDir + rm -rf AppDir mkdir AppDir @@ -29,16 +34,14 @@ cd share mkdir applications cd applications -cp ../../../../setup/Linux/sourcetrail.desktop . +cp ../../../../setup/Linux/data/sourcetrail.desktop . cd .. -cp -r ../../../build/Release/share/icons/ . - mkdir mime cd mime mkdir packages cd packages -cp ../../../../../setup/Linux/sourcetrail-mime.xml . +cp ../../../../../setup/Linux/data/sourcetrail-mime.xml . cd ../.. mkdir data @@ -57,16 +60,57 @@ cd .. cd ../../.. +# print file structure # find AppDir | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-\1/" -export VERSION=$(cat build/Release/version.txt) + +# create icons + +ICON=AppDir/usr/share/data/gui/icon/logo_1024_1024.png +HICOLOR_DIR=AppDir/usr/share/icons/hicolor + +createIcon() +{ + mkdir -p $HICOLOR_DIR/$1/apps/ + convert $ICON -resize $1 $HICOLOR_DIR/$1/apps/sourcetrail.png +} + +createIcon 512x512 +createIcon 256x256 +createIcon 128x128 +createIcon 64x64 +createIcon 48x48 + + +# Version for filename + +VERSION=$(cat build/Release/version.txt) +VERSION=${VERSION/./_} +VERSION=${VERSION/./_} +export VERSION + + +# create .AppImage linuxdeployqt AppDir/usr/bin/sourcetrail_indexer -qmake=$Qt5_DIR/bin/qmake -ignore-glob=*python* rm -f AppDir/AppRun + linuxdeployqt AppDir/usr/share/applications/sourcetrail.desktop -qmake=$Qt5_DIR/bin/qmake -ignore-glob=*python* -appimage rename x86_64 Linux_64bit *.AppImage rename - _ *.AppImage rename - _ *.AppImage -rename . _ *.AppImage -rename . _ *.AppImage + + +# create .tar.gz + +mv AppDir/usr/ Sourcetrail +cp -R setup/Linux/data/package/* Sourcetrail + +tar -czvf Sourcetrail_${VERSION}_Linux_64bit.tar.gz Sourcetrail + + +# cleanup + +rm -rf AppDir +rm -rf Sourcetrail diff --git a/setup/Linux/README b/setup/Linux/data/package/README similarity index 100% rename from setup/Linux/README rename to setup/Linux/data/package/README diff --git a/setup/Linux/Sourcetrail.sh b/setup/Linux/data/package/Sourcetrail.sh similarity index 86% rename from setup/Linux/Sourcetrail.sh rename to setup/Linux/data/package/Sourcetrail.sh index ec874b77..71daac61 100755 --- a/setup/Linux/Sourcetrail.sh +++ b/setup/Linux/data/package/Sourcetrail.sh @@ -14,9 +14,9 @@ SOURCETRAIL_PATH="$( cd -P "$( dirname "$SOURCE" )" && pwd )" export LD_LIBRARY_PATH="$SOURCETRAIL_PATH/lib:$LD_LIBRARY_PATH" export QT_XKB_CONFIG_ROOT="/usr/share/X11/xkb:$QT_XKB_CONFIG_ROOT" -export QT_QPA_PLATFORM_PLUGIN_PATH="$SOURCETRAIL_PATH/lib/platforms" +export QT_QPA_PLATFORM_PLUGIN_PATH="$SOURCETRAIL_PATH/plugins/platforms" export QT_QPA_FONTDIR="$SOURCETRAIL_PATH/data/fonts:$QT_QPA_FONTDIR" export SOURCETRAIL_VIA_SCRIPT=1 export OPENSSL_CONF=/etc/ssl/ -exec "$SOURCETRAIL_PATH/Sourcetrail" $@ +exec "$SOURCETRAIL_PATH/bin/sourcetrail" $@ diff --git a/setup/Linux/install.sh b/setup/Linux/data/package/install.sh similarity index 64% rename from setup/Linux/install.sh rename to setup/Linux/data/package/install.sh index 086df7c5..8f50f2a3 100755 --- a/setup/Linux/install.sh +++ b/setup/Linux/data/package/install.sh @@ -1,19 +1,23 @@ #!/bin/sh -echo "Installing Sourcetrail in /opt/sourcetrail" - if [ "$(id -u)" -ne 0 ]; then echo >&2 "Error: Please run script as root or with sudo. Exiting..." exit 1 fi +echo "Installing Sourcetrail in /opt/sourcetrail" + MY_PATH="$( cd "$( dirname "$0" )" && pwd )" rm -rf /opt/sourcetrail > /dev/null + cp -rf "$MY_PATH/" /opt/sourcetrail > /dev/null -cp -rf "$MY_PATH/setup/share/" /usr > /dev/null -cp "$MY_PATH/data/gui/icon/logo_1024_1024.png" /usr/share/icons/sourcetrail.png > /dev/null -cp "$MY_PATH/data/gui/icon/project_256_256.png" /usr/share/icons/project-sourcetrail.png > /dev/null +cp -rf "$MY_PATH/share/applications" /usr/share > /dev/null +cp -rf "$MY_PATH/share/icons" /usr/share > /dev/null +cp -rf "$MY_PATH/share/mime" /usr/share > /dev/null + +cp "$MY_PATH/share/data/gui/icon/logo_1024_1024.png" /usr/share/icons/sourcetrail.png > /dev/null +cp "$MY_PATH/share/data/gui/icon/project_256_256.png" /usr/share/icons/project-sourcetrail.png > /dev/null ln -f -s /opt/sourcetrail/Sourcetrail.sh /usr/bin/sourcetrail diff --git a/setup/Linux/resetPreferences.sh b/setup/Linux/data/package/resetPreferences.sh similarity index 100% rename from setup/Linux/resetPreferences.sh rename to setup/Linux/data/package/resetPreferences.sh diff --git a/setup/Linux/uninstall.sh b/setup/Linux/data/package/uninstall.sh similarity index 100% rename from setup/Linux/uninstall.sh rename to setup/Linux/data/package/uninstall.sh index f53821dd..9cdfe804 100755 --- a/setup/Linux/uninstall.sh +++ b/setup/Linux/data/package/uninstall.sh @@ -1,12 +1,12 @@ #!/bin/sh -echo "Do you want to uninstall Sourcetrail?" - if [ "$(id -u)" -ne 0 ]; then echo >&2 "Error: Please run script as root or with sudo. Exiting..." exit 1 fi +echo "Do you want to uninstall Sourcetrail?" + printf 'enter [y/n] ' read ans case ${ans:=y} in [yY]*) ;; *) exit ;; esac diff --git a/setup/Linux/sourcetrail-mime.xml b/setup/Linux/data/sourcetrail-mime.xml similarity index 100% rename from setup/Linux/sourcetrail-mime.xml rename to setup/Linux/data/sourcetrail-mime.xml diff --git a/setup/Linux/sourcetrail.desktop b/setup/Linux/data/sourcetrail.desktop similarity index 100% rename from setup/Linux/sourcetrail.desktop rename to setup/Linux/data/sourcetrail.desktop diff --git a/setup/Linux/findAndCopyLibraries.sh b/setup/Linux/findAndCopyLibraries.sh deleted file mode 100755 index d6ddc6c2..00000000 --- a/setup/Linux/findAndCopyLibraries.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -mkdir -p setup/Linux/lib -ldd bin/app/Release/Sourcetrail | grep "=> /" | awk '{print $3}' | xargs -I '{}' cp -v '{}' setup/Linux/lib - -# extra files needed and not copied with the lines above -cp /usr/lib/qt/plugins/platforms/libqxcb.so setup/Linux -cp /usr/lib/libQt5XcbQpa.so.5 setup/Linux/lib -cp /usr/lib/libQt5DBus.so.5 setup/Linux/lib