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

FlexGet: Update to v3.13.16 #6403

Merged
merged 4 commits into from
Jan 26, 2025
Merged

Conversation

mreid-tt
Copy link
Contributor

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

Description

This PR includes the following:

  1. Update FlexGet to version 3.13.16

Fixes #6395

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 self-assigned this Jan 18, 2025
@mreid-tt
Copy link
Contributor Author

mreid-tt commented Jan 18, 2025

Hey @th0ma7, I’ve submitted a PR attempting to update FlexGet, but I encountered some challenges with the dependencies. My approach was to first build a clean package and then address issues based on the build failures.

Here’s an outline of the steps I followed:

  1. Set up a new virtual environment with Python 3.11.
  2. Installed FlexGet manually using pip install flexget.
  3. Listed installed packages with pip freeze.
  4. Compared the installed packages with the original requirements.txt from the source repository.
  5. Removed any additional wheels added by the Python 3.11 installation.
  6. Reviewed the install log to identify downloads without py3-none-any in the filename.
  7. Moved these identified wheels to the crossenv requirements and comment them out in the pure requirements.

This process allowed me to submit the initial commit. However, I encountered issues with the greenlet wheel, which I addressed by incorporating a fix based on @hgy59's work on the ffsync package. This resolved those errors.

Currently, we’re facing build failures on certain architectures due to the pendulum wheel. Here are the two primary issues:

  1. Error building on 32-bit architectures:
Build log for evansport-7.1
           Compiling _pendulum v3.0.0 (/tmp/pip-wheel-jtupl3n9/pendulum_4b094ff4674f4e788372db8d4a7d0904/rust)
        error: this arithmetic operation will overflow
          --> src/helpers.rs:59:20
           |
        59 |         seconds += ((146_097 - 10957) * SECS_PER_DAY as usize) as isize;
           |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `135140_usize * 86400_usize`, which would overflow
           |
           = note: `#[deny(arithmetic_overflow)]` on by default
        
        warning: field `has_offset` is never read
          --> src/parsing.rs:30:9
           |
        21 | pub struct ParsedDateTime {
           |            -------------- field in this struct
        ...
        30 |     pub has_offset: bool,
           |         ^^^^^^^^^^
           |
           = note: `#[warn(dead_code)]` on by default
        
        warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
          --> src/python/types/duration.rs:23:1
           |
        23 | #[pymethods]
           | -^^^^^^^^^^^
           | |
           | `PyClassImplCollector` is not local
           | `PyClassNewTextSignature` is not local
           | move the `impl` block outside of this function `trampoline` and up 4 bodies
        24 | impl Duration {
           |      --------
           |      |
           |      `Duration` is not local
           |      `Duration` is not local
           |
           = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
           = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
           = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
           = note: `#[warn(non_local_definitions)]` on by default
           = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
        
        warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
          --> src/python/types/precise_diff.rs:23:1
           |
        23 | #[pymethods]
           | -^^^^^^^^^^^
           | |
           | `PyClassImplCollector` is not local
           | `PyClassNewTextSignature` is not local
           | move the `impl` block outside of this function `trampoline` and up 4 bodies
        24 | impl PreciseDiff {
           |      -----------
           |      |
           |      `PreciseDiff` is not local
           |      `PreciseDiff` is not local
           |
           = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
           = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
           = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
           = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
        
        warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
          --> src/python/types/timezone.rs:11:1
           |
        11 | #[pymethods]
           | -^^^^^^^^^^^
           | |
           | `PyClassImplCollector` is not local
           | `PyClassNewTextSignature` is not local
           | move the `impl` block outside of this function `trampoline` and up 4 bodies
        12 | impl FixedTimezone {
           |      -------------
           |      |
           |      `FixedTimezone` is not local
           |      `FixedTimezone` is not local
           |
           = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed
           = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
           = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
           = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
        
        warning: `_pendulum` (lib) generated 4 warnings
        error: could not compile `_pendulum` (lib) due to 1 previous error; 4 warnings emitted
        💥 maturin failed
          Caused by: Failed to build a native library through cargo
          Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_CONFIG_FILE="/tmp/pip-wheel-jtupl3n9/pendulum_4b094ff4674f4e788372db8d4a7d0904/rust/target/maturin/pyo3-config-i686-unknown-linux-gnu-3.11.txt" PYO3_CROSS_LIB_DIR="/github/workspace/spk/python311/work-evansport-7.1/install/var/packages/python311/target/lib/python3.11" "cargo" "rustc" "--target" "i686-unknown-linux-gnu" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/pip-wheel-jtupl3n9/pendulum_4b094ff4674f4e788372db8d4a7d0904/rust/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib"`
        Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/github/workspace/spk/flexget/work-evansport-7.1/crossenv-default/cross/bin/python', '--compatibility', 'off'] returned non-zero exit status 1
        [end of output]
    
    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for pendulum
  Failed to build pendulum
  1. Error with GCC compiling (C99 mode):
    • The logs point to a different issue that might require creating our own cross/pendulum code to build the wheel. Unfortunately, this is beyond my expertise.
Build log for x64-6.2.4
        error: failed to run custom build command for `libmimalloc-sys v0.1.35`
        
        Caused by:
          process didn't exit successfully: `/tmp/pip-wheel-iek31drf/pendulum_97bbe8dab6154a2db71918e1c51a496d/rust/target/release/build/libmimalloc-sys-f9af0da6838433c9/build-script-build` (exit status: 1)
          --- stdout
          OPT_LEVEL = Some("3")
          TARGET = Some("x86_64-unknown-linux-gnu")
          HOST = Some("x86_64-unknown-linux-gnu")
          cargo:rerun-if-env-changed=CC_x86_64-unknown-linux-gnu
          CC_x86_64-unknown-linux-gnu = None
          cargo:rerun-if-env-changed=CC_x86_64_unknown_linux_gnu
          CC_x86_64_unknown_linux_gnu = None
          cargo:rerun-if-env-changed=HOST_CC
          HOST_CC = None
          cargo:rerun-if-env-changed=CC
          CC = Some("/github/workspace/toolchain/syno-x64-6.2.4/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc")
          cargo:rerun-if-env-changed=CFLAGS_x86_64-unknown-linux-gnu
          CFLAGS_x86_64-unknown-linux-gnu = None
          cargo:rerun-if-env-changed=CFLAGS_x86_64_unknown_linux_gnu
          CFLAGS_x86_64_unknown_linux_gnu = None
          cargo:rerun-if-env-changed=HOST_CFLAGS
          HOST_CFLAGS = None
          cargo:rerun-if-env-changed=CFLAGS
          CFLAGS = Some("-I/github/workspace/toolchain/syno-x64-6.2.4/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/github/workspace/spk/flexget/work-x64-6.2.4/install/var/packages/flexget/target/include -I/github/workspace/spk/flexget/work-x64-6.2.4/install/var/packages/flexget/target/  -I/github/workspace/spk/python311/work-x64-6.2.4/install/var/packages/python311/target/include")
          cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
          CRATE_CC_NO_DEFAULTS = None
          DEBUG = Some("false")
          CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
          cargo:rerun-if-env-changed=CC_x86_64-unknown-linux-gnu
          CC_x86_64-unknown-linux-gnu = None
          cargo:rerun-if-env-changed=CC_x86_64_unknown_linux_gnu
          CC_x86_64_unknown_linux_gnu = None
          cargo:rerun-if-env-changed=HOST_CC
          HOST_CC = None
          cargo:rerun-if-env-changed=CC
          CC = Some("/github/workspace/toolchain/syno-x64-6.2.4/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc")
          cargo:rerun-if-env-changed=CFLAGS_x86_64-unknown-linux-gnu
          CFLAGS_x86_64-unknown-linux-gnu = None
          cargo:rerun-if-env-changed=CFLAGS_x86_64_unknown_linux_gnu
          CFLAGS_x86_64_unknown_linux_gnu = None
          cargo:rerun-if-env-changed=HOST_CFLAGS
          HOST_CFLAGS = None
          cargo:rerun-if-env-changed=CFLAGS
          CFLAGS = Some("-I/github/workspace/toolchain/syno-x64-6.2.4/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/github/workspace/spk/flexget/work-x64-6.2.4/install/var/packages/flexget/target/include -I/github/workspace/spk/flexget/work-x64-6.2.4/install/var/packages/flexget/target/  -I/github/workspace/spk/python311/work-x64-6.2.4/install/var/packages/python311/target/include")
          cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
          CRATE_CC_NO_DEFAULTS = None
          CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
          running: "/github/workspace/toolchain/syno-x64-6.2.4/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I/github/workspace/toolchain/syno-x64-6.2.4/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include" "-I/github/workspace/spk/flexget/work-x64-6.2.4/install/var/packages/flexget/target/include" "-I/github/workspace/spk/flexget/work-x64-6.2.4/install/var/packages/flexget/target/" "-I/github/workspace/spk/python311/work-x64-6.2.4/install/var/packages/python311/target/include" "-I" "c_src/mimalloc/include" "-I" "c_src/mimalloc/src" "-ftls-model=initial-exec" "-DMI_DEBUG=0" "-o" "/tmp/pip-wheel-iek31drf/pendulum_97bbe8dab6154a2db71918e1c51a496d/rust/target/x86_64-unknown-linux-gnu/release/build/libmimalloc-sys-3306e5fc695d5cf4/out/c_src/mimalloc/src/static.o" "-c" "c_src/mimalloc/src/static.c"
          cargo:warning=In file included from c_src/mimalloc/src/static.c:17:0:
          cargo:warning=c_src/mimalloc/include/mimalloc/internal.h: In function ‘mi_mem_is_zero’:
          cargo:warning=c_src/mimalloc/include/mimalloc/internal.h:319:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < size; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/include/mimalloc/internal.h:319:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code
          cargo:warning=In file included from c_src/mimalloc/src/static.c:17:0:
          cargo:warning=c_src/mimalloc/include/mimalloc/internal.h: In function ‘mi_commit_mask_create_empty’:
          cargo:warning=c_src/mimalloc/include/mimalloc/internal.h:698:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < MI_COMMIT_MASK_FIELD_COUNT; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/include/mimalloc/internal.h: In function ‘mi_commit_mask_create_full’:
          cargo:warning=c_src/mimalloc/include/mimalloc/internal.h:704:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < MI_COMMIT_MASK_FIELD_COUNT; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/include/mimalloc/internal.h: In function ‘mi_commit_mask_is_empty’:
          cargo:warning=c_src/mimalloc/include/mimalloc/internal.h:710:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < MI_COMMIT_MASK_FIELD_COUNT; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/include/mimalloc/internal.h: In function ‘mi_commit_mask_is_full’:
          cargo:warning=c_src/mimalloc/include/mimalloc/internal.h:717:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < MI_COMMIT_MASK_FIELD_COUNT; i++) {
          cargo:warning=   ^
          cargo:warning=In file included from c_src/mimalloc/src/static.c:26:0:
          cargo:warning=c_src/mimalloc/src/arena.c: In function ‘mi_arena_try_alloc’:
          cargo:warning=c_src/mimalloc/src/arena.c:320:5: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=     for (size_t i = 0; i < max_arena; i++) {
          cargo:warning=     ^
          cargo:warning=c_src/mimalloc/src/arena.c:327:7: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=       for (size_t i = 0; i < max_arena; i++) {
          cargo:warning=       ^
          cargo:warning=c_src/mimalloc/src/arena.c: In function ‘mi_arena_try_purge’:
          cargo:warning=c_src/mimalloc/src/arena.c:528:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < arena->field_count; i++) {
          cargo:warning=   ^
          cargo:warning=In file included from c_src/mimalloc/include/mimalloc/types.h:24:0,
          cargo:warning=                 from c_src/mimalloc/include/mimalloc/internal.h:17,
          cargo:warning=                 from c_src/mimalloc/src/static.c:17:
          cargo:warning=c_src/mimalloc/src/arena.c: In function ‘mi_arenas_try_purge’:
          cargo:warning=c_src/mimalloc/include/mimalloc/atomic.h:313:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for(bool _mi_guard_once = true; \
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/arena.c:578:3: note: in expansion of macro ‘mi_atomic_guard’
          cargo:warning=   mi_atomic_guard(&purge_guard)
          cargo:warning=   ^
          cargo:warning=In file included from c_src/mimalloc/src/static.c:26:0:
          cargo:warning=c_src/mimalloc/src/arena.c:582:5: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=     for (size_t i = 0; i < max_arena; i++) {
          cargo:warning=     ^
          cargo:warning=c_src/mimalloc/src/arena.c: In function ‘mi_arenas_unsafe_destroy’:
          cargo:warning=c_src/mimalloc/src/arena.c:684:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < max_arena; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/arena.c: In function ‘_mi_arena_contains’:
          cargo:warning=c_src/mimalloc/src/arena.c:718:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < max_arena; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/arena.c: In function ‘mi_debug_show_bitmap’:
          cargo:warning=c_src/mimalloc/src/arena.c:843:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < field_count; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/arena.c:846:5: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=     for (size_t bit = 0; bit < MI_BITMAP_FIELD_BITS; bit++) {
          cargo:warning=     ^
          cargo:warning=c_src/mimalloc/src/arena.c: In function ‘mi_debug_show_arenas’:
          cargo:warning=c_src/mimalloc/src/arena.c:859:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < max_arenas; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/arena.c: In function ‘mi_reserve_huge_os_pages_interleave’:
          cargo:warning=c_src/mimalloc/src/arena.c:912:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t numa_node = 0; numa_node < numa_count && pages > 0; numa_node++) {
          cargo:warning=   ^
          cargo:warning=In file included from c_src/mimalloc/src/static.c:27:0:
          cargo:warning=c_src/mimalloc/src/bitmap.c: In function ‘_mi_bitmap_try_find_from_claim’:
          cargo:warning=c_src/mimalloc/src/bitmap.c:102:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t visited = 0; visited < bitmap_fields; visited++, idx++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/bitmap.c: In function ‘_mi_bitmap_try_find_from_claim_pred’:
          cargo:warning=c_src/mimalloc/src/bitmap.c:117:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t visited = 0; visited < bitmap_fields; visited++, idx++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/bitmap.c: In function ‘_mi_bitmap_try_find_from_claim_across’:
          cargo:warning=c_src/mimalloc/src/bitmap.c:303:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t visited = 0; visited < bitmap_fields; visited++, idx++) {
          cargo:warning=   ^
          cargo:warning=In file included from c_src/mimalloc/src/static.c:28:0:
          cargo:warning=c_src/mimalloc/src/heap.c: In function ‘mi_heap_visit_pages’:
          cargo:warning=c_src/mimalloc/src/heap.c:37:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i <= MI_BIN_FULL; i++) {
          cargo:warning=   ^
          cargo:warning=In file included from c_src/mimalloc/src/static.c:28:0:
          cargo:warning=c_src/mimalloc/src/heap.c: In function ‘mi_heap_absorb’:
          cargo:warning=c_src/mimalloc/src/heap.c:397:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i <= MI_BIN_FULL; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/heap.c: In function ‘mi_heap_area_visit_blocks’:
          cargo:warning=c_src/mimalloc/src/heap.c:540:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (mi_block_t* block = page->free; block != NULL; block = mi_block_next(page,block)) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/heap.c:559:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < page->capacity; i++) {
          cargo:warning=   ^
          cargo:warning=In file included from c_src/mimalloc/src/static.c:29:0:
          cargo:warning=c_src/mimalloc/src/init.c: In function ‘mi_thread_data_zalloc’:
          cargo:warning=c_src/mimalloc/src/init.c:222:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (int i = 0; i < TD_CACHE_SIZE; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/init.c: In function ‘mi_thread_data_free’:
          cargo:warning=c_src/mimalloc/src/init.c:259:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (int i = 0; i < TD_CACHE_SIZE; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/init.c: In function ‘_mi_thread_data_collect’:
          cargo:warning=c_src/mimalloc/src/init.c:274:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (int i = 0; i < TD_CACHE_SIZE; i++) {
          cargo:warning=   ^
          cargo:warning=In file included from c_src/mimalloc/src/static.c:30:0:
          cargo:warning=c_src/mimalloc/src/options.c: In function ‘_mi_options_init’:
          cargo:warning=c_src/mimalloc/src/options.c:101:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for(int i = 0; i < _mi_option_last; i++ ) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/options.c: In function ‘mi_option_init’:
          cargo:warning=c_src/mimalloc/src/options.c:523:5: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=     for (size_t i = 0; i < len; i++) {
          cargo:warning=     ^
          cargo:warning=In file included from c_src/mimalloc/src/page.c:23:0,
          cargo:warning=                 from c_src/mimalloc/src/static.c:32:
          cargo:warning=c_src/mimalloc/src/page-queue.c: In function ‘mi_heap_queue_first_update’:
          cargo:warning=c_src/mimalloc/src/page-queue.c:195:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t sz = start; sz <= idx; sz++) {
          cargo:warning=   ^
          cargo:warning=In file included from c_src/mimalloc/src/page.c:23:0,
          cargo:warning=                 from c_src/mimalloc/src/static.c:32:
          cargo:warning=c_src/mimalloc/src/page-queue.c: In function ‘_mi_page_queue_append’:
          cargo:warning=c_src/mimalloc/src/page-queue.c:305:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (mi_page_t* page = append->first; page != NULL; page = page->next) {
          cargo:warning=   ^
          cargo:warning=In file included from c_src/mimalloc/src/static.c:32:0:
          cargo:warning=c_src/mimalloc/src/page.c: In function ‘_mi_heap_collect_retired’:
          cargo:warning=c_src/mimalloc/src/page.c:476:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for(size_t bin = heap->page_retired_min; bin <= heap->page_retired_max; bin++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/page.c: In function ‘mi_page_free_list_extend_secure’:
          cargo:warning=c_src/mimalloc/src/page.c:532:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < slice_count; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/page.c:546:15: error: redefinition of ‘i’
          cargo:warning=   for (size_t i = 1; i < extend; i++) {
          cargo:warning=               ^
          cargo:warning=c_src/mimalloc/src/page.c:532:15: note: previous definition of ‘i’ was here
          cargo:warning=   for (size_t i = 0; i < slice_count; i++) {
          cargo:warning=               ^
          cargo:warning=c_src/mimalloc/src/page.c:546:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 1; i < extend; i++) {
          cargo:warning=   ^
          cargo:warning=In file included from c_src/mimalloc/src/static.c:33:0:
          cargo:warning=c_src/mimalloc/src/random.c: In function ‘chacha_block’:
          cargo:warning=c_src/mimalloc/src/random.c:51:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < 16; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/random.c:54:15: error: redefinition of ‘i’
          cargo:warning=   for (size_t i = 0; i < MI_CHACHA_ROUNDS; i += 2) {
          cargo:warning=               ^
          cargo:warning=c_src/mimalloc/src/random.c:51:15: note: previous definition of ‘i’ was here
          cargo:warning=   for (size_t i = 0; i < 16; i++) {
          cargo:warning=               ^
          cargo:warning=c_src/mimalloc/src/random.c:54:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < MI_CHACHA_ROUNDS; i += 2) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/random.c:66:15: error: redefinition of ‘i’
          cargo:warning=   for (size_t i = 0; i < 16; i++) {
          cargo:warning=               ^
          cargo:warning=c_src/mimalloc/src/random.c:54:15: note: previous definition of ‘i’ was here
          cargo:warning=   for (size_t i = 0; i < MI_CHACHA_ROUNDS; i += 2) {
          cargo:warning=               ^
          cargo:warning=c_src/mimalloc/src/random.c:66:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < 16; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/random.c: In function ‘chacha_init’:
          cargo:warning=c_src/mimalloc/src/random.c:103:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < 4; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/random.c:107:15: error: redefinition of ‘i’
          cargo:warning=   for (size_t i = 0; i < 8; i++) {
          cargo:warning=               ^
          cargo:warning=c_src/mimalloc/src/random.c:103:15: note: previous definition of ‘i’ was here
          cargo:warning=   for (size_t i = 0; i < 4; i++) {
          cargo:warning=               ^
          cargo:warning=c_src/mimalloc/src/random.c:107:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < 8; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/random.c: In function ‘_mi_os_random_weak’:
          cargo:warning=c_src/mimalloc/src/random.c:166:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (uintptr_t i = 0; i < max; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/random.c: In function ‘mi_random_init_ex’:
          cargo:warning=c_src/mimalloc/src/random.c:182:5: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=     for (size_t i = 0; i < 8; i++) {  // key is eight 32-bit words.
          cargo:warning=     ^
          cargo:warning=In file included from c_src/mimalloc/src/static.c:34:0:
          cargo:warning=c_src/mimalloc/src/segment.c: In function ‘mi_commit_mask_all_set’:
          cargo:warning=c_src/mimalloc/src/segment.c:24:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < MI_COMMIT_MASK_FIELD_COUNT; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/segment.c: In function ‘mi_commit_mask_any_set’:
          cargo:warning=c_src/mimalloc/src/segment.c:31:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < MI_COMMIT_MASK_FIELD_COUNT; i++) {
          cargo:warning=   ^
          cargo:warning=In file included from c_src/mimalloc/src/static.c:34:0:
          cargo:warning=c_src/mimalloc/src/segment.c: In function ‘mi_commit_mask_create_intersect’:
          cargo:warning=c_src/mimalloc/src/segment.c:38:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < MI_COMMIT_MASK_FIELD_COUNT; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/segment.c: In function ‘mi_commit_mask_clear’:
          cargo:warning=c_src/mimalloc/src/segment.c:44:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < MI_COMMIT_MASK_FIELD_COUNT; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/segment.c: In function ‘mi_commit_mask_set’:
          cargo:warning=c_src/mimalloc/src/segment.c:50:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < MI_COMMIT_MASK_FIELD_COUNT; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/segment.c: In function ‘_mi_commit_mask_committed_size’:
          cargo:warning=c_src/mimalloc/src/segment.c:85:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 0; i < MI_COMMIT_MASK_FIELD_COUNT; i++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/segment.c: In function ‘mi_segment_span_allocate’:
          cargo:warning=c_src/mimalloc/src/segment.c:724:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (size_t i = 1; i <= extra; i++, slice_next++) {
          cargo:warning=   ^
          cargo:warning=c_src/mimalloc/src/segment.c: In function ‘mi_segments_page_find_and_allocate’:
          cargo:warning=c_src/mimalloc/src/segment.c:765:5: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=     for (mi_slice_t* slice = sq->first; slice != NULL; slice = slice->next) {
          cargo:warning=     ^
          cargo:warning=In file included from c_src/mimalloc/src/static.c:36:0:
          cargo:warning=c_src/mimalloc/src/stats.c: In function ‘mi_buffered_out’:
          cargo:warning=c_src/mimalloc/src/stats.c:292:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (const char* src = msg; *src != 0; src++) {
          cargo:warning=   ^
          cargo:warning=In file included from c_src/mimalloc/src/prim/prim.c:22:0,
          cargo:warning=                 from c_src/mimalloc/src/static.c:37:
          cargo:warning=c_src/mimalloc/src/prim/unix/prim.c: In function ‘_mi_prim_getenv’:
          cargo:warning=c_src/mimalloc/src/prim/unix/prim.c:695:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
          cargo:warning=   for (int i = 0; i < 10000 && env[i] != NULL; i++) {
          cargo:warning=   ^
          cargo:warning=In file included from c_src/mimalloc/src/static.c:23:0:
          cargo:warning=c_src/mimalloc/src/static.c: At top level:
          cargo:warning=c_src/mimalloc/src/alloc.c:673:7: warning: ‘mi_count_size_overflow’ is static but used in inline function ‘mi_heap_calloc’ which is not static
          cargo:warning=   if (mi_count_size_overflow(count,size,&total)) return NULL;
          cargo:warning=       ^
          cargo:warning=c_src/mimalloc/src/alloc.c:176:25: warning: ‘mi_prim_get_default_heap’ is static but used in inline function ‘mi_malloc’ which is not static
          cargo:warning=   return mi_heap_malloc(mi_prim_get_default_heap(), size);
          cargo:warning=                         ^
          cargo:warning=In file included from c_src/mimalloc/src/static.c:23:0:
          cargo:warning=c_src/mimalloc/src/alloc.c:145:12: warning: ‘mi_heap_malloc_small_zero’ is static but used in inline function ‘_mi_heap_malloc_zero_ex’ which is not static
          cargo:warning=     return mi_heap_malloc_small_zero(heap, size, zero);
          cargo:warning=            ^
          cargo:warning=c_src/mimalloc/src/alloc.c:138:31: warning: ‘mi_prim_get_default_heap’ is static but used in inline function ‘mi_malloc_small’ which is not static
          cargo:warning=   return mi_heap_malloc_small(mi_prim_get_default_heap(), size);
          cargo:warning=                               ^
          cargo:warning=c_src/mimalloc/src/alloc.c:134:10: warning: ‘mi_heap_malloc_small_zero’ is static but used in inline function ‘mi_heap_malloc_small’ which is not static
          cargo:warning=   return mi_heap_malloc_small_zero(heap, size, false);
          cargo:warning=          ^
          cargo:warning=c_src/mimalloc/src/alloc.c:60:7: warning: ‘_mi_memzero_aligned’ is static but used in inline function ‘_mi_page_malloc’ which is not static
          cargo:warning=       _mi_memzero_aligned(block, page->xblock_size - MI_PADDING_SIZE);
          cargo:warning=       ^
          cargo:warning=c_src/mimalloc/src/alloc.c:38:16: warning: ‘mi_block_next’ is static but used in inline function ‘_mi_page_malloc’ which is not static
          cargo:warning=   page->free = mi_block_next(page, block);
          cargo:warning=                ^
          exit status: 1
        
          --- stderr
        
        
          error occurred: Command "/github/workspace/toolchain/syno-x64-6.2.4/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I/github/workspace/toolchain/syno-x64-6.2.4/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include" "-I/github/workspace/spk/flexget/work-x64-6.2.4/install/var/packages/flexget/target/include" "-I/github/workspace/spk/flexget/work-x64-6.2.4/install/var/packages/flexget/target/" "-I/github/workspace/spk/python311/work-x64-6.2.4/install/var/packages/python311/target/include" "-I" "c_src/mimalloc/include" "-I" "c_src/mimalloc/src" "-ftls-model=initial-exec" "-DMI_DEBUG=0" "-o" "/tmp/pip-wheel-iek31drf/pendulum_97bbe8dab6154a2db71918e1c51a496d/rust/target/x86_64-unknown-linux-gnu/release/build/libmimalloc-sys-3306e5fc695d5cf4/out/c_src/mimalloc/src/static.o" "-c" "c_src/mimalloc/src/static.c" with args "x86_64-pc-linux-gnu-gcc" did not execute successfully (status code exit status: 1).
        
        
        warning: build failed, waiting for other jobs to finish...
        💥 maturin failed
          Caused by: Failed to build a native library through cargo
          Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_ENVIRONMENT_SIGNATURE="cpython-3.11-64bit" PYO3_PYTHON="/github/workspace/spk/flexget/work-x64-6.2.4/crossenv-default/cross/bin/python" PYTHON_SYS_EXECUTABLE="/github/workspace/spk/flexget/work-x64-6.2.4/crossenv-default/cross/bin/python" "cargo" "rustc" "--target" "x86_64-unknown-linux-gnu" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/pip-wheel-iek31drf/pendulum_97bbe8dab6154a2db71918e1c51a496d/rust/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib"`
        Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/github/workspace/spk/flexget/work-x64-6.2.4/crossenv-default/cross/bin/python', '--compatibility', 'off'] returned non-zero exit status 1
        [end of output]
    
    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for pendulum
  Failed to build pendulum

Any guidance or suggestions on resolving these issues would be greatly appreciated!

@th0ma7
Copy link
Contributor

th0ma7 commented Jan 18, 2025

@mreid-tt here's how I normally proceed, taking flexget as example:

  1. build spk/python311
  2. adjust all versions from flexget requirement files using suggested versions from https://github.com/Flexget/Flexget/blob/develop/requirements.txt - You will have to play between the various pure vs crossenv files.
  3. remove all other wheels not mentioned by flexget requirement list
  4. build the package
  5. test on my 2x nas (x64 + armv7)

For cross-compiled wheels that does not build, I temporarely move them to requirements-pure.txt sometimes with no version attached, just so I can test an installation as at install time missing wheels will be downloaded automatically from pypi.

Then I try figuring out the 1-2 wheels causing issues.

Once you are at that point, to help you debug:

  1. rebase against master: I've now updated the wheel building code and that should help you a bit
  2. comment out your #WHEELS += from your makefile
  3. test building your wheel you have issue with by doing:
$ make wheelclean
$ make WHEELS="pendulum==3.0.0" wheel-aarch64-7.1 (or what ever arch)

If it is missing build dependencies then you will have to create a spk/python311/crossenv/requirements-pendulum-3.0.0.txt and include the missing dependencies this wheel requires to be included into the crossenv for it to build.

Otherwise it's a matter of playing with the build options. There's a few good examples you can refer to in python311-wheels.

Hopefully this helps a bit?

@mreid-tt
Copy link
Contributor Author

@th0ma7, I've done the re-base but now there are builds that appear to succeed but if you check the detailed logs the same failures exist but they seem to now just be skipped?

For example in the armv7 logs we still have this:

        warning: `_pendulum` (lib) generated 4 warnings
        error: could not compile `_pendulum` (lib) due to 1 previous error; 4 warnings emitted
        💥 maturin failed
          Caused by: Failed to build a native library through cargo
          Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_CONFIG_FILE="/tmp/pip-wheel-1ev52h2h/pendulum_076da2ead7ca4fcebf0eead584ec26ce/rust/target/maturin/pyo3-config-armv7-unknown-linux-gnueabihf-3.11.txt" PYO3_CROSS_LIB_DIR="/github/workspace/spk/python311/work-armv7-7.1/install/var/packages/python311/target/lib/python3.11" "cargo" "rustc" "--target" "armv7-unknown-linux-gnueabihf" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/pip-wheel-1ev52h2h/pendulum_076da2ead7ca4fcebf0eead584ec26ce/rust/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib"`
        Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/github/workspace/spk/flexget/work-armv7-7.1/crossenv-default/cross/bin/python', '--compatibility', 'off'] returned non-zero exit status 1
        [end of output]
    
    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for pendulum
  Failed to build pendulum

@th0ma7
Copy link
Contributor

th0ma7 commented Jan 18, 2025

@th0ma7, I've done the re-base but now there are builds that appear to succeed but if you check the detailed logs the same failures exist but they seem to now just be skipped?

For example in the armv7 logs we still have this:

        warning: `_pendulum` (lib) generated 4 warnings
        error: could not compile `_pendulum` (lib) due to 1 previous error; 4 warnings emitted
        💥 maturin failed
          Caused by: Failed to build a native library through cargo
          Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_CONFIG_FILE="/tmp/pip-wheel-1ev52h2h/pendulum_076da2ead7ca4fcebf0eead584ec26ce/rust/target/maturin/pyo3-config-armv7-unknown-linux-gnueabihf-3.11.txt" PYO3_CROSS_LIB_DIR="/github/workspace/spk/python311/work-armv7-7.1/install/var/packages/python311/target/lib/python3.11" "cargo" "rustc" "--target" "armv7-unknown-linux-gnueabihf" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/pip-wheel-1ev52h2h/pendulum_076da2ead7ca4fcebf0eead584ec26ce/rust/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib"`
        Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/github/workspace/spk/flexget/work-armv7-7.1/crossenv-default/cross/bin/python', '--compatibility', 'off'] returned non-zero exit status 1
        [end of output]
    
    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for pendulum
  Failed to build pendulum

Yeah, i noticed that too. I believe it only happens on armv7 when building the crossenv. Reinvoking the build process fixes that. I think that has been there since quite a long time and it does not impact the wheel build process as sufficient depwndencies are already available by then.

I'll investigate further and try to find a proper fix.

@mreid-tt
Copy link
Contributor Author

Yeah, i noticed that too. I believe it only happens on armv7 when building the crossenv. Reinvoking the build process fixes that. I think that has been there since quite a long time and it does not impact the wheel build process as sufficient depwndencies are already available by then.

I don't think it's only with arm7. I see the same with evansport-7.1 logs:

        warning: `_pendulum` (lib) generated 4 warnings
        error: could not compile `_pendulum` (lib) due to 1 previous error; 4 warnings emitted
        💥 maturin failed
          Caused by: Failed to build a native library through cargo
          Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_CONFIG_FILE="/tmp/pip-wheel-pe_inoyp/pendulum_12e670b9c083426eaebc439a3b10e454/rust/target/maturin/pyo3-config-i686-unknown-linux-gnu-3.11.txt" PYO3_CROSS_LIB_DIR="/github/workspace/spk/python311/work-evansport-7.1/install/var/packages/python311/target/lib/python3.11" "cargo" "rustc" "--target" "i686-unknown-linux-gnu" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/pip-wheel-pe_inoyp/pendulum_12e670b9c083426eaebc439a3b10e454/rust/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib"`
        Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/github/workspace/spk/flexget/work-evansport-7.1/crossenv-default/cross/bin/python', '--compatibility', 'off'] returned non-zero exit status 1
        [end of output]
    
    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for pendulum
  Failed to build pendulum

The example with hi3535-6.2.4 logs shows similar output as above:

        warning: build failed, waiting for other jobs to finish...
        💥 maturin failed
          Caused by: Failed to build a native library through cargo
          Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_CONFIG_FILE="/tmp/pip-wheel-nd4h3nki/pendulum_b969bfbc392b46a4a22ed6040abc7a73/rust/target/maturin/pyo3-config-armv7-unknown-linux-gnueabi-3.11.txt" PYO3_CROSS_LIB_DIR="/github/workspace/spk/python311/work-hi3535-6.2.4/install/var/packages/python311/target/lib/python3.11" "cargo" "rustc" "--target" "armv7-unknown-linux-gnueabi" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/pip-wheel-nd4h3nki/pendulum_b969bfbc392b46a4a22ed6040abc7a73/rust/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib"`
        Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/github/workspace/spk/flexget/work-hi3535-6.2.4/crossenv-default/cross/bin/python', '--compatibility', 'off'] returned non-zero exit status 1
        [end of output]
    
    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for pendulum
  Failed to build pendulum

This is true as well for the 88f6281-6.2.4 logs:

        warning: build failed, waiting for other jobs to finish...
        💥 maturin failed
          Caused by: Failed to build a native library through cargo
          Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_CONFIG_FILE="/tmp/pip-wheel-athx_7w3/pendulum_2311e0b966fe475bbb0ee38b01312daf/rust/target/maturin/pyo3-config-armv5te-unknown-linux-gnueabi-3.11.txt" PYO3_CROSS_LIB_DIR="/github/workspace/spk/python311/work-88f6281-6.2.4/install/var/packages/python311/target/lib/python3.11" "cargo" "rustc" "--target" "armv5te-unknown-linux-gnueabi" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/pip-wheel-athx_7w3/pendulum_2311e0b966fe475bbb0ee38b01312daf/rust/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib"`
        Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/github/workspace/spk/flexget/work-88f6281-6.2.4/crossenv-default/cross/bin/python', '--compatibility', 'off'] returned non-zero exit status 1
        [end of output]
    
    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for pendulum
  Failed to build pendulum

@mreid-tt
Copy link
Contributor Author

mreid-tt commented Jan 18, 2025

Thanks for the detailed build guidance, @th0ma7. Unfortunately, it seems these instructions require a local build environment to execute the commands. As I don’t have access to any x86 platforms, I’ve been unable to set up a development environment and typically rely on GitHub builds for testing.

This limitation hasn’t been an issue with my work on the spkrepo, as that repository supports non-x86 architectures.

@mreid-tt
Copy link
Contributor Author

mreid-tt commented Jan 18, 2025

I'm not sure if @hgy59 can assist, but it seems the fix I initially implemented to resolve issues with building greenlet is encountering problems with the newer version. The arm7-6.2.4 log shows the following:

        In file included from src/greenlet/greenlet.cpp:43:0:
        src/greenlet/PyGreenlet.cpp:702:1: sorry, unimplemented: non-trivial designated initializers not supported
         };
         ^
[...]
        In file included from src/greenlet/greenlet.cpp:44:0:
        src/greenlet/PyGreenletUnswitchable.cpp:144:1: sorry, unimplemented: non-trivial designated initializers not supported
         };
         ^
[...]
        error: command '/github/workspace/toolchain/syno-armv7-6.2.4/work/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-g++' failed with exit code 1
        [end of output]
    
    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for greenlet
  Failed to build greenlet

The build worked fine for Compiling wheel [greenlet], version [3.0.3], type [crossenv] in ffsync, but it fails for Compiling wheel [greenlet], version [3.1.1], type [crossenv] in this package. There may be changes in the newer version causing this issue, but I couldn't find anything relevant in the release notes. Any insights would be appreciated.

@hgy59
Copy link
Contributor

hgy59 commented Jan 18, 2025

I guess we just have to drop support for DSM < 7 and comcerto2k here, due to outdated toolchains.

@mreid-tt
Copy link
Contributor Author

@th0ma7, I've revisited your examples in python311-wheels and successfully resolved the build issue with greenlet. Additionally, I adjusted the flags for pendulum based on the pycryptodome example, which resolved the build for 64-bit architectures.

However, the issue with pendulum on 32-bit architectures persists. It seems there's already a fix merged upstream (python-pendulum/pendulum#842), but it hasn’t yet been published in the repository.

Do we have the capability to patch the wheels code on the fly, or would I need to create a cross/pendulum for this?

@th0ma7
Copy link
Contributor

th0ma7 commented Jan 19, 2025

@th0ma7, I've revisited your examples in python311-wheels and successfully resolved the build issue with greenlet. Additionally, I adjusted the flags for pendulum based on the pycryptodome example, which resolved the build for 64-bit architectures.

Excellent!

However, the issue with pendulum on 32-bit architectures persists. It seems there's already a fix merged upstream (python-pendulum/pendulum#842), but it hasn’t yet been published in the repository.

Do we have the capability to patch the wheels code on the fly, or would I need to create a cross/pendulum for this?

No we don't unless we migrate it to cross/pendulum although the method for building wheels using spksrc.python-wheel.mk is no longer functional with newer standard and needs to be modified (one of the next things on my todo list).

Although there is an alternative using requirement files. if you look in deluge crossenv requirement file you'll find a git+https call for a version that either hasn't been released yet pointing to master or a specific branch such as:

git+https://github.com/deluge-torrent/deluge.git@8df36c454be320571005231a1c77cedb656557e1#egg=deluge==2.1.1.dev127
# Only supported on DSM7 armv7, aarch64, x64
git+https://github.com/arvidn/[email protected]#egg=libtorrent==2.0.10
# Use RC_2_0 for latest development snapshots
# git+https://github.com/arvidn/libtorrent.git@RC_2_0#egg=libtorrent==2.0.10

The egg part is what tells our build system what version this actually is. So in your case I did a quick test:

$ make WHEELS="git+https://github.com/python-pendulum/pendulum.git@master#egg=pendulum==3.0.0" wheel-x64-7.1
===>  make ARCH=x64 TCVERSION=7.1 WHEELS="git+https://github.com/python-pendulum/pendulum.git@master#egg=pendulum==1.0" wheel
===>  Processing wheel for python311
===>  Processing requirement [git+https://github.com/python-pendulum/pendulum.git@master#egg=pendulum==1.0]
===>  make ARCH=x64 TCVERSION=7.1 REQUIREMENT="git+https://github.com/python-pendulum/pendulum.git@master" WHEEL_NAME="pendulum" WHEEL_VERSION="1.0" WHEEL_TYPE="crossenv" wheel
===>  Downloading wheel [pendulum], version [1.0]
WARNING: Skipping download URL - Downloaded at build time
===>  Compiling wheel [pendulum], version [1.0], type [crossenv]
===>  make WHEEL_NAME="pendulum" WHEEL_VERSION="1.0" crossenv-x64-7.1
===>  make ARCH=x64 TCVERSION=7.1 WHEEL_NAME=pendulum WHEEL_VERSION=1.0 crossenv
make[4]: 'crossenv' is up to date.
===>  pip build [pendulum], version: [1.0]     
===>  crossenv: [/home/spksrc/wheel-cookie/spksrc/spk/python311/work-x64-7.1/crossenv-default]
===>  pip: [/home/spksrc/wheel-cookie/spksrc/spk/python311/work-x64-7.1/crossenv-default/bin/cross-pip]
===>  maturin: [/home/spksrc/wheel-cookie/spksrc/native/python311/work-native/install/usr/local/bin/maturin]
===>  _PYTHON_HOST_PLATFORM="x86_64-pc-linux-gnu" PATH=:/home/spksrc/wheel-cookie/spksrc/native/python311/work-native/install/usr/local/bin:/home/spksrc/wheel-cookie/spksrc/spk/python311/work-x64-7.1/crossenv-default/bin:/home/spksrc/wheel-cookie/spksrc/distrib/cargo/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games CMAKE_TOOLCHAIN_FILE= MESON_CROSS_FILE= cross-pip wheel --disable-pip-version-check --no-binary :all: --find-links /home/spksrc/wheel-cookie/spksrc/distrib/pip --cache-dir /home/spksrc/wheel-cookie/spksrc/spk/python311/work-x64-7.1/pip --no-deps --wheel-dir /home/spksrc/wheel-cookie/spksrc/spk/python311/work-x64-7.1/wheelhouse --no-index --no-build-isolation git+https://github.com/python-pendulum/pendulum.git@master
Looking in links: /home/spksrc/wheel-cookie/spksrc/distrib/pip
Collecting git+https://github.com/python-pendulum/pendulum.git@master
  Cloning https://github.com/python-pendulum/pendulum.git (to revision master) to /tmp/pip-req-build-tne0yodq
  Running command git clone --filter=blob:none --quiet https://github.com/python-pendulum/pendulum.git /tmp/pip-req-build-tne0yodq
  Resolved https://github.com/python-pendulum/pendulum.git to commit 76422468575b5817f7a58f3d05c26b480bf671a9
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: pendulum
  Building wheel for pendulum (pyproject.toml) ... done
  Created wheel for pendulum: filename=pendulum-3.0.0-cp311-cp311-linux_x86_64.whl size=379912 sha256=038e3d8e6f687bd9a2a0e8ade3adc32e12cc1d90688e45aca720d43fcf479c2b
  Stored in directory: /tmp/pip-ephem-wheel-cache-h70rszuj/wheels/78/80/54/d805f36247df398519eb7e6fe7c3fec7f4e9e3892491bf2d37
Successfully built pendulum

@hgy59
Copy link
Contributor

hgy59 commented Jan 19, 2025

@mreid-tt latest build failed due to wrong digests for pendulum

@hgy59
Copy link
Contributor

hgy59 commented Jan 19, 2025

@mreid-tt I guess you saw this issue? python-pendulum/pendulum#784

@hgy59
Copy link
Contributor

hgy59 commented Jan 19, 2025

Found an official debian patch for this issue
debian patches need PATCHES_LEVEL = 1

https://sources.debian.org/patches/pendulum/3.0.0-2/rust-Use-i64-for-internal-unix-timestamps.patch

and it was merged into pendulum master with this commit:
https://github.com/python-pendulum/pendulum/pull/842/files

@hgy59
Copy link
Contributor

hgy59 commented Jan 19, 2025

@mreid-tt cross build still does not work:

the same in my local environment:

make[4]: Leaving directory '/spksrc/cross/pendulum'
===>  Compiling for pendulum
===>  _PYTHON_HOST_PLATFORM=arm-unknown-linux-gnueabi cross-python3 -m build --wheel --outdir /spksrc/spk/flexget/work-armv7-7.1/wheelhouse
* Creating isolated environment: venv+pip...
* Installing packages in isolated environment:
  - maturin>=1.0,<2.0
* Getting build dependencies for wheel...
* Building wheel...
Running `maturin pep517 build-wheel -i /tmp/build-env-ow550mod/bin/python --compatibility off`
Traceback (most recent call last):
  File "/spksrc/spk/flexget/work-armv7-7.1/crossenv-default/build/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
    main()
  File "/spksrc/spk/flexget/work-armv7-7.1/crossenv-default/build/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 373, in main
    json_out["return_val"] = hook(**hook_input["kwargs"])
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/spksrc/spk/flexget/work-armv7-7.1/crossenv-default/build/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 280, in build_wheel
    return _build_backend().build_wheel(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/spksrc/spk/flexget/work-armv7-7.1/crossenv-default/build/lib/python3.11/site-packages/maturin/__init__.py", line 119, in build_wheel
    return _build_wheel(wheel_directory, config_settings, metadata_directory)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/spksrc/spk/flexget/work-armv7-7.1/crossenv-default/build/lib/python3.11/site-packages/maturin/__init__.py", line 100, in _build_wheel
    result = subprocess.run(command, stdout=subprocess.PIPE)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/spksrc/native/python311/work-native/install/usr/local/lib/python3.11/subprocess.py", line 548, in run
    with Popen(*popenargs, **kwargs) as process:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/spksrc/native/python311/work-native/install/usr/local/lib/python3.11/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/spksrc/native/python311/work-native/install/usr/local/lib/python3.11/subprocess.py", line 1955, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: 'maturin'

ERROR Backend subprocess exited when trying to invoke build_wheel
make[3]: *** [../../mk/spksrc.python-wheel.mk:40: build_python_wheel_target] Error 1
make[3]: Leaving directory '/spksrc/cross/pendulum'
make[2]: *** [../../mk/spksrc.depend.mk:54: depend_target] Error 2
make[2]: Leaving directory '/spksrc/spk/flexget'
make[1]: *** [../../mk/spksrc.supported.mk:74: build-arch-armv7-7.1] Error 1
make[1]: Leaving directory '/spksrc/spk/flexget'

But you had a green build pipeline for hours ago
https://github.com/SynoCommunity/spksrc/actions/runs/12852919269

Was this before the update with the current master?_

OK got it, 32-bit failed but errors were ignored...

@hgy59
Copy link
Contributor

hgy59 commented Jan 19, 2025

@th0ma7 it fails to cross compile pendulum

AFAICS it calls maturin for the target arch instead of the build arch (OSError: [Errno 8] Exec format error: 'maturin')

any bells are ringing?

@th0ma7
Copy link
Contributor

th0ma7 commented Jan 19, 2025

Yeah it does, i did encountered with requirement based pip builds. I assume this is from python-wheel.mk?

@mreid-tt
Copy link
Contributor Author

@hgy59, @th0ma7, thank you both for your guidance so far. I’ve decided to forego creating a cross/pendulum and instead use a specific commit from GitHub with the git+https approach suggested by @th0ma7. Based on the logs, this appears to be working successfully.

@mreid-tt
Copy link
Contributor Author

mreid-tt commented Jan 19, 2025

@th0ma7, I noticed that in earlier versions of the source repository, the requirements.txt file included additional libraries such as transmission-rpc. It seems these have now been moved to a sub-folder (https://github.com/Flexget/Flexget/tree/master/requirements), which also includes others like qbittorrent-api and python-telegram-bot. These don't seem to be installed by default but do you think I should include all of these in the current requirements?

EDIT: The pyproject.toml has this section:

[tool.hatch.metadata.hooks.requirements_txt.optional-dependencies]
deluge = ['requirements/deluge.txt']
locked = ['requirements.txt']
qbittorrent = ['requirements/qbittorrent.txt']
telegram = ['requirements/telegram.txt']
transmission = ['requirements/transmission.txt']
all = ['requirements/deluge.txt', 'requirements/qbittorrent.txt', 'requirements/telegram.txt', 'requirements/transmission.txt']

@th0ma7
Copy link
Contributor

th0ma7 commented Jan 19, 2025

I honestly have no clue on wetter including them or not...

And still, the issue found earlier needs fixing. Will look at it later today.

@hgy59
Copy link
Contributor

hgy59 commented Jan 19, 2025

Yeah it does, i did encountered with requirement based pip builds. I assume this is from python-wheel.mk?

yes, cross/pendulum/Makefile includes (included)
include ../../mk/spksrc.python-wheel.mk

OK, found it
To fix the build of cross/pendulum add the following in spk/flexxget/Makefile:

# prefer native python tools (pip, maturin, ...) used for pendulum
ENV += PATH=$(realpath $(WORK_DIR)/../../../native/$(PYTHON_PACKAGE)/work-native/install/usr/local/bin):$(PATH)

found similar in spk/sabnzbd/Makefile for orjson and in spk/homeassistant/Makefile (I guess for orjson too)

So the python-wheel solution for pendulum 3.0.0 (with a patch) would work too (tested armv7-7.1 so far).

@th0ma7
Copy link
Contributor

th0ma7 commented Jan 19, 2025

@hgy59 indeed, close enough, @mreid-tt would you mind testing #6409 out which would alleviate per spk based one liner?

@mreid-tt
Copy link
Contributor Author

mreid-tt commented Jan 19, 2025

I honestly have no clue on wetter including them or not...

Noted. I'll leave them out for now. The last thing I wanted to check is that in earlier versions of the requirements files some wheels were commented out as follows:

#certifi                     ==> py311
#six                         ==> py311

I assume these are so because they overlap with what Python 3.11 installs? Do I need to do this here?

And still, the issue found earlier needs fixing. Will look at it later today.
@mreid-tt would you mind testing #6409 out which would alleviate per spk based one liner?

Umm, would this be reintroducing the cross/pendulum stuff? Also, for testing would this be doing a merge commit from PR #6409?

@th0ma7
Copy link
Contributor

th0ma7 commented Jan 19, 2025

The last thing I wanted to check is that in earlier versions of the requirements files some wheels were commented out as follows:

#certifi                     ==> py311
#six                         ==> py311

I assume these are so because they overlap with what Python 3.11 installs? Do I need to do this here?

Yes, theses are part of the mandatory wheels already included in the python311 package, so no need to re-include them.

And still, the issue found earlier needs fixing. Will look at it later today.
@mreid-tt would you mind testing #6409 out which would alleviate per spk based one liner?

Umm, would this be reintroducing the cross/pendulum stuff? Also, for testing would this be doing a merge commit from PR #6409?

Forgot you don't have a build system locally. @hgy59 can you test that out with this specific use-case? I may be including additional small fixes to that PR.

@mreid-tt
Copy link
Contributor Author

@th0ma7, I've reintroduced the cross/pendulum build and added your changes. Most of the builds complete okay with a few rust warnings. This is not the case with the Build (hi3535-6.2.4) and Build (88f6281-6.2.4) as follows:

  error: failed to run custom build command for `libmimalloc-sys v0.1.35`
  
  Caused by:
    process didn't exit successfully: `/github/workspace/spk/flexget/work-hi3535-6.2.4/pendulum-3.0.0/rust/target/release/build/libmimalloc-sys-f9af0da6838433c9/build-script-build` (exit status: 1)
    --- stdout
    OPT_LEVEL = Some("3")
    TARGET = Some("armv7-unknown-linux-gnueabi")
    HOST = Some("x86_64-unknown-linux-gnu")
    cargo:rerun-if-env-changed=CC_armv7-unknown-linux-gnueabi
    CC_armv7-unknown-linux-gnueabi = None
    cargo:rerun-if-env-changed=CC_armv7_unknown_linux_gnueabi
    CC_armv7_unknown_linux_gnueabi = None
    cargo:rerun-if-env-changed=TARGET_CC
    TARGET_CC = None
    cargo:rerun-if-env-changed=CC
    CC = Some("/github/workspace/toolchain/syno-hi3535-6.2.4/work/arm-cortexa9-linux-gnueabi/bin/arm-cortexa9-linux-gnueabi-gcc")
    cargo:rerun-if-env-changed=CFLAGS_armv7-unknown-linux-gnueabi
    CFLAGS_armv7-unknown-linux-gnueabi = None
    cargo:rerun-if-env-changed=CFLAGS_armv7_unknown_linux_gnueabi
    CFLAGS_armv7_unknown_linux_gnueabi = None
    cargo:rerun-if-env-changed=TARGET_CFLAGS
    TARGET_CFLAGS = None
    cargo:rerun-if-env-changed=CFLAGS
    CFLAGS = Some("-I/github/workspace/toolchain/syno-hi3535-6.2.4/work/arm-cortexa9-linux-gnueabi/arm-cortexa9-linux-gnueabi/sysroot/usr/include -I/github/workspace/spk/flexget/work-hi3535-6.2.4/install/var/packages/flexget/target/include -std=c99")
    cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
    CRATE_CC_NO_DEFAULTS = None
    DEBUG = Some("false")
    CARGO_CFG_TARGET_FEATURE = None
    cargo:rerun-if-env-changed=CC_armv7-unknown-linux-gnueabi
    CC_armv7-unknown-linux-gnueabi = None
    cargo:rerun-if-env-changed=CC_armv7_unknown_linux_gnueabi
    CC_armv7_unknown_linux_gnueabi = None
    cargo:rerun-if-env-changed=TARGET_CC
    TARGET_CC = None
    cargo:rerun-if-env-changed=CC
    CC = Some("/github/workspace/toolchain/syno-hi3535-6.2.4/work/arm-cortexa9-linux-gnueabi/bin/arm-cortexa9-linux-gnueabi-gcc")
    cargo:rerun-if-env-changed=CFLAGS_armv7-unknown-linux-gnueabi
    CFLAGS_armv7-unknown-linux-gnueabi = None
    cargo:rerun-if-env-changed=CFLAGS_armv7_unknown_linux_gnueabi
    CFLAGS_armv7_unknown_linux_gnueabi = None
    cargo:rerun-if-env-changed=TARGET_CFLAGS
    TARGET_CFLAGS = None
    cargo:rerun-if-env-changed=CFLAGS
    CFLAGS = Some("-I/github/workspace/toolchain/syno-hi3535-6.2.4/work/arm-cortexa9-linux-gnueabi/arm-cortexa9-linux-gnueabi/sysroot/usr/include -I/github/workspace/spk/flexget/work-hi3535-6.2.4/install/var/packages/flexget/target/include -std=c99")
    cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
    CRATE_CC_NO_DEFAULTS = None
    CARGO_CFG_TARGET_FEATURE = None
    running: "/github/workspace/toolchain/syno-hi3535-6.2.4/work/arm-cortexa9-linux-gnueabi/bin/arm-cortexa9-linux-gnueabi-gcc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-march=armv7-a" "-I/github/workspace/toolchain/syno-hi3535-6.2.4/work/arm-cortexa9-linux-gnueabi/arm-cortexa9-linux-gnueabi/sysroot/usr/include" "-I/github/workspace/spk/flexget/work-hi3535-6.2.4/install/var/packages/flexget/target/include" "-std=c99" "-I" "c_src/mimalloc/include" "-I" "c_src/mimalloc/src" "-ftls-model=initial-exec" "-DMI_DEBUG=0" "-o" "/github/workspace/spk/flexget/work-hi3535-6.2.4/pendulum-3.0.0/rust/target/armv7-unknown-linux-gnueabi/release/build/libmimalloc-sys-18f85532ddeab15e/out/c_src/mimalloc/src/static.o" "-c" "c_src/mimalloc/src/static.c"
    cargo:warning=In file included from c_src/mimalloc/include/mimalloc/types.h:24:0,
    cargo:warning=                 from c_src/mimalloc/include/mimalloc/internal.h:17,
    cargo:warning=                 from c_src/mimalloc/src/static.c:17:
    cargo:warning=c_src/mimalloc/include/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
    cargo:warning= #include <stdatomic.h>
    cargo:warning=                       ^
    cargo:warning=compilation terminated.
    exit status: 1
  
    --- stderr
  
  
    error occurred: Command "/github/workspace/toolchain/syno-hi3535-6.2.4/work/arm-cortexa9-linux-gnueabi/bin/arm-cortexa9-linux-gnueabi-gcc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-march=armv7-a" "-I/github/workspace/toolchain/syno-hi3535-6.2.4/work/arm-cortexa9-linux-gnueabi/arm-cortexa9-linux-gnueabi/sysroot/usr/include" "-I/github/workspace/spk/flexget/work-hi3535-6.2.4/install/var/packages/flexget/target/include" "-std=c99" "-I" "c_src/mimalloc/include" "-I" "c_src/mimalloc/src" "-ftls-model=initial-exec" "-DMI_DEBUG=0" "-o" "/github/workspace/spk/flexget/work-hi3535-6.2.4/pendulum-3.0.0/rust/target/armv7-unknown-linux-gnueabi/release/build/libmimalloc-sys-18f85532ddeab15e/out/c_src/mimalloc/src/static.o" "-c" "c_src/mimalloc/src/static.c" with args "arm-cortexa9-linux-gnueabi-gcc" did not execute successfully (status code exit status: 1).
  
  
  warning: build failed, waiting for other jobs to finish...
  💥 maturin failed
    Caused by: Failed to build a native library through cargo
    Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_CONFIG_FILE="/github/workspace/spk/flexget/work-hi3535-6.2.4/pendulum-3.0.0/rust/target/maturin/pyo3-config-armv7-unknown-linux-gnueabi-3.11.txt" PYO3_CROSS_LIB_DIR="/github/workspace/spk/python311/work-hi3535-6.2.4/install/var/packages/python311/target/lib/python3.11" "cargo" "rustc" "--target" "armv7-unknown-linux-gnueabi" "--message-format" "json-render-diagnostics" "--manifest-path" "/github/workspace/spk/flexget/work-hi3535-6.2.4/pendulum-3.0.0/rust/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib"`
  Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/tmp/build-env-8gub2v2b/bin/python', '--compatibility', 'off'] returned non-zero exit status 1
  error: failed to run custom build command for `libmimalloc-sys v0.1.35`
  
  Caused by:
    process didn't exit successfully: `/github/workspace/spk/flexget/work-88f6281-6.2.4/pendulum-3.0.0/rust/target/release/build/libmimalloc-sys-2c659d2881843bcb/build-script-build` (exit status: 1)
    --- stdout
    OPT_LEVEL = Some("3")
    TARGET = Some("armv5te-unknown-linux-gnueabi")
    HOST = Some("x86_64-unknown-linux-gnu")
    cargo:rerun-if-env-changed=CC_armv5te-unknown-linux-gnueabi
    CC_armv5te-unknown-linux-gnueabi = None
    cargo:rerun-if-env-changed=CC_armv5te_unknown_linux_gnueabi
    CC_armv5te_unknown_linux_gnueabi = None
    cargo:rerun-if-env-changed=TARGET_CC
    TARGET_CC = None
    cargo:rerun-if-env-changed=CC
    CC = Some("/github/workspace/toolchain/syno-88f6281-6.2.4/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-gcc")
    cargo:rerun-if-env-changed=CFLAGS_armv5te-unknown-linux-gnueabi
    CFLAGS_armv5te-unknown-linux-gnueabi = None
    cargo:rerun-if-env-changed=CFLAGS_armv5te_unknown_linux_gnueabi
    CFLAGS_armv5te_unknown_linux_gnueabi = None
    cargo:rerun-if-env-changed=TARGET_CFLAGS
    TARGET_CFLAGS = None
    cargo:rerun-if-env-changed=CFLAGS
    CFLAGS = Some("-I/github/workspace/toolchain/syno-88f6281-6.2.4/work/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/usr/include -I/github/workspace/spk/flexget/work-88f6281-6.2.4/install/var/packages/flexget/target/include -std=c99")
    cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
    CRATE_CC_NO_DEFAULTS = None
    DEBUG = Some("false")
    CARGO_CFG_TARGET_FEATURE = None
    cargo:rerun-if-env-changed=CC_armv5te-unknown-linux-gnueabi
    CC_armv5te-unknown-linux-gnueabi = None
    cargo:rerun-if-env-changed=CC_armv5te_unknown_linux_gnueabi
    CC_armv5te_unknown_linux_gnueabi = None
    cargo:rerun-if-env-changed=TARGET_CC
    TARGET_CC = None
    cargo:rerun-if-env-changed=CC
    CC = Some("/github/workspace/toolchain/syno-88f6281-6.2.4/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-gcc")
    cargo:rerun-if-env-changed=CFLAGS_armv5te-unknown-linux-gnueabi
    CFLAGS_armv5te-unknown-linux-gnueabi = None
    cargo:rerun-if-env-changed=CFLAGS_armv5te_unknown_linux_gnueabi
    CFLAGS_armv5te_unknown_linux_gnueabi = None
    cargo:rerun-if-env-changed=TARGET_CFLAGS
    TARGET_CFLAGS = None
    cargo:rerun-if-env-changed=CFLAGS
    CFLAGS = Some("-I/github/workspace/toolchain/syno-88f6281-6.2.4/work/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/usr/include -I/github/workspace/spk/flexget/work-88f6281-6.2.4/install/var/packages/flexget/target/include -std=c99")
    cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
    CRATE_CC_NO_DEFAULTS = None
    CARGO_CFG_TARGET_FEATURE = None
    running: "/github/workspace/toolchain/syno-88f6281-6.2.4/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-gcc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-march=armv5te" "-marm" "-mfloat-abi=soft" "-I/github/workspace/toolchain/syno-88f6281-6.2.4/work/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/usr/include" "-I/github/workspace/spk/flexget/work-88f6281-6.2.4/install/var/packages/flexget/target/include" "-std=c99" "-I" "c_src/mimalloc/include" "-I" "c_src/mimalloc/src" "-ftls-model=initial-exec" "-DMI_DEBUG=0" "-o" "/github/workspace/spk/flexget/work-88f6281-6.2.4/pendulum-3.0.0/rust/target/armv5te-unknown-linux-gnueabi/release/build/libmimalloc-sys-e996b5465b4e5e21/out/c_src/mimalloc/src/static.o" "-c" "c_src/mimalloc/src/static.c"
    cargo:warning=In file included from c_src/mimalloc/include/mimalloc/types.h:24:0,
    cargo:warning=                 from c_src/mimalloc/include/mimalloc/internal.h:17,
    cargo:warning=                 from c_src/mimalloc/src/static.c:17:
    cargo:warning=c_src/mimalloc/include/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
    cargo:warning=compilation terminated.
    exit status: 1
  
    --- stderr
  
  
    error occurred: Command "/github/workspace/toolchain/syno-88f6281-6.2.4/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-gcc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-march=armv5te" "-marm" "-mfloat-abi=soft" "-I/github/workspace/toolchain/syno-88f6281-6.2.4/work/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/usr/include" "-I/github/workspace/spk/flexget/work-88f6281-6.2.4/install/var/packages/flexget/target/include" "-std=c99" "-I" "c_src/mimalloc/include" "-I" "c_src/mimalloc/src" "-ftls-model=initial-exec" "-DMI_DEBUG=0" "-o" "/github/workspace/spk/flexget/work-88f6281-6.2.4/pendulum-3.0.0/rust/target/armv5te-unknown-linux-gnueabi/release/build/libmimalloc-sys-e996b5465b4e5e21/out/c_src/mimalloc/src/static.o" "-c" "c_src/mimalloc/src/static.c" with args "arm-marvell-linux-gnueabi-gcc" did not execute successfully (status code exit status: 1).
  
  
  warning: build failed, waiting for other jobs to finish...
  💥 maturin failed
    Caused by: Failed to build a native library through cargo
    Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_CONFIG_FILE="/github/workspace/spk/flexget/work-88f6281-6.2.4/pendulum-3.0.0/rust/target/maturin/pyo3-config-armv5te-unknown-linux-gnueabi-3.11.txt" PYO3_CROSS_LIB_DIR="/github/workspace/spk/python311/work-88f6281-6.2.4/install/var/packages/python311/target/lib/python3.11" "cargo" "rustc" "--target" "armv5te-unknown-linux-gnueabi" "--message-format" "json-render-diagnostics" "--manifest-path" "/github/workspace/spk/flexget/work-88f6281-6.2.4/pendulum-3.0.0/rust/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib"`
  Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/tmp/build-env-18om_q_d/bin/python', '--compatibility', 'off'] returned non-zero exit status 1

@th0ma7
Copy link
Contributor

th0ma7 commented Jan 19, 2025

Thnx for testing it out. It also means it's most probably working 🚀 I'll be including this code in my PR for testing purpose then discard it before merging.

As for the error, it seems it needs support for atomic which isn't the case for armv5 if I recall (similar to openssl). @hgy59 may be able to do some magic around that? Out of curiosity, was it working using requirements with git+https url for those platforms?

@mreid-tt
Copy link
Contributor Author

As for the error, it seems it needs support for atomic which isn't the case for armv5 if I recall (similar to openssl). @hgy59 may be able to do some magic around that? Out of curiosity, was it working using requirements with git+https url for those platforms?

Now that I look at it more closely for the previous successful build, both platforms had errors like this:

    × Building wheel for pendulum (pyproject.toml) did not run successfully.
    │ exit code: 1
    ╰─> [101 lines of output]
        Running `maturin pep517 build-wheel -i /github/workspace/spk/flexget/work-hi3535-6.2.4/crossenv-default/cross/bin/python --compatibility off`
        📦 Including license file "/tmp/pip-req-build-tkh6qmv3/LICENSE"
        🍹 Building a mixed python/rust project
        🔗 Found pyo3 bindings
        🐍 Using host CPython 3.11 at /github/workspace/spk/flexget/work-hi3535-6.2.4/crossenv-default/cross/bin/python for cross-compiling preparation
        🐍 Found CPython 3.11
           Compiling target-lexicon v0.12.6
           Compiling python3-dll-a v0.2.9
           Compiling libc v0.2.139
           Compiling autocfg v1.1.0
           Compiling once_cell v1.17.1
           Compiling proc-macro2 v1.0.51
           Compiling unicode-ident v1.0.6
           Compiling quote v1.0.23
           Compiling syn v1.0.109
           Compiling pyo3-build-config v0.19.1
           Compiling lock_api v0.4.9
           Compiling parking_lot_core v0.9.7
           Compiling cc v1.0.79
           Compiling memoffset v0.9.0
           Compiling cfg-if v1.0.0
           Compiling scopeguard v1.1.0
           Compiling smallvec v1.10.0
           Compiling libmimalloc-sys v0.1.35
           Compiling parking_lot v0.12.1
           Compiling pyo3-ffi v0.19.1
        warning: [email protected]: In file included from c_src/mimalloc/include/mimalloc/types.h:24:0,
        warning: [email protected]:                  from c_src/mimalloc/include/mimalloc/internal.h:17,
        warning: [email protected]:                  from c_src/mimalloc/src/static.c:17:
        warning: [email protected]: c_src/mimalloc/include/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
        warning: [email protected]:  #include <stdatomic.h>
        warning: [email protected]:                        ^
        warning: [email protected]: compilation terminated.
        error: failed to run custom build command for `libmimalloc-sys v0.1.35`
        
        Caused by:
          process didn't exit successfully: `/tmp/pip-req-build-tkh6qmv3/rust/target/release/build/libmimalloc-sys-f9af0da6838433c9/build-script-build` (exit status: 1)
          --- stdout
          OPT_LEVEL = Some("3")
          TARGET = Some("armv7-unknown-linux-gnueabi")
          HOST = Some("x86_64-unknown-linux-gnu")
          cargo:rerun-if-env-changed=CC_armv7-unknown-linux-gnueabi
          CC_armv7-unknown-linux-gnueabi = None
          cargo:rerun-if-env-changed=CC_armv7_unknown_linux_gnueabi
          CC_armv7_unknown_linux_gnueabi = None
          cargo:rerun-if-env-changed=TARGET_CC
          TARGET_CC = None
          cargo:rerun-if-env-changed=CC
          CC = Some("/github/workspace/toolchain/syno-hi3535-6.2.4/work/arm-cortexa9-linux-gnueabi/bin/arm-cortexa9-linux-gnueabi-gcc")
          cargo:rerun-if-env-changed=CFLAGS_armv7-unknown-linux-gnueabi
          CFLAGS_armv7-unknown-linux-gnueabi = None
          cargo:rerun-if-env-changed=CFLAGS_armv7_unknown_linux_gnueabi
          CFLAGS_armv7_unknown_linux_gnueabi = None
          cargo:rerun-if-env-changed=TARGET_CFLAGS
          TARGET_CFLAGS = None
          cargo:rerun-if-env-changed=CFLAGS
          CFLAGS = Some("-I/github/workspace/toolchain/syno-hi3535-6.2.4/work/arm-cortexa9-linux-gnueabi/arm-cortexa9-linux-gnueabi/sysroot/usr/include -I/github/workspace/spk/flexget/work-hi3535-6.2.4/install/var/packages/flexget/target/include -I/github/workspace/spk/flexget/work-hi3535-6.2.4/install/var/packages/flexget/target/ -std=c99 -I/github/workspace/spk/python311/work-hi3535-6.2.4/install/var/packages/python311/target/include")
          cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
          CRATE_CC_NO_DEFAULTS = None
          DEBUG = Some("false")
          CARGO_CFG_TARGET_FEATURE = None
          cargo:rerun-if-env-changed=CC_armv7-unknown-linux-gnueabi
          CC_armv7-unknown-linux-gnueabi = None
          cargo:rerun-if-env-changed=CC_armv7_unknown_linux_gnueabi
          CC_armv7_unknown_linux_gnueabi = None
          cargo:rerun-if-env-changed=TARGET_CC
          TARGET_CC = None
          cargo:rerun-if-env-changed=CC
          CC = Some("/github/workspace/toolchain/syno-hi3535-6.2.4/work/arm-cortexa9-linux-gnueabi/bin/arm-cortexa9-linux-gnueabi-gcc")
          cargo:rerun-if-env-changed=CFLAGS_armv7-unknown-linux-gnueabi
          CFLAGS_armv7-unknown-linux-gnueabi = None
          cargo:rerun-if-env-changed=CFLAGS_armv7_unknown_linux_gnueabi
          CFLAGS_armv7_unknown_linux_gnueabi = None
          cargo:rerun-if-env-changed=TARGET_CFLAGS
          TARGET_CFLAGS = None
          cargo:rerun-if-env-changed=CFLAGS
          CFLAGS = Some("-I/github/workspace/toolchain/syno-hi3535-6.2.4/work/arm-cortexa9-linux-gnueabi/arm-cortexa9-linux-gnueabi/sysroot/usr/include -I/github/workspace/spk/flexget/work-hi3535-6.2.4/install/var/packages/flexget/target/include -I/github/workspace/spk/flexget/work-hi3535-6.2.4/install/var/packages/flexget/target/ -std=c99 -I/github/workspace/spk/python311/work-hi3535-6.2.4/install/var/packages/python311/target/include")
          cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
          CRATE_CC_NO_DEFAULTS = None
          CARGO_CFG_TARGET_FEATURE = None
          running: "/github/workspace/toolchain/syno-hi3535-6.2.4/work/arm-cortexa9-linux-gnueabi/bin/arm-cortexa9-linux-gnueabi-gcc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-march=armv7-a" "-I/github/workspace/toolchain/syno-hi3535-6.2.4/work/arm-cortexa9-linux-gnueabi/arm-cortexa9-linux-gnueabi/sysroot/usr/include" "-I/github/workspace/spk/flexget/work-hi3535-6.2.4/install/var/packages/flexget/target/include" "-I/github/workspace/spk/flexget/work-hi3535-6.2.4/install/var/packages/flexget/target/" "-std=c99" "-I/github/workspace/spk/python311/work-hi3535-6.2.4/install/var/packages/python311/target/include" "-I" "c_src/mimalloc/include" "-I" "c_src/mimalloc/src" "-ftls-model=initial-exec" "-DMI_DEBUG=0" "-o" "/tmp/pip-req-build-tkh6qmv3/rust/target/armv7-unknown-linux-gnueabi/release/build/libmimalloc-sys-18f85532ddeab15e/out/c_src/mimalloc/src/static.o" "-c" "c_src/mimalloc/src/static.c"
          cargo:warning=In file included from c_src/mimalloc/include/mimalloc/types.h:24:0,
          cargo:warning=                 from c_src/mimalloc/include/mimalloc/internal.h:17,
          cargo:warning=                 from c_src/mimalloc/src/static.c:17:
          cargo:warning=c_src/mimalloc/include/mimalloc/atomic.h:39:23: fatal error: stdatomic.h: No such file or directory
          cargo:warning= #include <stdatomic.h>
          cargo:warning=                       ^
          cargo:warning=compilation terminated.
          exit status: 1
        
          --- stderr
        
        
          error occurred: Command "/github/workspace/toolchain/syno-hi3535-6.2.4/work/arm-cortexa9-linux-gnueabi/bin/arm-cortexa9-linux-gnueabi-gcc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-march=armv7-a" "-I/github/workspace/toolchain/syno-hi3535-6.2.4/work/arm-cortexa9-linux-gnueabi/arm-cortexa9-linux-gnueabi/sysroot/usr/include" "-I/github/workspace/spk/flexget/work-hi3535-6.2.4/install/var/packages/flexget/target/include" "-I/github/workspace/spk/flexget/work-hi3535-6.2.4/install/var/packages/flexget/target/" "-std=c99" "-I/github/workspace/spk/python311/work-hi3535-6.2.4/install/var/packages/python311/target/include" "-I" "c_src/mimalloc/include" "-I" "c_src/mimalloc/src" "-ftls-model=initial-exec" "-DMI_DEBUG=0" "-o" "/tmp/pip-req-build-tkh6qmv3/rust/target/armv7-unknown-linux-gnueabi/release/build/libmimalloc-sys-18f85532ddeab15e/out/c_src/mimalloc/src/static.o" "-c" "c_src/mimalloc/src/static.c" with args "arm-cortexa9-linux-gnueabi-gcc" did not execute successfully (status code exit status: 1).
        
        
        warning: build failed, waiting for other jobs to finish...
        💥 maturin failed
          Caused by: Failed to build a native library through cargo
          Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_CONFIG_FILE="/tmp/pip-req-build-tkh6qmv3/rust/target/maturin/pyo3-config-armv7-unknown-linux-gnueabi-3.11.txt" PYO3_CROSS_LIB_DIR="/github/workspace/spk/python311/work-hi3535-6.2.4/install/var/packages/python311/target/lib/python3.11" "cargo" "rustc" "--target" "armv7-unknown-linux-gnueabi" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/pip-req-build-tkh6qmv3/rust/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib"`
        Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/github/workspace/spk/flexget/work-hi3535-6.2.4/crossenv-default/cross/bin/python', '--compatibility', 'off'] returned non-zero exit status 1
        [end of output]
    
    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for pendulum

@mreid-tt mreid-tt force-pushed the flexget-update branch 2 times, most recently from 578e52a to 58dbd08 Compare January 19, 2025 20:15
@mreid-tt
Copy link
Contributor Author

@th0ma7, I've applied the following restrictions to the Makefile and it seems to build cleanly now:

# toolchains lacking atomic support
UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) $(ARMv5_ARCHS) $(ARMv7L_ARCHS)

hgy59 added a commit to mreid-tt/spksrc that referenced this pull request Jan 21, 2025
hgy59 added a commit to th0ma7/spksrc that referenced this pull request Jan 21, 2025
th0ma7 pushed a commit to th0ma7/spksrc that referenced this pull request Jan 25, 2025
th0ma7 added a commit that referenced this pull request Jan 26, 2025
* python-wheel.mk: Test fix for maturin built based wheels

* add pendulum-wheel

- add cross/pendulum with patch for 32-bit archs
- add cross/pendulum to python311-wheels

* python-wheels.mk: Align method for wheel-compile and python-module

* wheel.mk: Fix typo and disable main wheel cookie

* python3*-wheels: pendulum reqquires atomic to build

* wheel.mk: Fix type where CROSSENV_WHEEL_PATH needs using :=

* python311/numpy: Simplify crossenv definitions

* wheel-compile.mk: Fix crossenv finding using wheel variables

* cross/pendulum: synchronize between #6403 and #6409

* python312: Remove deprecated numpy crossenv definition files

* python-wheel|module.mk: Fix typo in crossenv call and standardize

* python312: Update all wheels to latest version

* python311-wheels: Remove maturin PATH definition as no more needed

* python312-wheels: Update all wheels to latest versions

* wheel.mk: Numerous fixes for non-impactful warnings or errors

* py311-312: Keep msgpack to 1.0.5 for it to build with gcc 4.9.x

* borgbackup: Fix build of newer version

* py312-wheels: Disable poetry as it fails to build

* python312-wheels: Disable pydantic_core as it fails to build

* pydantic-core: Migrate python-wheel.mk build as fails using pip

* wheel.mk: Enforce exiting on error during while loop

* python313: Update default wheels and crossenv definition

* python311: Update default wheels and crossenv definitions

* python313-wheels: Creation of initial package

* python.mk: Only python-wheels.mk entries remove when symlinks

* python-wheel.mk: Enable compile, install and plist status cookie

* pillow: Migrate from pip build to cross/pillow

* pillow: Handle older gcc versions

* py312-313: Handle rpds-py and greenlet exceptions

* py312-313: Extra requirement for rpds-py with newer gcc

* Update cross/pillow/Makefile

Co-authored-by: hgy59 <[email protected]>

---------

Co-authored-by: hgy59 <[email protected]>
@mreid-tt
Copy link
Contributor Author

mreid-tt commented Jan 26, 2025

@th0ma7, I’ve removed the test code and integrated your updated implementation of pendulum. I propose merging and publishing this version, followed by a separate release to incorporate Python 3.1.2. What are your thoughts on this approach?

@mreid-tt mreid-tt merged commit 319c888 into SynoCommunity:master Jan 26, 2025
15 checks passed
@mreid-tt mreid-tt deleted the flexget-update branch January 26, 2025 17:25
@hgy59
Copy link
Contributor

hgy59 commented Jan 26, 2025

@mreid-tt does flexget still work after merge?
I have issues with the octoprint package. On the current master octoprint successfully builds (still for python311) but at runtime it does not run (and does not report any error).
The only difference to the latest published package is, that the wheels are now built with setuptools (75.8.0) (the working package has wheels built with bdist_wheel (0.41.2)) and PyYaml is currently 6.0.2 (the working package has 6.0.1) but PyYaml 6.0.1 fails to build on current master.

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

mreid-tt commented Jan 26, 2025

@hgy59, I performed a clean install on DSM 6 with the one published to the repo and it installed without issue on my VirtualDSM.

Install Log
2025/01/26 15:17:35	install flexget 3.13.16-14 Begin preinst
2025/01/26 15:17:35	Begin initialize_variables
2025/01/26 15:17:35	End initialize_variables
2025/01/26 15:17:35	===> Step preinst. STATUS=INSTALL USER=flexget GROUP= SHARE_PATH=
2025/01/26 15:17:35	install flexget 3.13.16-14 End preinst ret=[0]
2025/01/26 15:17:35	install flexget 3.13.16-14 Begin /bin/rm -rf /volume1/@appstore/flexget
2025/01/26 15:17:35	install flexget 3.13.16-14 End /bin/rm -rf /volume1/@appstore/flexget ret=[0]
2025/01/26 15:17:35	install flexget 3.13.16-14 Begin /bin/mv -f /volume1/@tmp/pkginstall/package /volume1/@appstore/flexget
2025/01/26 15:17:35	install flexget 3.13.16-14 End /bin/mv -f /volume1/@tmp/pkginstall/package /volume1/@appstore/flexget ret=[0]
2025/01/26 15:17:35	install flexget 3.13.16-14 Begin /bin/rm -rf /var/packages/flexget
2025/01/26 15:17:35	install flexget 3.13.16-14 End /bin/rm -rf /var/packages/flexget ret=[0]
2025/01/26 15:17:36	install flexget 3.13.16-14 Begin /bin/mkdir -p /var/packages/flexget
2025/01/26 15:17:36	install flexget 3.13.16-14 End /bin/mkdir -p /var/packages/flexget ret=[0]
2025/01/26 15:17:36	install flexget 3.13.16-14 Begin /bin/mv -f /volume1/@tmp/pkginstall/INFO /var/packages/flexget/INFO
2025/01/26 15:17:36	install flexget 3.13.16-14 End /bin/mv -f /volume1/@tmp/pkginstall/INFO /var/packages/flexget/INFO ret=[0]
2025/01/26 15:17:36	install flexget 3.13.16-14 Begin /bin/rm -rf /var/packages/flexget/scripts
2025/01/26 15:17:36	install flexget 3.13.16-14 End /bin/rm -rf /var/packages/flexget/scripts ret=[0]
2025/01/26 15:17:36	install flexget 3.13.16-14 Begin /bin/mv -f /volume1/@tmp/pkginstall/scripts /var/packages/flexget/scripts
2025/01/26 15:17:36	install flexget 3.13.16-14 End /bin/mv -f /volume1/@tmp/pkginstall/scripts /var/packages/flexget/scripts ret=[0]
2025/01/26 15:17:36	install flexget 3.13.16-14 Begin /bin/rm -rf /var/packages/flexget/WIZARD_UIFILES
2025/01/26 15:17:36	install flexget 3.13.16-14 End /bin/rm -rf /var/packages/flexget/WIZARD_UIFILES ret=[0]
2025/01/26 15:17:36	install flexget 3.13.16-14 Begin /bin/mv -f /volume1/@tmp/pkginstall/WIZARD_UIFILES /var/packages/flexget/WIZARD_UIFILES
2025/01/26 15:17:36	install flexget 3.13.16-14 End /bin/mv -f /volume1/@tmp/pkginstall/WIZARD_UIFILES /var/packages/flexget/WIZARD_UIFILES ret=[0]
2025/01/26 15:17:36	install flexget 3.13.16-14 Begin /bin/rm -rf /var/packages/flexget/conf
2025/01/26 15:17:36	install flexget 3.13.16-14 End /bin/rm -rf /var/packages/flexget/conf ret=[0]
2025/01/26 15:17:36	install flexget 3.13.16-14 Begin /bin/mv -f /volume1/@tmp/pkginstall/conf /var/packages/flexget/conf
2025/01/26 15:17:36	install flexget 3.13.16-14 End /bin/mv -f /volume1/@tmp/pkginstall/conf /var/packages/flexget/conf ret=[0]
2025/01/26 15:17:43	install flexget 3.13.16-14 Begin postinst
2025/01/26 15:17:44	Begin initialize_variables
2025/01/26 15:17:44	End initialize_variables
2025/01/26 15:17:44	===> Step postinst. STATUS=INSTALL USER=flexget GROUP= SHARE_PATH=
2025/01/26 15:17:44	Begin save_wizard_variables
2025/01/26 15:17:44	End save_wizard_variables
2025/01/26 15:17:44	Begin service_postinst
2025/01/26 15:17:44	Python 3.11.10
2025/01/26 15:17:55	Default pip version 24.2
2025/01/26 15:18:19	Granting 'sc-flexget' unix ownership on /volume1/@appstore/flexget/env
2025/01/26 15:18:19	Install packages from wheels
2025/01/26 15:18:19	Install packages from wheels [/volume1/@appstore/flexget/share/wheelhouse/requirements.txt]
2025/01/26 15:18:23	Looking in links: /volume1/@appstore/flexget/share/wheelhouse
2025/01/26 15:18:24	Collecting APScheduler==3.11.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 1))
2025/01/26 15:18:25	  Downloading APScheduler-3.11.0-py3-none-any.whl.metadata (6.4 kB)
2025/01/26 15:18:27	Collecting Brotli==1.1.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 2))
2025/01/26 15:18:27	  Downloading Brotli-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.5 kB)
2025/01/26 15:18:29	Collecting CherryPy==18.10.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 3))
2025/01/26 15:18:30	  Downloading CherryPy-18.10.0-py3-none-any.whl.metadata (8.7 kB)
2025/01/26 15:18:31	Collecting Flask-Compress==1.17 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 4))
2025/01/26 15:18:32	  Downloading Flask_Compress-1.17-py3-none-any.whl.metadata (8.8 kB)
2025/01/26 15:18:33	Collecting Flask-Cors==5.0.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 5))
2025/01/26 15:18:34	  Downloading Flask_Cors-5.0.0-py2.py3-none-any.whl.metadata (5.5 kB)
2025/01/26 15:18:35	Collecting Flask-Login==0.6.3 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 6))
2025/01/26 15:18:35	  Downloading Flask_Login-0.6.3-py3-none-any.whl.metadata (5.8 kB)
2025/01/26 15:18:37	Collecting Flask==3.1.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 7))
2025/01/26 15:18:37	  Downloading flask-3.1.0-py3-none-any.whl.metadata (2.7 kB)
2025/01/26 15:18:41	Collecting FlexGet==3.13.16 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 8))
2025/01/26 15:18:41	  Downloading flexget-3.13.16-py3-none-any.whl.metadata (14 kB)
2025/01/26 15:18:44	Collecting Jinja2==3.1.5 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 9))
2025/01/26 15:18:44	  Downloading jinja2-3.1.5-py3-none-any.whl.metadata (2.6 kB)
2025/01/26 15:18:47	Collecting MarkupSafe==3.0.2 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 10))
2025/01/26 15:18:47	  Downloading MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)
2025/01/26 15:18:48	Collecting PyRSS2Gen==1.1 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 11))
2025/01/26 15:18:48	  Downloading PyRSS2Gen-1.1.tar.gz (6.9 kB)
2025/01/26 15:18:49	  Preparing metadata (setup.py): started
2025/01/26 15:18:51	  Preparing metadata (setup.py): finished with status 'done'
2025/01/26 15:18:52	Collecting PyYAML==6.0.2 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 12))
2025/01/26 15:18:52	  Downloading PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)
2025/01/26 15:18:54	Collecting Pygments==2.19.1 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 13))
2025/01/26 15:18:54	  Downloading pygments-2.19.1-py3-none-any.whl.metadata (2.5 kB)
2025/01/26 15:18:59	Collecting SQLAlchemy==2.0.37 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 14))
2025/01/26 15:18:59	  Downloading SQLAlchemy-2.0.37-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (9.6 kB)
2025/01/26 15:19:01	Collecting Werkzeug==3.1.3 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 15))
2025/01/26 15:19:01	  Downloading werkzeug-3.1.3-py3-none-any.whl.metadata (3.7 kB)
2025/01/26 15:19:03	Collecting aniso8601==10.0.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 16))
2025/01/26 15:19:03	  Downloading aniso8601-10.0.0-py2.py3-none-any.whl.metadata (23 kB)
2025/01/26 15:19:05	Collecting attrs==24.3.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 17))
2025/01/26 15:19:05	  Downloading attrs-24.3.0-py3-none-any.whl.metadata (11 kB)
2025/01/26 15:19:07	Collecting autocommand==2.2.2 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 18))
2025/01/26 15:19:07	  Downloading autocommand-2.2.2-py3-none-any.whl.metadata (15 kB)
2025/01/26 15:19:11	Collecting babelfish==0.6.1 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 19))
2025/01/26 15:19:11	  Downloading babelfish-0.6.1-py3-none-any.whl.metadata (3.1 kB)
2025/01/26 15:19:13	Collecting backports.tarfile==1.2.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 20))
2025/01/26 15:19:13	  Downloading backports.tarfile-1.2.0-py3-none-any.whl.metadata (2.0 kB)
2025/01/26 15:19:15	Collecting beautifulsoup4==4.12.3 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 21))
2025/01/26 15:19:15	  Downloading beautifulsoup4-4.12.3-py3-none-any.whl.metadata (3.8 kB)
2025/01/26 15:19:16	Collecting blinker==1.9.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 22))
2025/01/26 15:19:16	  Downloading blinker-1.9.0-py3-none-any.whl.metadata (1.6 kB)
2025/01/26 15:19:19	Collecting charset-normalizer==3.4.1 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 23))
2025/01/26 15:19:19	  Downloading charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)
2025/01/26 15:19:22	Collecting cheroot==10.0.1 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 24))
2025/01/26 15:19:22	  Downloading cheroot-10.0.1-py3-none-any.whl.metadata (7.1 kB)
2025/01/26 15:19:24	Collecting click==8.1.8 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 25))
2025/01/26 15:19:24	  Downloading click-8.1.8-py3-none-any.whl.metadata (2.3 kB)
2025/01/26 15:19:26	Collecting colorama==0.4.6 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 26))
2025/01/26 15:19:26	  Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)
2025/01/26 15:19:28	Collecting feedparser==6.0.11 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 27))
2025/01/26 15:19:28	  Downloading feedparser-6.0.11-py3-none-any.whl.metadata (2.4 kB)
2025/01/26 15:19:31	Collecting flask-restx==1.3.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 28))
2025/01/26 15:19:31	  Downloading flask_restx-1.3.0-py2.py3-none-any.whl.metadata (9.3 kB)
2025/01/26 15:19:34	Collecting greenlet==3.0.3 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 29))
2025/01/26 15:19:34	  Downloading greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.8 kB)
2025/01/26 15:19:36	Collecting guessit==3.8.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 30))
2025/01/26 15:19:36	  Downloading guessit-3.8.0-py3-none-any.whl.metadata (140 kB)
2025/01/26 15:19:37	     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.7/140.7 kB 104.7 kB/s eta 0:00:00
2025/01/26 15:19:39	Collecting html5lib==1.1 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 31))
2025/01/26 15:19:39	  Downloading html5lib-1.1-py2.py3-none-any.whl.metadata (16 kB)
2025/01/26 15:19:41	Collecting idna==3.10 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 32))
2025/01/26 15:19:41	  Downloading idna-3.10-py3-none-any.whl.metadata (10 kB)
2025/01/26 15:19:44	Collecting importlib_resources==6.5.2 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 33))
2025/01/26 15:19:44	  Downloading importlib_resources-6.5.2-py3-none-any.whl.metadata (3.9 kB)
2025/01/26 15:19:46	Collecting itsdangerous==2.2.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 34))
2025/01/26 15:19:47	  Downloading itsdangerous-2.2.0-py3-none-any.whl.metadata (1.9 kB)
2025/01/26 15:19:49	Collecting jaraco.collections==5.1.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 35))
2025/01/26 15:19:49	  Downloading jaraco.collections-5.1.0-py3-none-any.whl.metadata (3.9 kB)
2025/01/26 15:19:51	Collecting jaraco.context==6.0.1 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 36))
2025/01/26 15:19:51	  Downloading jaraco.context-6.0.1-py3-none-any.whl.metadata (4.1 kB)
2025/01/26 15:19:54	Collecting jaraco.functools==4.1.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 37))
2025/01/26 15:19:54	  Downloading jaraco.functools-4.1.0-py3-none-any.whl.metadata (2.9 kB)
2025/01/26 15:19:56	Collecting jaraco.text==4.0.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 38))
2025/01/26 15:19:56	  Downloading jaraco.text-4.0.0-py3-none-any.whl.metadata (3.7 kB)
2025/01/26 15:19:58	Collecting jsonschema-specifications==2024.10.1 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 39))
2025/01/26 15:19:58	  Downloading jsonschema_specifications-2024.10.1-py3-none-any.whl.metadata (3.0 kB)
2025/01/26 15:20:00	Collecting jsonschema==4.23.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 40))
2025/01/26 15:20:00	  Downloading jsonschema-4.23.0-py3-none-any.whl.metadata (7.9 kB)
2025/01/26 15:20:02	Collecting loguru==0.7.3 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 41))
2025/01/26 15:20:03	  Downloading loguru-0.7.3-py3-none-any.whl.metadata (22 kB)
2025/01/26 15:20:04	Collecting markdown-it-py==3.0.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 42))
2025/01/26 15:20:04	  Downloading markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB)
2025/01/26 15:20:05	Collecting mdurl==0.1.2 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 43))
2025/01/26 15:20:05	  Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)
2025/01/26 15:20:08	Collecting more-itertools==10.6.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 44))
2025/01/26 15:20:08	  Downloading more_itertools-10.6.0-py3-none-any.whl.metadata (37 kB)
2025/01/26 15:20:11	Collecting packaging==24.2 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 45))
2025/01/26 15:20:11	  Downloading packaging-24.2-py3-none-any.whl.metadata (3.2 kB)
2025/01/26 15:20:14	Collecting pendulum==3.0.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 46))
2025/01/26 15:20:14	  Downloading pendulum-3.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.9 kB)
2025/01/26 15:20:16	Collecting plumbum==1.9.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 47))
2025/01/26 15:20:16	  Downloading plumbum-1.9.0-py3-none-any.whl.metadata (10 kB)
2025/01/26 15:20:18	Collecting portend==3.2.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 48))
2025/01/26 15:20:18	  Downloading portend-3.2.0-py3-none-any.whl.metadata (3.6 kB)
2025/01/26 15:20:20	Collecting psutil==6.1.1 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 49))
2025/01/26 15:20:20	  Downloading psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (22 kB)
2025/01/26 15:20:22	Collecting pynzb==0.1.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 50))
2025/01/26 15:20:22	  Downloading pynzb-0.1.0.tar.gz (5.6 kB)
2025/01/26 15:20:23	  Preparing metadata (setup.py): started
2025/01/26 15:20:25	  Preparing metadata (setup.py): finished with status 'done'
2025/01/26 15:20:27	Collecting pyparsing==3.2.1 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 51))
2025/01/26 15:20:27	  Downloading pyparsing-3.2.1-py3-none-any.whl.metadata (5.0 kB)
2025/01/26 15:20:29	Collecting python-dateutil==2.9.0.post0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 52))
2025/01/26 15:20:29	  Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
2025/01/26 15:20:31	Collecting pytz==2024.2 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 53))
2025/01/26 15:20:31	  Downloading pytz-2024.2-py2.py3-none-any.whl.metadata (22 kB)
2025/01/26 15:20:33	Collecting rebulk==3.2.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 54))
2025/01/26 15:20:34	  Downloading rebulk-3.2.0-py3-none-any.whl.metadata (22 kB)
2025/01/26 15:20:35	Collecting referencing==0.36.1 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 55))
2025/01/26 15:20:35	  Downloading referencing-0.36.1-py3-none-any.whl.metadata (2.8 kB)
2025/01/26 15:20:37	Collecting requests==2.32.3 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 56))
2025/01/26 15:20:37	  Downloading requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)
2025/01/26 15:20:40	Collecting rich==13.9.4 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 57))
2025/01/26 15:20:40	  Downloading rich-13.9.4-py3-none-any.whl.metadata (18 kB)
2025/01/26 15:20:44	Collecting rpds-py==0.22.3 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 58))
2025/01/26 15:20:44	  Downloading rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)
2025/01/26 15:20:46	Collecting rpyc==6.0.1 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 59))
2025/01/26 15:20:46	  Downloading rpyc-6.0.1-py3-none-any.whl.metadata (3.5 kB)
2025/01/26 15:20:49	Collecting setuptools==75.7.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 60))
2025/01/26 15:20:49	  Downloading setuptools-75.7.0-py3-none-any.whl.metadata (6.7 kB)
2025/01/26 15:20:51	Collecting sgmllib3k==1.0.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 61))
2025/01/26 15:20:51	  Downloading sgmllib3k-1.0.0.tar.gz (5.8 kB)
2025/01/26 15:20:52	  Preparing metadata (setup.py): started
2025/01/26 15:20:53	  Preparing metadata (setup.py): finished with status 'done'
2025/01/26 15:20:54	Collecting soupsieve==2.6 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 62))
2025/01/26 15:20:54	  Downloading soupsieve-2.6-py3-none-any.whl.metadata (4.6 kB)
2025/01/26 15:20:56	Collecting tempora==5.8.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 63))
2025/01/26 15:20:56	  Downloading tempora-5.8.0-py3-none-any.whl.metadata (3.3 kB)
2025/01/26 15:20:59	Collecting time-machine==2.16.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 64))
2025/01/26 15:20:59	  Downloading time_machine-2.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (21 kB)
2025/01/26 15:21:01	Collecting typing_extensions==4.12.2 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 65))
2025/01/26 15:21:01	  Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
2025/01/26 15:21:04	Collecting tzdata==2024.2 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 66))
2025/01/26 15:21:04	  Downloading tzdata-2024.2-py2.py3-none-any.whl.metadata (1.4 kB)
2025/01/26 15:21:06	Collecting tzlocal==5.2 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 67))
2025/01/26 15:21:06	  Downloading tzlocal-5.2-py3-none-any.whl.metadata (7.8 kB)
2025/01/26 15:21:08	Collecting urllib3==1.26.20 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 68))
2025/01/26 15:21:08	  Downloading urllib3-1.26.20-py2.py3-none-any.whl.metadata (50 kB)
2025/01/26 15:21:09	     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 50.1/50.1 kB 27.0 kB/s eta 0:00:00
2025/01/26 15:21:11	Collecting webencodings==0.5.1 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 69))
2025/01/26 15:21:11	  Downloading webencodings-0.5.1-py2.py3-none-any.whl.metadata (2.1 kB)
2025/01/26 15:21:13	Collecting zc.lockfile==3.0.post1 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 70))
2025/01/26 15:21:13	  Downloading zc.lockfile-3.0.post1-py3-none-any.whl.metadata (6.2 kB)
2025/01/26 15:21:16	Collecting zstandard==0.23.0 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 71))
2025/01/26 15:21:16	  Downloading zstandard-0.23.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.0 kB)
2025/01/26 15:21:18	Collecting zxcvbn==4.4.28 (from -r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 72))
2025/01/26 15:21:18	  Downloading zxcvbn-4.4.28.tar.gz (407 kB)
2025/01/26 15:21:19	     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 407.9/407.9 kB 342.7 kB/s eta 0:00:00
2025/01/26 15:21:19	  Preparing metadata (setup.py): started
2025/01/26 15:21:21	  Preparing metadata (setup.py): finished with status 'done'
2025/01/26 15:21:26	Collecting six>=1.9 (from html5lib==1.1->-r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 31))
2025/01/26 15:21:26	  Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
2025/01/26 15:21:32	Collecting certifi>=2017.4.17 (from requests==2.32.3->-r /volume1/@appstore/flexget/share/wheelhouse/requirements.txt (line 56))
2025/01/26 15:21:32	  Downloading certifi-2024.12.14-py3-none-any.whl.metadata (2.3 kB)
2025/01/26 15:21:35	Downloading APScheduler-3.11.0-py3-none-any.whl (64 kB)
2025/01/26 15:21:36	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.0/64.0 kB 68.4 kB/s eta 0:00:00
2025/01/26 15:21:36	Downloading Brotli-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB)
2025/01/26 15:21:38	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.9/2.9 MB 1.6 MB/s eta 0:00:00
2025/01/26 15:21:38	Downloading CherryPy-18.10.0-py3-none-any.whl (349 kB)
2025/01/26 15:21:40	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 349.8/349.8 kB 179.9 kB/s eta 0:00:00
2025/01/26 15:21:40	Downloading Flask_Compress-1.17-py3-none-any.whl (8.7 kB)
2025/01/26 15:21:41	Downloading Flask_Cors-5.0.0-py2.py3-none-any.whl (14 kB)
2025/01/26 15:21:42	Downloading Flask_Login-0.6.3-py3-none-any.whl (17 kB)
2025/01/26 15:21:43	Downloading flask-3.1.0-py3-none-any.whl (102 kB)
2025/01/26 15:21:44	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 103.0/103.0 kB 137.3 kB/s eta 0:00:00
2025/01/26 15:21:44	Downloading flexget-3.13.16-py3-none-any.whl (9.2 MB)
2025/01/26 15:21:47	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.2/9.2 MB 2.9 MB/s eta 0:00:00
2025/01/26 15:21:47	Downloading jinja2-3.1.5-py3-none-any.whl (134 kB)
2025/01/26 15:21:48	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 134.6/134.6 kB 139.4 kB/s eta 0:00:00
2025/01/26 15:21:48	Downloading MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23 kB)
2025/01/26 15:21:49	Downloading PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (762 kB)
2025/01/26 15:21:50	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 763.0/763.0 kB 765.1 kB/s eta 0:00:00
2025/01/26 15:21:50	Downloading pygments-2.19.1-py3-none-any.whl (1.2 MB)
2025/01/26 15:21:52	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 938.2 kB/s eta 0:00:00
2025/01/26 15:21:52	Downloading SQLAlchemy-2.0.37-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB)
2025/01/26 15:21:53	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 2.1 MB/s eta 0:00:00
2025/01/26 15:21:53	Downloading werkzeug-3.1.3-py3-none-any.whl (224 kB)
2025/01/26 15:21:54	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 224.5/224.5 kB 253.4 kB/s eta 0:00:00
2025/01/26 15:21:54	Downloading aniso8601-10.0.0-py2.py3-none-any.whl (52 kB)
2025/01/26 15:21:55	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.8/52.8 kB 65.2 kB/s eta 0:00:00
2025/01/26 15:21:55	Downloading attrs-24.3.0-py3-none-any.whl (63 kB)
2025/01/26 15:21:56	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.4/63.4 kB 73.7 kB/s eta 0:00:00
2025/01/26 15:21:56	Downloading autocommand-2.2.2-py3-none-any.whl (19 kB)
2025/01/26 15:21:57	Downloading babelfish-0.6.1-py3-none-any.whl (94 kB)
2025/01/26 15:21:57	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 94.2/94.2 kB 124.8 kB/s eta 0:00:00
2025/01/26 15:21:58	Downloading backports.tarfile-1.2.0-py3-none-any.whl (30 kB)
2025/01/26 15:21:58	Downloading beautifulsoup4-4.12.3-py3-none-any.whl (147 kB)
2025/01/26 15:21:59	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 147.9/147.9 kB 150.5 kB/s eta 0:00:00
2025/01/26 15:21:59	Downloading blinker-1.9.0-py3-none-any.whl (8.5 kB)
2025/01/26 15:22:00	Downloading charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (143 kB)
2025/01/26 15:22:01	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 143.9/143.9 kB 183.9 kB/s eta 0:00:00
2025/01/26 15:22:01	Downloading cheroot-10.0.1-py3-none-any.whl (104 kB)
2025/01/26 15:22:02	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 104.8/104.8 kB 128.0 kB/s eta 0:00:00
2025/01/26 15:22:02	Downloading click-8.1.8-py3-none-any.whl (98 kB)
2025/01/26 15:22:02	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.2/98.2 kB 141.9 kB/s eta 0:00:00
2025/01/26 15:22:02	Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)
2025/01/26 15:22:03	Downloading feedparser-6.0.11-py3-none-any.whl (81 kB)
2025/01/26 15:22:04	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 81.3/81.3 kB 83.7 kB/s eta 0:00:00
2025/01/26 15:22:04	Downloading flask_restx-1.3.0-py2.py3-none-any.whl (2.8 MB)
2025/01/26 15:22:06	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.8/2.8 MB 1.5 MB/s eta 0:00:00
2025/01/26 15:22:06	Downloading greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (667 kB)
2025/01/26 15:22:07	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 667.4/667.4 kB 819.5 kB/s eta 0:00:00
2025/01/26 15:22:07	Downloading guessit-3.8.0-py3-none-any.whl (206 kB)
2025/01/26 15:22:08	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 206.0/206.0 kB 207.6 kB/s eta 0:00:00
2025/01/26 15:22:08	Downloading html5lib-1.1-py2.py3-none-any.whl (112 kB)
2025/01/26 15:22:09	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 112.2/112.2 kB 188.5 kB/s eta 0:00:00
2025/01/26 15:22:09	Downloading idna-3.10-py3-none-any.whl (70 kB)
2025/01/26 15:22:10	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 70.4/70.4 kB 63.6 kB/s eta 0:00:00
2025/01/26 15:22:10	Downloading importlib_resources-6.5.2-py3-none-any.whl (37 kB)
2025/01/26 15:22:12	Downloading itsdangerous-2.2.0-py3-none-any.whl (16 kB)
2025/01/26 15:22:13	Downloading jaraco.collections-5.1.0-py3-none-any.whl (11 kB)
2025/01/26 15:22:14	Downloading jaraco.context-6.0.1-py3-none-any.whl (6.8 kB)
2025/01/26 15:22:15	Downloading jaraco.functools-4.1.0-py3-none-any.whl (10 kB)
2025/01/26 15:22:16	Downloading jaraco.text-4.0.0-py3-none-any.whl (11 kB)
2025/01/26 15:22:17	Downloading jsonschema_specifications-2024.10.1-py3-none-any.whl (18 kB)
2025/01/26 15:22:19	Downloading jsonschema-4.23.0-py3-none-any.whl (88 kB)
2025/01/26 15:22:19	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 88.5/88.5 kB 125.3 kB/s eta 0:00:00
2025/01/26 15:22:19	Downloading loguru-0.7.3-py3-none-any.whl (61 kB)
2025/01/26 15:22:20	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.6/61.6 kB 76.8 kB/s eta 0:00:00
2025/01/26 15:22:20	Downloading markdown_it_py-3.0.0-py3-none-any.whl (87 kB)
2025/01/26 15:22:21	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 87.5/87.5 kB 66.6 kB/s eta 0:00:00
2025/01/26 15:22:21	Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)
2025/01/26 15:22:22	Downloading more_itertools-10.6.0-py3-none-any.whl (63 kB)
2025/01/26 15:22:23	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.0/63.0 kB 36.4 kB/s eta 0:00:00
2025/01/26 15:22:24	Downloading packaging-24.2-py3-none-any.whl (65 kB)
2025/01/26 15:22:24	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.5/65.5 kB 128.5 kB/s eta 0:00:00
2025/01/26 15:22:24	Downloading pendulum-3.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (384 kB)
2025/01/26 15:22:25	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 384.9/384.9 kB 317.5 kB/s eta 0:00:00
2025/01/26 15:22:25	Downloading plumbum-1.9.0-py3-none-any.whl (127 kB)
2025/01/26 15:22:26	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 128.0/128.0 kB 154.4 kB/s eta 0:00:00
2025/01/26 15:22:26	Downloading portend-3.2.0-py3-none-any.whl (5.3 kB)
2025/01/26 15:22:27	Downloading psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (287 kB)
2025/01/26 15:22:28	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 287.5/287.5 kB 205.2 kB/s eta 0:00:00
2025/01/26 15:22:28	Downloading pyparsing-3.2.1-py3-none-any.whl (107 kB)
2025/01/26 15:22:30	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 107.7/107.7 kB 64.7 kB/s eta 0:00:00
2025/01/26 15:22:30	Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
2025/01/26 15:22:31	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 229.9/229.9 kB 240.5 kB/s eta 0:00:00
2025/01/26 15:22:31	Downloading pytz-2024.2-py2.py3-none-any.whl (508 kB)
2025/01/26 15:22:33	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 508.0/508.0 kB 325.4 kB/s eta 0:00:00
2025/01/26 15:22:33	Downloading rebulk-3.2.0-py3-none-any.whl (56 kB)
2025/01/26 15:22:34	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 kB 56.2 kB/s eta 0:00:00
2025/01/26 15:22:34	Downloading referencing-0.36.1-py3-none-any.whl (26 kB)
2025/01/26 15:22:34	Downloading requests-2.32.3-py3-none-any.whl (64 kB)
2025/01/26 15:22:36	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.9/64.9 kB 36.7 kB/s eta 0:00:00
2025/01/26 15:22:36	Downloading rich-13.9.4-py3-none-any.whl (242 kB)
2025/01/26 15:22:37	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 242.4/242.4 kB 286.6 kB/s eta 0:00:00
2025/01/26 15:22:37	Downloading rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (381 kB)
2025/01/26 15:22:38	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 381.3/381.3 kB 324.5 kB/s eta 0:00:00
2025/01/26 15:22:38	Downloading rpyc-6.0.1-py3-none-any.whl (74 kB)
2025/01/26 15:22:40	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 74.6/74.6 kB 45.3 kB/s eta 0:00:00
2025/01/26 15:22:40	Downloading setuptools-75.7.0-py3-none-any.whl (1.2 MB)
2025/01/26 15:22:41	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 707.7 kB/s eta 0:00:00
2025/01/26 15:22:41	Downloading soupsieve-2.6-py3-none-any.whl (36 kB)
2025/01/26 15:22:43	Downloading tempora-5.8.0-py3-none-any.whl (14 kB)
2025/01/26 15:22:45	Downloading time_machine-2.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (32 kB)
2025/01/26 15:22:46	Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)
2025/01/26 15:22:48	Downloading tzdata-2024.2-py2.py3-none-any.whl (346 kB)
2025/01/26 15:22:50	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 346.6/346.6 kB 157.5 kB/s eta 0:00:00
2025/01/26 15:22:51	Downloading tzlocal-5.2-py3-none-any.whl (17 kB)
2025/01/26 15:22:52	Downloading urllib3-1.26.20-py2.py3-none-any.whl (144 kB)
2025/01/26 15:22:53	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 144.2/144.2 kB 154.2 kB/s eta 0:00:00
2025/01/26 15:22:53	Downloading webencodings-0.5.1-py2.py3-none-any.whl (11 kB)
2025/01/26 15:22:55	Downloading zc.lockfile-3.0.post1-py3-none-any.whl (9.8 kB)
2025/01/26 15:22:56	Downloading zstandard-0.23.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB)
2025/01/26 15:22:58	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.4/5.4 MB 2.1 MB/s eta 0:00:00
2025/01/26 15:22:58	Downloading certifi-2024.12.14-py3-none-any.whl (164 kB)
2025/01/26 15:22:59	   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 164.9/164.9 kB 200.7 kB/s eta 0:00:00
2025/01/26 15:22:59	Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)
2025/01/26 15:23:02	Building wheels for collected packages: PyRSS2Gen, pynzb, sgmllib3k, zxcvbn
2025/01/26 15:23:02	  Building wheel for PyRSS2Gen (setup.py): started
2025/01/26 15:23:04	  Building wheel for PyRSS2Gen (setup.py): finished with status 'done'
2025/01/26 15:23:04	  Created wheel for PyRSS2Gen: filename=PyRSS2Gen-1.1-py3-none-any.whl size=4968 sha256=e6b62452e57838084f02d71f9a7db729281138f13fc487900cb33aaef00cf898
2025/01/26 15:23:04	  Stored in directory: /volume1/@appstore/flexget/var/pip-cache/wheels/21/5d/bc/a9bebae789186d3597b203923025fccb1d9bec4269db02d48b
2025/01/26 15:23:04	  Building wheel for pynzb (setup.py): started
2025/01/26 15:23:06	  Building wheel for pynzb (setup.py): finished with status 'done'
2025/01/26 15:23:06	  Created wheel for pynzb: filename=pynzb-0.1.0-py3-none-any.whl size=6219 sha256=22ad7228688b7a4e404b0d6b0157a967633dc890f39c005583cfc158b63ed4de
2025/01/26 15:23:06	  Stored in directory: /volume1/@appstore/flexget/var/pip-cache/wheels/85/73/16/6f25aed510b4e512cc62d12f3a02ecc940d0d3ff54d727b56f
2025/01/26 15:23:06	  Building wheel for sgmllib3k (setup.py): started
2025/01/26 15:23:08	  Building wheel for sgmllib3k (setup.py): finished with status 'done'
2025/01/26 15:23:08	  Created wheel for sgmllib3k: filename=sgmllib3k-1.0.0-py3-none-any.whl size=6048 sha256=9969fbb5e23f7db018d277b82af4da43025b06062824003c9a03d596cdbfb9ba
2025/01/26 15:23:08	  Stored in directory: /volume1/@appstore/flexget/var/pip-cache/wheels/3b/25/2a/105d6a15df6914f4d15047691c6c28f9052cc1173e40285d03
2025/01/26 15:23:08	  Building wheel for zxcvbn (setup.py): started
2025/01/26 15:23:10	  Building wheel for zxcvbn (setup.py): finished with status 'done'
2025/01/26 15:23:10	  Created wheel for zxcvbn: filename=zxcvbn-4.4.28-py2.py3-none-any.whl size=408127 sha256=26d4b72c0ab7107325b116f2bda6d8b83f397d17aee8adf8d46229ed26224672
2025/01/26 15:23:10	  Stored in directory: /volume1/@appstore/flexget/var/pip-cache/wheels/21/32/31/3ba5e29ad05a0341fa03638c976e7496faccbe90017d1423d1
2025/01/26 15:23:10	Successfully built PyRSS2Gen pynzb sgmllib3k zxcvbn
2025/01/26 15:23:15	Installing collected packages: zxcvbn, webencodings, sgmllib3k, rebulk, pytz, PyRSS2Gen, Brotli, aniso8601, zstandard, urllib3, tzlocal, tzdata, typing_extensions, soupsieve, six, setuptools, rpds-py, PyYAML, pyparsing, Pygments, psutil, plumbum, packaging, more-itertools, mdurl, MarkupSafe, loguru, itsdangerous, importlib_resources, idna, greenlet, feedparser, colorama, click, charset-normalizer, certifi, blinker, backports.tarfile, babelfish, autocommand, attrs, zc.lockfile, Werkzeug, SQLAlchemy, rpyc, requests, referencing, python-dateutil, pynzb, markdown-it-py, Jinja2, jaraco.functools, jaraco.context, html5lib, beautifulsoup4, APScheduler, time-machine, tempora, rich, jsonschema-specifications, jaraco.text, guessit, Flask, cheroot, portend, pendulum, jsonschema, jaraco.collections, Flask-Login, Flask-Cors, Flask-Compress, flask-restx, CherryPy, FlexGet
2025/01/26 15:23:36	  Attempting uninstall: six
2025/01/26 15:23:36	    Found existing installation: six 1.16.0
2025/01/26 15:23:36	    Not uninstalling six at /volume1/@appstore/python311/lib/python3.11/site-packages, outside environment /volume1/@appstore/flexget/env
2025/01/26 15:23:36	    Can't uninstall 'six'. No files were found to uninstall.
2025/01/26 15:23:37	  Attempting uninstall: setuptools
2025/01/26 15:23:37	    Found existing installation: setuptools 65.5.0
2025/01/26 15:23:37	    Uninstalling setuptools-65.5.0:
2025/01/26 15:23:37	      Successfully uninstalled setuptools-65.5.0
2025/01/26 15:24:17	  Attempting uninstall: certifi
2025/01/26 15:24:17	    Found existing installation: certifi 2024.12.14
2025/01/26 15:24:17	    Not uninstalling certifi at /volume1/@appstore/python311/lib/python3.11/site-packages, outside environment /volume1/@appstore/flexget/env
2025/01/26 15:24:17	    Can't uninstall 'certifi'. No files were found to uninstall.
2025/01/26 15:25:45	Successfully installed APScheduler-3.11.0 Brotli-1.1.0 CherryPy-18.10.0 Flask-3.1.0 Flask-Compress-1.17 Flask-Cors-5.0.0 Flask-Login-0.6.3 FlexGet-3.13.16 Jinja2-3.1.5 MarkupSafe-3.0.2 PyRSS2Gen-1.1 PyYAML-6.0.2 Pygments-2.19.1 SQLAlchemy-2.0.37 Werkzeug-3.1.3 aniso8601-10.0.0 attrs-24.3.0 autocommand-2.2.2 babelfish-0.6.1 backports.tarfile-1.2.0 beautifulsoup4-4.12.3 blinker-1.9.0 certifi-2024.12.14 charset-normalizer-3.4.1 cheroot-10.0.1 click-8.1.8 colorama-0.4.6 feedparser-6.0.11 flask-restx-1.3.0 greenlet-3.0.3 guessit-3.8.0 html5lib-1.1 idna-3.10 importlib_resources-6.5.2 itsdangerous-2.2.0 jaraco.collections-5.1.0 jaraco.context-6.0.1 jaraco.functools-4.1.0 jaraco.text-4.0.0 jsonschema-4.23.0 jsonschema-specifications-2024.10.1 loguru-0.7.3 markdown-it-py-3.0.0 mdurl-0.1.2 more-itertools-10.6.0 packaging-24.2 pendulum-3.0.0 plumbum-1.9.0 portend-3.2.0 psutil-6.1.1 pynzb-0.1.0 pyparsing-3.2.1 python-dateutil-2.9.0.post0 pytz-2024.2 rebulk-3.2.0 referencing-0.36.1 requests-2.32.3 rich-13.9.4 rpds-py-0.22.3 rpyc-6.0.1 setuptools-75.7.0 sgmllib3k-1.0.0 six-1.17.0 soupsieve-2.6 tempora-5.8.0 time-machine-2.16.0 typing_extensions-4.12.2 tzdata-2024.2 tzlocal-5.2 urllib3-1.26.20 webencodings-0.5.1 zc.lockfile-3.0.post1 zstandard-0.23.0 zxcvbn-4.4.28
2025/01/26 15:25:47	Granting 'sc-flexget' unix ownership on /volume1/@appstore/flexget/env
2025/01/26 15:25:50	Installed modules:
2025/01/26 15:25:52	aniso8601==10.0.0
2025/01/26 15:25:52	APScheduler==3.11.0
2025/01/26 15:25:52	attrs==24.3.0
2025/01/26 15:25:52	autocommand==2.2.2
2025/01/26 15:25:52	babelfish==0.6.1
2025/01/26 15:25:52	backports.tarfile==1.2.0
2025/01/26 15:25:52	beautifulsoup4==4.12.3
2025/01/26 15:25:52	blinker==1.9.0
2025/01/26 15:25:52	Brotli==1.1.0
2025/01/26 15:25:52	certifi==2024.12.14
2025/01/26 15:25:52	charset-normalizer==3.4.1
2025/01/26 15:25:52	cheroot==10.0.1
2025/01/26 15:25:52	CherryPy==18.10.0
2025/01/26 15:25:52	click==8.1.8
2025/01/26 15:25:52	colorama==0.4.6
2025/01/26 15:25:52	distlib==0.3.8
2025/01/26 15:25:52	feedparser==6.0.11
2025/01/26 15:25:52	filelock==3.16.1
2025/01/26 15:25:52	Flask==3.1.0
2025/01/26 15:25:52	Flask-Compress==1.17
2025/01/26 15:25:52	Flask-Cors==5.0.0
2025/01/26 15:25:52	Flask-Login==0.6.3
2025/01/26 15:25:52	flask-restx==1.3.0
2025/01/26 15:25:52	FlexGet==3.13.16
2025/01/26 15:25:52	greenlet==3.0.3
2025/01/26 15:25:52	guessit==3.8.0
2025/01/26 15:25:52	html5lib==1.1
2025/01/26 15:25:52	idna==3.10
2025/01/26 15:25:52	importlib_resources==6.5.2
2025/01/26 15:25:52	itsdangerous==2.2.0
2025/01/26 15:25:52	jaraco.collections==5.1.0
2025/01/26 15:25:52	jaraco.context==6.0.1
2025/01/26 15:25:52	jaraco.functools==4.1.0
2025/01/26 15:25:52	jaraco.text==4.0.0
2025/01/26 15:25:52	Jinja2==3.1.5
2025/01/26 15:25:52	jsonschema==4.23.0
2025/01/26 15:25:52	jsonschema-specifications==2024.10.1
2025/01/26 15:25:52	loguru==0.7.3
2025/01/26 15:25:52	markdown-it-py==3.0.0
2025/01/26 15:25:52	MarkupSafe==3.0.2
2025/01/26 15:25:52	mdurl==0.1.2
2025/01/26 15:25:52	more-itertools==10.6.0
2025/01/26 15:25:52	packaging==24.2
2025/01/26 15:25:52	pendulum==3.0.0
2025/01/26 15:25:52	platformdirs==4.3.6
2025/01/26 15:25:52	plumbum==1.9.0
2025/01/26 15:25:52	portend==3.2.0
2025/01/26 15:25:52	psutil==6.1.1
2025/01/26 15:25:53	Pygments==2.19.1
2025/01/26 15:25:53	pynzb==0.1.0
2025/01/26 15:25:53	pyparsing==3.2.1
2025/01/26 15:25:53	PyRSS2Gen==1.1
2025/01/26 15:25:53	python-dateutil==2.9.0.post0
2025/01/26 15:25:53	pytz==2024.2
2025/01/26 15:25:53	PyYAML==6.0.2
2025/01/26 15:25:53	rebulk==3.2.0
2025/01/26 15:25:53	referencing==0.36.1
2025/01/26 15:25:53	requests==2.32.3
2025/01/26 15:25:53	rich==13.9.4
2025/01/26 15:25:53	rpds-py==0.22.3
2025/01/26 15:25:53	rpyc==6.0.1
2025/01/26 15:25:53	sgmllib3k==1.0.0
2025/01/26 15:25:53	six==1.17.0
2025/01/26 15:25:53	soupsieve==2.6
2025/01/26 15:25:53	SQLAlchemy==2.0.37
2025/01/26 15:25:53	tempora==5.8.0
2025/01/26 15:25:53	time-machine==2.16.0
2025/01/26 15:25:53	typing_extensions==4.12.2
2025/01/26 15:25:53	tzdata==2024.2
2025/01/26 15:25:53	tzlocal==5.2
2025/01/26 15:25:53	urllib3==1.26.20
2025/01/26 15:25:53	virtualenv==20.26.6
2025/01/26 15:25:53	webencodings==0.5.1
2025/01/26 15:25:53	Werkzeug==3.1.3
2025/01/26 15:25:53	zc.lockfile==3.0.post1
2025/01/26 15:25:53	zstandard==0.23.0
2025/01/26 15:25:53	zxcvbn==4.4.28
2025/01/26 15:25:53	End service_postinst
2025/01/26 15:25:53	Begin service_clean_tmpdir
2025/01/26 15:25:53	End service_clean_tmpdir
2025/01/26 15:25:53	Granting 'sc-flexget' unix ownership on /volume1/@appstore/flexget/var
2025/01/26 15:25:53	install flexget 3.13.16-14 End postinst ret=[0]
2025/01/26 15:25:53	install flexget 3.13.16-14 Begin /bin/rm -rf /volume1/@tmp/pkginstall
2025/01/26 15:25:53	install flexget 3.13.16-14 End /bin/rm -rf /volume1/@tmp/pkginstall ret=[0]
2025/01/26 15:25:56	install flexget 3.13.16-14 Begin start-stop-status start
2025/01/26 15:25:56	install flexget 3.13.16-14 End start-stop-status start ret=[0]
Service Log
Sun Jan 26 15:25:56 -04 2025
Starting flexget command /volume1/@appstore/flexget/env/bin/flexget -c /volume1/@appstore/flexget/var/config.yml --logfile /volume1/@appstore/flexget/var/daemon.log daemon start
2025-01-26 15:30:59 INFO     web_server_daemon                 Running web server at IP 0.0.0.0:8290
2025-01-26 15:31:00 INFO     web_server_daemon                 Initiating API
2025-01-26 15:31:00 INFO     web_server_daemon                 Registering WebUI v2
2025-01-26 15:31:01 WARNING  web_server                    No password set for web server, create one by using `flexget web passwd <password>`
2025-01-26 15:31:01 INFO     web_server                    Web server started at http://127.0.0.1:8290
2025-01-26 15:31:01 INFO     web_server                    API available at http://127.0.0.1:8290/api
2025-01-26 15:31:01 INFO     web_server                    WebUI (v2) available at http://127.0.0.1:8290/
2025-01-26 15:31:01 INFO     scheduler                     No schedules defined in config. Defaulting to run all tasks on a 1 hour interval.
2025-01-26 15:31:01 INFO     scheduler                     Starting scheduler
Traceback (most recent call last):
  File "/volume1/@appstore/flexget/env/bin/flexget", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/volume1/@appstore/flexget/env/lib/python3.11/site-packages/flexget/__init__.py", line 56, in main
    manager.start()
  File "/volume1/@appstore/flexget/env/lib/python3.11/site-packages/flexget/manager.py", line 371, in start
    self.handle_cli()
  File "/volume1/@appstore/flexget/env/lib/python3.11/site-packages/flexget/manager.py", line 397, in handle_cli
    self.daemon_command(command_options)
  File "/volume1/@appstore/flexget/env/lib/python3.11/site-packages/flexget/manager.py", line 494, in daemon_command
    run_daemon()
  File "/volume1/@appstore/flexget/env/lib/python3.11/site-packages/flexget/manager.py", line 475, in run_daemon
    fire_event('manager.daemon.started', self)
  File "/volume1/@appstore/flexget/env/lib/python3.11/site-packages/flexget/event.py", line 109, in fire_event
    result = event(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^
  File "/volume1/@appstore/flexget/env/lib/python3.11/site-packages/flexget/event.py", line 21, in __call__
    return self.func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/volume1/@appstore/flexget/env/lib/python3.11/site-packages/flexget/components/scheduler/scheduler.py", line 128, in setup_scheduler
    setup_jobs(manager)
  File "/volume1/@appstore/flexget/env/lib/python3.11/site-packages/flexget/components/scheduler/scheduler.py", line 171, in setup_jobs
    scheduler.add_job(
  File "/volume1/@appstore/flexget/env/lib/python3.11/site-packages/apscheduler/schedulers/base.py", line 512, in add_job
    self._real_add_job(job, jobstore, replace_existing)
  File "/volume1/@appstore/flexget/env/lib/python3.11/site-packages/apscheduler/schedulers/base.py", line 1076, in _real_add_job
    store.add_job(job)
  File "/volume1/@appstore/flexget/env/lib/python3.11/site-packages/apscheduler/jobstores/sqlalchemy.py", line 118, in add_job
    "job_state": pickle.dumps(job.__getstate__(), self.pickle_protocol),
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_pickle.PicklingError: Cannot pickle a ZoneInfo file from a file stream.

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.

Flexget update not available
3 participants