From 68ba1db24ab66df63fd525d15f95b95bc958beac Mon Sep 17 00:00:00 2001 From: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> Date: Wed, 11 May 2022 21:31:31 -0400 Subject: [PATCH] Refactor assets and config directory --- .github/workflows/CI.yml | 6 +- .gitignore | 16 ++--- CMakeLists.txt | 65 +++++++++++------- Portfile.in | 18 +++-- assets/linux-deb/conffiles | 2 - assets/linux-deb/preinst | 9 --- docs/source/about/advanced_usage.rst | 12 ++-- docs/source/about/installation.rst | 2 +- .../common/assets}/box.png | Bin .../common/assets}/steam.png | Bin .../common/assets}/web/apps.html | 0 .../common/assets}/web/clients.html | 0 .../common/assets}/web/config.html | 0 .../fonts/fontawesome-free-web/LICENSE.txt | 0 .../fonts/fontawesome-free-web/attribution.js | 0 .../fontawesome-free-web/css/all.min.css | 0 .../fontawesome-free-web/css/brands.min.css | 0 .../css/fontawesome.min.css | 0 .../fontawesome-free-web/css/regular.min.css | 0 .../fontawesome-free-web/css/solid.min.css | 0 .../css/svg-with-js.min.css | 0 .../fontawesome-free-web/css/v4-shims.min.css | 0 .../webfonts/fa-brands-400.eot | Bin .../webfonts/fa-brands-400.svg | 0 .../webfonts/fa-brands-400.ttf | Bin .../webfonts/fa-brands-400.woff | Bin .../webfonts/fa-brands-400.woff2 | Bin .../webfonts/fa-regular-400.eot | Bin .../webfonts/fa-regular-400.svg | 0 .../webfonts/fa-regular-400.ttf | Bin .../webfonts/fa-regular-400.woff | Bin .../webfonts/fa-regular-400.woff2 | Bin .../webfonts/fa-solid-900.eot | Bin .../webfonts/fa-solid-900.svg | 0 .../webfonts/fa-solid-900.ttf | Bin .../webfonts/fa-solid-900.woff | Bin .../webfonts/fa-solid-900.woff2 | Bin .../common/assets}/web/header-no-nav.html | 0 .../common/assets}/web/header.html | 0 .../common/assets}/web/images/favicon.ico | Bin .../assets}/web/images/logo-sunshine-45.png | Bin .../common/assets}/web/index.html | 0 .../common/assets}/web/password.html | 0 .../common/assets}/web/pin.html | 0 .../web/third_party/bootstrap.bundle.min.js | 0 .../assets}/web/third_party/bootstrap.min.css | 0 .../common/assets}/web/third_party/vue.js | 0 .../common/assets}/web/troubleshooting.html | 0 .../common/assets}/web/welcome.html | 0 .../common/config}/sunshine.conf | 0 .../assets}/shaders/opengl/ConvertUV.frag | 0 .../assets}/shaders/opengl/ConvertUV.vert | 0 .../assets}/shaders/opengl/ConvertY.frag | 0 .../linux/assets}/shaders/opengl/Scene.frag | 0 .../linux/assets}/shaders/opengl/Scene.vert | 0 .../linux/config}/apps.json | 0 src_assets/linux/deb/conffiles | 2 + .../linux/deb}/postinst | 16 ++--- src_assets/linux/deb/preinst | 9 +++ .../linux/misc}/85-sunshine-rules.rules | 0 .../macos/assets}/Info.plist | 0 .../macos/config}/apps.json | 0 .../assets}/shaders/directx/ConvertUVPS.hlsl | 0 .../assets}/shaders/directx/ConvertUVVS.hlsl | 0 .../assets}/shaders/directx/ConvertYPS.hlsl | 0 .../assets}/shaders/directx/ScenePS.hlsl | 0 .../assets}/shaders/directx/SceneVS.hlsl | 0 .../windows/config}/apps.json | 0 sunshine/config.cpp | 6 +- 69 files changed, 89 insertions(+), 74 deletions(-) delete mode 100644 assets/linux-deb/conffiles delete mode 100644 assets/linux-deb/preinst rename {assets/assets_common => src_assets/common/assets}/box.png (100%) rename {assets/assets_common => src_assets/common/assets}/steam.png (100%) rename {assets/assets_common => src_assets/common/assets}/web/apps.html (100%) rename {assets/assets_common => src_assets/common/assets}/web/clients.html (100%) rename {assets/assets_common => src_assets/common/assets}/web/config.html (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/LICENSE.txt (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/attribution.js (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/css/all.min.css (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/css/brands.min.css (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/css/fontawesome.min.css (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/css/regular.min.css (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/css/solid.min.css (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/css/svg-with-js.min.css (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/css/v4-shims.min.css (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.eot (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.svg (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.ttf (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.woff (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.woff2 (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.eot (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.svg (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.ttf (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.woff (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.woff2 (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.eot (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.svg (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.ttf (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.woff (100%) rename {assets/assets_common => src_assets/common/assets}/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.woff2 (100%) rename {assets/assets_common => src_assets/common/assets}/web/header-no-nav.html (100%) rename {assets/assets_common => src_assets/common/assets}/web/header.html (100%) rename {assets/assets_common => src_assets/common/assets}/web/images/favicon.ico (100%) rename {assets/assets_common => src_assets/common/assets}/web/images/logo-sunshine-45.png (100%) rename {assets/assets_common => src_assets/common/assets}/web/index.html (100%) rename {assets/assets_common => src_assets/common/assets}/web/password.html (100%) rename {assets/assets_common => src_assets/common/assets}/web/pin.html (100%) rename {assets/assets_common => src_assets/common/assets}/web/third_party/bootstrap.bundle.min.js (100%) rename {assets/assets_common => src_assets/common/assets}/web/third_party/bootstrap.min.css (100%) rename {assets/assets_common => src_assets/common/assets}/web/third_party/vue.js (100%) rename {assets/assets_common => src_assets/common/assets}/web/troubleshooting.html (100%) rename {assets/assets_common => src_assets/common/assets}/web/welcome.html (100%) rename {assets/assets_common => src_assets/common/config}/sunshine.conf (100%) rename {assets/assets_linux => src_assets/linux/assets}/shaders/opengl/ConvertUV.frag (100%) rename {assets/assets_linux => src_assets/linux/assets}/shaders/opengl/ConvertUV.vert (100%) rename {assets/assets_linux => src_assets/linux/assets}/shaders/opengl/ConvertY.frag (100%) rename {assets/assets_linux => src_assets/linux/assets}/shaders/opengl/Scene.frag (100%) rename {assets/assets_linux => src_assets/linux/assets}/shaders/opengl/Scene.vert (100%) rename {assets/assets_linux => src_assets/linux/config}/apps.json (100%) create mode 100644 src_assets/linux/deb/conffiles rename {assets/linux-deb => src_assets/linux/deb}/postinst (59%) create mode 100644 src_assets/linux/deb/preinst rename {assets/linux-misc => src_assets/linux/misc}/85-sunshine-rules.rules (100%) rename {assets/assets_mac => src_assets/macos/assets}/Info.plist (100%) rename {assets/assets_mac => src_assets/macos/config}/apps.json (100%) rename {assets/assets_windows => src_assets/windows/assets}/shaders/directx/ConvertUVPS.hlsl (100%) rename {assets/assets_windows => src_assets/windows/assets}/shaders/directx/ConvertUVVS.hlsl (100%) rename {assets/assets_windows => src_assets/windows/assets}/shaders/directx/ConvertYPS.hlsl (100%) rename {assets/assets_windows => src_assets/windows/assets}/shaders/directx/ScenePS.hlsl (100%) rename {assets/assets_windows => src_assets/windows/assets}/shaders/directx/SceneVS.hlsl (100%) rename {assets/assets_windows => src_assets/windows/config}/apps.json (100%) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index a1b091b91..dac856ed1 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -130,7 +130,7 @@ jobs: mkdir -p build cd build - cmake -DCMAKE_BUILD_TYPE=Release -DSUNSHINE_CONFIG_DIR=. -DSUNSHINE_DEFAULT_DIR=/etc/sunshine -DSUNSHINE_EXECUTABLE_PATH=/usr/bin/sunshine -DSUNSHINE_ENABLE_WAYLAND=ON -DSUNSHINE_ENABLE_X11=ON -DSUNSHINE_ENABLE_DRM=ON -DSUNSHINE_ENABLE_CUDA=ON "../" + cmake -DCMAKE_BUILD_TYPE=Release -DSUNSHINE_ASSETS_DIR=/usr/local/sunshine/.assets -DSUNSHINE_CONFIG_DIR=/usr/local/sunshine/config -DSUNSHINE_EXECUTABLE_PATH=/usr/bin/sunshine -DSUNSHINE_ENABLE_WAYLAND=ON -DSUNSHINE_ENABLE_X11=ON -DSUNSHINE_ENABLE_DRM=ON -DSUNSHINE_ENABLE_CUDA=ON .. make -j ${nproc} - name: Set AppImage Version @@ -228,7 +228,7 @@ jobs: run: | mkdir build cd build - cmake -DCMAKE_BUILD_TYPE=Release -DSUNSHINE_DEFAULT_DIR=/etc/sunshine .. + cmake -DCMAKE_BUILD_TYPE=Release -DSUNSHINE_ASSETS_DIR=/usr/local/sunshine/.assets -DSUNSHINE_CONFIG_DIR=/usr/local/sunshine/config .. make -j ${nproc} - name: Package MacOS @@ -297,7 +297,7 @@ jobs: run: | mkdir build cd build - cmake -DCMAKE_BUILD_TYPE=Release -DSUNSHINE_ASSETS_DIR=assets -G "MinGW Makefiles" .. + cmake -DCMAKE_BUILD_TYPE=Release -DSUNSHINE_ASSETS_DIR=assets -DSUNSHINE_CONFIG_DIR=config -G "MinGW Makefiles" .. mingw32-make -j2 - name: Package Windows diff --git a/.gitignore b/.gitignore index 39afd65ae..6c44c5bc2 100644 --- a/.gitignore +++ b/.gitignore @@ -10,14 +10,14 @@ cmake-build* .idea # Extra FontAwesome files -/assets/web/fonts/fontawesome-free-web/css/*.css -!/assets/web/fonts/fontawesome-free-web/css/*min.css -/assets/web/fonts/fontawesome-free-web/js/ -/assets/web/fonts/fontawesome-free-web/less/ -/assets/web/fonts/fontawesome-free-web/metadata/ -/assets/web/fonts/fontawesome-free-web/scss/ -/assets/web/fonts/fontawesome-free-web/sprites/ -/assets/web/fonts/fontawesome-free-web/svgs/ +/src_assets/common/assets/web/fonts/fontawesome-free-web/css/*.css +!/src_assets/common/assets/web/fonts/fontawesome-free-web/css/*min.css +/src_assets/common/assets/web/fonts/fontawesome-free-web/js/ +/src_assets/common/assets/web/fonts/fontawesome-free-web/less/ +/src_assets/common/assets/web/fonts/fontawesome-free-web/metadata/ +/src_assets/common/assets/web/fonts/fontawesome-free-web/scss/ +/src_assets/common/assets/web/fonts/fontawesome-free-web/sprites/ +/src_assets/common/assets/web/fonts/fontawesome-free-web/svgs/ # Translations *.mo diff --git a/CMakeLists.txt b/CMakeLists.txt index f58e04393..68035d547 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,7 @@ project(Sunshine VERSION 0.13.0 ) set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) +set(SUNSHINE_SOURCE_ASSETS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src_assets") if(WIN32) # Ugly hack to compile with #include @@ -147,6 +148,8 @@ elseif(APPLE) set(PLATFORM_INCLUDE_DIRS ${Boost_INCLUDE_DIR}) + set(APPLE_PLIST_FILE ${SUNSHINE_SOURCE_ASSETS_DIR}/macos/assets/Info.plist) + set(PLATFORM_TARGET_FILES sunshine/platform/macos/av_audio.h sunshine/platform/macos/av_audio.m @@ -163,7 +166,7 @@ elseif(APPLE) sunshine/platform/macos/publish.cpp sunshine/platform/macos/TPCircularBuffer/TPCircularBuffer.c sunshine/platform/macos/TPCircularBuffer/TPCircularBuffer.h - ${CMAKE_CURRENT_SOURCE_DIR}/assets/assets_mac/Info.plist) + ${APPLE_PLIST_FILE}) else() add_compile_definitions(SUNSHINE_PLATFORM="linux") @@ -390,15 +393,11 @@ else() endif() if(NOT SUNSHINE_ASSETS_DIR) - set(SUNSHINE_ASSETS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/assets") + set(SUNSHINE_ASSETS_DIR "${CMAKE_CURRENT_BINARY_DIR}/.assets") endif() if(NOT SUNSHINE_CONFIG_DIR) - set(SUNSHINE_CONFIG_DIR "${SUNSHINE_ASSETS_DIR}") -endif() - -if(NOT SUNSHINE_DEFAULT_DIR) - set(SUNSHINE_DEFAULT_DIR "${SUNSHINE_ASSETS_DIR}") + set(SUNSHINE_CONFIG_DIR "${CMAKE_CURRENT_BINARY_DIR}/config") endif() list(APPEND CBS_EXTERNAL_LIBRARIES @@ -421,8 +420,6 @@ endif() list(APPEND SUNSHINE_DEFINITIONS SUNSHINE_ASSETS_DIR="${SUNSHINE_ASSETS_DIR}") list(APPEND SUNSHINE_DEFINITIONS SUNSHINE_CONFIG_DIR="${SUNSHINE_CONFIG_DIR}") -list(APPEND SUNSHINE_DEFINITIONS SUNSHINE_DEFAULT_DIR="${SUNSHINE_DEFAULT_DIR}") -list(APPEND SUNSHINE_DEFINITIONS APPS_JSON="apps.json") add_executable(sunshine ${SUNSHINE_TARGET_FILES}) target_link_libraries(sunshine ${SUNSHINE_EXTERNAL_LIBRARIES} ${EXTRA_LIBS}) target_compile_definitions(sunshine PUBLIC ${SUNSHINE_DEFINITIONS}) @@ -437,7 +434,7 @@ if(NOT DEFINED CMAKE_CUDA_STANDARD) endif() if(APPLE) - target_link_options(sunshine PRIVATE LINKER:-sectcreate,__TEXT,__info_plist,${CMAKE_CURRENT_SOURCE_DIR}/assets/assets_mac/Info.plist) + target_link_options(sunshine PRIVATE LINKER:-sectcreate,__TEXT,__info_plist,${APPLE_PLIST_FILE}) endif() foreach(flag IN LISTS SUNSHINE_COMPILE_OPTIONS) @@ -472,8 +469,11 @@ if(WIN32) # see options at: https://cmake.org/cmake/help/latest/cpack_gen/nsis.h install(TARGETS audio-info RUNTIME DESTINATION "tools" COMPONENT audio) install(TARGETS sunshinesvc RUNTIME DESTINATION "tools" COMPONENT sunshinesvc) - install(DIRECTORY "${SUNSHINE_ASSETS_DIR}/assets_common/" DESTINATION "${SUNSHINE_CONFIG_DIR}" COMPONENT assets) - install(DIRECTORY "${SUNSHINE_ASSETS_DIR}/assets_windows/" DESTINATION "${SUNSHINE_CONFIG_DIR}" COMPONENT assets) + install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/common/assets/" DESTINATION "${SUNSHINE_ASSETS_DIR}" COMPONENT assets) + install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/assets/" DESTINATION "${SUNSHINE_ASSETS_DIR}" COMPONENT assets) + + install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/common/config/" DESTINATION "${SUNSHINE_CONFIG_DIR}" COMPONENT config) + install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/config/" DESTINATION "${SUNSHINE_CONFIG_DIR}" COMPONENT config) # set(CPACK_NSIS_MUI_HEADERIMAGE "") # TODO: image should be 150x57 bmp @@ -509,10 +509,16 @@ if(WIN32) # see options at: https://cmake.org/cmake/help/latest/cpack_gen/nsis.h # assets set(CPACK_COMPONENT_ASSETS_DISPLAY_NAME "Assets") - set(CPACK_COMPONENT_ASSETS_DESCRIPTION "Assets include the apps and configurations, shaders, default box art, and web ui.") + set(CPACK_COMPONENT_ASSETS_DESCRIPTION "Shaders, default box art, and web ui.") set(CPACK_COMPONENT_ASSETS_GROUP "${CMAKE_PROJECT_NAME}") set(CPACK_COMPONENT_ASSETS_REQUIRED true) + # config + set(CPACK_COMPONENT_CONFIG_DISPLAY_NAME "Config") + set(CPACK_COMPONENT_CONFIG_DESCRIPTION "Default config and apps.json files.") + set(CPACK_COMPONENT_CONFIG_GROUP "${CMAKE_PROJECT_NAME}") + set(CPACK_COMPONENT_CONFIG_REQUIRED true) + # audio tool set(CPACK_COMPONENT_AUDIO_DISPLAY_NAME "audio-info.exe") set(CPACK_COMPONENT_AUDIO_DESCRIPTION "CLI tool that allows you to get information about sound devices.") @@ -528,13 +534,23 @@ if(WIN32) # see options at: https://cmake.org/cmake/help/latest/cpack_gen/nsis.h set(CPACK_COMPONENT_SUNSHINESVC_DESCRIPTION "CLI tool that allows you to enable/disable the Sunshine service.") set(CPACK_COMPONENT_SUNSHINESVC_GROUP "Tools") endif() +if(UNIX) + install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/common/assets/" DESTINATION "${SUNSHINE_ASSETS_DIR}") + + install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/common/config/" DESTINATION "${SUNSHINE_CONFIG_DIR}") + + # Installation destination dir + set(CPACK_SET_DESTDIR true) + set(CMAKE_INSTALL_PREFIX "/usr/local/sunshine/") +endif() if(APPLE) # TODO: test set(prefix "${CMAKE_PROJECT_NAME}.app/Contents") set(INSTALL_RUNTIME_DIR "${prefix}/MacOS") - install(DIRECTORY "${SUNSHINE_ASSETS_DIR}/assets_common/" DESTINATION "${INSTALL_RUNTIME_DIR}") - install(DIRECTORY "${SUNSHINE_ASSETS_DIR}/assets_mac/" DESTINATION "${INSTALL_RUNTIME_DIR}") + install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/macos/assets/" DESTINATION "${SUNSHINE_ASSETS_DIR}") + + install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/macos/config/" DESTINATION "${SUNSHINE_CONFIG_DIR}") install(TARGETS sunshine BUNDLE DESTINATION . COMPONENT Runtime @@ -542,26 +558,27 @@ if(APPLE) # TODO: test # TODO: bundle doesn't produce a valid .app use cpack -G DragNDrop set(CPACK_BUNDLE_NAME "${CMAKE_PROJECT_NAME}") - set(CPACK_BUNDLE_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/assets_mac/Info.plist") + set(CPACK_BUNDLE_PLIST "${APPLE_PLIST_FILE}") set(CPACK_BUNDLE_ICON "${PROJECT_SOURCE_DIR}/sunshine.icns") # Portfile configure_file(Portfile.in Portfile @ONLY) endif() if(UNIX AND NOT APPLE) - install(DIRECTORY "${SUNSHINE_ASSETS_DIR}/assets_common/" DESTINATION "${SUNSHINE_CONFIG_DIR}") - install(DIRECTORY "${SUNSHINE_ASSETS_DIR}/assets_linux/" DESTINATION "${SUNSHINE_CONFIG_DIR}") + install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/assets/" DESTINATION "${SUNSHINE_ASSETS_DIR}") - install(FILES "${SUNSHINE_ASSETS_DIR}/linux-misc/85-sunshine-rules.rules" DESTINATION "/etc/udev/rules.d") + install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/config/" DESTINATION "${SUNSHINE_CONFIG_DIR}") + + install(FILES "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/misc/85-sunshine-rules.rules" DESTINATION "/etc/udev/rules.d") install(TARGETS sunshine RUNTIME DESTINATION "/usr/bin") install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine.service" DESTINATION "/usr/lib/systemd/user") # Pre and post install set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA - "${SUNSHINE_ASSETS_DIR}/linux-deb/preinst;${SUNSHINE_ASSETS_DIR}/linux-deb/postinst;${SUNSHINE_ASSETS_DIR}/linux-deb/conffiles") - set(CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${SUNSHINE_ASSETS_DIR}/linux-deb/preinst") - set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${SUNSHINE_ASSETS_DIR}/linux-deb/postinst") + "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/deb/preinst;${SUNSHINE_SOURCE_ASSETS_DIR}/linux/deb/postinst;${SUNSHINE_SOURCE_ASSETS_DIR}/linux/deb/conffiles") + set(CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/deb/preinst") + set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/deb/postinst") # Dependencies set(CPACK_DEB_COMPONENT_INSTALL ON) @@ -569,10 +586,6 @@ if(UNIX AND NOT APPLE) set(CPACK_RPM_PACKAGE_REQUIRES "libssl==1.1, libavdevice>=58, libboost-thread>=1.67.0, libboost-filesystem>=1.67.0, libboost-log>=1.67.0, libpulse>=0, libopus>=0, libxcb-shm>=0, libxcb-xfixes>=0, libxtst>=0, libevdev>=2.0, libdrm>=2.0, libcap>=2.0") set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF) # This should automatically figure out dependencies, doesn't work with the current config - # Installation destination dir - set(CPACK_SET_DESTDIR true) - set(CMAKE_INSTALL_PREFIX "/etc/sunshine") - # AppImage desktop file configure_file(sunshine.desktop.in sunshine.desktop @ONLY) endif() diff --git a/Portfile.in b/Portfile.in index c784c3b05..2cb354668 100644 --- a/Portfile.in +++ b/Portfile.in @@ -31,21 +31,19 @@ depends_lib port:avahi \ boost.version 1.76 configure.args -DBOOST_ROOT=[boost::install_area] \ - -DSUNSHINE_ASSETS_DIR=${worksrcpath}/assets - -DSUNSHINE_DEFAULT_DIR=${prefix}/etc/sunshine + -DSUNSHINE_ASSETS_DIR=${prefix}/usr/local/sunshine/.assets + -DSUNSHINE_CONFIG_DIR=${prefix}/usr/local/sunshine/config cmake.out_of_source yes destroot { - xinstall -d -m 755 ${destroot}${prefix}/etc/${name} - xinstall ${worksrcpath}/assets/assets_mac/apps.json ${destroot}${prefix}/etc/${name} - xinstall ${worksrcpath}/assets/assets_common/box.png ${destroot}${prefix}/etc/${name} - xinstall ${worksrcpath}/assets/assets_common/sunshine.conf ${destroot}${prefix}/etc/${name} + xinstall -d -m 755 ${destroot}${prefix}/usr/local/${name}/.assets + xinstall {*}[glob ${worksrcpath}/src_assets/common/assets/*] ${destroot}${prefix}/usr/local/${name}/.assets + xinstall {*}[glob ${worksrcpath}/src_assets/macos/assets/*] ${destroot}${prefix}/usr/local/${name}/.assets - xinstall -d -m 755 ${destroot}${prefix}/etc/${name}/web - xinstall {*}[glob ${worksrcpath}/assets/assets_common/web/*.html] ${destroot}${prefix}/etc/${name}/web - xinstall -d -m 755 ${destroot}${prefix}/etc/${name}/web/third_party - xinstall {*}[glob ${worksrcpath}/assets/assets_common/web/third_party/*] ${destroot}${prefix}/etc/${name}/web/third_party + xinstall -d -m 755 ${destroot}${prefix}/usr/local/${name}/config + xinstall {*}[glob ${worksrcpath}/src_assets/common/config/*] ${destroot}${prefix}/usr/local/${name}/config + xinstall {*}[glob ${worksrcpath}/src_assets/macos/config/*] ${destroot}${prefix}/usr/local/${name}/config xinstall ${workpath}/build/${name} ${destroot}${prefix}/bin } diff --git a/assets/linux-deb/conffiles b/assets/linux-deb/conffiles deleted file mode 100644 index cf2d24443..000000000 --- a/assets/linux-deb/conffiles +++ /dev/null @@ -1,2 +0,0 @@ -/etc/sunshine/sunshine.conf -/etc/sunshine/apps.json diff --git a/assets/linux-deb/preinst b/assets/linux-deb/preinst deleted file mode 100644 index ec56e883c..000000000 --- a/assets/linux-deb/preinst +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -#Store backup for old config files to prevent it from being overwritten -if [ -f /etc/sunshine/sunshine.conf ]; then - cp /etc/sunshine/sunshine.conf /etc/sunshine/sunshine.conf.old -fi - -if [ -f /etc/sunshine/apps.json ]; then - cp /etc/sunshine/apps.json /etc/sunshine/apps.json.old -fi diff --git a/docs/source/about/advanced_usage.rst b/docs/source/about/advanced_usage.rst index 4f427dcb2..7699232c8 100644 --- a/docs/source/about/advanced_usage.rst +++ b/docs/source/about/advanced_usage.rst @@ -6,9 +6,12 @@ Sunshine will work with the default settings for most users. In some cases you m Configuration ------------- -The default location for the configuration file is ``./assets/sunshine.conf``. You can use another location if you +The default location for the configuration file is listed below. You can use another location if you choose, by passing in the full configuration file path as the first argument when you start Sunshine. +The default location of the ``apps.json`` is the same as the configuration file. You can use a custom +location by modifying the configuration file. + **Default File Location** .. table:: @@ -17,9 +20,10 @@ choose, by passing in the full configuration file path as the first argument whe ======= =========== Value Description ======= =========== - Linux ./assets/sunshine.conf - MacOS /opt/local/etc/sunshine.conf - Windows ./assets/sunshine.conf + Docker /config/ + Linux /usr/local/sunshine/config/ + MacOS /usr/local/sunshine/config/ + Windows ./config/ ======= =========== Example diff --git a/docs/source/about/installation.rst b/docs/source/about/installation.rst index d7e043a40..40eecd209 100644 --- a/docs/source/about/installation.rst +++ b/docs/source/about/installation.rst @@ -27,7 +27,7 @@ AppImage .. image:: https://img.shields.io/github/issues/sunshinestream/sunshine/pkg:appimage?logo=github&style=for-the-badge :alt: GitHub issues by-label -The current compatibility of the AppImage is shown below. +The current known compatibility of the AppImage is shown below. - [✖] Debian oldstable (buster) - [✔] Debian stable (bullseye) diff --git a/assets/assets_common/box.png b/src_assets/common/assets/box.png similarity index 100% rename from assets/assets_common/box.png rename to src_assets/common/assets/box.png diff --git a/assets/assets_common/steam.png b/src_assets/common/assets/steam.png similarity index 100% rename from assets/assets_common/steam.png rename to src_assets/common/assets/steam.png diff --git a/assets/assets_common/web/apps.html b/src_assets/common/assets/web/apps.html similarity index 100% rename from assets/assets_common/web/apps.html rename to src_assets/common/assets/web/apps.html diff --git a/assets/assets_common/web/clients.html b/src_assets/common/assets/web/clients.html similarity index 100% rename from assets/assets_common/web/clients.html rename to src_assets/common/assets/web/clients.html diff --git a/assets/assets_common/web/config.html b/src_assets/common/assets/web/config.html similarity index 100% rename from assets/assets_common/web/config.html rename to src_assets/common/assets/web/config.html diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/LICENSE.txt b/src_assets/common/assets/web/fonts/fontawesome-free-web/LICENSE.txt similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/LICENSE.txt rename to src_assets/common/assets/web/fonts/fontawesome-free-web/LICENSE.txt diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/attribution.js b/src_assets/common/assets/web/fonts/fontawesome-free-web/attribution.js similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/attribution.js rename to src_assets/common/assets/web/fonts/fontawesome-free-web/attribution.js diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/css/all.min.css b/src_assets/common/assets/web/fonts/fontawesome-free-web/css/all.min.css similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/css/all.min.css rename to src_assets/common/assets/web/fonts/fontawesome-free-web/css/all.min.css diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/css/brands.min.css b/src_assets/common/assets/web/fonts/fontawesome-free-web/css/brands.min.css similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/css/brands.min.css rename to src_assets/common/assets/web/fonts/fontawesome-free-web/css/brands.min.css diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/css/fontawesome.min.css b/src_assets/common/assets/web/fonts/fontawesome-free-web/css/fontawesome.min.css similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/css/fontawesome.min.css rename to src_assets/common/assets/web/fonts/fontawesome-free-web/css/fontawesome.min.css diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/css/regular.min.css b/src_assets/common/assets/web/fonts/fontawesome-free-web/css/regular.min.css similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/css/regular.min.css rename to src_assets/common/assets/web/fonts/fontawesome-free-web/css/regular.min.css diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/css/solid.min.css b/src_assets/common/assets/web/fonts/fontawesome-free-web/css/solid.min.css similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/css/solid.min.css rename to src_assets/common/assets/web/fonts/fontawesome-free-web/css/solid.min.css diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/css/svg-with-js.min.css b/src_assets/common/assets/web/fonts/fontawesome-free-web/css/svg-with-js.min.css similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/css/svg-with-js.min.css rename to src_assets/common/assets/web/fonts/fontawesome-free-web/css/svg-with-js.min.css diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/css/v4-shims.min.css b/src_assets/common/assets/web/fonts/fontawesome-free-web/css/v4-shims.min.css similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/css/v4-shims.min.css rename to src_assets/common/assets/web/fonts/fontawesome-free-web/css/v4-shims.min.css diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.eot b/src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.eot similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.eot rename to src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.eot diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.svg b/src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.svg similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.svg rename to src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.svg diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.ttf b/src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.ttf similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.ttf rename to src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.ttf diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.woff b/src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.woff similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.woff rename to src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.woff diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.woff2 b/src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.woff2 similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.woff2 rename to src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-brands-400.woff2 diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.eot b/src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.eot similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.eot rename to src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.eot diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.svg b/src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.svg similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.svg rename to src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.svg diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.ttf b/src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.ttf similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.ttf rename to src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.ttf diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.woff b/src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.woff similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.woff rename to src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.woff diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.woff2 b/src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.woff2 similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.woff2 rename to src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-regular-400.woff2 diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.eot b/src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.eot similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.eot rename to src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.eot diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.svg b/src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.svg similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.svg rename to src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.svg diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.ttf b/src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.ttf similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.ttf rename to src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.ttf diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.woff b/src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.woff similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.woff rename to src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.woff diff --git a/assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.woff2 b/src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.woff2 similarity index 100% rename from assets/assets_common/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.woff2 rename to src_assets/common/assets/web/fonts/fontawesome-free-web/webfonts/fa-solid-900.woff2 diff --git a/assets/assets_common/web/header-no-nav.html b/src_assets/common/assets/web/header-no-nav.html similarity index 100% rename from assets/assets_common/web/header-no-nav.html rename to src_assets/common/assets/web/header-no-nav.html diff --git a/assets/assets_common/web/header.html b/src_assets/common/assets/web/header.html similarity index 100% rename from assets/assets_common/web/header.html rename to src_assets/common/assets/web/header.html diff --git a/assets/assets_common/web/images/favicon.ico b/src_assets/common/assets/web/images/favicon.ico similarity index 100% rename from assets/assets_common/web/images/favicon.ico rename to src_assets/common/assets/web/images/favicon.ico diff --git a/assets/assets_common/web/images/logo-sunshine-45.png b/src_assets/common/assets/web/images/logo-sunshine-45.png similarity index 100% rename from assets/assets_common/web/images/logo-sunshine-45.png rename to src_assets/common/assets/web/images/logo-sunshine-45.png diff --git a/assets/assets_common/web/index.html b/src_assets/common/assets/web/index.html similarity index 100% rename from assets/assets_common/web/index.html rename to src_assets/common/assets/web/index.html diff --git a/assets/assets_common/web/password.html b/src_assets/common/assets/web/password.html similarity index 100% rename from assets/assets_common/web/password.html rename to src_assets/common/assets/web/password.html diff --git a/assets/assets_common/web/pin.html b/src_assets/common/assets/web/pin.html similarity index 100% rename from assets/assets_common/web/pin.html rename to src_assets/common/assets/web/pin.html diff --git a/assets/assets_common/web/third_party/bootstrap.bundle.min.js b/src_assets/common/assets/web/third_party/bootstrap.bundle.min.js similarity index 100% rename from assets/assets_common/web/third_party/bootstrap.bundle.min.js rename to src_assets/common/assets/web/third_party/bootstrap.bundle.min.js diff --git a/assets/assets_common/web/third_party/bootstrap.min.css b/src_assets/common/assets/web/third_party/bootstrap.min.css similarity index 100% rename from assets/assets_common/web/third_party/bootstrap.min.css rename to src_assets/common/assets/web/third_party/bootstrap.min.css diff --git a/assets/assets_common/web/third_party/vue.js b/src_assets/common/assets/web/third_party/vue.js similarity index 100% rename from assets/assets_common/web/third_party/vue.js rename to src_assets/common/assets/web/third_party/vue.js diff --git a/assets/assets_common/web/troubleshooting.html b/src_assets/common/assets/web/troubleshooting.html similarity index 100% rename from assets/assets_common/web/troubleshooting.html rename to src_assets/common/assets/web/troubleshooting.html diff --git a/assets/assets_common/web/welcome.html b/src_assets/common/assets/web/welcome.html similarity index 100% rename from assets/assets_common/web/welcome.html rename to src_assets/common/assets/web/welcome.html diff --git a/assets/assets_common/sunshine.conf b/src_assets/common/config/sunshine.conf similarity index 100% rename from assets/assets_common/sunshine.conf rename to src_assets/common/config/sunshine.conf diff --git a/assets/assets_linux/shaders/opengl/ConvertUV.frag b/src_assets/linux/assets/shaders/opengl/ConvertUV.frag similarity index 100% rename from assets/assets_linux/shaders/opengl/ConvertUV.frag rename to src_assets/linux/assets/shaders/opengl/ConvertUV.frag diff --git a/assets/assets_linux/shaders/opengl/ConvertUV.vert b/src_assets/linux/assets/shaders/opengl/ConvertUV.vert similarity index 100% rename from assets/assets_linux/shaders/opengl/ConvertUV.vert rename to src_assets/linux/assets/shaders/opengl/ConvertUV.vert diff --git a/assets/assets_linux/shaders/opengl/ConvertY.frag b/src_assets/linux/assets/shaders/opengl/ConvertY.frag similarity index 100% rename from assets/assets_linux/shaders/opengl/ConvertY.frag rename to src_assets/linux/assets/shaders/opengl/ConvertY.frag diff --git a/assets/assets_linux/shaders/opengl/Scene.frag b/src_assets/linux/assets/shaders/opengl/Scene.frag similarity index 100% rename from assets/assets_linux/shaders/opengl/Scene.frag rename to src_assets/linux/assets/shaders/opengl/Scene.frag diff --git a/assets/assets_linux/shaders/opengl/Scene.vert b/src_assets/linux/assets/shaders/opengl/Scene.vert similarity index 100% rename from assets/assets_linux/shaders/opengl/Scene.vert rename to src_assets/linux/assets/shaders/opengl/Scene.vert diff --git a/assets/assets_linux/apps.json b/src_assets/linux/config/apps.json similarity index 100% rename from assets/assets_linux/apps.json rename to src_assets/linux/config/apps.json diff --git a/src_assets/linux/deb/conffiles b/src_assets/linux/deb/conffiles new file mode 100644 index 000000000..4a35822bf --- /dev/null +++ b/src_assets/linux/deb/conffiles @@ -0,0 +1,2 @@ +/usr/local/sunshine/config/sunshine.conf +/usr/local/sunshine/config/apps.json diff --git a/assets/linux-deb/postinst b/src_assets/linux/deb/postinst similarity index 59% rename from assets/linux-deb/postinst rename to src_assets/linux/deb/postinst index d3195c6a4..a42d3ca50 100644 --- a/assets/linux-deb/postinst +++ b/src_assets/linux/deb/postinst @@ -12,25 +12,25 @@ else echo "Warning: /etc/group not found" fi -if [ -f /etc/sunshine/sunshine.conf.old ]; then +if [ -f /usr/local/sunshine/config/sunshine.conf.old ]; then echo "Restoring old sunshine.conf" - mv /etc/sunshine/sunshine.conf.old /etc/sunshine/sunshine.conf + mv /usr/local/sunshine/config/sunshine.conf.old /usr/local/sunshine/config/sunshine.conf fi -if [ -f /etc/sunshine/apps.json.old ]; then +if [ -f /usr/local/sunshine/config/apps.json.old ]; then echo "Restoring old apps.json" - mv /etc/sunshine/apps.json.old /etc/sunshine/apps.json + mv /usr/local/sunshine/config/apps.json.old /usr/local/sunshine/config/apps.json fi # Update permissions on config files for Web Manager -if [ -f /etc/sunshine/apps.json ]; then +if [ -f /usr/local/sunshine/config/apps.json ]; then echo "chmod 666 /etc/sunshine/apps.json" - chmod 666 /etc/sunshine/apps.json + chmod 666 /usr/local/sunshine/config/apps.json fi -if [ -f /etc/sunshine/sunshine.conf ]; then +if [ -f /usr/local/sunshine/config/sunshine.conf ]; then echo "chmod 666 /etc/sunshine/sunshine.conf" - chmod 666 /etc/sunshine/sunshine.conf + chmod 666 /usr/local/sunshine/config/sunshine.conf fi # Ensure Sunshine can grab images from KMS diff --git a/src_assets/linux/deb/preinst b/src_assets/linux/deb/preinst new file mode 100644 index 000000000..0522b5d6f --- /dev/null +++ b/src_assets/linux/deb/preinst @@ -0,0 +1,9 @@ +#!/bin/sh +#Store backup for old config files to prevent it from being overwritten +if [ -f /usr/local/sunshine/config/sunshine.conf ]; then + cp /usr/local/sunshine/config/sunshine.conf /usr/local/sunshine/config/sunshine.conf.old +fi + +if [ -f /usr/local/sunshine/config/apps.json ]; then + cp /usr/local/sunshine/config/apps.json /usr/local/sunshine/config/apps.json.old +fi diff --git a/assets/linux-misc/85-sunshine-rules.rules b/src_assets/linux/misc/85-sunshine-rules.rules similarity index 100% rename from assets/linux-misc/85-sunshine-rules.rules rename to src_assets/linux/misc/85-sunshine-rules.rules diff --git a/assets/assets_mac/Info.plist b/src_assets/macos/assets/Info.plist similarity index 100% rename from assets/assets_mac/Info.plist rename to src_assets/macos/assets/Info.plist diff --git a/assets/assets_mac/apps.json b/src_assets/macos/config/apps.json similarity index 100% rename from assets/assets_mac/apps.json rename to src_assets/macos/config/apps.json diff --git a/assets/assets_windows/shaders/directx/ConvertUVPS.hlsl b/src_assets/windows/assets/shaders/directx/ConvertUVPS.hlsl similarity index 100% rename from assets/assets_windows/shaders/directx/ConvertUVPS.hlsl rename to src_assets/windows/assets/shaders/directx/ConvertUVPS.hlsl diff --git a/assets/assets_windows/shaders/directx/ConvertUVVS.hlsl b/src_assets/windows/assets/shaders/directx/ConvertUVVS.hlsl similarity index 100% rename from assets/assets_windows/shaders/directx/ConvertUVVS.hlsl rename to src_assets/windows/assets/shaders/directx/ConvertUVVS.hlsl diff --git a/assets/assets_windows/shaders/directx/ConvertYPS.hlsl b/src_assets/windows/assets/shaders/directx/ConvertYPS.hlsl similarity index 100% rename from assets/assets_windows/shaders/directx/ConvertYPS.hlsl rename to src_assets/windows/assets/shaders/directx/ConvertYPS.hlsl diff --git a/assets/assets_windows/shaders/directx/ScenePS.hlsl b/src_assets/windows/assets/shaders/directx/ScenePS.hlsl similarity index 100% rename from assets/assets_windows/shaders/directx/ScenePS.hlsl rename to src_assets/windows/assets/shaders/directx/ScenePS.hlsl diff --git a/assets/assets_windows/shaders/directx/SceneVS.hlsl b/src_assets/windows/assets/shaders/directx/SceneVS.hlsl similarity index 100% rename from assets/assets_windows/shaders/directx/SceneVS.hlsl rename to src_assets/windows/assets/shaders/directx/SceneVS.hlsl diff --git a/assets/assets_windows/apps.json b/src_assets/windows/config/apps.json similarity index 100% rename from assets/assets_windows/apps.json rename to src_assets/windows/config/apps.json diff --git a/sunshine/config.cpp b/sunshine/config.cpp index 6aaeb3058..6dd3c1b2b 100644 --- a/sunshine/config.cpp +++ b/sunshine/config.cpp @@ -20,7 +20,7 @@ using namespace std::literals; #define PRIVATE_KEY_FILE CA_DIR "/cakey.pem" #define CERTIFICATE_FILE CA_DIR "/cacert.pem" -#define APPS_JSON_PATH SUNSHINE_CONFIG_DIR "/" APPS_JSON +#define APPS_JSON_PATH SUNSHINE_CONFIG_DIR "/apps.json" namespace config { namespace nv { @@ -695,7 +695,7 @@ int apply_flags(const char *line) { void apply_config(std::unordered_map &&vars) { if(!fs::exists(stream.file_apps.c_str())) { - fs::copy_file(SUNSHINE_DEFAULT_DIR "/" APPS_JSON, stream.file_apps); + fs::copy_file(SUNSHINE_CONFIG_DIR "/apps.json", stream.file_apps); } for(auto &[name, val] : vars) { @@ -906,7 +906,7 @@ int parse(int argc, char *argv[]) { } if(!fs::exists(sunshine.config_file)) { - fs::copy_file(SUNSHINE_DEFAULT_DIR "/sunshine.conf", sunshine.config_file); + fs::copy_file(SUNSHINE_CONFIG_DIR "/sunshine.conf", sunshine.config_file); } auto vars = parse_config(read_file(sunshine.config_file.c_str()));