public
nobgit
read
NobMail
Based on mailcow: dockerized
Languages
Repository composition by tracked source files.
PHP
49%
JavaScript
35%
HTML
9%
CSS
4%
Shell
2%
Python
1%
Lua
0%
Perl
0%
Ruby
0%
SCSS
0%
Create file
Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git
Commit
update: moved _modules initialization and update at the beginning of update script
930ca76e
update.sh | 47 +++++++++++++++++++++--------------------------
1 file changed, 21 insertions(+), 26 deletions(-)
Diff
diff --git a/update.sh b/update.sh
index 4ec0e7e4..74eb8ff2 100755
--- a/update.sh
+++ b/update.sh
@@ -20,11 +20,28 @@ fi
BRANCH="$(cd "${SCRIPT_DIR}" && git rev-parse --abbrev-ref HEAD)"
MODULE_DIR="${SCRIPT_DIR}/_modules"
+# Calculate hash before fetch
+if [[ -d "${MODULE_DIR}" && -n "$(ls -A "${MODULE_DIR}" 2>/dev/null)" ]]; then
+ MODULES_HASH_BEFORE=$(find "${MODULE_DIR}" -type f -exec sha256sum {} \; 2>/dev/null | sort | sha256sum | awk '{print $1}')
+else
+ MODULES_HASH_BEFORE="EMPTY"
+fi
+
+echo -e "\e[33mFetching latest _modules from origin/${BRANCH}…\e[0m"
+git fetch origin "${BRANCH}"
+git checkout "origin/${BRANCH}" -- _modules
+
if [[ ! -d "${MODULE_DIR}" || -z "$(ls -A "${MODULE_DIR}")" ]]; then
- echo -e "\e[33m_modules is missing or empty – fetching all Modules from origin/${BRANCH}…\e[0m"
- git fetch origin "${BRANCH}"
- git checkout "origin/${BRANCH}" -- _modules
- echo -e "\e[33mDone. Please restart the script...\e[0m"
+ echo -e "\e[31mError: _modules is still missing or empty after fetch!\e[0m"
+ exit 2
+fi
+
+# Calculate hash after fetch
+MODULES_HASH_AFTER=$(find "${MODULE_DIR}" -type f -exec sha256sum {} \; 2>/dev/null | sort | sha256sum | awk '{print $1}')
+
+# Check if modules changed
+if [[ "${MODULES_HASH_BEFORE}" != "${MODULES_HASH_AFTER}" ]]; then
+ echo -e "\e[33m_modules have been updated. Please restart the update script.\e[0m"
exit 2
fi
@@ -320,28 +337,6 @@ if [ ! "$DEV" ]; then
chmod +x update.sh
EXIT_COUNT+=1
fi
-
- MODULE_DIR="$(dirname "$0")/_modules"
- echo -e "\e[32mChecking for updates in _modules...\e[0m"
- if [ ! -d "${MODULE_DIR}" ] || [ -z "$(ls -A "${MODULE_DIR}")" ]; then
- echo -e "\e[33m_modules missing or empty — fetching from origin...\e[0m"
- git checkout "origin/${BRANCH}" -- _modules
- else
- OLD_SUM="$(find "${MODULE_DIR}" -type f -exec sha1sum {} \; | sort | sha1sum)"
- git fetch origin
- git checkout "origin/${BRANCH}" -- _modules
- NEW_SUM="$(find "${MODULE_DIR}" -type f -exec sha1sum {} \; | sort | sha1sum)"
-
- if [[ "${OLD_SUM}" != "${NEW_SUM}" ]]; then
- EXIT_COUNT+=1
- fi
- fi
-
- if [ ${EXIT_COUNT} -ge 1 ]; then
- echo "Changes for the update Script, please run this script again, exiting!"
- exit 2
- fi
-
fi
if [ ! "$FORCE" ]; then