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

ffsync: Update syncstorage-rs to v0.18.2 #6406

Merged
merged 1 commit into from
Jan 24, 2025

Conversation

mreid-tt
Copy link
Contributor

@mreid-tt mreid-tt commented Jan 18, 2025

Description

This PR includes the following:

  1. Update syncstorage-rs to v0.18.2

Fixes #

Checklist

  • Build rule all-supported completed successfully
  • New installation of package completed successfully
  • Package upgrade completed successfully (Manually install the package again)
  • Package functionality was tested
  • Any needed documentation is updated/created

Type of change

  • Package update

@mreid-tt mreid-tt added the build/rust Requires rust build system label Jan 18, 2025
@mreid-tt mreid-tt self-assigned this Jan 18, 2025
@mreid-tt mreid-tt merged commit 65e7cfb into SynoCommunity:master Jan 24, 2025
15 checks passed
@mreid-tt mreid-tt deleted the ffsync-update branch January 24, 2025 12:26
@mreid-tt
Copy link
Contributor Author

mreid-tt commented Jan 24, 2025

@hgy59, I don't know if you can assist with this but I've merged three PRs today and published two updates without issue. When trying to publish this one I keep getting the below errors from GitHub:

$ make publish-arch-x64-7.1 -C ./spk/ffsync
    from .client import collect_messages
  File "/usr/lib/python3/dist-packages/httpie/client.py", line 22, in <module>
    from .ssl_ import AVAILABLE_SSL_VERSION_ARG_MAPPING, HTTPieCertificate, HTTPieHTTPSAdapter
  File "/usr/lib/python3/dist-packages/httpie/ssl_.py", line 1, in <module>
    import ssl
  File "/usr/lib/python3.11/ssl.py", line 100, in <module>
    import _ssl             # if we can't import it, let the error propagate
    ^^^^^^^^^^^

I don't know if this is a transient error or something with this package. It doesn't seem to be a build error but rather an error publishing. If this is the case though I can't understand why the other packages didn't have this issue.

Full details in: https://github.com/mreid-tt/spksrc/actions/runs/12951166615/

@hgy59
Copy link
Contributor

hgy59 commented Jan 24, 2025

Error log with some more context (before Create DSM Wizard it has successfully built the package

2025-01-24T14:40:04.1677946Z ===>  Create DSM Wizards
2025-01-24T14:40:04.1719980Z src/wizard/install_uifile.sh
2025-01-24T14:40:04.1735008Z src/wizard/uninstall_uifile.sh
2025-01-24T14:40:04.1813102Z /github/workspace/spk/ffsync/work-evansport-7.1/WIZARD_UIFILES/install_uifile.sh
2025-01-24T14:40:04.1823554Z /github/workspace/spk/ffsync/work-evansport-7.1/WIZARD_UIFILES/uninstall_uifile.sh
2025-01-24T14:40:04.1894899Z (cd /github/workspace/spk/ffsync/work-evansport-7.1 && tar cpf /github/workspace/spk/ffsync/../../packages/ffsync_evansport-7.1_0.18.2-4.spk --group=root --owner=root package.tgz INFO scripts conf PACKAGE_ICON.PNG PACKAGE_ICON_256.PNG WIZARD_UIFILES)
2025-01-24T14:40:04.2092855Z make[2]: Leaving directory '/github/workspace/spk/ffsync'
2025-01-24T14:40:04.2167881Z ===>  PUBLISHING package for arch evansport-7.1 to https://api.synocommunity.com
2025-01-24T14:40:04.2201987Z make[2]: Entering directory '/github/workspace/spk/ffsync'
2025-01-24T14:40:04.9733761Z Traceback (most recent call last):
2025-01-24T14:40:04.9734396Z   File "/usr/bin/http", line 33, in <module>
2025-01-24T14:40:04.9735010Z     sys.exit(load_entry_point('httpie==3.2.1', 'console_scripts', 'http')())
2025-01-24T14:40:04.9735656Z              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-01-24T14:40:04.9736258Z   File "/usr/lib/python3/dist-packages/httpie/__main__.py", line 8, in main
2025-01-24T14:40:04.9736842Z     from httpie.core import main
2025-01-24T14:40:04.9737383Z   File "/usr/lib/python3/dist-packages/httpie/core.py", line 15, in <module>
2025-01-24T14:40:04.9737965Z     from .client import collect_messages
2025-01-24T14:40:04.9738944Z   File "/usr/lib/python3/dist-packages/httpie/client.py", line 22, in <module>
2025-01-24T14:40:04.9743005Z     from .ssl_ import AVAILABLE_SSL_VERSION_ARG_MAPPING, HTTPieCertificate, HTTPieHTTPSAdapter
2025-01-24T14:40:04.9745245Z   File "/usr/lib/python3/dist-packages/httpie/ssl_.py", line 1, in <module>
2025-01-24T14:40:04.9745888Z     import ssl
2025-01-24T14:40:04.9746201Z   File "/usr/lib/python3.11/ssl.py", line 100, in <module>
2025-01-24T14:40:04.9746656Z     import _ssl             # if we can't import it, let the error propagate
2025-01-24T14:40:04.9747030Z     ^^^^^^^^^^^
2025-01-24T14:40:04.9747828Z ImportError: /github/workspace/spk/python311/work-evansport-7.1/Python-3.11.11/build/lib.linux-x86_64-3.11/_ssl.cpython-311-x86_64-linux-gnu.so: undefined symbol: _PyModule_Add
2025-01-24T14:40:04.9961191Z make[2]: *** [../../mk/spksrc.publish.mk:60: publish] Error 1
2025-01-24T14:40:04.9962169Z make[2]: Leaving directory '/github/workspace/spk/ffsync'
2025-01-24T14:40:04.9966672Z make[1]: *** [../../mk/spksrc.publish.mk:47: publish-build-arch-evansport-7.1] Error 1
2025-01-24T14:40:04.9967524Z make[1]: Leaving directory '/github/workspace/spk/ffsync'
2025-01-24T14:40:04.9971757Z make: *** [../../mk/spksrc.publish.mk:40: publish-arch-evansport-7.1] Error 2
2025-01-24T14:40:04.9972520Z make: Leaving directory '/github/workspace/spk/ffsync'
2025-01-24T14:40:05.0097495Z make: Entering directory '/github/workspace/spk/ffsync'
2025-01-24T14:40:05.0501057Z rm -fr work work-* build-*.log publish-*.log status-*.log
2025-01-24T14:40:06.2788324Z make: Leaving directory '/github/workspace/spk/ffsync'
2025-01-24T14:40:06.2792637Z ##[endgroup]

I guess this error is new and may affect all python dependent packages (kopia and jellyfin do not depend on python).

This error is a hint that instead of package upload it is processing some other tasks first:

ImportError: /github/workspace/spk/python311/work-evansport-7.1/Python-3.11.11/build/lib.linux-x86_64-3.11/_ssl.cpython-311-x86_64-linux-gnu.so: undefined symbol: _PyModule_Add

May be the build of python wheels is triggered again.

@th0ma7 this might be a side effect of #6389 ?

@hgy59
Copy link
Contributor

hgy59 commented Jan 24, 2025

I can confirm that this is realted to python packages.

I reproduced the publish error with ffsync, bazarr and python311 packages.

But I guess it is not (only) related to #6389. This PR updated only mk/*.mk files (exchept download.sh for github workflow).
When I took all *.mk file in the version before #6389, the error still exists.

So it might be caused by #6282

@th0ma7 published python310 on 10.01.2025 and that was just about 3 minutes after #6282 was merged (if the timestamp in github and sc repo are the same timezone).
If python310 was published before the merge, then the publish was broken by #6282.
Otherwise we need further investigation.
It might be that python310 is not broken, but python311 is...

@hgy59
Copy link
Contributor

hgy59 commented Jan 25, 2025

@th0ma7 just found that the publish for python310 is still working
The publish is broken for python311 and related packages.

@th0ma7
Copy link
Contributor

th0ma7 commented Jan 25, 2025

I did not yet had a chance to respond but this is really odd as the difference between 310 and 311's makefiles are marginal?

I'll be over probably be over tomorrow with my pr that fixes builds issues, perhaps this will be magically addressed by it?

Still, what i don't get is why my pr do run properly then? Could it be a caching issue?

@hgy59
Copy link
Contributor

hgy59 commented Jan 25, 2025

@th0ma7 just found the root cause

The publish target uses http to upload packages.
http is a python script located at /usr/bin/http

while publishing, python the variable PYTHONPATH is set.
when I remove the definition of PYTHONPATH in spksrc.crossenv.mk the publish works.

otherwise the call of http generates this error:

Traceback (most recent call last):
  File "/usr/bin/http", line 33, in <module>
    sys.exit(load_entry_point('httpie==3.2.1', 'console_scripts', 'http')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/httpie/__main__.py", line 8, in main
    from httpie.core import main
  File "/usr/lib/python3/dist-packages/httpie/core.py", line 15, in <module>
    from .client import collect_messages
  File "/usr/lib/python3/dist-packages/httpie/client.py", line 22, in <module>
    from .ssl_ import AVAILABLE_SSL_VERSION_ARG_MAPPING, HTTPieCertificate, HTTPieHTTPSAdapter
  File "/usr/lib/python3/dist-packages/httpie/ssl_.py", line 1, in <module>
    import ssl
  File "/usr/lib/python3.11/ssl.py", line 100, in <module>
    import _ssl             # if we can't import it, let the error propagate
    ^^^^^^^^^^^

with python311:

PYTHONPATH='/spksrc/spk/python311/work-x64-7.1/Python-3.11.11/build/lib.linux-x86_64-3.11:/spksrc/spk/python311/work-x64-7.1/install/var/packages/python311/target/lib/python3.11/site-packages/'

with python310:

PYTHONPATH='/spksrc/spk/python310/work-x64-7.1/Python-3.10.16/build/lib.linux-x86_64-3.10:/spksrc/spk/python310/work-x64-7.1/install/var/packages/python310/target/lib/python3.10/site-packages/'

So we must ensure that python3 on the host is used to publish packages with http.

@hgy59 hgy59 mentioned this pull request Jan 25, 2025
6 tasks
@hgy59
Copy link
Contributor

hgy59 commented Jan 25, 2025

Still, what i don't get is why my pr do run properly then? Could it be a caching issue?

Building always succeeded, only publish is broken.
IMHO publishing will (must) always be a manual task.

@mreid-tt mreid-tt added the status/published Published and activated (may take up to 48h until visible in DSM package manager) label Jan 25, 2025
@mreid-tt
Copy link
Contributor Author

@hgy59, @th0ma7, appreciate the quick turnaround on this. The package has now been successfully published.

@mreid-tt mreid-tt removed the status/published Published and activated (may take up to 48h until visible in DSM package manager) label Feb 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build/rust Requires rust build system
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants