You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1.7 KiB

seafile-server: Update to 7.1.2, revamp package * Package scripts that are shipped by upstream in their binary download * Includes setup scripts (setup-seafile.sh to use SQLite, setup-seafile-mysql.{sh,py} to use MySQL) and control scripts (seafile.sh, seahub.sh) * Does not include seafile-admin, which is not shipped in upstream's binary download. Combined with the fact that it hasn't been updated to Python 3 suggests the script has been abandoned. * Replace previous init scripts with a simplified script * Previous init scripts (seafile.init, seahub.init) were modified from older versions of seafile.sh and seahub.sh, but they haven't kept up with changes to upstream's scripts * New init script (seafile-server.init) start/stops both Seafile and Seahub (there is no need to control them separately) by calling upstream's control scripts * Replace previous package config file with new config file * Options in previous config file (seafile.conf) were mainly for using Seahub in FastCGI mode. FastCGI was deprecated in Django 1.7 and removed in 1.9; upstream's control script will only start Seahub using Gunicorn. (Options for Gunicorn including port number can be changed by editing /etc/seafile/conf/gunicorn.conf.py.) * New config file (seafile-server.config) has one option that controls where the Seafile/Seahub data directories are stored * Patch scripts/binaries to use standard, system-wide directory locations * Script files (wrappers for binaries) in /usr/bin * Binaries (not meant to be run directly by the user) in /usr/libexec * Config files in /etc/seafile * Pid/socket files in /var/run/seafile * Logs in /var/log/seafile * Include a new script to create the first admin account * With upstream's original scripts, the user is required to interactively create the first admin account when Seahub is started for the first time * The user will now use the new script (create-seafile-admin.sh) to create the first admin account after setup (using setup-seafile.sh or setup-seafile-mysql.sh) and before starting Seafile/Seahub * seahub.sh is patched to only check if there is at least one admin account and exit with an error if there is no admin account * Remove build config options and add seafile-server-fuse package * The console option controls whether the console window is shown when Seafile server is run on Windows. It has no use on Linux. * The fuse option controls whether seaf-fuse is built. (seaf-fuse is a FUSE implementation that allows the Seafile database/file system to be mounted to a local directory.) seaf-fuse is now always built and is available in a separate package (seafile-server-fuse). * Add myself as a maintainer Signed-off-by: Jeffery To <jeffery.to@gmail.com>
4 years ago
  1. --- a/scripts/setup-seafile-mysql.py
  2. +++ b/scripts/setup-seafile-mysql.py
  3. @@ -1203,7 +1203,7 @@ USER_STRONG_PASSWORD_REQUIRED = True
  4. try:
  5. media_dir = os.path.join(env_mgr.install_path, 'seahub', 'media')
  6. - orig_avatar_dir = os.path.join(media_dir, 'avatars')
  7. + orig_avatar_dir = os.path.join(media_dir, 'avatars_default')
  8. seahub_data_dir = os.path.join(os.environ.get('SEAFILE_UCI_DATA_DIR', env_mgr.top_dir), 'seahub-data')
  9. dest_avatar_dir = os.path.join(seahub_data_dir, 'avatars')
  10. @@ -1214,8 +1214,8 @@ USER_STRONG_PASSWORD_REQUIRED = True
  11. if not os.path.exists(seahub_data_dir):
  12. os.mkdir(seahub_data_dir)
  13. - shutil.move(orig_avatar_dir, dest_avatar_dir)
  14. - os.symlink(dest_avatar_dir, orig_avatar_dir)
  15. + shutil.copytree(orig_avatar_dir, dest_avatar_dir)
  16. + os.symlink(dest_avatar_dir, os.path.join(media_dir, 'avatars'))
  17. except Exception as e:
  18. Utils.error('Failed to prepare seahub avatars dir: %s' % e)
  19. --- a/scripts/setup-seafile.sh
  20. +++ b/scripts/setup-seafile.sh
  21. @@ -676,12 +676,12 @@ echo "Done."
  22. # prepare avatar folder
  23. media_dir=${INSTALLPATH}/seahub/media
  24. -orig_avatar_dir=${INSTALLPATH}/seahub/media/avatars
  25. +orig_avatar_dir=${INSTALLPATH}/seahub/media/avatars_default
  26. dest_avatar_dir=${SEAFILE_UCI_DATA_DIR-$TOPDIR}/seahub-data/avatars
  27. if [[ ! -d ${dest_avatar_dir} ]]; then
  28. mkdir -p "${SEAFILE_UCI_DATA_DIR-$TOPDIR}/seahub-data"
  29. - mv "${orig_avatar_dir}" "${dest_avatar_dir}"
  30. + cp -pr "${orig_avatar_dir}" "${dest_avatar_dir}"
  31. ln -s ${SEAFILE_UCI_DATA_DIR-$TOPDIR}/seahub-data/avatars ${media_dir}
  32. fi