63 lines
1.8 KiB
Bash
63 lines
1.8 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
set -Eeuo pipefail
|
||
|
|
|
||
|
|
uid="$(id -u)"
|
||
|
|
gid="$(id -g)"
|
||
|
|
echo >&2 "Current user: $uid:$gid"
|
||
|
|
echo >&2 "Current dir: $PWD"
|
||
|
|
|
||
|
|
# 检查 cp 是否需要更新
|
||
|
|
if [[ -e static/cp/.timestamp && -e /usr/src/ujcms/cp/.timestamp ]]; then
|
||
|
|
if ! cmp -s static/cp/.timestamp /usr/src/ujcms/cp/.timestamp; then
|
||
|
|
echo >&2 "Migrating UJCMS cp from old version..."
|
||
|
|
rm -rf static/cp/*
|
||
|
|
|
||
|
|
# cp /usr/src/ujcms/cp/* /ujcms/static/cp/
|
||
|
|
sourceTarArgs=(
|
||
|
|
--create
|
||
|
|
--file -
|
||
|
|
--directory /usr/src/ujcms/cp
|
||
|
|
--owner "$uid" --group "$gid"
|
||
|
|
)
|
||
|
|
targetTarArgs=(
|
||
|
|
--extract
|
||
|
|
--file -
|
||
|
|
--directory /ujcms/static/cp
|
||
|
|
)
|
||
|
|
tar "${sourceTarArgs[@]}" . | tar "${targetTarArgs[@]}"
|
||
|
|
echo >&2 "Migration UJCMS cp complete!"
|
||
|
|
fi
|
||
|
|
fi
|
||
|
|
|
||
|
|
# 检查初始文件是否存在
|
||
|
|
if [ ! -d static/uploads ] && [ ! -d static/templates ] && [ ! -d static/cp ] \
|
||
|
|
&& [ ! -e static/index.html ] && [ ! -e static/index.htm ]; then
|
||
|
|
|
||
|
|
echo >&2 "UJCMS init files not found in $PWD/static - copying now..."
|
||
|
|
if [ -n "$(find static -mindepth 1 -maxdepth 1 -not -name 'lost+found')" ]; then
|
||
|
|
echo >&2 "WARNING: $PWD/static is not empty! (copying anyhow)"
|
||
|
|
fi
|
||
|
|
|
||
|
|
# cp /usr/src/ujcms/* /ujcms/static/
|
||
|
|
sourceTarArgs=(
|
||
|
|
--create
|
||
|
|
--file -
|
||
|
|
--directory /usr/src/ujcms
|
||
|
|
--owner "$uid" --group "$gid"
|
||
|
|
)
|
||
|
|
targetTarArgs=(
|
||
|
|
--extract
|
||
|
|
--file -
|
||
|
|
--directory /ujcms/static
|
||
|
|
)
|
||
|
|
if [ "$uid" != '0' ]; then
|
||
|
|
# avoid "tar: .: Cannot utime: Operation not permitted" and "tar: .: Cannot change mode to rwxr-xr-x: Operation not permitted"
|
||
|
|
targetTarArgs+=( --keep-old-files )
|
||
|
|
fi
|
||
|
|
tar "${sourceTarArgs[@]}" . | tar "${targetTarArgs[@]}"
|
||
|
|
echo >&2 "Complete! UJCMS init files has been successfully copied to $PWD/static"
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo >&2 "Starting UJCMS..."
|
||
|
|
exec "$@"
|