SynoCommunity / spksrc

Cross compilation framework to create native packages for the Synology's NAS
https://synocommunity.com
Other
3.02k stars 1.23k forks source link

[Package Request] Beets music organizer #2572

Closed gborri closed 7 years ago

gborri commented 7 years ago

Name: beets Description: The purpose of beets is to get your music collection right once and for all. It catalogs your collection, automatically improving its metadata as it goes using the MusicBrainz database. Then it provides a bouquet of tools for manipulating and accessing your music. Website: http://beets.io/ Software documentation: http://beets.readthedocs.io/en/v1.4.2/ Build/Installation documentation: http://beets.readthedocs.io/en/v1.4.2/guides/main.html Source Code: https://github.com/beetbox/beets License: MIT License

ymartin59 commented 7 years ago

For such a command line tool, installable with "pip", I would focus on packaging "pip" on Synology, based on official Python 3 package... then "pip install beets" should work. What is your opinion about this proposal ?

You may proceed by yourself according to https://primalcortex.wordpress.com/2016/01/25/synology-installing-python-pip-package-installer/ wget https://bootstrap.pypa.io/get-pip.py; python get-pip.py; pip install beets

Either with python2 or python3. I recommend to use a non-root user account. What do you think about it ?

cytec commented 7 years ago

well... pip actually comes with both python packages from Synocommunity and is located in /usr/local/python/bin/pip or /usr/local/python3/bin/pip but you'll have to reinstall it everytime you update the python or python3 SPK...

you could also use a virtualenv see: https://github.com/SynoCommunity/spksrc/issues/2551#issuecomment-268214637

Dr-Bean commented 7 years ago

If beets is not a service that needs to run (doesn't look like it, correct me if I'm wrong?), then a manual install via pip inside a virtualenv may very well be an acceptable route instead of packaging. Without the virtualenv, as @cytec said, you'll have to reinstall each time the Python package is updated, so I wouldn't recommend that. Also, you wouldn't need a separate useraccount either, just run it with whatever user has write access to the files you want, so beets can rename/set tags/etc.

ymartin59 commented 7 years ago

Agree. I propose to create a package that automates virtualenv creation and deletion (update should be considered as delete+create), the same way than "flexget" package does.

Dr-Bean commented 7 years ago

Sure, that's how all the Python-based packages work, so sounds good @ymartin59. Planning to create a PR for it?

ymartin59 commented 7 years ago

@Dr-Bean Yes I will create a PR as soon as I am over with flexget upgrade

ymartin59 commented 7 years ago

@gborri Are you interested in some "must-have" plugins for a typically usage of beets on Synology which make sense to embed by default in package ?

gborri commented 7 years ago

The standard one is fine.

Thanks

ymartin59 commented 7 years ago

@gborri May you please confirm this package satisfies your request. https://synocommunity.com/package/beets. Thank you in advance for feedbacks

gborri commented 7 years ago

@ymartin59 seems to be fine. The only question is: where is the default location for config file? Thanks a lot

ymartin59 commented 7 years ago

@gborri Configuration file location can be specified on command line with --config. See /usr/local/beets/env/bin/beet -h for details.

To see details, I propose to run /usr/local/beets/env/bin/beet --verbose version

no user configuration found at /var/services/homes/user/.config/beets/config.yaml
data directory: /var/services/homes/user/.config/beets
plugin paths: 
Sending event: pluginload
library database: /var/services/homes/user/.config/beets/library.db
library directory: /var/services/homes/user/Music
Sending event: library_opened
beets version 1.4.3
Python version 2.7.13
no plugins loaded
Sending event: cli_exit
gborri commented 7 years ago

@ymartin59 thanks

ymartin59 commented 7 years ago

@gborri @Dr-Bean @cytec I propose to close this issue as request has been merged

gborri commented 7 years ago

ok

On Fri, Mar 10, 2017 at 8:21 PM Yves Martin notifications@github.com wrote:

@gborri https://github.com/gborri @Dr-Bean https://github.com/Dr-Bean @cytec https://github.com/cytec I propose to close this issue as request has been merged

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/SynoCommunity/spksrc/issues/2572#issuecomment-285760261, or mute the thread https://github.com/notifications/unsubscribe-auth/ADUX1rdr-LvsSUQC4fkuMppY89R1w_QCks5rkaKngaJpZM4LWLsf .

--

Giovanni

LazaRocks commented 6 years ago

@ymartin59: Thanks a lot! is there any way to update to update to the latest version of beets without repackaging? or should we wait for repackaging?

ymartin59 commented 6 years ago

@LazaRocks I will update and add Chromaprint/Acoustid plugin support