Skip to content
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

beets: update to 1.5.0 & Dependencies #4946

Merged
merged 9 commits into from
Jan 2, 2022

Conversation

publicarray
Copy link
Member

Motivation: The package hasn't been updated in a while.
Linked issues: #4934

https://github.com/beetbox/beets/blob/master/setup.py#L87

install.txt

Test build: https://seby.io/download/synology-7.0/beets_noarch-dsm7_1.5.0-7.spk

Checklist

  • Build rule all-supported completed successfully
  • Package upgrade completed successfully
  • New installation of package completed successfully

@publicarray
Copy link
Member Author

@ucki would you be willing to try the build above and test that everything is working as intended?

@publicarray publicarray changed the title Update beets 1.5.0 beets: update to 1.5.0 Oct 31, 2021
@ymartin59
Copy link
Contributor

@publicarray Does it make sense to use recent "requirement" split (from @hgy59 for home assistant) between pure-python wheels to reduce package here too?

@ucki
Copy link

ucki commented Nov 2, 2021

Hi, unfortunatly I am only a "user" so I would be willing to help but I have no clue how to install the package etc ;).

@publicarray
Copy link
Member Author

@ucki

Hi, unfortunatly I am only a "user" so I would be willing to help but I have no clue how to install the package etc ;).

You just need to use the "Manual Install" button: https://kb.synology.com/en-sg/DSM/tutorial/How_to_install_applications_with_Package_Center#x_anchor_id6

@publicarray
Copy link
Member Author

@ymartin59 yea maybe but there is lots of movement with python at the moment. I think that can wait for another PR but I can have a quick look.

@publicarray
Copy link
Member Author

publicarray commented Nov 3, 2021

@ymartin59 I have no idea how any of this works. How do I know if a dependency is in pure python? I thought this is a pure python package

@publicarray
Copy link
Member Author

@th0ma7 With python 3.10 PyYAML appears to be missing (DSM7)

2021/11/03 09:17:39	Installed version: Traceback (most recent call last):
2021/11/03 09:17:39	  File "/volume1/@appstore/beets/env/bin/beet", line 5, in <module>
2021/11/03 09:17:39	    from beets.ui import main
2021/11/03 09:17:39	  File "/volume1/@appstore/beets/env/lib/python3.10/site-packages/beets/__init__.py", line 18, in <module>
2021/11/03 09:17:39	    import confuse
2021/11/03 09:17:39	  File "/volume1/@appstore/beets/env/lib/python3.10/site-packages/confuse/__init__.py", line 8, in <module>
2021/11/03 09:17:39	    from .exceptions import * # NOQA
2021/11/03 09:17:39	  File "/volume1/@appstore/beets/env/lib/python3.10/site-packages/confuse/exceptions.py", line 3, in <module>
2021/11/03 09:17:39	    import yaml
2021/11/03 09:17:39	ModuleNotFoundError: No module named 'yaml'

Other Error I see is xxxx.whl is not a supported wheel on this platform.

FYI I use the following to make is easier to read the logs:

  1. echo '' > /var/log/packages/beets.log
  2. Install package
  3. cat /var/log/packages/beets.log

@th0ma7
Copy link
Contributor

th0ma7 commented Nov 3, 2021

@ymartin59 I have no idea how any of this works. How do I know if a dependency is in pure python? I thought this is a pure python package

@Safihre had provided me with an answer on this #4921 (comment)

@publicarray
Copy link
Member Author

Thanks maybe this belongs in the wiki?

@publicarray
Copy link
Member Author

publicarray commented Nov 3, 2021

Oh, it's in the Tips section, but it's not obvious. I'll update it a bit

Edit: done 📔 https://github.com/SynoCommunity/spksrc/wiki/Using-wheels-to-distribute-Python-packages#tips-and-tricks

@th0ma7
Copy link
Contributor

th0ma7 commented Nov 3, 2021

@publicarray that's odd... and found this in the installation log which probably explains it:

2021/11/03 06:47:51 Begin service_postinst
2021/11/03 06:47:51 /var/packages/python310/scripts/service-setup: line 21: /volume1/@appstore/python310/bin/pip: No such file or directory
2021/11/03 06:47:51 Installed version: Python 3.10.0
2021/11/03 06:47:51 Installed modules:
2021/11/03 06:47:51 /var/packages/python310/scripts/service-setup: line 27: /volume1/@appstore/python310/bin/pip: No such file or directory
2021/11/03 06:47:51 End service_postinst

But I think I have a clue why, let me dig into it part of #4951

EDIT: @publicarray in the meantime I've disabled the python310 package online to avoid issues. And anyway @hgy59 had other pending updates to do on it.

@publicarray
Copy link
Member Author

publicarray commented Nov 3, 2021

2021/11/03 06:47:51 /var/packages/python310/scripts/service-setup: line 27: /volume1/@appstore/python310/bin/pip: No such file or directory
2021/11/03 06:47:51 End service_postinst

Hm, that's not an error I've seen. I've got a working build now. (works on my machine ™️ )
Thanks for your help 🙏

@th0ma7
Copy link
Contributor

th0ma7 commented Nov 3, 2021

Thanks for your help pray

lol... :) I may have found why: this looks like, again, related to my third attempt at bumping crossenv==1.1.4 instead of keeping the 1.0... I'll look into it later on when I find a few spare cycles.

EDIT: Actually unrelated... it more seems I was too aggressive at removing all cross/wheels...

Comment on lines 27 to 28
# Pure Python package, make sure ARCH is not defined
override ARCH=
# override ARCH=
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So discard the whole block if package is no longer "non arch"

@ucki
Copy link

ucki commented Dec 5, 2021

Hi folks .. sorry for not answering earlier .. wich would the correct version I sould test ? And will it kill my old beets database ?

Greetings ucki

@hgy59
Copy link
Contributor

hgy59 commented Dec 5, 2021

Hi folks .. sorry for not answering earlier .. wich would the correct version I sould test ? And will it kill my old beets database ?

Greetings ucki

@ucki as @th0ma7 is redesigning the whole bunch of python apps you probably can test the latest builds of #4986.
You can download the artifacts of the github build action there. Unfortunately you can only download all packages together as packages.zip and this file is about 1.9GB.
You will need the python310 and the beets spk for the CPU-Arch of your Diskstation Model.

@th0ma7 is beets in #4986 ready for testing?

EDIT:
Just saw that beets didn't build in #4986, as it was still built with noarch but is now arch dependent.

@th0ma7
Copy link
Contributor

th0ma7 commented Dec 5, 2021

Indeed, it is now arch dependent (and sadly it has to).
Still, it could be tested through #4986
I'm about to merge, just confirming all is good on armv5 before doing so (just receive my two device armv5 and armv7 so I can finally test that).

@th0ma7
Copy link
Contributor

th0ma7 commented Dec 6, 2021

@publicarray and @ymartin59 while upgrading to python310 I had to update beets to version 1.5.0 as well. Also conceptually it has now to be a arch dependent package. When looking at the changes I believe "most" of it is already included in master besides refreshing your requirements. Let me know if you need assistance, cheers!

I get ModuleNotFoundError: No module named 'yaml'  or
ERROR: PyYAML-6.0- xxxx .whl is not a supported wheel on this platform.
@publicarray publicarray changed the title beets: update to 1.5.0 beets: update to 1.5.0 & Dependencies Dec 28, 2021
#Pillow==8.2.0 ==> cross/pillow
# Pillow==8.2.0 ==> cross/pillow
Copy link
Contributor

@th0ma7 th0ma7 Dec 30, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once #5023 is merged I recommend you to use the python310 commented solution to get Pillow to be cross-compiled using pip at the version you like instead of using cross/pillow. It then requires the following in your Makefile:

# [Pillow]
DEPENDS += cross/freetype cross/libjpeg cross/zlib
WHEELS_BUILD_ARGS += [Pillow]
WHEELS_BUILD_ARGS += build_ext
WHEELS_BUILD_ARGS += --disable-platform-guessing
WHEELS_BUILD_ARGS += --enable-freetype
WHEELS_BUILD_ARGS += --enable-jpeg
WHEELS_BUILD_ARGS += --enable-zlib

because these package versions have conflicting dependencies.
@publicarray publicarray merged commit 95f8301 into SynoCommunity:master Jan 2, 2022
@publicarray publicarray deleted the beets-update branch January 2, 2022 12:12
@publicarray publicarray mentioned this pull request Jan 2, 2022
@publicarray publicarray added status/published Published and activated (may take up to 48h until visible in DSM package manager) and removed status/ready-to-merge labels Jan 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status/published Published and activated (may take up to 48h until visible in DSM package manager)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants