From c61ddb6314073b6643564438e9f9411c7b5d8886 Mon Sep 17 00:00:00 2001 From: Martin Date: Wed, 25 Apr 2018 11:01:04 +0200 Subject: [PATCH] Add per default the apps-external directory in config.php during installation --- Makefile | 10 +++++----- apps-external/.gitkeep | 0 lib/private/Setup.php | 27 +++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 apps-external/.gitkeep diff --git a/Makefile b/Makefile index 2f4aebeb0a6e..8aa254970f8c 100644 --- a/Makefile +++ b/Makefile @@ -54,7 +54,7 @@ core_vendor=core/vendor core_doc_files=AUTHORS COPYING README.md core_src_files=$(wildcard *.php) index.html db_structure.xml .htaccess .user.ini robots.txt -core_src_dirs=apps core l10n lib occ ocs ocs-provider resources settings +core_src_dirs=apps apps-external core l10n lib occ ocs ocs-provider resources settings core_test_dirs=tests core_all_src=$(core_src_files) $(core_src_dirs) $(core_doc_files) dist_dir=build/dist @@ -234,7 +234,7 @@ $(dist_dir)/owncloud: $(composer_deps) $(nodejs_deps) $(core_all_src) rm -Rf $@/settings/tests rm -Rf $@/core/vendor/*/{.bower.json,bower.json,package.json,testem.json} find $@/{core/,l10n/} -iname \*.sh -delete - find $@/{apps/,lib/composer/,core/vendor/} \( \ + find $@/{apps/,apps-external/,lib/composer/,core/vendor/} \( \ -name bin -o \ -name test -o \ -name tests -o \ @@ -245,7 +245,7 @@ $(dist_dir)/owncloud: $(composer_deps) $(nodejs_deps) $(core_all_src) -name travis -o \ -iname \*.sh \ \) -print | xargs rm -Rf - find $@/{apps/,lib/composer/} -iname \*.exe -delete + find $@/{apps/,apps-external/,lib/composer/} -iname \*.exe -delete # Set build $(eval _BUILD="$(shell date -u --iso-8601=seconds) $(shell git rev-parse HEAD)") # Replace channel in version.php @@ -284,7 +284,7 @@ $(dist_dir)/qa/owncloud: $(composer_dev_deps) $(nodejs_deps) $(core_all_src) $(c find $@ -name no-php -delete rm -Rf $@/core/vendor/*/{.bower.json,bower.json,package.json,testem.json} find $@/{core/,l10n/} -iname \*.sh -delete - find $@/{apps/,lib/composer/,core/vendor/} \( \ + find $@/{apps/,apps-external/,lib/composer/,core/vendor/} \( \ -name test -o \ -name examples -o \ -name demo -o \ @@ -293,7 +293,7 @@ $(dist_dir)/qa/owncloud: $(composer_dev_deps) $(nodejs_deps) $(core_all_src) $(c -name travis -o \ -iname \*.sh \ \) -print | xargs rm -Rf - find $@/{apps/,lib/composer/} -iname \*.exe -delete + find $@/{apps/,apps-external/,lib/composer/} -iname \*.exe -delete # Set build $(eval _BUILD="$(shell date -u --iso-8601=seconds) $(shell git rev-parse HEAD)") # Replace channel in version.php diff --git a/apps-external/.gitkeep b/apps-external/.gitkeep new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/lib/private/Setup.php b/lib/private/Setup.php index 89425d4c10c3..c6bbaa3bb1d8 100644 --- a/lib/private/Setup.php +++ b/lib/private/Setup.php @@ -378,10 +378,37 @@ public function install($options) { $config->setSystemValue('logtimezone', \date_default_timezone_get()); } + // adding the apps-external directory by default using apps_path + $apps2Key = \OC::$server->getSystemConfig()->getValue('apps_paths', false); + + // add the key only if it does not exist (protect against overwriting) + if ($apps2Key === false) { + + $defaultAppsPaths = [ + 'apps_paths' => [ + [ + "path" => \OC::$SERVERROOT . '/apps', + "url" => "/apps", + "writable" => false + ], + [ + "path" => \OC::$SERVERROOT . '/apps-external', + "url" => "/apps-external", + "writable" => true + ] + ] + ]; + + $config->setSystemValues($defaultAppsPaths); + } + self::installBackgroundJobs(); //and we are done $config->setSystemValue('installed', true); + + // finished initial setup + } return $error;