-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
ownCloud: Update to version 10.12 #5619
Conversation
@mreid-tt please migrate |
@hgy59, thanks for the tips while I work on this. So far I've gotten it to install cleanly on DSM7 as well as uninstall (with DB backup). I still have to work on the upgrade logic and update the UI to use modern elements as well as include additional prompts. One strange thing is that even though I have an icon file defined, the package is not generating any of the icons in the I also noted from the DSM 7.0 Developer Guide that the Application Config file (at Thinking to my next steps, I don't know how I'll approach upgrades. The previous versions were based on a MySQL backend but with my performance testing I found the initial setup taking ~20x longer to complete when using MariaDB versus a standalone SQLite database. As such. I've moved to that back end. With the differing backends I don't know that a direct upgrade would be possible. Interested to hear your thoughts. |
@hgy59, so I took another look at he icons that were missing from As for the upgrade strategy, this version cannot be upgraded from the existing one in the repository (v8.1.1) and would need a minimum of v8.2.11 as starting point. As such, I've included a check for this to block such upgrades. I did however write a fairly elaborate upgrade sequence which includes data and configuration preservation as well as database backup archiving. Tests so far on DSM7 work well for a variety of scenarios including different data paths. The next thing I think I need to update is the UI wizard files to include the relevant details of what is going on. I'm going to see if I can incorporate some scripting to check for some of the validations included in the |
@hgy59, So I've come to a blocker with the DSM 6 testing. A number of the PHP scripts are very picky about the owner of the files matching the owner of the running process. Now this isn't a problem on DSM 7 with the resource worker populating the Ideally if there were a way to get both the installer and the running process to run as |
I just ask the question: is this worth maintaining DSM 6 support? We may decide to only deliver package for DSM 7. |
You always can provide a privilege file for DSM 6 with the same content as the one generated for DSM 7 (i.e. "run-as" : "package") I highly recommend to migrate DSM 6 packages to use the same privileges (and shared folder handling) for all packages that are fully supported on DSM 7+. Unfortunately for the upgrade of existing packages this must be done in two steps We currently have installer files for dsm5, dsm6 and dsm7. When those DSM 6 packages use shared folders, it should (or must?) use the DSM 7 version and define |
My answer is YES. There is a reasonable count of models that are limited to DSM 6. Perhaps we should update the DSM 6 package to DSM 6.2.4 instead of 6.1 as soon, Synology will drop support for DSM < 6.2.4 (and remove all packages for unsupported models) see (https://www.synology.com/en-global/products/status/EOL-announcement-for-legacy-dsm). |
@hgy59, thanks for the suggestion with using a privilege file. Looking at its use in the developer guide I had a thought to perhaps move all the DSM6 specific stuff requiring elevated privileges to a separate 'tool' which would run as root but the rest of the service setup would run as the package. I don't think I did it correctly though. Is this a good solution? EDIT: I think I may have it backwards, moving everything to package breaks the installer. I'll try moving only the specific one that needs package to a separate tool. As far as how to execute it and the configuration of the privileges file, I may need some assistance. |
I've tried to move the function that I needed run as the package to a command file but regardless of whether I define it as a tool or an executable, the log shows it not running as the package:
Am I defining it correctly? spksrc/spk/owncloud/src/conf/privilege Lines 32 to 35 in 556773e
Am I calling it correctly in my script? spksrc/spk/owncloud/src/service-setup.sh Line 13 in 556773e
|
I've completed testing for DSM 6. I had to implement a number of workarounds to get the web interface to run as the package user but it should be relatively clean. As the executable mentioned above is still not working, I included a few fail-safes to allow for the command to fail gracefully and not lose user data. All in all it's a bit hack-y but it should be resilient and clean-up after itself on uninstall. Welcome to feedback from reviewers. Also, if the correct setup for executable with package permissions could be resolved that would be great! |
@hgy59, I believe I've resolved the issue by using a helper function in the service setup. Testing on DSM 6 and DSM 7 has been successful for all the required checklist items. Ready for final review. EDIT: In the end I opted not to use a privilege file since (a) there is not a way to specify the DSM version it should be used with (i.e. one for DSM 6 and the default for DSM 7) and (b) I was not able to get the appropriate privileges when using either an 'executable' or a 'tool'. As such, a solution just running |
@ymartin59, reaching out to you as the listed maintainer of ownCloud for your review of this PR. Do let me know if you have any comments or questions. |
Update service setup Update UI wizards
You are correct, I don't believe this package compiles anything or is compiled beforehand since it seems to be a bunch of PHP scripts. I'll take a look at making a no-arch version. |
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.
Only remaining remarks are really nitpicking IMHO
- making it a no-arch could have some added value I believe.
- considering using a custom service command to avoid having to handle the PID logic thingy could be nice
d1d3dfd
to
5d89960
Compare
Thanks for the feedback. For these points:
|
Thanks for the feedback. For your points:
|
Hello @th0ma7, I just wanted to let you know that the PR has been merged successfully. Thank you for taking the time to review and approve it. Could you kindly assist with publishing it? Your help is greatly appreciated. |
@mreid-tt I kicked off the build + publish. I may be able to follow-up tomorrow or the day after to enable online. https://github.com/th0ma7/spksrc/actions/runs/4538303401 |
Well that was fast (probably due to being noarch now). |
@hgy59 I just noticed that noarch builds uses |
thanks @th0ma7 ! |
hey @th0ma7, I was looking at the repo and I only noted the DSM 7 build but not the DSM 6 no-arch. Is the cache still catching up? |
@mreid-tt this is odd as the build process worked out all-right https://github.com/th0ma7/spksrc/actions/runs/4538303401/jobs/7997117592 I ended-up publishing manually this morning. It's now activated, should appear shortly thereafter. cheers. |
@th0ma7, just to close the loop on this odd behaviour, this was because the server gave an internal server error which was not handled (we have since handled it in #5701). The logs confirm this as follows: Build (noarch-7.0) succeeds!
Build (noarch-6.0) fails
For the root cause, I believe we have come to the answer to in SynoCommunity/spkrepo#95 with a fix proposed and in review. |
hey @publicarray, based on issue #5717, it appears that the publish process seems to have been corrupted with the database reporting an upload which is not present. I would appreciate your assistance in deleting version 10.12-9 of ownCloud from the repository. Once done I'll manually re-publish the files one at a time to avoid a race condition. |
@mreid-tt I can delete this for you. EDIT: |
hey @hgy59, thanks much. The build for DSM 3.x is a bit weird and may need an adjustment in the Makefile on the next update. I believe it may have something to do with this line: Lines 41 to 42 in 19ec801
EDIT:
|
Description
This PR contains the following:
Fixes #
Closes #2710
Closes #3580
Checklist
all-supported
completed successfullyType of change