-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
seafile-server: fix install, django 1.11 patch, enhance seafile-seahub version dependency #8442
Conversation
Thank you for looking into this. I had a change like this before but never got around to posting it. |
MariaDB seems to be failing compilation. ping @micmac1 |
Hi @neheb, didn't find any breakage in faillogs. Got logs?
|
The issue is wrongly attributed to mariadb. It's an issue with tools/xz. I will prepare a patch. |
Oh thanks god ;-)
|
|
@yousong ah looks like you're right.
|
80799cb
to
35d9be9
Compare
I've rebased it just to check if the #8436 merge fixed it, and it works now. |
net/seafile-server/Makefile
Outdated
ifeq ($(SEAHUB_CUR_VERSION),$(PKG_VERSION)) | ||
EXTRA_DEPENDS:=seafile-seahub (=$(SEAHUB_CUR_VERSION)-$(SEAHUB_CUR_RELEASE)) | ||
else | ||
EXTRA_DEPENDS:=seafile-seahub (=$(PKG_VERSION)-$(PKG_RELEASE)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The logic I used is: try to get current PKG_VERSION and PKG_RELEASE from seafile-seahub Makefile. Use them if the versions match. If not, use the version & release of seafile-seahub. Historically, the versions have always matched.
If I am reading it right, you want to always use version of seafile-seahub no matter what ;)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. What I really wanted was to both match the same version, regardless of release number. I've tried:
EXTRA_DEPENDS:=seafile-seahub (=$(PKG_VERSION))
EXTRA_DEPENDS:=seafile-seahub (=$(PKG_VERSION)-*)
EXTRA_DEPENDS:=seafile-seahub (>=$(PKG_VERSION)-1 <=$(PKG_VERSION)-999999)
and
EXTRA_DEPENDS:=seafile-seahub (>=$(PKG_VERSION)-1) seafile-seahub ( <=$(PKG_VERSION)-999999)
I'll drop this. Now that I'm giving this extra thought, it won't work because when *seahub increases release, *server's needs to be increased as well, and we're not doing it. I'll drop it, and add a comment in *seahub's Makefile that this needs to match. It's the best.
@@ -24,6 +24,9 @@ include $(INCLUDE_DIR)/package.mk | |||
include $(INCLUDE_DIR)/nls.mk | |||
include ../../lang/python/python-package.mk | |||
|
|||
SEAHUB_CUR_VERSION:=$(shell egrep '^PKG_VERSION[ :]*=' ../seafile-seahub/Makefile | sed 's/PKG_VERSION.*=[ ]*//') | |||
SEAHUB_CUR_RELEASE:=$(shell egrep '^PKG_RELEASE[ :]*=' ../seafile-seahub/Makefile | sed 's/PKG_RELEASE.*=[ ]*//') | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we should just $(error xxx)
if seafile-seahub version does not match that of seafile-server
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will leave the matching logic, and error out if they don't match. Compile-time errors are a lot easier to catch than install-time errors.
Thanks for the review.
42d232d
to
8498d24
Compare
net/seafile-server/Makefile
Outdated
@@ -33,7 +47,7 @@ define Package/seafile-server | |||
DEPENDS:=+libarchive +libopenssl +glib2 +libsearpc +seafile-ccnet +seafile-seahub +sqlite3-cli +python-mysql +python-urllib3 \ | |||
+jansson +libevent2 +libevent2-openssl +zlib +libzdb +libsqlite3 +libmysqlclient \ | |||
+libpthread +libuuid +bash +procps-ng +procps-ng-pkill +SEAFILE_FUSE_SUPPORT:libfuse $(ICONV_DEPENDS) | |||
EXTRA_DEPENDS:=seafile-seahub (=6.3.4-1) | |||
EXTRA_DEPENDS:=seafile-seahub (=$(SEAHUB_VERSION_RELEASE)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we drop the version specific depends?
I think it's reasonable to assume that "opkg install seafile-server` pulls packages from the same repo, or users themselves are responsible for the versions of server and hub when install .ipk files manually. With that assumption, we just need to make sure at build time that the two packages are compatible by comparing major.minor versions, leaving out numbers of bugfix and revision. Less maintain details and more flexibility for the user
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with that. I'll make the change when able.
fa94651
to
913d797
Compare
Hi @cotequeiroz , please either keep them as 2 commits each with its own version bump, or squash them as a single tidy up. Thank you. |
Django 1.11 is supported, but seafile-admin was still looking for v. 1.8. Replaced current patch with the patch from haiwen/seafile-server#147. Cleaned up unsupported configure options, including riak backend. Check that the seafile-server version is the same as seafile-seanet's at build time, removing the static EXTRA_DEPENDS check done at install time. Signed-off-by: Eneas U de Queiroz <[email protected]>
913d797
to
46a0979
Compare
I choose a single commit. |
Thank you! |
Maintainer: @kissg1988
Compile tested: mvebu, wrt3200acm, openwrt master
Run tested: mvebu, wrt3200acm, openwrt master, tested basic file creation/upload/download, using web interface.
Description:
Current package does not get installed because it pulls up an incorrect seafile-seahub release, resulting in:
Added a build-time check in seafile-server to error out if the versions don't match, instead of a static install-time check.
Django 1.11 is supported (required?), see https://manual.seafile.com/changelog/server-changelog.html), but the current patch does not fix a bug in the
seafile-admin
script that causes it to still look for v. 1.8. Replaced current patch for django-1.11 with the patch from haiwen/seafile-server#147, which fixes this, avoiding this error message when setting up:Cleaned up unsupported configure options, including riak backend, for which we don't have a package. Here's the build message:
Notice that you can try to build the riak backend by defining
RIAK_BACKEND
inCFLAGS
. However, it would fail to build since we don't package the riak client library (or anything that installsriak-client.h
).Signed-off-by: Eneas U de Queiroz [email protected]