diff --git a/scripts/deploy-ebook-to-www b/scripts/deploy-ebook-to-www index 2c4ed47d..1f0ea7df 100755 --- a/scripts/deploy-ebook-to-www +++ b/scripts/deploy-ebook-to-www @@ -411,9 +411,6 @@ if [ "${feeds}" = "true" ]; then "${scriptsDir}/generate-feeds" --webroot "${webRoot}" --weburl "${webUrl}" - sudo chown --recursive se:committers "${webRoot}"/feeds/*/{*.xml,*/*.xml} - sudo chmod --recursive a+r,ug+w,a+X "${webRoot}"/feeds/*/ - if [ "${verbose}" = "true" ]; then printf "Done.\n" fi @@ -433,9 +430,6 @@ if [ "${bulkDownloads}" = "true" ]; then "${scriptsDir}/generate-bulk-downloads" --webroot "${webRoot}" - sudo chown --recursive se:committers "${webRoot}"/bulk-downloads/*/ - sudo chmod --recursive a+r,ug+w,a+X "${webRoot}"/bulk-downloads/*/ - if [ "${verbose}" = "true" ]; then printf "Done.\n" fi @@ -445,3 +439,7 @@ if [ "${bulkDownloads}" = "true" ]; then fi fi fi + +if [ "${verbose}" = "true" ]; then + printf "Finished processing ebook.\n" +fi diff --git a/scripts/generate-bulk-downloads b/scripts/generate-bulk-downloads index b8a765ab..1da64233 100755 --- a/scripts/generate-bulk-downloads +++ b/scripts/generate-bulk-downloads @@ -211,3 +211,9 @@ foreach($groups as $group){ } } } + +// Set ownership and permissions +// We don't use PHP's built in chown/chmod chmod can't accept strings +// The `chmod +X` command, with a capital X, makes only matched directories executable. +exec('sudo chown --preserve-root --recursive se:committers ' . escapeshellarg($webRoot) . '/bulk-downloads/*/'); +exec('sudo chmod --preserve-root --recursive a+r,ug+w,a+X ' . escapeshellarg($webRoot) . '/bulk-downloads/*/'); diff --git a/scripts/generate-feeds b/scripts/generate-feeds index 4df034f5..7c676ec5 100755 --- a/scripts/generate-feeds +++ b/scripts/generate-feeds @@ -233,3 +233,10 @@ foreach($ebooksByAuthor as $collection => $ebooks){ $collectionAtomFeed = new AtomFeed($title, $subtitle, '/feeds/atom/authors/' . $authors[$collection]['id'], $webRoot . '/feeds/atom/authors/' . $authors[$collection]['id'] . '.xml', $ebooks); SaveFeed($collectionAtomFeed, $force, $authors[$collection]['name'], $authors[$collection]['sortedname'], $now); } + +// Set ownership and permissions +// We don't use PHP's built in chown/chmod chmod can't accept strings +// The `chmod +X` command, with a capital X, makes only matched directories executable. +exec('sudo chown --preserve-root --recursive se:committers ' . escapeshellarg($webRoot) . '/feeds/*/*.xml'); +exec('sudo chown --preserve-root --recursive se:committers ' . escapeshellarg($webRoot) . '/feeds/*/*/*.xml'); +exec('sudo chmod --preserve-root --recursive a+r,ug+w,a+X ' . escapeshellarg($webRoot) . '/feeds/*/');