-
-
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
Use installer resources for DSM6, update TCL package #4562
Conversation
@@ -182,6 +170,13 @@ ifneq ($(strip $(SERVICE_WIZARD_SHARE)),) | |||
'."data-share" = {"shares": [{"name": $$share, "permission":{"rw":[$$user]}} ] }' $@ 1<>$@ |
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.
Something interesting to note:
Since 7.0-41201, package center will create a symlink under
/var/packages/[package_id]/shares/
named by share folder pointing to share folder path.
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 have to test shared folders with DSM6 anyway. I will look whether dsm6 resource worker will create such links too.
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.
LGTM
I have to validate the |
@publicarray I tend to redesign the shared folder handling for DSM6. I did not succeed to mix full path (i.e /volume1/downloads) and shared folder name (i.e. downloads) with one installer. The shared folder processing in the sc framework (i.e. with /volumeX/share_name) was good for DSM<=5. When creating a folder under /volumeX we do not really get a DSM shared folder (this might be the cause for a lot of permission issues discussed here). Such folders are not displayed under shared folders and are deletable by the root user - shared folders cannot be deleted by root, but only within "Control Panel > Shared Folders". IMHO we must migrate to "data-share" resource definitions for DSM6, The benefit would be real shared folders. And we could define default access for sc-download group in the resource file too. Just another evening spent on digging into the swamp of DSM. 😩 |
@hgy59 I've pushed transmission package form dsm7-packages (feel free to remove it again). But I used this as my test package since I already did most of the work on it. In my tests it can install on a fresh dsm6 install (this branch) and can upgrade from an older version (master branch) of the transmission package on the dsm6. (both with the default settings/shared folder). I added a commit to set the |
This comment has been minimized.
This comment has been minimized.
"desc": "Download shared folder (using the volume chosen above)", | ||
"subitems": [ | ||
{ | ||
"key": "wizard_download_dir", |
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.
Aaah, that is the trick, to use separate wizard variables for the volume and the share name!
but this should work in the demoservice too.
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 the folder name is used in the worker (not the full path), maybe we need to use basename
before passing it on to jq --arg share [..]
. I forgot about that too sorry.
Edit: Yes it works with the demoservice, I just messed up earlier (I still passed on the full path)
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.
Example from documentation:
"data-share": {
"shares": [{
"name": "music",
"permission": {
"ro": ["AudioStation"]
}
}]
}
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.
@hgy59 whichever way we go, (new wizards or patch to remove volumeX/
before passing the variable on) please remember to remove the if:
spksrc/spk/demoservice/Makefile
Lines 21 to 25 in 83f850f
include ../../mk/spksrc.common.mk | |
ifneq ($(call version_ge, ${TCVERSION}, 7.0),1) | |
# SERVICE_WIZARD_SHARE is not supported for DSM7 yet | |
SERVICE_WIZARD_SHARE = wizard_download_dir | |
endif |
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 do not appreciate such long PR with unrelated content.
Please split it into three distinct branches: links, tcl and transmission
so we gonna split this PR |
@publicarray I would like to close this PR, as my work was merged with #4577 and #4578. |
Thanks @hgy59 I'll hopefully get to it early next month. Just busy with work ATM (A quick rebase would show what is left over) |
- SPK_LINKS is not supported anymore, use SPK_USR_LOCAL_LINKS and/or SPK_COMMANDS - adjust all packages with former SPK_LINKS (beets, borgbackup, rdiff-backup)
- resource workers for ports/links/shares are supported from DSM>=6.0 - keep the /usr/local/{package} link in DSM 6 for now, as not all dependent packages are redesigned
yes, here we can Co-authored-by: Sebastian Schmidt <[email protected]>
set using SERVICE_WIZARD_SHARE only disadvantage is that this does not support sub-folders currently [Transmission] fix empty volume, consistency with naming
* Remove busybox dep * transmission: remove unnecessary GROUP setting from service-setup.sh * transmission: set GROUP for backwards compatibility * Undo SPK_REV/CHANGELOG * Adjust wizard text * Remove now superfluous busybox configs
The transmission stuff is in #4719 closing this one. |
Motivation: Another Framework cleanup and a package update for TCL
Linked issues: #4524, #4539
Checklist
all-supported
completed successfullyRemarks
SPK_LINKS
Makefile variable and useSPK_USR_LOCAL_LINKS
for DSM6 and DSM5.SPK_USR_LOCAL_LINKS
instead ofSPK_LINKS
/usr/local/{package}
link to avoid breaking already installed packages that lean on thisReferences