Package Details: roonserver 2.0.1490-1

Git Clone URL: https://aur.archlinux.org/roonserver.git (read-only, click to copy)
Package Base: roonserver
Description: The music player for music lovers
Upstream URL: https://roonlabs.com/
Keywords: audio player streaming
Licenses: custom
Submitter: blackhole
Maintainer: blackhole
Last Packager: blackhole
Votes: 9
Popularity: 0.000003
First Submitted: 2016-04-16 10:49 (UTC)
Last Updated: 2024-12-23 06:45 (UTC)

Pinned Comments

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 Next › Last »

skunark commented on 2021-04-18 19:33 (UTC) (edited on 2021-04-18 19:36 (UTC) by skunark)

Since roonserver provides all the features of roonbridge, I would suggest that they be flagged as conflicting packages.

If you wanted to install both, then yes you would want to have different sysuser/tmpfiles to create a roonserver and roonbridge account.

EDIT: If Roon needed write permission to the music files, that would be a deal breaker for me. I think this is where /var/lib/roon comes into play for metadata. BTW, I've had no issues with read only access.

blackhole commented on 2021-04-18 05:50 (UTC) (edited on 2021-04-18 06:11 (UTC) by blackhole)

I have applied the pkgver suggestion. However I must SKIP sha256sum for the downloaded file as in git packages. For me this is fine.

This way user installation will be automatically updated without errors to the last build if the package is reinstalled.

The problem is that roonserver and roonbridge will have the same roon.conf in tmpfiles.d and sysusers.d with error about roon.conf exists in filesystem

Not sure how to solve this. different roonserver.conf and roonbridge.conf with the same user roon?

EDIT: The other concern is that Roon probably needs write right to the Music directory (supposedly owned by default user). Maybe the last versions not. I remember that some old version has re-organized folders.

skunark commented on 2021-04-17 21:18 (UTC) (edited on 2021-04-17 21:23 (UTC) by skunark)

I made one more tweak:

_pkgname=RoonServer

...

pkgver() { grep build ${srcdir}/${_pkgname}/VERSION |sed -e 's/ (build /./' -e 's/).*//' -e 's/ //g' }

Should give you a 1.8.790 version number where the 790 is the current build.

skunark commented on 2021-04-17 18:02 (UTC) (edited on 2021-04-17 18:03 (UTC) by skunark)

I think you have a few options:

  • Address it head on with your post_upgrade script, which you could also do a mv /var/roon /var/lib/roon
  • Print a install message asking the user to run that command. I like to think this is enough for arch linux users.
  • Let tmpfiles.d warning message be enough

I'm not sure what is the best option since there is no /etc/roon.conf file. Roon isn't exactly optimized for linux (or other OSes).

But i had two concerns running as root:

  1. The user applications have no security and someone could point the backups to /boot or some place that could cause harm
  2. If Roon crashed it could also take an audio file with it and would just prefer to keep those files as read-only to the players

I'm with you on keeping things simple and glad you are considering the change.

blackhole commented on 2021-04-17 09:09 (UTC)

I am testing now. The problem is that I must chown -R roon:roon /var/roon

Maybe I should add an install file to do this automatically, for example:

post_upgrade() {

if [[ $(ls -l /var/roon | grep root) ]]; then

chown -R roon:roon /var/roon

fi

}

skunark commented on 2021-04-16 01:30 (UTC) (edited on 2021-04-16 14:55 (UTC) by skunark)

You can download a tarball from here: http://ix.io/2Wfj

I had to rename it roon.tar.gz so i guess that gets lost in the translation.

I included my tweaks for the roon bridge as well. You will have to undo the /var/lib/roon edits, it's probably not a big deal to leave it at /var/roon. You will have to chown -R room:roon /var/roon to change the user to roon.

blackhole commented on 2021-04-15 21:06 (UTC)

@skunark

In general I prefer the simple solutions.

In this case I would make a systemd user service (not so happy to create new users)

The systemd service was the one suggested by RoonLabs, but I can change it.

The modification from /var/roon to /var/lib/roon is more problematic.

How to update automatically from old directory without manual intervention? Take into account that some users have a VERY big Roon database. Maybe I sould add an install file specifically for this.

Anyway, if you have a modified PKGBUILD publish it here or send it to audiolinux@fastmail.fm and I will test it.

skunark commented on 2021-04-15 15:35 (UTC) (edited on 2021-04-16 01:31 (UTC) by skunark)

Thanks for maintaining the roon packages!

I have a couple of suggestions:

  • Don't have the service run as root as that is dangerous, use sysusers.d to create a roon account. Give the account membership to the audio group

  • /var/roon might be better at /var/lib/roon

blackhole commented on 2020-08-28 08:31 (UTC)

I am aware of the problem. You can delete first /opt/RoonServer rm -rf /opt/RoonServer before updating (this will not delete the library that is in /var/roon) But adding this to PKGBUILD would be not nice. Probably you can first remove roonserver and after install it. Moreover, this is not happening always. Maybe Roonserver will update some way, if you select update from smartphone/tablet application.

fx101 commented on 2020-08-28 07:38 (UTC)

So in some cases upgrading this package will fail due to existing files. Will probably want some special handling in PKGBUILD for this.