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

Sickchill dsm7 #4743

Closed
wants to merge 5 commits into from
Closed

Sickchill dsm7 #4743

wants to merge 5 commits into from

Conversation

miigotu
Copy link
Contributor

@miigotu miigotu commented Jul 17, 2021

I was trying to rework this package last night and this is as far as I got. sickchill version needs pinned in the WHEELS line to the latest version once we get it to build.

Sickchill itself does not need cross compiled, just the dependencies. It would be cool if the framework did not require every wheel to be built from source, only build the ones that are not pure python and do not have a valid release that would work for the target arch.

build_depends and depends dont seem right, just need pynacl, poetry, and mediainfo on top of what is included with python38

Checklist

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

@miigotu miigotu mentioned this pull request Jul 17, 2021
3 tasks
@miigotu
Copy link
Contributor Author

miigotu commented Jul 17, 2021

@hgy59 do I need to include the depends that are also included in my build_depends via cross/python38? I couldnt get it to build locally regardless. I followed some of the example of your changes to homeassistant.

Signed-off-by: miigotu <[email protected]>

Do not override arch, so that dependancies are cross compiled

Signed-off-by: miigotu <[email protected]>
Copy link
Contributor

@hgy59 hgy59 left a comment

Choose a reason for hiding this comment

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

IMO you need a requirements file too, to install all dependencies that are not included as wheels (related to #4589)

PIP=pip3

WHEELS = src/requirements.txt
WHEELS = sickchill==2021.7.14.post8
Copy link
Contributor

Choose a reason for hiding this comment

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

please always use requirements.txt even with only one dependency.

Comment on lines +56 to +58

set_unix_permissions "${SYNOPKG_PKGHOME}"
set_unix_permissions "${SYNOPKG_PKGVAR}"
Copy link
Contributor

Choose a reason for hiding this comment

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

If needed, this is for DSM<7 only.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, the venv is in SYNO_PKGHOME and needs to be writable by sc-sickchill. On dsm7 this will just be ignored, but I'd like to make the package work for both dsm6 and 7.

Is syno_pkghome defined for dsm6 in the new toolchain?

@hgy59
Copy link
Contributor

hgy59 commented Jul 17, 2021

@miigotu you can remove the upgrade wizard files as the provided information is for DSM5->DSM6 upgrade. This package was never published for DSM5 (and we do not provide DSM5 -> DSM6 upgrade anymore).

@hgy59
Copy link
Contributor

hgy59 commented Jul 17, 2021

@miigotu the cross compilation of sickchill fails.
When building this package without explicit version for sickchill (i.e. WHEELS = sickchill) it tries backwards all versions until it succeeds. The latests that can be cross compiled is sickchill==2021.5.6-1.

I have no idea, what's wrong with newer versions.

===>  Force cross-compile
Collecting sickchill
  Using cached sickchill-2021.7.14-8.tar.gz (13.4 MB)
    Preparing wheel metadata ... error
    ERROR: Command errored out with exit status 1:
     command: /spksrc/spk/sickchill/work-x64-7.0/crossenv/cross/bin/python /spksrc/spk/sickchill/work-x64-7.0/crossenv/build/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp7xgkt5ux
         cwd: /tmp/pip-wheel-tgwxr0sv/sickchill_f187c93120ab487390cd8622f47cc5ac
    Complete output (21 lines):
    *******************************************************
    * Crossenv has leaked into another Python interpreter!
    * You should probably file a bug report.
    * Version 3.8.8 (default, Jul 17 2021, 07:31:58)
    [GCC 8.3.0]
    * Executable /spksrc/spk/sickchill/work-x64-7.0/crossenv/cross/bin/python
    *******************************************************
    Traceback (most recent call last):
      File "/spksrc/spk/sickchill/work-x64-7.0/crossenv/build/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 280, in <module>
        main()
      File "/spksrc/spk/sickchill/work-x64-7.0/crossenv/build/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 263, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "/spksrc/spk/sickchill/work-x64-7.0/crossenv/build/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 133, in prepare_metadata_for_build_wheel
        return hook(metadata_directory, config_settings)
      File "/spksrc/spk/sickchill/work-x64-7.0/crossenv/build/lib/python3.8/site-packages/poetry/core/masonry/api.py", line 51, in prepare_metadata_for_build_wheel
        builder._write_entry_points(f)
      File "/spksrc/spk/sickchill/work-x64-7.0/crossenv/build/lib/python3.8/site-packages/poetry/core/masonry/builders/wheel.py", line 330, in _write_entry_points
        entry_points = self.convert_entry_points()
      File "/spksrc/spk/sickchill/work-x64-7.0/crossenv/build/lib/python3.8/site-packages/poetry/core/masonry/builders/builder.py", line 285, in convert_entry_points
        extras = "[{}]".format(", ".join(ep["extras"]))
    KeyError: 'extras'
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/40/7a/e454a7b27c6437518c0928bbbcd1bcce2895b228acfbe7e8e9099a5e794c/sickchill-2021.7.14-8.tar.gz#sha256=0da93e81e2f1581b6320805b3a45147a03f9118adcdc8af09d939a058290f43f (from https://pypi.org/simple/sickchill/) (requires-python:>=3.6,<4). Command errored out with exit status 1: /spksrc/spk/sickchill/work-x64-7.0/crossenv/cross/bin/python /spksrc/spk/sickchill/work-x64-7.0/crossenv/build/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp7xgkt5ux Check the logs for full command output.

@miigotu
Copy link
Contributor Author

miigotu commented Jul 17, 2021

It requires a prerelease version of poetry x.X, that's why the key error, that isn't the issue I was having locally, but I think I can pip install in the Makefile for that

@miigotu
Copy link
Contributor Author

miigotu commented Jul 17, 2021

The problem I had with the requirements file was because of that other issue also, because we rely on some packages that only a bdist_wheel is available and not an sadist, and also because I have some things pinned to a newer version than is compiled on the syno, namely cryptography and pynacl

@hgy59
Copy link
Contributor

hgy59 commented Jul 17, 2021

The problem I had with the requirements file was because of that other issue also, because we rely on some packages that only a bdist_wheel is available and not an sadist, and also because I have some things pinned to a newer version than is compiled on the syno, namely cryptography and pynacl

PyNaCl builds find with cross/pynacl, but cross/cryptography (v3.4.7) is not available as cross compiled wheel yet, as it depends on setuptools-rust.

We first need a build environment to cross compile cryptograpy with rust instead of gcc. Maybe @th0ma7 can help with this.

EDIT:
This might give hints: pyca/cryptography#5814

@hgy59
Copy link
Contributor

hgy59 commented Jul 17, 2021

have some things pinned to a newer version than is compiled on the syno, namely cryptography and pynacl

@miigotu I cannot find a newer PyNaCl than 1.4.0 (current cross/PyNaCl) neither on github nor pypi.org.

@miigotu
Copy link
Contributor Author

miigotu commented Jul 17, 2021

have some things pinned to a newer version than is compiled on the syno, namely cryptography and pynacl

@miigotu I cannot find a newer PyNaCl than 1.4.0 (current cross/PyNaCl) neither on github nor pypi.org.

I'll see if it works to add them when I get up later. It all totally booked out on me when I tried to build it, because it builds them from source and maybe I had my build/build_depends wrong. The bigger ones were beekeeper and kodipydent that had no source archive on pypi, which I forked and pushed up sdist as beeleeper-alt and kodipydent-alt for now which solved those two. Honestly the way it is SC could probably work without any extra wheels because sc currently is installing any missing packages (I hate it, but it's leaving even more people out in the cold if I don't since I removed libs that should never have been bundled in the first place.)

The only problem with the existing dsm6 package is the permissions on the venv.

@th0ma7
Copy link
Contributor

th0ma7 commented Jul 17, 2021

We first need a build environment to cross compile cryptograpy with rust instead of gcc. Maybe @th0ma7 can help with this.

I certainly can but that will have to wait for a bit as I'll be disconnected for a little while.

@miigotu
Copy link
Contributor Author

miigotu commented Jul 18, 2021

The problem I had with the requirements file was because of that other issue also, because we rely on some packages that only a bdist_wheel is available and not an sadist, and also because I have some things pinned to a newer version than is compiled on the syno, namely cryptography and pynacl

PyNaCl builds find with cross/pynacl, but cross/cryptography (v3.4.7) is not available as cross compiled wheel yet, as it depends on setuptools-rust.

We first need a build environment to cross compile cryptograpy with rust instead of gcc. Maybe @th0ma7 can help with this.

EDIT:
This might give hints: pyca/cryptography#5814

I know how to build cryptography, I'll give a go at updating cross/cryptography a bit later (it will benefit a lot of people even outside of sc)

@@ -20,8 +20,5 @@
"allowBlank": true
}
}]
},
Copy link
Contributor

@hgy59 hgy59 Jul 18, 2021

Choose a reason for hiding this comment

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

Sorry, this should be kept, to inform the user about the permission handling.
Only the upgrade wizard is obsolete, as it was ment to inform on upgrades when the original install wizard was without such an information or without the group sc-download (as with DSM5).

@hgy59
Copy link
Contributor

hgy59 commented Jul 18, 2021

I created sickchill (2021.5.6.post1) that successfully installed beekeeper and kodipydent by packing the manually downloaded wheels into the spk.
The installation with pip did not work in service_postinstall.
it only succeeded by manually calling pip install ... in the venv after package installation...

@BKSteve
Copy link
Contributor

BKSteve commented Jul 29, 2021

Having BUILD_DEPENDS issues with python38 and poetry whilst trying to assist with this build.

BUILD_DEPENDS = cross/python38 cross/poetry
DEPENDS += cross/PyNaCl cross/mediainfo

In this order it errors out with

running install_egg_info
running egg_info
writing cffi.egg-info/PKG-INFO
writing dependency_links to cffi.egg-info/dependency_links.txt
writing entry points to cffi.egg-info/entry_points.txt
writing requirements to cffi.egg-info/requires.txt
writing top-level names to cffi.egg-info/top_level.txt
reading manifest file 'cffi.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'cffi.egg-info/SOURCES.txt'
Copying cffi.egg-info to /home/sbox/synology-sickchill/spk/sickchill/work-x64-6.2.4/install/var/packages/sickchill/target/lib/python3.8/site-packages/cffi-1.14.5-py3.8.egg-info
running install_scripts
find /home/sbox/synology-sickchill/spk/sickchill/work-x64-6.2.4/install//var/packages/sickchill/target/ \! -type d -printf '%P\n' | sort | \
  diff /home/sbox/synology-sickchill/spk/sickchill/work-x64-6.2.4/cffi.plist.tmp -  | grep '>' | cut -d' ' -f2- > /home/sbox/synology-sickchill/spk/sickchill/work-x64-6.2.4/cffi.plist
# Generate cffi.plist.auto for newly added files (diff against .tmp)
comm -3 /home/sbox/synology-sickchill/spk/sickchill/work-x64-6.2.4/cffi.plist.tmp /home/sbox/synology-sickchill/spk/sickchill/work-x64-6.2.4/cffi.plist > /home/sbox/synology-sickchill/spk/sickchill/work-x64-6.2.4/cffi.plist.auto
make[3]: Leaving directory '/home/sbox/synology-sickchill/cross/cffi'
===>  Extracting for poetry
tar -xzpf /home/sbox/synology-sickchill/cross/poetry/../../distrib/poetry-1.2.0a1.tar.gz -C /home/sbox/synology-sickchill/spk/sickchill/work-x64-6.2.4
===>  Patching for poetry
===>  Configuring for poetry
===>  Compiling for poetry
/home/sbox/synology-sickchill/spk/sickchill/work-x64-6.2.4/crossenv/cross/bin/python: can't open file 'setup.py': [Errno 2] No such file or directory
make[2]: *** [../../mk/spksrc.python-module.mk:33: compile_python_module] Error 2
make[2]: Leaving directory '/home/sbox/synology-sickchill/cross/poetry'
make[1]: *** [../../mk/spksrc.depend.mk:51: depend_target] Error 2
make[1]: Leaving directory '/home/sbox/synology-sickchill/spk/sickchill'
make: [../../mk/spksrc.spk.mk:508: arch-x64-6.2.4] Error 2 (ignored)

for above

root@COOLERM1:/home/sbox/synology-sickchill/spk/sickchill# make dependency-tree
+ sickchill
        + python38 3.8.8
                + python38 3.8.8
                + zlib 1.2.11
                + openssl 1.1.1k
                        + zlib 1.2.11
                + sqlite-autoconf 3340100
                        + zlib 1.2.11
                + readline 7.0
                        + ncursesw 6.1
                + ncursesw 6.1
                + bzip2 1.0.8
                + xz 5.2.5
                + libuuid 1.0.3
                + libffi 3.3
        + poetry 1.2.0a1
                + cffi 1.14.5
                        + pycparser 2.20
                        + libffi 3.3
        + PyNaCl 1.4.0
                + cffi 1.14.5
                        + pycparser 2.20
                        + libffi 3.3
                + libsodium 1.0.18
        + mediainfo 20.08
                + libmediainfo 20.08
                        + libzen 0.4.38
                        + zlib 1.2.11
root@COOLERM1:/home/sbox/synology-sickchill/spk/sickchill#

If I switch around BUILD_DEPENDS to be cross/poetry cross/python38

root@COOLERM1:/home/sbox/synology-sickchill/spk/sickchill# make arch-x64-6.2.4
===>  Building package for arch x64-6.2.4
make[1]: Entering directory '/home/sbox/synology-sickchill/spk/sickchill'
===>  Processing dependencies of sickchill
make[2]: Entering directory '/home/sbox/synology-sickchill/cross/poetry'
===>  Compiling for poetry
/home/sbox/synology-sickchill/spk/sickchill/work-x64-6.2.4/crossenv/cross/bin/python: can't open file 'setup.py': [Errno 2] No such file or directory
make[2]: *** [../../mk/spksrc.python-module.mk:33: compile_python_module] Error 2
make[2]: Leaving directory '/home/sbox/synology-sickchill/cross/poetry'
make[1]: *** [../../mk/spksrc.depend.mk:51: depend_target] Error 2
make[1]: Leaving directory '/home/sbox/synology-sickchill/spk/sickchill'
make: [../../mk/spksrc.spk.mk:508: arch-x64-6.2.4] Error 2 (ignored)

If i make

BUILD_DEPENDS = cross/python38
DEPENDS += cross/PyNaCl cross/mediainfo cross/poetry

Then a different error where setup.py is being looked but not found. The directory /work-x64-6.2.4/crossenv/cross/bin/ for in the wrong build directory when it's in /work-x64-6.2.4/Python-3.8.8/

===>  Extracting for poetry
tar -xzpf /home/sbox/synology-sickchill/cross/poetry/../../distrib/poetry-1.2.0a1.tar.gz -C /home/sbox/synology-sickchill/spk/sickchill/work-x64-6.2.4
===>  Patching for poetry
===>  Configuring for poetry
===>  Compiling for poetry
/home/sbox/synology-sickchill/spk/sickchill/work-x64-6.2.4/crossenv/cross/bin/python: can't open file 'setup.py': [Errno 2] No such file or directory
make[2]: *** [../../mk/spksrc.python-module.mk:33: compile_python_module] Error 2
make[2]: Leaving directory '/home/sbox/synology-sickchill/cross/poetry'
make[1]: *** [../../mk/spksrc.depend.mk:51: depend_target] Error 2
make[1]: Leaving directory '/home/sbox/synology-sickchill/spk/sickchill'

Any guidance on this issue would be good.

I also read is other issues that a make clean and make in native helped others so in native/python3 no errors and in native/python38 gives errors as follows.

root@COOLERM1:/home/sbox/synology-sickchill/spk/python38# make
===>  Processing dependencies of python38
make[1]: Entering directory '/home/sbox/synology-sickchill/cross/python38'
===>  Processing dependencies of python38
make[2]: Entering directory '/home/sbox/synology-sickchill/native/python38'
make[2]: Nothing to be done for 'default'.
make[2]: Leaving directory '/home/sbox/synology-sickchill/native/python38'
make[2]: Entering directory '/home/sbox/synology-sickchill/cross/zlib'
make[2]: Nothing to be done for 'default'.
make[2]: Leaving directory '/home/sbox/synology-sickchill/cross/zlib'
make[2]: Entering directory '/home/sbox/synology-sickchill/cross/openssl'
===>  Compiling for openssl
make[3]: Entering directory '/home/sbox/synology-sickchill/spk/python38/work-all/openssl-1.1.1k'
make depend && make _all
make[4]: Entering directory '/home/sbox/synology-sickchill/spk/python38/work-all/openssl-1.1.1k'
make[4]: Leaving directory '/home/sbox/synology-sickchill/spk/python38/work-all/openssl-1.1.1k'
make[4]: Entering directory '/home/sbox/synology-sickchill/spk/python38/work-all/openssl-1.1.1k'
gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DB_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DVPAES_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/etc/ssl\"" -DENGINESDIR="\"/var/packages/python38/target/lib/engines-1.1\"" -DZLIB -DZLIB_SHARED -DNDEBUG  -c -o crypto/aes/aes-ppc.o crypto/aes/aes-ppc.s
crypto/aes/aes-ppc.s: Assembler messages:
crypto/aes/aes-ppc.s:1: Error: unknown pseudo-op: `.machine'
crypto/aes/aes-ppc.s:4: Error: alignment not a power of 2
crypto/aes/aes-ppc.s:6: Error: no such instruction: `mflr 0'
crypto/aes/aes-ppc.s:7: Error: no such instruction: `bcl 20,31,$+4'
crypto/aes/aes-ppc.s:8: Error: no such instruction: `mflr 3'
crypto/aes/aes-ppc.s:9: Error: no such instruction: `addi 3,3,120'
crypto/aes/aes-ppc.s:10: Error: no such instruction: `mtlr 0'
crypto/aes/aes-ppc.s:11: Error: no such instruction: `blr '
crypto/aes/aes-ppc.s:16: Error: no such instruction: `mflr 0'
crypto/aes/aes-ppc.s:17: Error: no such instruction: `bcl 20,31,$+4'
crypto/aes/aes-ppc.s:18: Error: no such instruction: `mflr 3'
crypto/aes/aes-ppc.s:19: Error: no such instruction: `addi 3,3,2360'
crypto/aes/aes-ppc.s:20: Error: no such instruction: `mtlr 0'
crypto/aes/aes-ppc.s:21: Error: no such instruction: `blr '
crypto/aes/aes-ppc.s:605: Error: alignment not a power of 2
crypto/aes/aes-ppc.s:607: Error: no such instruction: `stwu 1,-128(1)'
crypto/aes/aes-ppc.s:608: Error: no such instruction: `mflr 0'
<long list>
crypto/aes/aes-ppc.s:1544: Error: too many memory references for `xor'
crypto/aes/aes-ppc.s:1546: Error: no such instruction: `b .Ldec_compact_loop'
crypto/aes/aes-ppc.s:1549: Error: too many memory references for `xor'
crypto/aes/aes-ppc.s:1550: Error: too many memory references for `xor'
crypto/aes/aes-ppc.s:1551: Error: too many memory references for `xor'
crypto/aes/aes-ppc.s:1552: Error: too many memory references for `xor'
crypto/aes/aes-ppc.s:1553: Error: no such instruction: `blr '
crypto/aes/aes-ppc.s:1560: Error: alignment not a power of 2
make[4]: *** [Makefile:766: crypto/aes/aes-ppc.o] Error 1
make[4]: Leaving directory '/home/sbox/synology-sickchill/spk/python38/work-all/openssl-1.1.1k'
make[3]: *** [Makefile:174: all] Error 2
make[3]: Leaving directory '/home/sbox/synology-sickchill/spk/python38/work-all/openssl-1.1.1k'
make[2]: *** [../../mk/spksrc.compile.mk:36: compile_target] Error 2
make[2]: Leaving directory '/home/sbox/synology-sickchill/cross/openssl'
make[1]: *** [../../mk/spksrc.depend.mk:51: depend_target] Error 2
make[1]: Leaving directory '/home/sbox/synology-sickchill/cross/python38'
make: *** [../../mk/spksrc.depend.mk:51: depend_target] Error 2

@miigotu
Copy link
Contributor Author

miigotu commented Jul 29, 2021

You'll have to get rust installed in the crossenv before any of it will work.

@miigotu
Copy link
Contributor Author

miigotu commented Jul 29, 2021

Btw, the build does not depend on poetry unless you are going to use poetry export in the makefile to eliminate src/requirements.txt.

@BKSteve
Copy link
Contributor

BKSteve commented Jul 30, 2021

Clean install Debian 10 WSL2.

/bin/sh: 2: export: Files/WindowsApps/TheDebianProject.DebianGNULinux_1.4.0.0_x64__76v4gfsz19hv4:/mnt/c/Program: bad variable name
make[2]: *** [Makefile:87: python38_post_install] Error 2
make[2]: Leaving directory '/home/sdb/synology-sickchill/cross/python38'
make[1]: *** [../../mk/spksrc.depend.mk:51: depend_target] Error 2
make[1]: Leaving directory '/home/sdb/synology-sickchill/spk/sickchill'
make: [../../mk/spksrc.spk.mk:508: arch-x64-6.2.4] Error 2 (ignored)

Not sure on installing rust in crossenv as very new to this building spk thing. Some help.

@miigotu
Copy link
Contributor Author

miigotu commented Jul 30, 2021

Clean install Debian 10 WSL2.

/bin/sh: 2: export: Files/WindowsApps/TheDebianProject.DebianGNULinux_1.4.0.0_x64__76v4gfsz19hv4:/mnt/c/Program: bad variable name
make[2]: *** [Makefile:87: python38_post_install] Error 2
make[2]: Leaving directory '/home/sdb/synology-sickchill/cross/python38'
make[1]: *** [../../mk/spksrc.depend.mk:51: depend_target] Error 2
make[1]: Leaving directory '/home/sdb/synology-sickchill/spk/sickchill'
make: [../../mk/spksrc.spk.mk:508: arch-x64-6.2.4] Error 2 (ignored)

Not sure on installing rust in crossenv as very new to this building spk thing. Some help.

It's never going to build on wsl. You need to use the docker image, see the spksrc readme.

@BKSteve
Copy link
Contributor

BKSteve commented Jul 30, 2021

@miigotu I know what I'm going to say isn't a fix for DSM7 but I took the master branch of spksrc and added in /spk/sickchill/src/service-setup.sh file:
set_unix_permissions "${SYNOPKG_PKGDEST}"
at the end of service_postinst

This fixes the ownership issues with the current first release, and no other changes.
Surely they'd go for this one little fix first to resolve all the DSM6 issues whilst DSM7 is worked on.

Edit: Probably have to edit the Makefile to SPK_VERS = 20210329-2

@BKSteve
Copy link
Contributor

BKSteve commented Jul 30, 2021

It's never going to build on wsl. You need to use the docker image, see the spksrc readme.

WSL2 debian - I built the original 20210329-1 from master no problem. No errors. It's a VM under Hyper-V.
Edit: Moved to full Debian 10 device. Will work on this again soon.

@hgy59 hgy59 mentioned this pull request Aug 31, 2021
3 tasks
@hgy59 hgy59 mentioned this pull request Sep 18, 2021
3 tasks
@BKSteve BKSteve mentioned this pull request Oct 9, 2021
3 tasks
@publicarray
Copy link
Member

Thanks everyone! 5ace92b is merged now, so I think this can be closed.

@publicarray publicarray closed this Nov 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants