From d306c777a50402d28d318242ae401bf609b025cc Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sat, 22 Jul 2023 19:39:39 +0000 Subject: [PATCH 01/86] Update all python based packages using cryptography to openssl3 --- cross/python310/Makefile | 4 +-- cross/python311/Makefile | 4 +-- spk/duplicity/Makefile | 4 +-- spk/duplicity/src/requirements-pure.txt | 34 +++++++++---------- spk/homeassistant/Makefile | 9 +++-- .../src/requirements-crossenv.txt | 2 +- spk/python310/Makefile | 4 +-- spk/python311/Makefile | 4 +-- spk/sickchill/Makefile | 8 ++--- spk/sickchill/src/requirements-crossenv.txt | 2 +- spk/sickchill/src/requirements-pure.txt | 2 +- 11 files changed, 36 insertions(+), 41 deletions(-) diff --git a/cross/python310/Makefile b/cross/python310/Makefile index 43d5326a20e..55adf096da2 100644 --- a/cross/python310/Makefile +++ b/cross/python310/Makefile @@ -53,9 +53,7 @@ CONFIGURE_ARGS += ac_cv_file__dev_ptmx=no CONFIGURE_ARGS += ac_cv_file__dev_ptc=no CONFIGURE_ARGS += ac_cv_have_long_long_format=yes -# keep both openssl until all python packages -# have been republished using openssl3 -DEPENDS += cross/openssl cross/openssl3 +DEPENDS += cross/openssl3 CONFIGURE_ARGS += --with-ssl-default-suites=openssl DEPENDS += cross/gdbm diff --git a/cross/python311/Makefile b/cross/python311/Makefile index 481a1f4b50d..91e55d83157 100644 --- a/cross/python311/Makefile +++ b/cross/python311/Makefile @@ -54,9 +54,7 @@ CONFIGURE_ARGS += ac_cv_file__dev_ptmx=no CONFIGURE_ARGS += ac_cv_file__dev_ptc=no CONFIGURE_ARGS += ac_cv_have_long_long_format=yes -# keep both openssl until all python packages -# have been republished using openssl3 -DEPENDS += cross/openssl cross/openssl3 +DEPENDS += cross/openssl3 CONFIGURE_ARGS += --with-ssl-default-suites=openssl DEPENDS += cross/gdbm diff --git a/spk/duplicity/Makefile b/spk/duplicity/Makefile index d0f2ff7baa9..f3aa8219062 100644 --- a/spk/duplicity/Makefile +++ b/spk/duplicity/Makefile @@ -1,6 +1,6 @@ SPK_NAME = duplicity SPK_VERS = 1.0.1 -SPK_REV = 9 +SPK_REV = 10 SPK_ICON = src/duplicity.png BUILD_DEPENDS = cross/python310 @@ -32,7 +32,7 @@ MAINTAINER = SynoCommunity DESCRIPTION = Encrypted bandwidth-efficient backup using the rsync algorithm. Also contains duply wrapper script (duply is supported only for DSM >= 6.0). STARTABLE = no DISPLAY_NAME = Duplicity -CHANGELOG = "1. Update duplicity to v1.0.1 and duply to v2.4.1" +CHANGELOG = "1. Update duplicity to v1.0.1 and duply to v2.4.1
2. Update to openssl 3.1.1" HOMEPAGE = https://duplicity.gitlab.io/duplicity-web/ LICENSE = GPLv2 diff --git a/spk/duplicity/src/requirements-pure.txt b/spk/duplicity/src/requirements-pure.txt index 2b9e718a282..00c396d0c3c 100644 --- a/spk/duplicity/src/requirements-pure.txt +++ b/spk/duplicity/src/requirements-pure.txt @@ -9,25 +9,25 @@ azure-core==1.26.0 azure-storage-blob==12.14.0 b2sdk==1.18.0 Babel==2.10.3 -#bcrypt==4.0.1 ==> cross +#bcrypt==4.0.1 ==> crossenv boto==2.49.0 boto3==1.24.89 botocore==1.27.89 boxsdk==3.5.0 cachetools==5.2.0 #certifi==2022.9.24 ==> py310 -#cffi==1.15.1 ==> cross +#cffi==1.15.1 ==> crossenv chardet==3.0.4 charset-normalizer==2.1.1 clint==0.5.1 -#coverage==6.5.0 ==> cross -#cryptography==38.0.2 ==> cross +#coverage==6.5.0 ==> crossenv +#cryptography==38.0.2 ==> crossenv debtcollector==2.5.0 dill==0.3.5.1 #distlib==0.3.6 ==> py310 docutils==0.17.1 dropbox==11.35.0 -#duplicity==1.0.1 ==> cross +#duplicity==1.0.1 ==> crossenv ecdsa==0.18.0 fasteners==0.18 #filelock==3.8.0 ==> py310 @@ -56,11 +56,11 @@ jmespath==1.0.1 jottalib==0.5.1 keyring==23.9.3 keystoneauth1==2.18.0 -#lazy-object-proxy==1.7.1 ==> cross +#lazy-object-proxy==1.7.1 ==> crossenv logfury==1.0.1 -#lxml==4.9.1 ==> cross +#lxml==4.9.1 ==> crossenv markdown-it-py==2.1.0 -#MarkupSafe==2.1.1 ==> cross +#MarkupSafe==2.1.1 ==> crossenv mccabe==0.7.0 mdit-py-plugins==0.3.1 mdurl==0.1.2 @@ -69,12 +69,12 @@ megatools==0.0.4 mock==4.0.3 monotonic==1.6 more-itertools==8.14.0 -#msgpack==1.0.4 ==> cross -#msgpack-python==0.5.6 ==> cross +#msgpack==1.0.4 ==> crossenv +#msgpack-python==0.5.6 ==> crossenv msrest==0.7.1 myst-parser==0.18.1 netaddr==0.8.0 -#netifaces==0.11.0 ==> cross +#netifaces==0.11.0 ==> crossenv oauth2client==4.1.3 oauthlib==3.2.1 os-diskconfig-python-novaclient-ext==0.1.3 @@ -93,8 +93,8 @@ pluggy==1.0.0 ply==3.11 positional==1.2.1 prettytable==0.7.2 -#protobuf==4.21.7 ==> cross -#psutil==5.9.2 ==> cross +#protobuf==4.21.7 ==> crossenv +#psutil==5.9.2 ==> crossenv ptyprocess==0.7.0 py==1.11.0 pyasn1==0.4.8 @@ -105,7 +105,7 @@ PyDrive2==1.14.0 Pygments==2.13.0 PyJWT==2.5.0 pylint==2.15.4 -#PyNaCl==1.5.0 ==> cross +#PyNaCl==1.5.0 ==> crossenv pyOpenSSL==22.1.0 pyparsing==3.0.9 pyrax==1.10.0 @@ -119,7 +119,7 @@ python-keystoneclient==3.10.0 python-novaclient==2.27.0 python-swiftclient==4.1.0 pytz==2022.4 -#PyYAML==6.0 ==> cross +#PyYAML==6.0 ==> crossenv rackspace-auth-openstack==1.3 rackspace-novaclient==2.1 rax-default-network-flags-python-novaclient-ext==0.4.0 @@ -132,7 +132,7 @@ rsa==4.9 s3transfer==0.6.0 SecretStorage==3.3.3 setuptools-scm==7.0.5 -#simplejson==3.17.6 ==> cross +#simplejson==3.17.6 ==> crossenv #six==1.16.0 ==> py310 snowballstemmer==2.2.0 Sphinx==5.2.3 @@ -154,4 +154,4 @@ typing_extensions==4.4.0 uritemplate==4.1.1 urllib3==1.25.11 #virtualenv==20.16.5 ==> py310 -#wrapt==1.14.1 ==> cross +#wrapt==1.14.1 ==> crossenv diff --git a/spk/homeassistant/Makefile b/spk/homeassistant/Makefile index 37666ef4cd6..e7300311a32 100644 --- a/spk/homeassistant/Makefile +++ b/spk/homeassistant/Makefile @@ -1,6 +1,6 @@ SPK_NAME = homeassistant SPK_VERS = 2023.1.7 -SPK_REV = 20 +SPK_REV = 21 SPK_ICON = src/homeassistant.png HACS_VERS = 1.31.0 @@ -15,7 +15,7 @@ UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) $(ARMv7L_ARCHS) MAINTAINER = hgy59 DESCRIPTION = "Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control." DISPLAY_NAME = Home Assistant Core -CHANGELOG = "1. Update homeassistant to 2023.1.7.
2. Update HACS integration to v1.31.0.

REMARKS: Only arch specific python modules are included in the package. Other modules are downloaded at installation time." +CHANGELOG = "1. Update homeassistant to 2023.1.7.
2. Update HACS integration to v1.31.0.

REMARKS: Only arch specific python modules are included in the package. Other modules are downloaded at installation time.
Update to openssl 3.1.1" STARTABLE = yes HOMEPAGE = https://www.home-assistant.io/ @@ -76,10 +76,13 @@ WHEELS_BUILD_ARGS += --enable-freetype WHEELS_BUILD_ARGS += --enable-jpeg WHEELS_BUILD_ARGS += --enable-zlib -# [cryptography] +# [bcrypt] ENV += PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ ENV += PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ +# [cryptography] +DEPENDS += cross/cryptography + # [gevent] DEPENDS += cross/libev cross/c-ares ENV += GEVENTSETUP_EMBED_CARES=FALSE diff --git a/spk/homeassistant/src/requirements-crossenv.txt b/spk/homeassistant/src/requirements-crossenv.txt index 3b5817d8a12..5b6cec3cff2 100644 --- a/spk/homeassistant/src/requirements-crossenv.txt +++ b/spk/homeassistant/src/requirements-crossenv.txt @@ -24,7 +24,7 @@ ciso8601==2.3.0 # contourpy==1.0.7 => fails to build: ModuleNotFoundError: No module named 'pybind11' coverage==7.0.5 crc16==0.1.1 -cryptography==38.0.3 +#cryptography==38.0.3 => cross/cryptography Cython==0.29.33 dbus_fast==1.82.0 debugpy==1.6.4 diff --git a/spk/python310/Makefile b/spk/python310/Makefile index 67571d262b9..f0f2d496da2 100644 --- a/spk/python310/Makefile +++ b/spk/python310/Makefile @@ -1,7 +1,7 @@ SPK_NAME = python310 SPK_VERS = 3.10.12 SPK_VERS_MAJOR_MINOR = $(word 1,$(subst ., ,$(SPK_VERS))).$(word 2,$(subst ., ,$(SPK_VERS))) -SPK_REV = 17 +SPK_REV = 18 SPK_ICON = src/python3.png DEPENDS = cross/$(SPK_NAME) @@ -13,7 +13,7 @@ DESCRIPTION_FRE = Language de programmation Python. DESCRIPTION_SPN = Lenguaje de programación Python. STARTABLE = no DISPLAY_NAME = Python 3.10 -CHANGELOG = "1. Update to Python 3.10.12
2. Update to OpenSSL 3.1.1
3. Re-include openssl 1.1 until all packages are migrated" +CHANGELOG = "1. Update to Python 3.10.12
2. Update all packages to OpenSSL 3.1.1" HOMEPAGE = https://www.python.org LICENSE = PSF diff --git a/spk/python311/Makefile b/spk/python311/Makefile index bf366133566..a068cf6cf4e 100644 --- a/spk/python311/Makefile +++ b/spk/python311/Makefile @@ -1,7 +1,7 @@ SPK_NAME = python311 SPK_VERS = 3.11.4 SPK_VERS_MAJOR_MINOR = $(word 1,$(subst ., ,$(SPK_VERS))).$(word 2,$(subst ., ,$(SPK_VERS))) -SPK_REV = 6 +SPK_REV = 7 SPK_ICON = src/python3.png DEPENDS = cross/$(SPK_NAME) @@ -13,7 +13,7 @@ DESCRIPTION_FRE = Language de programmation Python. DESCRIPTION_SPN = Lenguaje de programación Python. STARTABLE = no DISPLAY_NAME = Python 3.11 -CHANGELOG = "1. Update to Python 3.11.4
2. Update to OpenSSL 3.1.1
3. Re-include openssl 1.1 until all packages are migrated" +CHANGELOG = "1. Update to Python 3.11.4
2. Update all packages to OpenSSL 3.1.1" HOMEPAGE = https://www.python.org LICENSE = PSF diff --git a/spk/sickchill/Makefile b/spk/sickchill/Makefile index c217bdcba4c..9ffcc999d66 100644 --- a/spk/sickchill/Makefile +++ b/spk/sickchill/Makefile @@ -1,6 +1,6 @@ SPK_NAME = sickchill SPK_VERS = 20230627 -SPK_REV = 8 +SPK_REV = 9 SPK_ICON = src/sickchill.png BUILD_DEPENDS = cross/python311 @@ -19,11 +19,7 @@ DEPENDS += cross/libsodium ENV += SODIUM_INSTALL=system # [cryptography] -ENV += PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ -ENV += PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ -# fix for openssl-sys crate (for cryptography >= 40.0.0) -# https://docs.rs/openssl/latest/openssl/#manual -ENV += OPENSSL_DIR=$(STAGING_INSTALL_PREFIX) +DEPENDS += cross/cryptography include ../../mk/spksrc.common.mk diff --git a/spk/sickchill/src/requirements-crossenv.txt b/spk/sickchill/src/requirements-crossenv.txt index 4aeabc4866e..bffde404454 100644 --- a/spk/sickchill/src/requirements-crossenv.txt +++ b/spk/sickchill/src/requirements-crossenv.txt @@ -1,5 +1,5 @@ cffi==1.15.1 -cryptography==40.0.2 +#cryptography==40.0.2 ==> cross/cryptography greenlet==2.0.2 lxml==4.9.2 MarkupSafe==2.1.2 diff --git a/spk/sickchill/src/requirements-pure.txt b/spk/sickchill/src/requirements-pure.txt index c4b23b5d85e..dd65839c95f 100644 --- a/spk/sickchill/src/requirements-pure.txt +++ b/spk/sickchill/src/requirements-pure.txt @@ -15,7 +15,7 @@ charset-normalizer==3.1.0 cinemagoer==2022.12.27 click==8.1.3 configobj==5.0.8 -# cryptography==40.0.2 ==> crossenv +# cryptography==40.0.2 ==> cross/cryptography decorator==5.1.1 deluge-client==1.9.0 Deprecated==1.2.13 From 24dfe04fc6426b79e86df243659b4afdad2fbf89 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sat, 22 Jul 2023 20:01:59 +0000 Subject: [PATCH 02/86] python311: Migrate all remaining packages from py310 to py311 --- spk/bazarr/Makefile | 8 ++++---- spk/bazarr/src/service-setup.sh | 2 +- spk/beets/Makefile | 8 ++++---- spk/beets/src/service-setup.sh | 2 +- spk/borgbackup/Makefile | 8 ++++---- spk/borgbackup/src/service-setup.sh | 2 +- spk/duplicity/Makefile | 6 +++--- spk/duplicity/src/service-setup.sh | 2 +- spk/flexget/Makefile | 8 ++++---- spk/flexget/src/service-setup.sh | 2 +- spk/headphones/Makefile | 6 +++--- spk/headphones/src/service-setup.sh | 2 +- spk/homeassistant/Makefile | 8 ++++---- spk/homeassistant/src/service-setup.sh | 2 +- spk/mercurial/Makefile | 8 ++++---- spk/mercurial/src/service-setup.sh | 2 +- spk/octoprint/Makefile | 8 ++++---- spk/octoprint/src/service-setup.sh | 2 +- spk/plexpy-custom/Makefile | 6 +++--- spk/plexpy-custom/src/service-setup.sh | 6 +++--- spk/rdiff-backup/Makefile | 8 ++++---- spk/rdiff-backup/src/service-setup.sh | 2 +- spk/salt-master/Makefile | 8 ++++---- spk/salt-master/src/service-setup.sh | 12 ++++++------ spk/salt-minion/Makefile | 8 ++++---- spk/salt-minion/src/service-setup.sh | 12 ++++++------ spk/tvheadend/Makefile | 4 ++-- spk/tvheadend/src/service-setup.sh | 6 +++--- spk/znc/Makefile | 6 +++--- spk/znc/src/service-setup.sh | 2 +- 30 files changed, 83 insertions(+), 83 deletions(-) diff --git a/spk/bazarr/Makefile b/spk/bazarr/Makefile index d1cd0d7836c..86989a5282d 100644 --- a/spk/bazarr/Makefile +++ b/spk/bazarr/Makefile @@ -1,11 +1,11 @@ SPK_NAME = bazarr SPK_VERS = 1.2.1 -SPK_REV = 9 +SPK_REV = 10 SPK_ICON = src/bazarr.png -BUILD_DEPENDS = cross/python310 +BUILD_DEPENDS = cross/python311 DEPENDS = cross/$(SPK_NAME) DEPENDS += cross/libxml2 cross/libxslt @@ -20,14 +20,14 @@ WHEELS_BUILD_ARGS += --enable-freetype WHEELS_BUILD_ARGS += --enable-jpeg WHEELS_BUILD_ARGS += --enable-zlib -SPK_DEPENDS = "python310:ffmpeg" +SPK_DEPENDS = "python311:ffmpeg" MAINTAINER = smaarn DESCRIPTION = "Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements. You define your preferences by TV show or movies and Bazarr takes care of everything for you." DISPLAY_NAME = Bazarr STARTABLE = yes -CHANGELOG = "Update to version 1.2.1.
See corresponding changelogs here and here for more details." +CHANGELOG = "Update to version 1.2.1.
See corresponding changelogs here and here for more details.
Migrate to python 3.11" HOMEPAGE = https://www.bazarr.media LICENSE = GPLv3 diff --git a/spk/bazarr/src/service-setup.sh b/spk/bazarr/src/service-setup.sh index 4ca84496134..9ada088681b 100644 --- a/spk/bazarr/src/service-setup.sh +++ b/spk/bazarr/src/service-setup.sh @@ -1,5 +1,5 @@ FFMPEG_DIR="/var/packages/ffmpeg/target/bin" -PYTHON_DIR="/var/packages/python310/target/bin" +PYTHON_DIR="/var/packages/python311/target/bin" PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${FFMPEG_DIR}:${PATH}" PYTHON="${SYNOPKG_PKGDEST}/env/bin/python3" LANGUAGE="env LANG=en_US.UTF-8 LC_ALL=en_US.utf8" diff --git a/spk/beets/Makefile b/spk/beets/Makefile index c1b06592d42..f58c26ae7eb 100644 --- a/spk/beets/Makefile +++ b/spk/beets/Makefile @@ -1,12 +1,12 @@ SPK_NAME = beets SPK_VERS = 1.6.0 -SPK_REV = 7 +SPK_REV = 8 SPK_ICON = src/beets.png -BUILD_DEPENDS = cross/python310 +BUILD_DEPENDS = cross/python311 WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt -SPK_DEPENDS = "python310>=3.10" +SPK_DEPENDS = "python311" # Required for PyYAML DEPENDS += cross/libyaml @@ -24,7 +24,7 @@ MAINTAINER = ymartin59 DESCRIPTION = "Beets is the media library management system for obsessive-compulsive music geeks. The purpose of beets is to get your music collection right once and for all. It catalogs your collection, automatically improving its metadata as it goes. It then provides a bouquet of tools for manipulating and accessing your music. Plugins not available due to lacking dependencies: AcousticBrainz Submit, Gmusic, ReplayGain." DISPLAY_NAME = beets -CHANGELOG = "1. Upgraded to 1.6.0
2. Updated minimum version of python to 3.10" +CHANGELOG = "1. Upgraded to 1.6.0
2. Migrate to python to 3.11" HOMEPAGE = http://beets.io/ LICENSE = GPL diff --git a/spk/beets/src/service-setup.sh b/spk/beets/src/service-setup.sh index 964e2b7f5be..9d26c867007 100644 --- a/spk/beets/src/service-setup.sh +++ b/spk/beets/src/service-setup.sh @@ -1,5 +1,5 @@ -PYTHON_DIR="/var/packages/python310/target/bin" +PYTHON_DIR="/var/packages/python311/target/bin" PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${PATH}" service_postinst () diff --git a/spk/borgbackup/Makefile b/spk/borgbackup/Makefile index ce81509b537..4f868639ac4 100644 --- a/spk/borgbackup/Makefile +++ b/spk/borgbackup/Makefile @@ -1,12 +1,12 @@ SPK_NAME = borgbackup SPK_VERS = 1.2.2 -SPK_REV = 13 +SPK_REV = 14 SPK_ICON = src/$(SPK_NAME).png -BUILD_DEPENDS = cross/python310 +BUILD_DEPENDS = cross/python311 DEPENDS = cross/attr cross/acl cross/openssl cross/lz4 cross/zstd cross/libb2 cross/fuse -SPK_DEPENDS = "python310" +SPK_DEPENDS = "python311" # Requirements file generation # - first create borgbackup wheel defined in src/requirements-crossenv.txt @@ -29,7 +29,7 @@ DESCRIPTION = Deduplicating backup program with compression and authenticated en DISPLAY_NAME = Borg STARTABLE = no -CHANGELOG = "1. Update borg to v1.2.2
2. Update borgmatic to v1.7.5.
/3. Include compiled version of msgpack for enhanced performance.
4. Update emborg to v1.34." +CHANGELOG = "1. Update borg to v1.2.2
2. Update borgmatic to v1.7.5.
/3. Include compiled version of msgpack for enhanced performance.
4. Update emborg to v1.34.
Migrate to python 3.11" HOMEPAGE = https://borgbackup.readthedocs.io LICENSE = 3-Clause BSD diff --git a/spk/borgbackup/src/service-setup.sh b/spk/borgbackup/src/service-setup.sh index 03960544309..10b82130091 100644 --- a/spk/borgbackup/src/service-setup.sh +++ b/spk/borgbackup/src/service-setup.sh @@ -1,4 +1,4 @@ -PYTHON_DIR="/var/packages/python310/target/bin" +PYTHON_DIR="/var/packages/python311/target/bin" PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${PATH}" service_postinst () diff --git a/spk/duplicity/Makefile b/spk/duplicity/Makefile index f3aa8219062..0d1c62d3656 100644 --- a/spk/duplicity/Makefile +++ b/spk/duplicity/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 1.0.1 SPK_REV = 10 SPK_ICON = src/duplicity.png -BUILD_DEPENDS = cross/python310 +BUILD_DEPENDS = cross/python311 DEPENDS = cross/librsync cross/duply # [cryptography] @@ -26,13 +26,13 @@ ENV += SODIUM_INSTALL=system WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt -SPK_DEPENDS = "python310:gnupg>=2.1.6" +SPK_DEPENDS = "python311:gnupg>=2.1.6" MAINTAINER = SynoCommunity DESCRIPTION = Encrypted bandwidth-efficient backup using the rsync algorithm. Also contains duply wrapper script (duply is supported only for DSM >= 6.0). STARTABLE = no DISPLAY_NAME = Duplicity -CHANGELOG = "1. Update duplicity to v1.0.1 and duply to v2.4.1
2. Update to openssl 3.1.1" +CHANGELOG = "1. Update duplicity to v1.0.1 and duply to v2.4.1
2. Update to openssl 3.1.1
Migrate to python 3.11" HOMEPAGE = https://duplicity.gitlab.io/duplicity-web/ LICENSE = GPLv2 diff --git a/spk/duplicity/src/service-setup.sh b/spk/duplicity/src/service-setup.sh index 1a641cbaee9..c22e2ce29e2 100644 --- a/spk/duplicity/src/service-setup.sh +++ b/spk/duplicity/src/service-setup.sh @@ -1,7 +1,7 @@ ### service-setup.sh -PYTHON_DIR="/var/packages/python310/target/bin" +PYTHON_DIR="/var/packages/python311/target/bin" PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${PATH}" service_postinst () diff --git a/spk/flexget/Makefile b/spk/flexget/Makefile index 83bc1050f86..73fcab4de35 100644 --- a/spk/flexget/Makefile +++ b/spk/flexget/Makefile @@ -1,10 +1,10 @@ SPK_NAME = flexget SPK_VERS = 3.3.4 -SPK_REV = 12 +SPK_REV = 13 SPK_ICON = src/${SPK_NAME}.png -BUILD_DEPENDS = cross/python310 -SPK_DEPENDS = "python310" +BUILD_DEPENDS = cross/python311 +SPK_DEPENDS = "python311" WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt # Required for PyYAML @@ -13,7 +13,7 @@ DEPENDS += cross/libyaml MAINTAINER = SynoCommunity DESCRIPTION = FlexGet is a multipurpose automation tool for content like torrents, nzbs, podcasts, comics, series, movies, etc. It can use different kinds of sources like RSS-feeds, html pages, csv files, search engines and there are even plugins for sites that do not provide any kind of useful feeds. DISPLAY_NAME = FlexGet -CHANGELOG = "1. Update FlexGet to version 3.3.4.
2. Update to python 3.10" +CHANGELOG = "1. Update FlexGet to version 3.3.4.
2. Migrate to python 3.11" STARTABLE = yes HOMEPAGE = https://flexget.com/ diff --git a/spk/flexget/src/service-setup.sh b/spk/flexget/src/service-setup.sh index b2f069c1f7e..c46b6ba6ffa 100644 --- a/spk/flexget/src/service-setup.sh +++ b/spk/flexget/src/service-setup.sh @@ -1,4 +1,4 @@ -PYTHON_DIR="/var/packages/python310/target/bin" +PYTHON_DIR="/var/packages/python311/target/bin" PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${PATH}" CONFIG_FILE="${SYNOPKG_PKGVAR}/config.yml" diff --git a/spk/headphones/Makefile b/spk/headphones/Makefile index e6452ff1136..41769b2214b 100644 --- a/spk/headphones/Makefile +++ b/spk/headphones/Makefile @@ -1,17 +1,17 @@ SPK_NAME = headphones SPK_VERS = $(shell date +%Y%m%d) -SPK_REV = 11 +SPK_REV = 12 SPK_ICON = src/headphones.png DEPENDS = -SPK_DEPENDS = "python310:git" +SPK_DEPENDS = "python311:git" MAINTAINER = Diaoul DESCRIPTION = Headphones is an automatic NZB and torrent downloader for music. Mark albums as wanted and have them downloaded as soon as they are available. Different quality settings are possible, including lossless. With Headphones you can also manage your music library automatically: move, tag, rename and index for your DiskStation. DESCRIPTION_FRE = Headphones permet le téléchargement automatique de musique via NZB ou torrent. Indiquez les albums que vous désirez et ils seront téléchargés dès que possible. Pous pouvez choisir entre différentes qualités, dont le lossless. Avec Headphones, vous pouvez aussi gérer votre bibliothèque musicale automatiquement: déplacement, tag, renommage et indexation pour votre DiskStation. DESCRIPTION_SPN = Headphones permite descargar automáticamente música mediante NZB o torrent. Puedes marcar albumes y estos serán descargados en cuanto estén disponibles. Es posible utilizar diferentes calidades, incluido lossless \(sin pedida\). Con Headphones tambien puedes administrar tu libreria: mover, taguear, renombrar e indexar en el DiskStation DISPLAY_NAME = Headphones -CHANGELOG = "1. Update to Python 3.10.
2. Add DSM 7 compatibility." +CHANGELOG = "1. Migrate to Python 3.11" HOMEPAGE = https://github.com/rembo10/headphones LICENSE = GPLv3 diff --git a/spk/headphones/src/service-setup.sh b/spk/headphones/src/service-setup.sh index 5b7d091cf38..0348caad4f4 100644 --- a/spk/headphones/src/service-setup.sh +++ b/spk/headphones/src/service-setup.sh @@ -1,4 +1,4 @@ -PYTHON_DIR="/var/packages/python310/target/bin" +PYTHON_DIR="/var/packages/python311/target/bin" GIT_DIR="/var/packages/git/target/bin" PATH="${SYNOPKG_PKGDEST}/bin:${SYNOPKG_PKGDEST}/env/bin:${PYTHON_DIR}:${GIT_DIR}:${PATH}" PYTHON="${SYNOPKG_PKGDEST}/env/bin/python3" diff --git a/spk/homeassistant/Makefile b/spk/homeassistant/Makefile index e7300311a32..d065748bb76 100644 --- a/spk/homeassistant/Makefile +++ b/spk/homeassistant/Makefile @@ -1,13 +1,13 @@ SPK_NAME = homeassistant SPK_VERS = 2023.1.7 -SPK_REV = 21 +SPK_REV = 22 SPK_ICON = src/homeassistant.png HACS_VERS = 1.31.0 -SPK_DEPENDS = "python310" +SPK_DEPENDS = "python311" -BUILD_DEPENDS = cross/python310 +BUILD_DEPENDS = cross/python311 # [numpy] > 1.22.4 UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) $(ARMv7L_ARCHS) @@ -15,7 +15,7 @@ UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) $(ARMv7L_ARCHS) MAINTAINER = hgy59 DESCRIPTION = "Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control." DISPLAY_NAME = Home Assistant Core -CHANGELOG = "1. Update homeassistant to 2023.1.7.
2. Update HACS integration to v1.31.0.

REMARKS: Only arch specific python modules are included in the package. Other modules are downloaded at installation time.
Update to openssl 3.1.1" +CHANGELOG = "1. Update homeassistant to 2023.1.7.
2. Update HACS integration to v1.31.0.
3. Migrate to python 3.11

REMARKS: Only arch specific python modules are included in the package. Other modules are downloaded at installation time.
Update to openssl 3.1.1" STARTABLE = yes HOMEPAGE = https://www.home-assistant.io/ diff --git a/spk/homeassistant/src/service-setup.sh b/spk/homeassistant/src/service-setup.sh index 0d73ab708fa..839c648c765 100644 --- a/spk/homeassistant/src/service-setup.sh +++ b/spk/homeassistant/src/service-setup.sh @@ -1,5 +1,5 @@ -PYTHON_DIR="/var/packages/python310/target/bin" +PYTHON_DIR="/var/packages/python311/target/bin" PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${PATH}" CONFIG_DIR="${SYNOPKG_PKGVAR}/config" diff --git a/spk/mercurial/Makefile b/spk/mercurial/Makefile index 6fd57e32e02..b487cdc1746 100644 --- a/spk/mercurial/Makefile +++ b/spk/mercurial/Makefile @@ -1,18 +1,18 @@ SPK_NAME = mercurial SPK_VERS = 6.0 -SPK_REV = 8 +SPK_REV = 9 SPK_ICON = src/mercurial.png -BUILD_DEPENDS = cross/python310 +BUILD_DEPENDS = cross/python311 WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt -SPK_DEPENDS = "python310" +SPK_DEPENDS = "python311" MAINTAINER = SynoCommunity DESCRIPTION = Mercurial is a free, distributed source control management tool STARTABLE = no DISPLAY_NAME = Mercurial -CHANGELOG = "1. Update mercurial to 6.0
2. Update to Python 3.10" +CHANGELOG = "1. Update mercurial to 6.0
2. Update to Python 3.11" HOMEPAGE = https://www.mercurial-scm.org/ LICENSE = MPL1.1 diff --git a/spk/mercurial/src/service-setup.sh b/spk/mercurial/src/service-setup.sh index 03960544309..10b82130091 100644 --- a/spk/mercurial/src/service-setup.sh +++ b/spk/mercurial/src/service-setup.sh @@ -1,4 +1,4 @@ -PYTHON_DIR="/var/packages/python310/target/bin" +PYTHON_DIR="/var/packages/python311/target/bin" PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${PATH}" service_postinst () diff --git a/spk/octoprint/Makefile b/spk/octoprint/Makefile index 3055e720f98..38c274577d5 100644 --- a/spk/octoprint/Makefile +++ b/spk/octoprint/Makefile @@ -1,17 +1,17 @@ SPK_NAME = octoprint SPK_VERS = 1.8.7 -SPK_REV = 10 +SPK_REV = 11 SPK_ICON = src/octoprint.png DSM_UI_DIR = app -BUILD_DEPENDS = cross/python310 +BUILD_DEPENDS = cross/python311 # Required for PyYAML DEPENDS += cross/libyaml WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt -SPK_DEPENDS = "python310" +SPK_DEPENDS = "python311" MAINTAINER = SynoCommunity DESCRIPTION = The snappy web interface for your 3D printer. @@ -21,7 +21,7 @@ ADMIN_PORT = $(SERVICE_PORT) DISPLAY_NAME = OctoPrint HOMEPAGE = https://octoprint.org/ LICENSE = AGPLv3 -CHANGELOG = "Update OctoPrint to v1.8.7. Please have a look at the changes in 1.8.3 https://github.com/OctoPrint/OctoPrint/releases/tag/1.8.3 regarding the password hashing change." +CHANGELOG = "Update OctoPrint to v1.8.7. Please have a look at the changes in 1.8.3 https://github.com/OctoPrint/OctoPrint/releases/tag/1.8.3 regarding the password hashing change.
Migrate to python 3.11" # SERVICE_COMMAND is in src/service-setup.sh STARTABLE = yes diff --git a/spk/octoprint/src/service-setup.sh b/spk/octoprint/src/service-setup.sh index 691cd85631e..48221a0e35f 100644 --- a/spk/octoprint/src/service-setup.sh +++ b/spk/octoprint/src/service-setup.sh @@ -1,4 +1,4 @@ -PYTHON_DIR="/var/packages/python310/target/bin" +PYTHON_DIR="/var/packages/python311/target/bin" PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${PATH}" PYTHON=${SYNOPKG_PKGDEST}/env/bin/python3 OCTOPRINT=${SYNOPKG_PKGDEST}/env/bin/octoprint diff --git a/spk/plexpy-custom/Makefile b/spk/plexpy-custom/Makefile index 2bb7878a473..8b91b68f259 100644 --- a/spk/plexpy-custom/Makefile +++ b/spk/plexpy-custom/Makefile @@ -1,16 +1,16 @@ SPK_NAME = plexpy-custom SPK_VERS = $(shell date +%Y%m%d) -SPK_REV = 6 +SPK_REV = 7 SPK_ICON = src/plexpy-custom.png DEPENDS = -SPK_DEPENDS = "python310:git" +SPK_DEPENDS = "python311:git" MAINTAINER = cytec DESCRIPTION = PlexPy Custom allows you to run the fork of your choice of PlexPy. You will be asked for the fork\'s git URL during install. DESCRIPTION_FRE = PlexPy Custom vous permet d\'exécuter la variante de PlexPy votre choix. Il vous sera demandé l\'URL git de la variante à l\'installation. DISPLAY_NAME = PlexPy Custom -CHANGELOG = "Update to Python3.10" +CHANGELOG = "Migrate to Python3.11" HOMEPAGE = https://tautulli.com LICENSE = GPL diff --git a/spk/plexpy-custom/src/service-setup.sh b/spk/plexpy-custom/src/service-setup.sh index bf3ca44c503..f4524c96f0f 100644 --- a/spk/plexpy-custom/src/service-setup.sh +++ b/spk/plexpy-custom/src/service-setup.sh @@ -1,8 +1,8 @@ -# Define python310 binary path -PYTHON_DIR="/var/packages/python310/target/bin" +# Define python311 binary path +PYTHON_DIR="/var/packages/python311/target/bin" # Define git binary path GIT_DIR="/var/packages/git/target/bin" -# Add local bin, virtualenv along with python310 and git to the default PATH +# Add local bin, virtualenv along with python311 and git to the default PATH PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${GIT_DIR}:${PATH}" PYTHON="${SYNOPKG_PKGDEST}/env/bin/python" GIT="${GIT_DIR}/git" diff --git a/spk/rdiff-backup/Makefile b/spk/rdiff-backup/Makefile index 4fb269e8391..ca2efae7254 100644 --- a/spk/rdiff-backup/Makefile +++ b/spk/rdiff-backup/Makefile @@ -1,9 +1,9 @@ SPK_NAME = rdiff-backup SPK_VERS = 2.0.5 -SPK_REV = 4 +SPK_REV = 5 SPK_ICON = src/rdiff-backup.png -BUILD_DEPENDS = cross/python310 +BUILD_DEPENDS = cross/python311 DEPENDS = cross/librsync cross/attr cross/acl # [PyYAML] @@ -11,13 +11,13 @@ DEPENDS += cross/libyaml WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt -SPK_DEPENDS = "python310" +SPK_DEPENDS = "python311" MAINTAINER = SynoCommunity DESCRIPTION = Reverse differential backup tool, over a network or locally. STARTABLE = no DISPLAY_NAME = rdiff-backup -CHANGELOG = "Update to v2.0.5 and update dependencies for Python 3.10" +CHANGELOG = "1. Update to v2.0.5
2. Migrate to Python 3.11" HOMEPAGE = https://rdiff-backup.net/ LICENSE = GPLv2 diff --git a/spk/rdiff-backup/src/service-setup.sh b/spk/rdiff-backup/src/service-setup.sh index a44f4b90b3b..62f99f8decb 100644 --- a/spk/rdiff-backup/src/service-setup.sh +++ b/spk/rdiff-backup/src/service-setup.sh @@ -1,4 +1,4 @@ -PYTHON_DIR="/var/packages/python310/target/bin" +PYTHON_DIR="/var/packages/python311/target/bin" PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${PATH}" service_postinst () diff --git a/spk/salt-master/Makefile b/spk/salt-master/Makefile index 16bd8f9933e..3279f19a757 100644 --- a/spk/salt-master/Makefile +++ b/spk/salt-master/Makefile @@ -1,10 +1,10 @@ SPK_NAME = salt-master SPK_VERS = 3004 -SPK_REV = 11 +SPK_REV = 12 SPK_ICON = src/salt-master.png -BUILD_DEPENDS = cross/python310 -SPK_DEPENDS = "python310" +BUILD_DEPENDS = cross/python311 +SPK_DEPENDS = "python311" # TODO: Enable as website to provide salt-master status DEPENDS = cross/saltgui @@ -21,7 +21,7 @@ WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt MAINTAINER = SynoCommunity DESCRIPTION = Salt, a new approach to infrastructure management, is easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with those servers in seconds. DISPLAY_NAME = Salt Master -CHANGELOG = "1. Update to 3004
2. Migrate to Python 3.10" +CHANGELOG = "1. Update to 3004
2. Migrate to Python 3.11" HOMEPAGE = https://repo.saltproject.io/ LICENSE = Apache v2 diff --git a/spk/salt-master/src/service-setup.sh b/spk/salt-master/src/service-setup.sh index e65acfe906d..aae247d5754 100644 --- a/spk/salt-master/src/service-setup.sh +++ b/spk/salt-master/src/service-setup.sh @@ -1,6 +1,6 @@ -# Define python310 binary path -PYTHON_DIR="/var/packages/python310/target/bin" -# Add local bin, virtualenv along with python310 to the default PATH +# Define python311 binary path +PYTHON_DIR="/var/packages/python311/target/bin" +# Add local bin, virtualenv along with python311 to the default PATH PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${PATH}" LANGUAGE="env LANG=en_US.UTF-8" SYNOPKG_PKGETC=/var/packages/${SYNOPKG_PKGNAME}/etc @@ -15,10 +15,10 @@ service_postinst () # Install wheels install_python_wheels - # patch rsax931.py file to find libcrypto lib provided by python310 + # patch rsax931.py file to find libcrypto lib provided by python311 # (rely on patch==1.16 included in requirements-pure.txt) - python ${SYNOPKG_PKGDEST}/env/lib/python3.10/site-packages/patch.py \ - --directory=${SYNOPKG_PKGDEST}/env/lib/python3.10/site-packages/salt/utils \ + python ${SYNOPKG_PKGDEST}/env/lib/python3.11/site-packages/patch.py \ + --directory=${SYNOPKG_PKGDEST}/env/lib/python3.11/site-packages/salt/utils \ ${SYNOPKG_PKGDEST}/share/rsax931.py.patch # Prepare salt-master config in /var/packages/salt-master/target/etc diff --git a/spk/salt-minion/Makefile b/spk/salt-minion/Makefile index c6dfd4f7bd7..e20b2775a83 100644 --- a/spk/salt-minion/Makefile +++ b/spk/salt-minion/Makefile @@ -1,10 +1,10 @@ SPK_NAME = salt-minion SPK_VERS = 3004 -SPK_REV = 3 +SPK_REV = 4 SPK_ICON = src/salt-minion.png -BUILD_DEPENDS = cross/python310 -SPK_DEPENDS = "python310" +BUILD_DEPENDS = cross/python311 +SPK_DEPENDS = "python311" UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) @@ -19,7 +19,7 @@ WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt MAINTAINER = SynoCommunity DESCRIPTION = Salt, a new approach to infrastructure management, is easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with those servers in seconds. DISPLAY_NAME = Salt Minion -CHANGELOG = "1. Update to 3004
2. Migrate to Python 3.10" +CHANGELOG = "1. Update to 3004
2. Migrate to Python 3.11" HOMEPAGE = https://repo.saltproject.io/ LICENSE = Apache diff --git a/spk/salt-minion/src/service-setup.sh b/spk/salt-minion/src/service-setup.sh index 2f3d1190d99..bdd23a41608 100644 --- a/spk/salt-minion/src/service-setup.sh +++ b/spk/salt-minion/src/service-setup.sh @@ -1,6 +1,6 @@ -# Define python310 binary path -PYTHON_DIR="/var/packages/python310/target/bin" -# Add local bin, virtualenv along with python310 to the default PATH +# Define python311 binary path +PYTHON_DIR="/var/packages/python311/target/bin" +# Add local bin, virtualenv along with python311 to the default PATH PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${PATH}" LANGUAGE="env LANG=en_US.UTF-8" SYNOPKG_PKGETC=/var/packages/${SYNOPKG_PKGNAME}/etc @@ -15,10 +15,10 @@ service_postinst () # Install wheels install_python_wheels - # patch rsax931.py file to find libcrypto lib provided by python310 + # patch rsax931.py file to find libcrypto lib provided by python311 # (rely on patch==1.16 included in requirements-pure.txt) - python ${SYNOPKG_PKGDEST}/env/lib/python3.10/site-packages/patch.py \ - --directory=${SYNOPKG_PKGDEST}/env/lib/python3.10/site-packages/salt/utils \ + python ${SYNOPKG_PKGDEST}/env/lib/python3.11/site-packages/patch.py \ + --directory=${SYNOPKG_PKGDEST}/env/lib/python3.11/site-packages/salt/utils \ ${SYNOPKG_PKGDEST}/share/rsax931.py.patch # Prepare salt-minion config in /var/packages/salt-minion/target/etc diff --git a/spk/tvheadend/Makefile b/spk/tvheadend/Makefile index e3b96b2d9ed..71ecb15f9c3 100644 --- a/spk/tvheadend/Makefile +++ b/spk/tvheadend/Makefile @@ -4,7 +4,7 @@ SPK_GIT_HASH = f32c7c5 SPK_GIT_DATE = 20230408 SPK_VERS = $(SPK_SHORT_VERS).$(SPK_GIT_DATE) TVH_VERS = $(SPK_SHORT_VERS)~$(SPK_GIT_HASH) -SPK_REV = 36 +SPK_REV = 37 SPK_ICON = src/tvheadend.png DSM_UI_DIR = app @@ -13,7 +13,7 @@ DSM_UI_DIR = app # 000-fix-version.patch from cross/tvheadend export TVH_VERS -SPK_DEPENDS = "python310" +SPK_DEPENDS = "python311" WHEELS = src/requirements-pure.txt diff --git a/spk/tvheadend/src/service-setup.sh b/spk/tvheadend/src/service-setup.sh index 42a3da5f016..6b7421339a0 100644 --- a/spk/tvheadend/src/service-setup.sh +++ b/spk/tvheadend/src/service-setup.sh @@ -1,8 +1,8 @@ -# Define python310 binary path -PYTHON_DIR="/var/packages/python310/target/bin" +# Define python311 binary path +PYTHON_DIR="/var/packages/python311/target/bin" # Define ffmpeg binary path FFMPEG_DIR="/var/packages/ffmpeg/target/bin" -# Add local bin, virtualenv along with ffmpeg and python310 to the default PATH +# Add local bin, virtualenv along with ffmpeg and python311 to the default PATH PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${FFMPEG_DIR}:${PATH}" # Service configuration. Change http and htsp ports here and in conf/tvheadend.sc for non-standard ports diff --git a/spk/znc/Makefile b/spk/znc/Makefile index 855f01259b2..2705eafe3d1 100644 --- a/spk/znc/Makefile +++ b/spk/znc/Makefile @@ -1,18 +1,18 @@ SPK_NAME = znc SPK_VERS = 1.8.2 -SPK_REV = 21 +SPK_REV = 22 SPK_ICON = src/znc.png DSM_UI_DIR = app DEPENDS = cross/$(SPK_NAME) -SPK_DEPENDS = "python310" +SPK_DEPENDS = "python311" MAINTAINER = worstje DESCRIPTION = Advanced IRC bouncer. An IRC bouncer is nothing more than an IRC proxy. ZNC will always be connected in your chat rooms, and will be the gateway between your clients, and your IRC servers. You can, for instance, consult messages while you were offline or hide your identity. DESCRIPTION_FRE = Bouncer IRC avancé. Un bouncer IRC n\’est en fait qu\’un proxy IRC. ZNC restera connecté en permanence à vos salons de discussions et fera office de passerelle entre vos clients et vos serveurs IRC. Vous pourrez, par exemple, consultez des messages diffusés en votre absence ou masquer votre identité. DESCRIPTION_SPN = IRC bouncer avanzado. Un IRC bouncer no es más que un proxy para IRC. ZNC estará siempre conectado a tus canales, y hará de puerta de enlace entre tus clientes y tus servidores IRC. Puedes, por ejemplo, consultar mensajes mientras estuviste desconectado o esconder tu identidad. DISPLAY_NAME = ZNC -CHANGELOG = "1. Update OpenSSL to v1.1.1m.
2. Now depends on Python 3.10
3. Fix DSM 7 installer to preserve configuration files on updates." +CHANGELOG = "1. Update OpenSSL to v3.1.1.
2. Migrate to Python 3.11" STARTABLE = yes HOMEPAGE = https://wiki.znc.in/ diff --git a/spk/znc/src/service-setup.sh b/spk/znc/src/service-setup.sh index bc14c4b0e2a..7bea1a63cbf 100644 --- a/spk/znc/src/service-setup.sh +++ b/spk/znc/src/service-setup.sh @@ -6,7 +6,7 @@ PATH="${SYNOPKG_PKGDEST}/bin:${PATH}" ZNC="${SYNOPKG_PKGDEST}/bin/znc" CERT_FILE="${SYNOPKG_PKGVAR}/znc.pem" -PYTHON3_LIB_PATH="/var/packages/python310/target/lib" +PYTHON3_LIB_PATH="/var/packages/python311/target/lib" SERVICE_COMMAND="env LD_LIBRARY_PATH=${PYTHON3_LIB_PATH} ${ZNC} -d ${SYNOPKG_PKGVAR}" SVC_BACKGROUND=yes CONF_FILE=${SYNOPKG_PKGVAR}/configs/znc.conf From 8bd1e78205a051ba2d87465c4ebc8dbf9aef525b Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sat, 22 Jul 2023 20:02:56 +0000 Subject: [PATCH 03/86] mercurial: Update from version 6.0 to 6.5 --- spk/mercurial/Makefile | 4 ++-- spk/mercurial/src/requirements-crossenv.txt | 2 +- spk/mercurial/src/requirements-pure.txt | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spk/mercurial/Makefile b/spk/mercurial/Makefile index b487cdc1746..bbcdab6b3f2 100644 --- a/spk/mercurial/Makefile +++ b/spk/mercurial/Makefile @@ -1,5 +1,5 @@ SPK_NAME = mercurial -SPK_VERS = 6.0 +SPK_VERS = 6.5 SPK_REV = 9 SPK_ICON = src/mercurial.png @@ -12,7 +12,7 @@ MAINTAINER = SynoCommunity DESCRIPTION = Mercurial is a free, distributed source control management tool STARTABLE = no DISPLAY_NAME = Mercurial -CHANGELOG = "1. Update mercurial to 6.0
2. Update to Python 3.11" +CHANGELOG = "1. Update mercurial to 6.5
2. Update to Python 3.11" HOMEPAGE = https://www.mercurial-scm.org/ LICENSE = MPL1.1 diff --git a/spk/mercurial/src/requirements-crossenv.txt b/spk/mercurial/src/requirements-crossenv.txt index e284a8c44c9..0d4af4f0fd6 100644 --- a/spk/mercurial/src/requirements-crossenv.txt +++ b/spk/mercurial/src/requirements-crossenv.txt @@ -1 +1 @@ -mercurial==6.0 +mercurial==6.5 diff --git a/spk/mercurial/src/requirements-pure.txt b/spk/mercurial/src/requirements-pure.txt index 1ffc5119fe2..7f3ba55d40c 100644 --- a/spk/mercurial/src/requirements-pure.txt +++ b/spk/mercurial/src/requirements-pure.txt @@ -1 +1 @@ -docutils==0.18.1 +docutils==0.20.1 From 501fd4eb54074c547a97baea9f541e14349bb523 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sat, 22 Jul 2023 20:05:05 +0000 Subject: [PATCH 04/86] tvheadend: Update Changelog -> openssl3 migration target in next PR --- spk/tvheadend/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spk/tvheadend/Makefile b/spk/tvheadend/Makefile index 71ecb15f9c3..2ffea792df0 100644 --- a/spk/tvheadend/Makefile +++ b/spk/tvheadend/Makefile @@ -26,7 +26,7 @@ DESCRIPTION = Tvheadend is a TV streaming server and recorder for Linux, FreeBSD DESCRIPTION_FRE = Tvheadend est un serveur de streaming et enregistreur TV pour Linux, FreeBSD et Android prenant en charge DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT IP et HDHomeRun comme sources d\'entrée. Tvheadend offre le streaming HTTP, HTSP et SAT IP. DISPLAY_NAME = Tvheadend STARTABLE = yes -CHANGELOG = "1. Update to latest git version f32c7c5 as of April 8th 2023
2. Update FFMPEG 5.1.2
3. Update libhdhomerun to version 20230323" +CHANGELOG = "1. Update to latest git version f32c7c5 as of April 8th 2023
2. Update FFMPEG 5.1.2
3. Update libhdhomerun to version 20230323
4. Migrate to using python 3.11" HOMEPAGE = https://tvheadend.org/ LICENSE = GPL v3 From 333522e57fe473af223c97886811bf29797b673c Mon Sep 17 00:00:00 2001 From: hgy59 Date: Sun, 23 Jul 2023 00:06:19 +0200 Subject: [PATCH 05/86] octoprint: update to v1.9.2 --- spk/octoprint/Makefile | 4 +- spk/octoprint/src/requirements-crossenv.txt | 17 +++--- spk/octoprint/src/requirements-pure.txt | 66 +++++++++++---------- 3 files changed, 47 insertions(+), 40 deletions(-) diff --git a/spk/octoprint/Makefile b/spk/octoprint/Makefile index 38c274577d5..8d19e2369d2 100644 --- a/spk/octoprint/Makefile +++ b/spk/octoprint/Makefile @@ -1,5 +1,5 @@ SPK_NAME = octoprint -SPK_VERS = 1.8.7 +SPK_VERS = 1.9.2 SPK_REV = 11 SPK_ICON = src/octoprint.png DSM_UI_DIR = app @@ -21,7 +21,7 @@ ADMIN_PORT = $(SERVICE_PORT) DISPLAY_NAME = OctoPrint HOMEPAGE = https://octoprint.org/ LICENSE = AGPLv3 -CHANGELOG = "Update OctoPrint to v1.8.7. Please have a look at the changes in 1.8.3 https://github.com/OctoPrint/OctoPrint/releases/tag/1.8.3 regarding the password hashing change.
Migrate to python 3.11" +CHANGELOG = "Update OctoPrint to v1.9.2 and Python dependency to 3.11." # SERVICE_COMMAND is in src/service-setup.sh STARTABLE = yes diff --git a/spk/octoprint/src/requirements-crossenv.txt b/spk/octoprint/src/requirements-crossenv.txt index c10ee58704d..ffb3381cf4e 100644 --- a/spk/octoprint/src/requirements-crossenv.txt +++ b/spk/octoprint/src/requirements-crossenv.txt @@ -1,11 +1,12 @@ argon2_cffi_bindings==21.2.0 -# cffi==1.15.1 => python 3.10 package -charset_normalizer==3.1.0 +# cffi==1.15.1 => python 3.11 package +charset_normalizer==3.2.0 frozendict==2.3.8 -MarkupSafe==2.1.2 +MarkupSafe==2.1.3 netifaces==0.11.0 -psutil==5.9.4 -PyYAML==5.4.1 -regex==2023.3.23 -tornado==6.2 -wrapt==1.14.1 +psutil==5.9.5 +pydantic==1.10.11 +PyYAML==6.0.1 +regex==2023.6.3 +tornado==6.3.2 +wrapt==1.15.0 diff --git a/spk/octoprint/src/requirements-pure.txt b/spk/octoprint/src/requirements-pure.txt index 32acd18348e..53122b234f9 100644 --- a/spk/octoprint/src/requirements-pure.txt +++ b/spk/octoprint/src/requirements-pure.txt @@ -1,57 +1,63 @@ -OctoPrint==1.8.7 +OctoPrint==1.9.2 OctoPrint_FileCheck==2021.2.23 OctoPrint_FirmwareCheck==2021.10.11 -OctoPrint_PiSupport==2022.6.13 +OctoPrint_PiSupport==2023.5.24 argon2_cffi==21.3.0 +async_timeout==4.0.2 Babel==2.12.1 -blinker==1.6 -cachelib==0.2.0 -#certifi==2022.12.7 ==> python310 -click==8.1.3 +blinker==1.6.2 +cachelib==0.10.2 +#certifi==2023.7.22 ==> python311 +class_doc==0.2.6 +click==8.1.6 colorlog==6.7.0 -commonmark==0.9.1 -Deprecated==1.2.13 -emoji==1.7.0 +Deprecated==1.2.14 +emoji==2.6.0 feedparser==6.0.10 filetype==1.2.0 -Flask==2.1.3 +Flask==2.2.5 Flask_Assets==2.0 -Flask_Babel==2.0.0 -Flask_Limiter==2.9.2 -Flask_Login==0.5.0 +flask_babel==3.1.0 +Flask_Limiter==3.3.1 +Flask_Login==0.6.2 future==0.18.3 idna==3.4 ifaddr==0.2.0 -importlib_resources==5.12.0 +importlib_resources==6.0.0 itsdangerous==2.1.2 Jinja2==3.1.2 -limits==3.3.1 +limits==3.5.0 Markdown==3.4.3 +markdown_it_py==3.0.0 +mdurl==0.1.2 +more_itertools==9.1.0 netaddr==0.8.0 ordered_set==4.1.0 -packaging==23.0 +packaging==23.1 passlib==1.7.4 pathvalidate==2.5.2 -#pip==22.2.2 ==> python310 +#pip==23.1.2 ==> python311 pkginfo==1.9.6 pycparser==2.21 -Pygments==2.14.0 +Pygments==2.15.1 pylru==1.2.1 pyserial==3.5 pytz==2023.3 -requests==2.28.2 -rich==12.6.0 -sarge==0.1.6 +requests==2.31.0 +rich==13.4.2 +sarge==0.1.7.post1 semantic_version==2.10.0 -sentry_sdk==1.18.0 -#setuptools==63.2.0 ==> python310 -typing_extensions==4.5.0 +sentry_sdk==1.28.1 +#setuptools==65.5.0 ==> python311 +sgmllib3k==1.0.0 +typing_extensions==4.7.1 Unidecode==1.3.6 -urllib3==1.26.15 -watchdog==1.0.2 +urllib3==2.0.4 +watchdog==2.3.1 webassets==2.0 -websocket_client==1.5.1 -Werkzeug==2.0.3 -zeroconf==0.33.4 -zipstream_ng==1.5.0 +websocket_client==1.6.1 +Werkzeug==2.2.3 +wheel==0.41.0 +zeroconf==0.39.4 +zipstream_ng==1.6.0 From f52420a7b4f26e6edff57c211d502122badecf6e Mon Sep 17 00:00:00 2001 From: hgy59 Date: Sun, 23 Jul 2023 11:44:50 +0200 Subject: [PATCH 06/86] homeassistant: downgrade to python310 and update for openssl3 - add cross/cryptography_38 for homeassistant v2023.1.7 with openssl3 - update cross/nmap to openssl3 --- cross/cryptography_38/Makefile | 27 +++++++++++++++++++ cross/cryptography_38/PLIST | 0 cross/cryptography_38/digests | 3 +++ cross/nmap/Makefile | 2 +- spk/homeassistant/Makefile | 10 +++---- .../src/requirements-crossenv.txt | 2 +- spk/homeassistant/src/service-setup.sh | 2 +- 7 files changed, 38 insertions(+), 8 deletions(-) create mode 100644 cross/cryptography_38/Makefile create mode 100644 cross/cryptography_38/PLIST create mode 100644 cross/cryptography_38/digests diff --git a/cross/cryptography_38/Makefile b/cross/cryptography_38/Makefile new file mode 100644 index 00000000000..df9563bc0d6 --- /dev/null +++ b/cross/cryptography_38/Makefile @@ -0,0 +1,27 @@ +PKG_NAME = cryptography +PKG_VERS = 38.0.3 +PKG_EXT = tar.gz +PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) +PKG_DIST_SITE = https://files.pythonhosted.org/packages/source/c/cryptography +PKG_DIR = $(PKG_NAME)-$(PKG_VERS) + +DEPENDS = cross/openssl3 cross/cffi + +HOMEPAGE = https://github.com/pyca/cryptography +COMMENT = Provide cryptographic recipes and primitives to Python developers. +LICENSE = BSD/ASL2 + +### +### This cross/cryptography_38 is needed to generate python-limited abi3 wheels +### Ref: https://github.com/pyca/cryptography/issues/7671 +### +### And it is required to link to cross/openssl3 since cryptography < 40 is statically linked to openssl +### and prebuilt wheels are linked to openssl 1.1 + +WHEELS_BUILD_ARGS = --py-limited-api=$(PYTHON_LIMITED_API) + +# Mandatory PYO3_* variables for rust cross-compiling +ENV += PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ +ENV += PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ + +include ../../mk/spksrc.python-wheel.mk diff --git a/cross/cryptography_38/PLIST b/cross/cryptography_38/PLIST new file mode 100644 index 00000000000..e69de29bb2d diff --git a/cross/cryptography_38/digests b/cross/cryptography_38/digests new file mode 100644 index 00000000000..84bb9ac5ef8 --- /dev/null +++ b/cross/cryptography_38/digests @@ -0,0 +1,3 @@ +cryptography-38.0.3.tar.gz SHA1 fa8da1574efb4a44158825a8e8c60e050142e789 +cryptography-38.0.3.tar.gz SHA256 bfbe6ee19615b07a98b1d2287d6a6073f734735b49ee45b11324d85efc4d5cbd +cryptography-38.0.3.tar.gz MD5 2148f1283f22df0677e204e46bccaf06 diff --git a/cross/nmap/Makefile b/cross/nmap/Makefile index 89cdbd867b8..6395c181206 100644 --- a/cross/nmap/Makefile +++ b/cross/nmap/Makefile @@ -5,7 +5,7 @@ PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://nmap.org/dist PKG_DIR = $(PKG_NAME)-$(PKG_VERS) -DEPENDS = cross/libpcap cross/openssl +DEPENDS = cross/libpcap cross/openssl3 # latest version for OLD_PPC_ARCHS is 7.92 UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) diff --git a/spk/homeassistant/Makefile b/spk/homeassistant/Makefile index d065748bb76..4aaa909cd41 100644 --- a/spk/homeassistant/Makefile +++ b/spk/homeassistant/Makefile @@ -1,13 +1,13 @@ SPK_NAME = homeassistant SPK_VERS = 2023.1.7 -SPK_REV = 22 +SPK_REV = 21 SPK_ICON = src/homeassistant.png HACS_VERS = 1.31.0 -SPK_DEPENDS = "python311" +SPK_DEPENDS = "python310" -BUILD_DEPENDS = cross/python311 +BUILD_DEPENDS = cross/python310 # [numpy] > 1.22.4 UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) $(ARMv7L_ARCHS) @@ -15,7 +15,7 @@ UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) $(ARMv7L_ARCHS) MAINTAINER = hgy59 DESCRIPTION = "Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control." DISPLAY_NAME = Home Assistant Core -CHANGELOG = "1. Update homeassistant to 2023.1.7.
2. Update HACS integration to v1.31.0.
3. Migrate to python 3.11

REMARKS: Only arch specific python modules are included in the package. Other modules are downloaded at installation time.
Update to openssl 3.1.1" +CHANGELOG = "1. Update homeassistant to 2023.1.7.
2. Update HACS integration to v1.31.0.

3. Update to openssl v3.1.1.

REMARKS: Only arch specific python modules are included in the package. Other modules are downloaded at installation time." STARTABLE = yes HOMEPAGE = https://www.home-assistant.io/ @@ -81,7 +81,7 @@ ENV += PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ ENV += PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ # [cryptography] -DEPENDS += cross/cryptography +DEPENDS += cross/cryptography_38 # [gevent] DEPENDS += cross/libev cross/c-ares diff --git a/spk/homeassistant/src/requirements-crossenv.txt b/spk/homeassistant/src/requirements-crossenv.txt index 5b6cec3cff2..48574d28a2a 100644 --- a/spk/homeassistant/src/requirements-crossenv.txt +++ b/spk/homeassistant/src/requirements-crossenv.txt @@ -24,7 +24,7 @@ ciso8601==2.3.0 # contourpy==1.0.7 => fails to build: ModuleNotFoundError: No module named 'pybind11' coverage==7.0.5 crc16==0.1.1 -#cryptography==38.0.3 => cross/cryptography +#cryptography==38.0.3 => cross/cryptography_38 Cython==0.29.33 dbus_fast==1.82.0 debugpy==1.6.4 diff --git a/spk/homeassistant/src/service-setup.sh b/spk/homeassistant/src/service-setup.sh index 839c648c765..0d73ab708fa 100644 --- a/spk/homeassistant/src/service-setup.sh +++ b/spk/homeassistant/src/service-setup.sh @@ -1,5 +1,5 @@ -PYTHON_DIR="/var/packages/python311/target/bin" +PYTHON_DIR="/var/packages/python310/target/bin" PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}:${PATH}" CONFIG_DIR="${SYNOPKG_PKGVAR}/config" From 10125e6355f0c506dfa335427a3a890e26e5e0f6 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sun, 23 Jul 2023 11:11:45 +0000 Subject: [PATCH 07/86] rdiff-backup: Update from version 2.0.5 to 2.2.5 --- spk/rdiff-backup/Makefile | 6 +- .../src/requirements-crossenv.txt | 19 +++--- spk/rdiff-backup/src/requirements-pure.txt | 67 ++++++++++--------- 3 files changed, 48 insertions(+), 44 deletions(-) diff --git a/spk/rdiff-backup/Makefile b/spk/rdiff-backup/Makefile index ca2efae7254..eb458ab73c5 100644 --- a/spk/rdiff-backup/Makefile +++ b/spk/rdiff-backup/Makefile @@ -1,5 +1,5 @@ SPK_NAME = rdiff-backup -SPK_VERS = 2.0.5 +SPK_VERS = 2.2.5 SPK_REV = 5 SPK_ICON = src/rdiff-backup.png @@ -11,13 +11,13 @@ DEPENDS += cross/libyaml WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt -SPK_DEPENDS = "python311" +SPK_DEPENDS = "python311>=3.11.4-7" MAINTAINER = SynoCommunity DESCRIPTION = Reverse differential backup tool, over a network or locally. STARTABLE = no DISPLAY_NAME = rdiff-backup -CHANGELOG = "1. Update to v2.0.5
2. Migrate to Python 3.11" +CHANGELOG = "1. Update to v2.2.5
2. Migrate to Python 3.11" HOMEPAGE = https://rdiff-backup.net/ LICENSE = GPLv2 diff --git a/spk/rdiff-backup/src/requirements-crossenv.txt b/spk/rdiff-backup/src/requirements-crossenv.txt index e076a37d5b0..500becc7c95 100644 --- a/spk/rdiff-backup/src/requirements-crossenv.txt +++ b/spk/rdiff-backup/src/requirements-crossenv.txt @@ -1,12 +1,13 @@ -rdiff-backup==2.0.5 +rdiff-backup==2.2.5 -aiohttp==3.8.3 -coverage==5.5 -frozenlist==1.3.1 -multidict==6.0.2 -pylibacl==0.6.0 -pyxattr==0.7.2 -yarl==1.8.1 +aiohttp==3.8.5 +charset-normalizer==3.2.0 +coverage==7.2.7 +frozenlist==1.4.0 +multidict==6.0.4 +pylibacl==0.7.0 +pyxattr==0.8.1 +yarl==1.9.2 # [psutil] # Last known version to build on armv5/ppc @@ -14,4 +15,4 @@ psutil==5.9.1 # [PyYAML] # Depends: libyaml -PyYAML==6.0 +PyYAML==6.0.1 diff --git a/spk/rdiff-backup/src/requirements-pure.txt b/spk/rdiff-backup/src/requirements-pure.txt index 67e660efc78..c9c50b4759c 100644 --- a/spk/rdiff-backup/src/requirements-pure.txt +++ b/spk/rdiff-backup/src/requirements-pure.txt @@ -1,37 +1,40 @@ -# Snapshot using python 3.10 on Oct 12th 2022 -#aiohttp==3.8.3 ==> crossenv -aiosignal==1.2.0 +# Snapshot using python 3.11 on Jul 22nd 2023 +#aiohttp ==> crossenv +aiosignal==1.3.1 async-timeout==4.0.2 -attrs==22.1.0 -#certifi==2022.9.24 ==> py310 -charset-normalizer==2.1.1 -#coverage==5.5 ==> crossenv -#distlib==0.3.6 ==> py310 -#filelock==3.8.0 ==> py310 -flake8==5.0.4 -#frozenlist==1.3.1 ==> crossenv +attrs==23.1.0 +cachetools==5.3.1 +#certifi ==> py311 +chardet==5.1.0 +colorama==0.4.6 +#coverage ==> crossenv +#distlib ==> py311 +#filelock ==> py311 +flake8==6.0.0 +#frozenlist ==> crossenv idna==3.4 mccabe==0.7.0 -#multidict==6.0.2 ==> crossenv -packaging==21.3 -#platformdirs==2.5.2 ==> py310 -pluggy==1.0.0 -#psutil==5.9.1 ==> crossenv +#multidict ==> crossenv +packaging==23.1 +#platformdirs ==> py311 +pluggy==1.2.0 +#psutil ==> crossenv py==1.11.0 -pycodestyle==2.9.1 -pyflakes==2.5.0 -#pylibacl==0.6.0 ==> crossenv -pyparsing==3.0.9 -#pyxattr==0.7.2 ==> crossenv -#PyYAML==6.0 ==> crossenv -#rdiff-backup==2.0.5 ==> crossenv -requests==2.28.1 -rqdb==1.0.10 -setuptools-scm==7.0.5 -#six==1.16.0 ==> py310 +pycodestyle==2.10.0 +pyflakes==3.0.1 +#pylibacl ==> crossenv +pyparsing==3.1.0 +pyproject-api==1.5.3 +#pyxattr ==> crossenv +#PyYAML ==> crossenv +#rdiff-backup ==> crossenv +requests==2.31.0 +rqdb==1.0.11 +setuptools-scm==7.1.0 +#six ==> py311 tomli==2.0.1 -tox==3.26.0 -typing_extensions==4.4.0 -urllib3==1.26.12 -#virtualenv==20.16.5 ==> py310 -#yarl==1.8.1 ==> crossenv +tox==4.6.4 +typing_extensions==4.7.1 +urllib3==2.0.4 +#virtualenv ==> py311 +#yarl ==> crossenv From 64fb55b904d171f50386fa752b1e7a59c071b843 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sun, 23 Jul 2023 11:12:22 +0000 Subject: [PATCH 08/86] homeassistant: Enforce specific python 3.10.12-18 version --- spk/homeassistant/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spk/homeassistant/Makefile b/spk/homeassistant/Makefile index 4aaa909cd41..4054270afde 100644 --- a/spk/homeassistant/Makefile +++ b/spk/homeassistant/Makefile @@ -5,7 +5,7 @@ SPK_ICON = src/homeassistant.png HACS_VERS = 1.31.0 -SPK_DEPENDS = "python310" +SPK_DEPENDS = "python310>=3.10.12-18" BUILD_DEPENDS = cross/python310 From dbf89410575a30451b5de573ca9cf125d04c8a03 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sun, 23 Jul 2023 11:13:12 +0000 Subject: [PATCH 09/86] python311: Enforce using python311>=3.11.4-7 --- spk/bazarr/Makefile | 2 +- spk/beets/Makefile | 2 +- spk/borgbackup/Makefile | 2 +- spk/deluge/Makefile | 2 +- spk/duplicity/Makefile | 2 +- spk/flexget/Makefile | 2 +- spk/headphones/Makefile | 2 +- spk/mercurial/Makefile | 2 +- spk/octoprint/Makefile | 2 +- spk/plexpy-custom/Makefile | 2 +- spk/sabnzbd/Makefile | 2 +- spk/salt-master/Makefile | 2 +- spk/salt-minion/Makefile | 2 +- spk/sickchill/Makefile | 2 +- spk/tvheadend/Makefile | 2 +- spk/znc/Makefile | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/spk/bazarr/Makefile b/spk/bazarr/Makefile index 86989a5282d..77a8ce82b79 100644 --- a/spk/bazarr/Makefile +++ b/spk/bazarr/Makefile @@ -20,7 +20,7 @@ WHEELS_BUILD_ARGS += --enable-freetype WHEELS_BUILD_ARGS += --enable-jpeg WHEELS_BUILD_ARGS += --enable-zlib -SPK_DEPENDS = "python311:ffmpeg" +SPK_DEPENDS = "python311>=3.11.4-7:ffmpeg" MAINTAINER = smaarn diff --git a/spk/beets/Makefile b/spk/beets/Makefile index f58c26ae7eb..547087c6f89 100644 --- a/spk/beets/Makefile +++ b/spk/beets/Makefile @@ -6,7 +6,7 @@ SPK_ICON = src/beets.png BUILD_DEPENDS = cross/python311 WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt -SPK_DEPENDS = "python311" +SPK_DEPENDS = "python311>=3.11.4-7" # Required for PyYAML DEPENDS += cross/libyaml diff --git a/spk/borgbackup/Makefile b/spk/borgbackup/Makefile index 4f868639ac4..c239bc227f2 100644 --- a/spk/borgbackup/Makefile +++ b/spk/borgbackup/Makefile @@ -6,7 +6,7 @@ SPK_ICON = src/$(SPK_NAME).png BUILD_DEPENDS = cross/python311 DEPENDS = cross/attr cross/acl cross/openssl cross/lz4 cross/zstd cross/libb2 cross/fuse -SPK_DEPENDS = "python311" +SPK_DEPENDS = "python311>=3.11.4-7" # Requirements file generation # - first create borgbackup wheel defined in src/requirements-crossenv.txt diff --git a/spk/deluge/Makefile b/spk/deluge/Makefile index 828b221ebb6..e88fe7f611a 100644 --- a/spk/deluge/Makefile +++ b/spk/deluge/Makefile @@ -9,7 +9,7 @@ WHEELS = src/requirements-crossenv.txt WHEELS += src/requirements-pure.txt WHEELS += src/requirements-abi3.txt -SPK_DEPENDS = "python311" +SPK_DEPENDS = "python311>=3.11.4-7" MAINTAINER = SynoCommunity DESCRIPTION = Deluge is a cross platform BitTorrent client, based on libtorrent rasterbar. This package integrates both the deluge deamon \(deluged\), as well as its web counterpart \(deluge-web\), which serves the deluge web UI. diff --git a/spk/duplicity/Makefile b/spk/duplicity/Makefile index 0d1c62d3656..2ac8199badf 100644 --- a/spk/duplicity/Makefile +++ b/spk/duplicity/Makefile @@ -26,7 +26,7 @@ ENV += SODIUM_INSTALL=system WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt -SPK_DEPENDS = "python311:gnupg>=2.1.6" +SPK_DEPENDS = "python311>=3.11.4-7:gnupg>=2.1.6" MAINTAINER = SynoCommunity DESCRIPTION = Encrypted bandwidth-efficient backup using the rsync algorithm. Also contains duply wrapper script (duply is supported only for DSM >= 6.0). diff --git a/spk/flexget/Makefile b/spk/flexget/Makefile index 73fcab4de35..7be0889d7c1 100644 --- a/spk/flexget/Makefile +++ b/spk/flexget/Makefile @@ -4,7 +4,7 @@ SPK_REV = 13 SPK_ICON = src/${SPK_NAME}.png BUILD_DEPENDS = cross/python311 -SPK_DEPENDS = "python311" +SPK_DEPENDS = "python311>=3.11.4-7" WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt # Required for PyYAML diff --git a/spk/headphones/Makefile b/spk/headphones/Makefile index 41769b2214b..3fcce96b3ec 100644 --- a/spk/headphones/Makefile +++ b/spk/headphones/Makefile @@ -4,7 +4,7 @@ SPK_REV = 12 SPK_ICON = src/headphones.png DEPENDS = -SPK_DEPENDS = "python311:git" +SPK_DEPENDS = "python311>=3.11.4-7:git" MAINTAINER = Diaoul DESCRIPTION = Headphones is an automatic NZB and torrent downloader for music. Mark albums as wanted and have them downloaded as soon as they are available. Different quality settings are possible, including lossless. With Headphones you can also manage your music library automatically: move, tag, rename and index for your DiskStation. diff --git a/spk/mercurial/Makefile b/spk/mercurial/Makefile index bbcdab6b3f2..0a4fe4b1a5e 100644 --- a/spk/mercurial/Makefile +++ b/spk/mercurial/Makefile @@ -6,7 +6,7 @@ SPK_ICON = src/mercurial.png BUILD_DEPENDS = cross/python311 WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt -SPK_DEPENDS = "python311" +SPK_DEPENDS = "python311>=3.11.4-7" MAINTAINER = SynoCommunity DESCRIPTION = Mercurial is a free, distributed source control management tool diff --git a/spk/octoprint/Makefile b/spk/octoprint/Makefile index 8d19e2369d2..faa1c96c59c 100644 --- a/spk/octoprint/Makefile +++ b/spk/octoprint/Makefile @@ -11,7 +11,7 @@ DEPENDS += cross/libyaml WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt -SPK_DEPENDS = "python311" +SPK_DEPENDS = "python311>=3.11.4-7" MAINTAINER = SynoCommunity DESCRIPTION = The snappy web interface for your 3D printer. diff --git a/spk/plexpy-custom/Makefile b/spk/plexpy-custom/Makefile index 8b91b68f259..8ccc1111a1f 100644 --- a/spk/plexpy-custom/Makefile +++ b/spk/plexpy-custom/Makefile @@ -4,7 +4,7 @@ SPK_REV = 7 SPK_ICON = src/plexpy-custom.png DEPENDS = -SPK_DEPENDS = "python311:git" +SPK_DEPENDS = "python311>=3.11.4-7:git" MAINTAINER = cytec DESCRIPTION = PlexPy Custom allows you to run the fork of your choice of PlexPy. You will be asked for the fork\'s git URL during install. diff --git a/spk/sabnzbd/Makefile b/spk/sabnzbd/Makefile index 0e51f4196fe..de2ce031ff3 100644 --- a/spk/sabnzbd/Makefile +++ b/spk/sabnzbd/Makefile @@ -5,7 +5,7 @@ SPK_ICON = src/sabnzbd.png BUILD_DEPENDS = cross/python311 DEPENDS = cross/busybox cross/par2cmdline cross/unrar cross/p7zip cross/$(SPK_NAME) -SPK_DEPENDS = "python311" +SPK_DEPENDS = "python311>=3.11.4-7" WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt diff --git a/spk/salt-master/Makefile b/spk/salt-master/Makefile index 3279f19a757..cc41d4736a2 100644 --- a/spk/salt-master/Makefile +++ b/spk/salt-master/Makefile @@ -4,7 +4,7 @@ SPK_REV = 12 SPK_ICON = src/salt-master.png BUILD_DEPENDS = cross/python311 -SPK_DEPENDS = "python311" +SPK_DEPENDS = "python311>=3.11.4-7" # TODO: Enable as website to provide salt-master status DEPENDS = cross/saltgui diff --git a/spk/salt-minion/Makefile b/spk/salt-minion/Makefile index e20b2775a83..e825f035f31 100644 --- a/spk/salt-minion/Makefile +++ b/spk/salt-minion/Makefile @@ -4,7 +4,7 @@ SPK_REV = 4 SPK_ICON = src/salt-minion.png BUILD_DEPENDS = cross/python311 -SPK_DEPENDS = "python311" +SPK_DEPENDS = "python311>=3.11.4-7" UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) diff --git a/spk/sickchill/Makefile b/spk/sickchill/Makefile index 9ffcc999d66..94b5ebf9cc3 100644 --- a/spk/sickchill/Makefile +++ b/spk/sickchill/Makefile @@ -5,7 +5,7 @@ SPK_ICON = src/sickchill.png BUILD_DEPENDS = cross/python311 -SPK_DEPENDS = "python311" +SPK_DEPENDS = "python311>=3.11.4-7" # archs without C++11 support are not supported: UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) diff --git a/spk/tvheadend/Makefile b/spk/tvheadend/Makefile index 2ffea792df0..0c1e9c2cd05 100644 --- a/spk/tvheadend/Makefile +++ b/spk/tvheadend/Makefile @@ -13,7 +13,7 @@ DSM_UI_DIR = app # 000-fix-version.patch from cross/tvheadend export TVH_VERS -SPK_DEPENDS = "python311" +SPK_DEPENDS = "python311>=3.11.4-7" WHEELS = src/requirements-pure.txt diff --git a/spk/znc/Makefile b/spk/znc/Makefile index 2705eafe3d1..be566697997 100644 --- a/spk/znc/Makefile +++ b/spk/znc/Makefile @@ -5,7 +5,7 @@ SPK_ICON = src/znc.png DSM_UI_DIR = app DEPENDS = cross/$(SPK_NAME) -SPK_DEPENDS = "python311" +SPK_DEPENDS = "python311>=3.11.4-7" MAINTAINER = worstje DESCRIPTION = Advanced IRC bouncer. An IRC bouncer is nothing more than an IRC proxy. ZNC will always be connected in your chat rooms, and will be the gateway between your clients, and your IRC servers. You can, for instance, consult messages while you were offline or hide your identity. From 431c7572c7372a6b9709f754913bde0d7b5635e8 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sun, 23 Jul 2023 12:06:05 +0000 Subject: [PATCH 10/86] beets: Update requirements for py311 and fix crossenv dependencies --- spk/beets/Makefile | 10 ++-- spk/beets/src/requirements-crossenv.txt | 9 ++-- spk/beets/src/requirements-pure.txt | 72 ++++++++++++++----------- 3 files changed, 53 insertions(+), 38 deletions(-) diff --git a/spk/beets/Makefile b/spk/beets/Makefile index 547087c6f89..2b32486331e 100644 --- a/spk/beets/Makefile +++ b/spk/beets/Makefile @@ -1,6 +1,6 @@ SPK_NAME = beets SPK_VERS = 1.6.0 -SPK_REV = 8 +SPK_REV = 9 SPK_ICON = src/beets.png BUILD_DEPENDS = cross/python311 @@ -8,7 +8,11 @@ BUILD_DEPENDS = cross/python311 WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt SPK_DEPENDS = "python311>=3.11.4-7" -# Required for PyYAML +# [lxml] +DEPENDS += cross/libxml2 +DEPENDS += cross/libxslt + +# [PyYAML] DEPENDS += cross/libyaml # [Pillow] @@ -24,7 +28,7 @@ MAINTAINER = ymartin59 DESCRIPTION = "Beets is the media library management system for obsessive-compulsive music geeks. The purpose of beets is to get your music collection right once and for all. It catalogs your collection, automatically improving its metadata as it goes. It then provides a bouquet of tools for manipulating and accessing your music. Plugins not available due to lacking dependencies: AcousticBrainz Submit, Gmusic, ReplayGain." DISPLAY_NAME = beets -CHANGELOG = "1. Upgraded to 1.6.0
2. Migrate to python to 3.11" +CHANGELOG = "1. Migrate to python 3.11
2. Update to all wheels" HOMEPAGE = http://beets.io/ LICENSE = GPL diff --git a/spk/beets/src/requirements-crossenv.txt b/spk/beets/src/requirements-crossenv.txt index b60b2690d8f..f528327da85 100644 --- a/spk/beets/src/requirements-crossenv.txt +++ b/spk/beets/src/requirements-crossenv.txt @@ -1,5 +1,8 @@ # Cross-compiled Dependencies -MarkupSafe==2.0.1 -PyYAML==6.0 -# Pillow ==> Makefile +charset_normalizer==3.2.0 +jellyfish==0.10.0 +lxml==4.9.3 +MarkupSafe==2.1.3 +Pillow==9.5.0 +PyYAML==6.0.1 diff --git a/spk/beets/src/requirements-pure.txt b/spk/beets/src/requirements-pure.txt index a0d0d02e20f..da4f374bb4d 100644 --- a/spk/beets/src/requirements-pure.txt +++ b/spk/beets/src/requirements-pure.txt @@ -3,44 +3,52 @@ beets==1.6.0 # Direct dependencies # automtically downloaded -confuse>=1.0.0 -jellyfish==0.8.9 -mediafile>=0.2.0 -munkres>=1.0.0 -musicbrainzngs>=0.4 -mutagen>=1.45 -six>=1.9 -Unidecode +confuse==2.0.1 +mediafile==0.12.0 +munkres==1.1.4 +musicbrainzngs==0.7.1 +mutagen==1.46.0 +# six ==> python311 +Unidecode==1.3.6 # Plugin dependencies -beautifulsoup4==4.10.0 -# certifi==2021.10.8 ==> python310 -chardet==4.0.0 +beautifulsoup4==4.12.2 +# certifi ==> python311 +chardet==5.1.0 discogs-client==2.3.0 langdetect==1.0.9 -oauthlib==3.1.1 +oauthlib==3.2.2 pyacoustid==1.2.2 -pylast==4.3.0 -python-mpd2==3.0.4 -pyxdg==0.27 +pylast==5.2.0 +python-mpd2==3.1.0 +pyxdg==0.28 rarfile==4.0 -requests==2.26.0 -requests-oauthlib==1.3.0 -soupsieve==2.2.1 -soco==0.24.1 -urllib3==1.26.7 -xmltodict==0.12.0 +requests==2.31.0 +requests-oauthlib==1.3.1 +soco==0.29.1 +soupsieve==2.4.1 +urllib3==2.0.4 +xmltodict==0.13.0 # For web plugin -Flask==2.0.2 -Flask-Cors==3.0.10 -itsdangerous==2.0.1 -Jinja2==3.0.2 -Werkzeug==2.0.2 +Flask==2.3.2 +Flask-Cors==4.0.0 +itsdangerous==2.1.2 +Jinja2==3.1.2 +Werkzeug==2.3.6 -# For gmusic plugin -# Despite installing following wheels 'google' is not found at runtime -# future==0.18.2 -# gmusicapi==12.1.1 -# decorator==4.4.2 -# google==2.0.3 +# Other indirect dependencies +anyio==3.7.1 +appdirs==1.4.4 +audioread==3.0.0 +blinker==1.6.2 +click==8.1.6 +h11==0.14.0 +httpcore==0.17.3 +httpx==0.24.1 +idna==3.4 +ifaddr==0.2.0 +sniffio==1.3.0 + +# The gmusic plugin interfaced beets to Google Play Music. +# It has been removed after the shutdown of this service. From 6d92028ce5af53e6c9dedfd259057a0039570e62 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Sun, 23 Jul 2023 13:49:55 +0200 Subject: [PATCH 11/86] homeassistant: fix build of uamqp wheel - avoid treating warnings as errors for build of uamqp wheel --- spk/homeassistant/Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spk/homeassistant/Makefile b/spk/homeassistant/Makefile index 4054270afde..576dc92f537 100644 --- a/spk/homeassistant/Makefile +++ b/spk/homeassistant/Makefile @@ -83,6 +83,11 @@ ENV += PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ # [cryptography] DEPENDS += cross/cryptography_38 +# [uamqp] +# ignore deprecation warnings when building with openssl 3 +# "cc1: all warnings being treated as errors" +WHEELS_CFLAGS = [uamqp] -Wno-deprecated-declarations + # [gevent] DEPENDS += cross/libev cross/c-ares ENV += GEVENTSETUP_EMBED_CARES=FALSE From 79b115064c56f91552b7ec0b652237f544f0753d Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sun, 23 Jul 2023 12:26:35 +0000 Subject: [PATCH 12/86] bazarr: Migrate wheels to python 3.11 --- spk/bazarr/Makefile | 39 ++++++++++++++----- .../src/requirements-crossenv-greenlet-v1.txt | 9 +++++ .../src/requirements-crossenv-greenlet-v2.txt | 9 +++++ .../requirements-crossenv-numpy-armv7l.txt | 10 +++++ .../src/requirements-crossenv-numpy-gcc4.txt | 12 ++++++ .../src/requirements-crossenv-numpy.txt | 12 ++++++ spk/bazarr/src/requirements-crossenv.txt | 9 ++--- spk/bazarr/src/requirements-pure.txt | 2 +- .../src/requirements-crossenv-numpy.txt | 2 +- 9 files changed, 86 insertions(+), 18 deletions(-) create mode 100644 spk/bazarr/src/requirements-crossenv-greenlet-v1.txt create mode 100644 spk/bazarr/src/requirements-crossenv-greenlet-v2.txt create mode 100644 spk/bazarr/src/requirements-crossenv-numpy-armv7l.txt create mode 100644 spk/bazarr/src/requirements-crossenv-numpy-gcc4.txt create mode 100644 spk/bazarr/src/requirements-crossenv-numpy.txt diff --git a/spk/bazarr/Makefile b/spk/bazarr/Makefile index 77a8ce82b79..bb1392c52c7 100644 --- a/spk/bazarr/Makefile +++ b/spk/bazarr/Makefile @@ -8,9 +8,12 @@ SPK_ICON = src/bazarr.png BUILD_DEPENDS = cross/python311 DEPENDS = cross/$(SPK_NAME) -DEPENDS += cross/libxml2 cross/libxslt DEPENDS += cross/unrar +# [lxml] +DEPENDS += cross/libxml2 +DEPENDS += cross/libxslt + # [Pillow] DEPENDS += cross/freetype cross/libjpeg cross/zlib WHEELS_BUILD_ARGS += [Pillow] @@ -43,23 +46,39 @@ ADMIN_PORT = $(SERVICE_PORT) WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt -# [numpy] -# gcc-4.6.4 failed with exit status 1 -# https://github.com/numpy/numpy/issues/20664 -UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) - # use alternate TMPDIR as /tmp might be too small and not accessible on DSM >= 7.1. USE_ALTERNATE_TMPDIR = 1 include ../../mk/spksrc.spk.mk -# [numpy] -# Fix wheel building with older compilers +# [greenlet] +ifeq ($(call version_ge, $(TC_GCC), 4.9),1) +WHEELS += src/requirements-crossenv-greenlet-v2.txt ifeq ($(call version_lt, $(TC_GCC), 5.0),1) -WHEELS_CPPFLAGS = [numpy] -std=c++0x +WHEELS_CPPFLAGS += [greenlet] -std=c++11 +endif +else +WHEELS += src/requirements-crossenv-greenlet-v1.txt +endif + +# [numpy] <= 1.21.6 (armv5) +# This version is now unsupported using py311 +UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) +ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +# [numpy] <= 1.22.4 (armv7l) +ifeq ($(findstring $(ARCH),$(ARMv7L_ARCHS)),$(ARCH)) +WHEELS += src/requirements-crossenv-numpy-armv7l.txt +else ifeq ($(call version_le, $(TC_GCC), 5.0),1) +WHEELS += src/requirements-crossenv-numpy-gcc4.txt +# [numpy] >= 1.25.0 requires c++17 +else ifeq ($(call version_gt, $(TC_GCC), 5.0),1) +WHEELS += src/requirements-crossenv-numpy.txt +endif +endif # workaround for compiler bug: # https://github.com/numpy/numpy/issues/13622 +ifeq ($(call version_le, $(TC_GCC), 5.0),1) ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) -WHEELS_CFLAGS = [numpy] -O0 +WHEELS_CFLAGS += [numpy] -O0 endif endif diff --git a/spk/bazarr/src/requirements-crossenv-greenlet-v1.txt b/spk/bazarr/src/requirements-crossenv-greenlet-v1.txt new file mode 100644 index 00000000000..eab2e8a8b4f --- /dev/null +++ b/spk/bazarr/src/requirements-crossenv-greenlet-v1.txt @@ -0,0 +1,9 @@ +## +## All configurations below are optional and +## are provided to demonstrate how to build +## various wheels. Uncoment to enable. +## + +# [greenlet] +# - gcc < 5.0 (DSM6) Last known working version +greenlet==1.1.3 diff --git a/spk/bazarr/src/requirements-crossenv-greenlet-v2.txt b/spk/bazarr/src/requirements-crossenv-greenlet-v2.txt new file mode 100644 index 00000000000..47a0d61c465 --- /dev/null +++ b/spk/bazarr/src/requirements-crossenv-greenlet-v2.txt @@ -0,0 +1,9 @@ +## +## All configurations below are optional and +## are provided to demonstrate how to build +## various wheels. Uncoment to enable. +## + +# [greenlet] +# - Mandatory require full c++11 support +greenlet==2.0.2 diff --git a/spk/bazarr/src/requirements-crossenv-numpy-armv7l.txt b/spk/bazarr/src/requirements-crossenv-numpy-armv7l.txt new file mode 100644 index 00000000000..d794fd86565 --- /dev/null +++ b/spk/bazarr/src/requirements-crossenv-numpy-armv7l.txt @@ -0,0 +1,10 @@ +## +## All configurations below are optional and +## are provided to demonstrate how to build +## various wheels. Uncoment to enable. +## + +# [numpy] +# - armv7L (hi3535-6.1) Last known working version +# - Require Cython in cross/python311 crossenv +numpy==1.22.4 diff --git a/spk/bazarr/src/requirements-crossenv-numpy-gcc4.txt b/spk/bazarr/src/requirements-crossenv-numpy-gcc4.txt new file mode 100644 index 00000000000..f73dbffb458 --- /dev/null +++ b/spk/bazarr/src/requirements-crossenv-numpy-gcc4.txt @@ -0,0 +1,12 @@ +## +## All configurations below are optional and +## are provided to demonstrate how to build +## various wheels. Uncoment to enable. +## + +# [numpy] +# - Require Cython in cross/python311 crossenv +# - aarch64-6.1 require workaround WHEELS_CFLAGS=-O0 +# ref: https://github.com/numpy/numpy/issues/13622 +numpy==1.23.5 +numpy==1.24.4 diff --git a/spk/bazarr/src/requirements-crossenv-numpy.txt b/spk/bazarr/src/requirements-crossenv-numpy.txt new file mode 100644 index 00000000000..9bb35b2f621 --- /dev/null +++ b/spk/bazarr/src/requirements-crossenv-numpy.txt @@ -0,0 +1,12 @@ +## +## All configurations below are optional and +## are provided to demonstrate how to build +## various wheels. Uncoment to enable. +## + +# [numpy] +# - Require Cython in cross/python311 crossenv +# - Numpy 1.25.x require c++17 +#numpy==1.23.5 +#numpy==1.24.4 +numpy==1.25.1 diff --git a/spk/bazarr/src/requirements-crossenv.txt b/spk/bazarr/src/requirements-crossenv.txt index 69467173f70..8611c0cc52a 100644 --- a/spk/bazarr/src/requirements-crossenv.txt +++ b/spk/bazarr/src/requirements-crossenv.txt @@ -1,11 +1,8 @@ -greenlet==1.1.2 -numpy==1.22.0 - # [lxml] # Depends: libxml2, libxslt -lxml==4.8.0 +lxml==4.9.3 + +Pillow==9.5.0 # webrtcvad==2.0.10 # requires unreleased version at specific commit for qoriq arch git+https://github.com/wiseman/py-webrtcvad@3bd761332a9404f5c9276105070ee814c4428342#egg=webrtcvad==2.0.10 - -Pillow==9.3.0 diff --git a/spk/bazarr/src/requirements-pure.txt b/spk/bazarr/src/requirements-pure.txt index 51148d35a72..428a504f5cd 100644 --- a/spk/bazarr/src/requirements-pure.txt +++ b/spk/bazarr/src/requirements-pure.txt @@ -1 +1 @@ -zope.event==4.5.0 +zope.event==5.0 diff --git a/spk/python311/src/requirements-crossenv-numpy.txt b/spk/python311/src/requirements-crossenv-numpy.txt index 38d08ba1f27..c7930223ec0 100644 --- a/spk/python311/src/requirements-crossenv-numpy.txt +++ b/spk/python311/src/requirements-crossenv-numpy.txt @@ -9,4 +9,4 @@ # - Numpy 1.25.x require c++17 numpy==1.23.5 numpy==1.24.4 -numpy==1.25.0 +numpy==1.25.1 From b0d9f98891f3b5b03cd4ead8a4c59d0411ab2bb4 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sun, 23 Jul 2023 17:16:30 +0000 Subject: [PATCH 13/86] borgbackup: Update from version 1.2.2 to 1.2.4 --- spk/borgbackup/Makefile | 19 +++++++-- .../src/requirements-crossenv-rpds-py.txt | 13 +++++++ spk/borgbackup/src/requirements-crossenv.txt | 8 ++-- spk/borgbackup/src/requirements-pure.txt | 39 +++++++++++-------- spk/python311/Makefile | 11 ++++++ .../src/requirements-crossenv-rpds-py.txt | 13 +++++++ 6 files changed, 79 insertions(+), 24 deletions(-) create mode 100644 spk/borgbackup/src/requirements-crossenv-rpds-py.txt create mode 100644 spk/python311/src/requirements-crossenv-rpds-py.txt diff --git a/spk/borgbackup/Makefile b/spk/borgbackup/Makefile index c239bc227f2..e9e9ef26de1 100644 --- a/spk/borgbackup/Makefile +++ b/spk/borgbackup/Makefile @@ -1,17 +1,17 @@ SPK_NAME = borgbackup -SPK_VERS = 1.2.2 +SPK_VERS = 1.2.4 SPK_REV = 14 SPK_ICON = src/$(SPK_NAME).png BUILD_DEPENDS = cross/python311 -DEPENDS = cross/attr cross/acl cross/openssl cross/lz4 cross/zstd cross/libb2 cross/fuse +DEPENDS = cross/attr cross/acl cross/openssl3 cross/lz4 cross/zstd cross/libb2 cross/fuse SPK_DEPENDS = "python311>=3.11.4-7" # Requirements file generation # - first create borgbackup wheel defined in src/requirements-crossenv.txt # cd src -# /spksrc/native/python310/work-native/install/usr/local/bin/python3 -m venv borg-env +# /spksrc/native/python311/work-native/install/usr/local/bin/python3 -m venv borg-env # . borg-env/bin/activate # pip install ../work-x64-6.1/install/var/packages/borgbackup/target/share/wheelhouse/borgbackup*.whl borgmatic emborg llfuse # pip freeze > requirements.txt @@ -29,7 +29,7 @@ DESCRIPTION = Deduplicating backup program with compression and authenticated en DISPLAY_NAME = Borg STARTABLE = no -CHANGELOG = "1. Update borg to v1.2.2
2. Update borgmatic to v1.7.5.
/3. Include compiled version of msgpack for enhanced performance.
4. Update emborg to v1.34.
Migrate to python 3.11" +CHANGELOG = "1. Update borg to v1.2.4
2. Update borgmatic to v1.8.0.
3. Update emborg to v1.37.
Migrate to python 3.11" HOMEPAGE = https://borgbackup.readthedocs.io LICENSE = 3-Clause BSD @@ -43,4 +43,15 @@ ENV += BORG_LIBLZ4_PREFIX="$(STAGING_INSTALL_PREFIX)" ENV += BORG_LIBZSTD_PREFIX="$(STAGING_INSTALL_PREFIX)" ENV += BORG_LIBB2_PREFIX="$(STAGING_INSTALL_PREFIX)" +# [rpds-py] +# maturin canot be built as pre-requisite crossenv +ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +WHEELS += src/requirements-crossenv-rpds-py.txt +# Mandatory for rustc wheel building +ENV += PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ +ENV += PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ +# Requires path to maturin from crossenv +ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) +endif + include ../../mk/spksrc.spk.mk diff --git a/spk/borgbackup/src/requirements-crossenv-rpds-py.txt b/spk/borgbackup/src/requirements-crossenv-rpds-py.txt new file mode 100644 index 00000000000..08524639538 --- /dev/null +++ b/spk/borgbackup/src/requirements-crossenv-rpds-py.txt @@ -0,0 +1,13 @@ +## +## All configurations below are optional and +## are provided to demonstrate how to build +## various wheels. Uncoment to enable. +## + +# [rpds-py] +# Require environment variables +# PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ +# PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ +# Requires path to maturin from crossenv +# ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) +rpds-py==0.9.2 diff --git a/spk/borgbackup/src/requirements-crossenv.txt b/spk/borgbackup/src/requirements-crossenv.txt index 8fe17e8bd61..0000edcfd90 100644 --- a/spk/borgbackup/src/requirements-crossenv.txt +++ b/spk/borgbackup/src/requirements-crossenv.txt @@ -1,7 +1,9 @@ # requirements that need crossenv to build wheel for -borgbackup==1.2.2 +borgbackup==1.2.4 -msgpack==1.0.4 # used compiled verrsion for performance +charset-normalizer==3.2.0 +llfuse==1.4.4 +msgpack==1.0.5 # used compiled verrsion for performance +pyrsistent==0.19.3 ruamel.yaml.clib==0.2.7 -llfuse==1.4.2 diff --git a/spk/borgbackup/src/requirements-pure.txt b/spk/borgbackup/src/requirements-pure.txt index b66a2d4dbf1..ee3f9b4d71c 100644 --- a/spk/borgbackup/src/requirements-pure.txt +++ b/spk/borgbackup/src/requirements-pure.txt @@ -3,24 +3,29 @@ appdirs==1.4.4 arrow==1.2.3 -attrs==22.1.0 -borgmatic==1.7.5 -#certifi==2022.9.24 ==> python310:pure -charset-normalizer==2.1.1 +attrs==23.1.0 +borgmatic==1.8.0 +#certifi ==> python311:pure colorama==0.4.6 +#distlib ==> python311:pure docopt==0.6.2 -emborg==1.34 +emborg==1.37 +#filelock ==> python311:pure idna==3.4 -inform==1.27.0 -jsonschema==4.17.3 -#msgpack==1.0.4 ==> crossenv -packaging==21.3 -pyparsing==3.0.9 -pyrsistent==0.19.2 +inform==1.28 +jsonschema==4.18.4 +jsonschema-specifications==2023.7.1 +#msgpack ==> crossenv +nestedtext==3.6 +packaging==23.1 +#platformdirs ==> python311:pure +pyparsing==3.1.0 python-dateutil==2.8.2 -quantiphy==2.18.0 -requests==2.28.1 -ruamel.yaml==0.17.21 -#ruamel.yaml.clib==0.2.7 ==> crossenv -#six==1.16.0 ==> python310:pure -urllib3==1.26.13 +quantiphy==2.19 +referencing==0.30.0 +requests==2.31.0 +ruamel.yaml==0.17.32 +#ruamel.yaml.clib ==> crossenv +#six ==> python311:pure +urllib3==2.0.4 +#virtualenv ==> python311:pure diff --git a/spk/python311/Makefile b/spk/python311/Makefile index a068cf6cf4e..65a91afe3e7 100644 --- a/spk/python311/Makefile +++ b/spk/python311/Makefile @@ -97,6 +97,17 @@ ENV += SODIUM_INSTALL=system # [PyYAML] DEPENDS += cross/libyaml +# [rpds-py] +# maturin canot be built as pre-requisite crossenv +ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +WHEELS += src/requirements-crossenv-rpds-py.txt +# Mandatory for rustc wheel building +ENV += PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ +ENV += PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ +# Requires path to maturin from crossenv +ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) +endif + # WHEELS_TEST_ALL: Force testing all wheel building endif diff --git a/spk/python311/src/requirements-crossenv-rpds-py.txt b/spk/python311/src/requirements-crossenv-rpds-py.txt new file mode 100644 index 00000000000..08524639538 --- /dev/null +++ b/spk/python311/src/requirements-crossenv-rpds-py.txt @@ -0,0 +1,13 @@ +## +## All configurations below are optional and +## are provided to demonstrate how to build +## various wheels. Uncoment to enable. +## + +# [rpds-py] +# Require environment variables +# PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ +# PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ +# Requires path to maturin from crossenv +# ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) +rpds-py==0.9.2 From 874e1e84b4f9b4f8ef9fec2ce757c9b002422679 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Mon, 24 Jul 2023 00:09:38 +0000 Subject: [PATCH 14/86] headphones: Use develop branch with apscheduler version 3.10.1 --- spk/headphones/Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/spk/headphones/Makefile b/spk/headphones/Makefile index 3fcce96b3ec..a01d7da8a36 100644 --- a/spk/headphones/Makefile +++ b/spk/headphones/Makefile @@ -11,7 +11,7 @@ DESCRIPTION = Headphones is an automatic NZB and torrent downloader for music. M DESCRIPTION_FRE = Headphones permet le téléchargement automatique de musique via NZB ou torrent. Indiquez les albums que vous désirez et ils seront téléchargés dès que possible. Pous pouvez choisir entre différentes qualités, dont le lossless. Avec Headphones, vous pouvez aussi gérer votre bibliothèque musicale automatiquement: déplacement, tag, renommage et indexation pour votre DiskStation. DESCRIPTION_SPN = Headphones permite descargar automáticamente música mediante NZB o torrent. Puedes marcar albumes y estos serán descargados en cuanto estén disponibles. Es posible utilizar diferentes calidades, incluido lossless \(sin pedida\). Con Headphones tambien puedes administrar tu libreria: mover, taguear, renombrar e indexar en el DiskStation DISPLAY_NAME = Headphones -CHANGELOG = "1. Migrate to Python 3.11" +CHANGELOG = "1. Migrate to Python 3.11
2. Using development branch containing apscheduler update to version 3.10.1" HOMEPAGE = https://github.com/rembo10/headphones LICENSE = GPLv3 @@ -40,6 +40,8 @@ headphones_extra_install: $(STAGING_DIR)/share/Headphones install -m 755 -d $(STAGING_DIR)/var install -m 600 src/config.ini $(STAGING_DIR)/var/config.ini +# Currently cloning 'develop' branch which contains a fix for python 3.11 +# https://github.com/rembo10/headphones/issues/3320#issuecomment-1583819587 $(STAGING_DIR)/share/Headphones: install -m 755 -d $(STAGING_DIR)/share - cd $(STAGING_DIR)/share && git clone --depth=1 https://github.com/rembo10/headphones.git Headphones + cd $(STAGING_DIR)/share && git clone --depth=1 --branch develop https://github.com/rembo10/headphones.git Headphones From 96ea2ba33104c10c2ec26ed320082a4bec1bd345 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Sun, 23 Jul 2023 20:23:04 +0200 Subject: [PATCH 15/86] homeassistant: add cross/uamqp - add cross/uamqp to build uAMQP wheel with openssl3 --- cross/uamqp/Makefile | 22 +++++++ cross/uamqp/PLIST | 0 cross/uamqp/digests | 3 + ...-range-checks-on-the-OpenSSL-version.patch | 58 +++++++++++++++++++ spk/homeassistant/Makefile | 4 +- .../src/requirements-crossenv.txt | 4 +- 6 files changed, 86 insertions(+), 5 deletions(-) create mode 100644 cross/uamqp/Makefile create mode 100644 cross/uamqp/PLIST create mode 100644 cross/uamqp/digests create mode 100644 cross/uamqp/patches/001-OpenSSL3_Relax-the-range-checks-on-the-OpenSSL-version.patch diff --git a/cross/uamqp/Makefile b/cross/uamqp/Makefile new file mode 100644 index 00000000000..d816b21a972 --- /dev/null +++ b/cross/uamqp/Makefile @@ -0,0 +1,22 @@ +PKG_NAME = uamqp +PKG_VERS = 1.6.0 +PKG_EXT = tar.gz +PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) +PKG_DIST_SITE = https://files.pythonhosted.org/packages/source/u/uamqp +PKG_DIR = $(PKG_NAME)-$(PKG_VERS) + +DEPENDS = cross/openssl3 cross/cffi + +HOMEPAGE = https://github.com/Azure/azure-uamqp-python +COMMENT = AMQP 1.0 client library for Python. +LICENSE = MIT + +POST_PATCH_TARGET = uamqp_post_patch + +include ../../mk/spksrc.python-wheel.mk + +.PHONY: uamqp_post_patch +# https://github.com/Azure/azure-uamqp-python/issues/276#issuecomment-924890556 +uamqp_post_patch: + @$(MSG) Patch CMakeLists.txt files to avoid (deprecation) warnings as errors. + @$(RUN) ; grep -rl "\-Werror" . | xargs sed -i 's/-Werror//' diff --git a/cross/uamqp/PLIST b/cross/uamqp/PLIST new file mode 100644 index 00000000000..e69de29bb2d diff --git a/cross/uamqp/digests b/cross/uamqp/digests new file mode 100644 index 00000000000..7ffb03b17cb --- /dev/null +++ b/cross/uamqp/digests @@ -0,0 +1,3 @@ +uamqp-1.6.0.tar.gz SHA1 3f1cbb519c2252a73a92b7d89f179a6cd43d9469 +uamqp-1.6.0.tar.gz SHA256 2c31b74a10856eccf258d73c4d08e5cac4d6060a34b9834890bfd42bcb138350 +uamqp-1.6.0.tar.gz MD5 e052ebabbc9d72099c33fba6d9f66ec2 diff --git a/cross/uamqp/patches/001-OpenSSL3_Relax-the-range-checks-on-the-OpenSSL-version.patch b/cross/uamqp/patches/001-OpenSSL3_Relax-the-range-checks-on-the-OpenSSL-version.patch new file mode 100644 index 00000000000..75a9e2ddb70 --- /dev/null +++ b/cross/uamqp/patches/001-OpenSSL3_Relax-the-range-checks-on-the-OpenSSL-version.patch @@ -0,0 +1,58 @@ +From: Simon Chopin +Subject: Relax the range checks on the OpenSSL version +Forwarded: https://github.com/Azure/azure-c-shared-utility/pull/577 + +OpenSSL 3.0 has a high degree of API compatibility with the 1.1.1 +branch, so the 1.1 code branches are also valid for higher versions. + +Note that this patch does not address the deprecation warnings +introduced by OpenSSL 3.0. +--- src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/adapters/tlsio_openssl.c ++++ src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/adapters/tlsio_openssl.c +@@ -953,7 +953,7 @@ + } + else + { +-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) + const BIO_METHOD* bio_method; + #else + BIO_METHOD* bio_method; +@@ -1052,7 +1052,7 @@ + + const SSL_METHOD* method = NULL; + +-#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || (OPENSSL_VERSION_NUMBER >= 0x20000000L) ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) + if (tlsInstance->tls_version == VERSION_1_2) + { + method = TLSv1_2_method(); +@@ -1248,7 +1248,7 @@ + + #if (OPENSSL_VERSION_NUMBER < 0x10000000L) + ERR_remove_state(0); +-#elif (OPENSSL_VERSION_NUMBER < 0x10100000L) || (OPENSSL_VERSION_NUMBER >= 0x20000000L) ++#elif (OPENSSL_VERSION_NUMBER < 0x10100000L) + ERR_remove_thread_state(NULL); + #endif + #if (OPENSSL_VERSION_NUMBER >= 0x10002000L) && (OPENSSL_VERSION_NUMBER < 0x10010000L) && (SSL_COMP_free_compression_methods) +--- src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/adapters/x509_openssl.c ++++ src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/adapters/x509_openssl.c +@@ -75,7 +75,7 @@ + // certificates. + + /* Codes_SRS_X509_OPENSSL_07_006: [ If successful x509_openssl_add_ecc_credentials shall to import each certificate in the cert chain. ] */ +-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) + SSL_CTX_clear_extra_chain_certs(ssl_ctx); + #else + if (ssl_ctx->extra_certs != NULL) +@@ -345,7 +345,7 @@ + else + { + /*Codes_SRS_X509_OPENSSL_02_012: [ x509_openssl_add_certificates shall get the memory BIO method function by calling BIO_s_mem. ]*/ +-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) + const BIO_METHOD* bio_method; + #else + BIO_METHOD* bio_method; diff --git a/spk/homeassistant/Makefile b/spk/homeassistant/Makefile index 576dc92f537..aa4b89f9eb3 100644 --- a/spk/homeassistant/Makefile +++ b/spk/homeassistant/Makefile @@ -84,9 +84,7 @@ ENV += PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ DEPENDS += cross/cryptography_38 # [uamqp] -# ignore deprecation warnings when building with openssl 3 -# "cc1: all warnings being treated as errors" -WHEELS_CFLAGS = [uamqp] -Wno-deprecated-declarations +DEPENDS += cross/uamqp # [gevent] DEPENDS += cross/libev cross/c-ares diff --git a/spk/homeassistant/src/requirements-crossenv.txt b/spk/homeassistant/src/requirements-crossenv.txt index 48574d28a2a..c62158e7497 100644 --- a/spk/homeassistant/src/requirements-crossenv.txt +++ b/spk/homeassistant/src/requirements-crossenv.txt @@ -24,7 +24,7 @@ ciso8601==2.3.0 # contourpy==1.0.7 => fails to build: ModuleNotFoundError: No module named 'pybind11' coverage==7.0.5 crc16==0.1.1 -#cryptography==38.0.3 => cross/cryptography_38 +# cryptography==38.0.3 => cross/cryptography_38 Cython==0.29.33 dbus_fast==1.82.0 debugpy==1.6.4 @@ -62,7 +62,7 @@ regex==2021.8.28 simplejson==3.18.0 SQLAlchemy==1.4.44 tornado==6.2 -uamqp==1.6.0 +# uamqp==1.6.0 => cross/uamqp websockets==10.4 wrapt==1.14.1 yarl==1.8.1 From 4c352b6242970ec99e300fe4880a52aff6e1d96f Mon Sep 17 00:00:00 2001 From: hgy59 Date: Sun, 23 Jul 2023 21:07:14 +0200 Subject: [PATCH 16/86] homeassistant: fix build of cross/uamqp --- cross/uamqp/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cross/uamqp/Makefile b/cross/uamqp/Makefile index d816b21a972..1e335ac7198 100644 --- a/cross/uamqp/Makefile +++ b/cross/uamqp/Makefile @@ -18,5 +18,5 @@ include ../../mk/spksrc.python-wheel.mk .PHONY: uamqp_post_patch # https://github.com/Azure/azure-uamqp-python/issues/276#issuecomment-924890556 uamqp_post_patch: - @$(MSG) Patch CMakeLists.txt files to avoid (deprecation) warnings as errors. + @$(MSG) "Patch CMakeLists.txt files to avoid (deprecation) warnings as errors." @$(RUN) ; grep -rl "\-Werror" . | xargs sed -i 's/-Werror//' From 0f79214795680c69d4d83814a588107fc7615386 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Mon, 24 Jul 2023 00:29:48 +0000 Subject: [PATCH 17/86] borgbackup: Fix armv5 build error with rpds-py wheel --- spk/borgbackup/Makefile | 2 ++ spk/python311/Makefile | 20 +++++++++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/spk/borgbackup/Makefile b/spk/borgbackup/Makefile index e9e9ef26de1..3b01703a268 100644 --- a/spk/borgbackup/Makefile +++ b/spk/borgbackup/Makefile @@ -43,6 +43,8 @@ ENV += BORG_LIBLZ4_PREFIX="$(STAGING_INSTALL_PREFIX)" ENV += BORG_LIBZSTD_PREFIX="$(STAGING_INSTALL_PREFIX)" ENV += BORG_LIBB2_PREFIX="$(STAGING_INSTALL_PREFIX)" +include ../../mk/spksrc.common.mk + # [rpds-py] # maturin canot be built as pre-requisite crossenv ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) diff --git a/spk/python311/Makefile b/spk/python311/Makefile index 65a91afe3e7..653ca8e6e02 100644 --- a/spk/python311/Makefile +++ b/spk/python311/Makefile @@ -97,6 +97,19 @@ ENV += SODIUM_INSTALL=system # [PyYAML] DEPENDS += cross/libyaml +# WHEELS_TEST_ALL: Force testing all wheel building +endif + +include ../../mk/spksrc.common.mk + +# # Enable debug_info builds for DSM6 +# ifeq ($(call version_lt, ${TCVERSION}, 7),1) +# GCC_DEBUG_INFO := 1 +# endif + +## WHEELS_TEST_ALL: Force testing all wheel building +ifeq ($(strip $(WHEELS_TEST_ALL)),1) + # [rpds-py] # maturin canot be built as pre-requisite crossenv ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) @@ -111,13 +124,6 @@ endif # WHEELS_TEST_ALL: Force testing all wheel building endif -include ../../mk/spksrc.common.mk - -# # Enable debug_info builds for DSM6 -# ifeq ($(call version_lt, ${TCVERSION}, 7),1) -# GCC_DEBUG_INFO := 1 -# endif - include ../../mk/spksrc.spk.mk ## WHEELS_TEST_ALL: Force testing all wheel building From cb03bd1c7a9811721709b4291dba2b216f0b1c50 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Mon, 24 Jul 2023 00:44:37 +0000 Subject: [PATCH 18/86] bazarr: Update from version 1.2.1 to 1.2.4 & fix armv5 build issue --- cross/bazarr/Makefile | 2 +- cross/bazarr/digests | 6 +++--- spk/bazarr/Makefile | 14 +++++++------- .../src/requirements-crossenv-numpy-gcc4.txt | 1 - spk/bazarr/src/requirements-crossenv-numpy.txt | 2 -- spk/python311/Makefile | 1 + .../src/requirements-crossenv-numpy-gcc4.txt | 1 - spk/python311/src/requirements-crossenv-numpy.txt | 2 -- 8 files changed, 12 insertions(+), 17 deletions(-) diff --git a/cross/bazarr/Makefile b/cross/bazarr/Makefile index e1bd8824bcb..eec8a74fe5c 100644 --- a/cross/bazarr/Makefile +++ b/cross/bazarr/Makefile @@ -1,5 +1,5 @@ PKG_NAME = bazarr -PKG_VERS = 1.2.1 +PKG_VERS = 1.2.4 PKG_EXT = zip PKG_DIST_NAME = $(PKG_NAME).$(PKG_EXT) PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) diff --git a/cross/bazarr/digests b/cross/bazarr/digests index 087d8b6285d..d09246686fe 100644 --- a/cross/bazarr/digests +++ b/cross/bazarr/digests @@ -1,3 +1,3 @@ -bazarr-1.2.1.zip SHA1 64e31750708a21520e2de1e7219e74e2db75c85b -bazarr-1.2.1.zip SHA256 3ee54ad63acd8f16a011262f82a4417f1cec57f2b11614dd3b29623bcb26c1e7 -bazarr-1.2.1.zip MD5 fa57920c4eee9684b7a0f3a3847f4bd0 +bazarr-1.2.4.zip SHA1 e454c27c2ccf53bd7e59727da6382febc61dcd9a +bazarr-1.2.4.zip SHA256 4dd05acde63fc3dbd211bb3f3a046d7688bfae20146a2d73ae633f03c79c6960 +bazarr-1.2.4.zip MD5 c1f4996968a79e9a0366fe1d7065a09a diff --git a/spk/bazarr/Makefile b/spk/bazarr/Makefile index bb1392c52c7..3333850b10e 100644 --- a/spk/bazarr/Makefile +++ b/spk/bazarr/Makefile @@ -1,6 +1,6 @@ SPK_NAME = bazarr -SPK_VERS = 1.2.1 +SPK_VERS = 1.2.4 SPK_REV = 10 SPK_ICON = src/bazarr.png @@ -30,7 +30,11 @@ MAINTAINER = smaarn DESCRIPTION = "Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements. You define your preferences by TV show or movies and Bazarr takes care of everything for you." DISPLAY_NAME = Bazarr STARTABLE = yes -CHANGELOG = "Update to version 1.2.1.
See corresponding changelogs here and here for more details.
Migrate to python 3.11" +CHANGELOG = "Update to version 1.2.4.
See corresponding changelogs here and here for more details.
Migrate to python 3.11" + +# [numpy] <= 1.21.6 (armv5) +# This version is now unsupported using py311 +UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) HOMEPAGE = https://www.bazarr.media LICENSE = GPLv3 @@ -61,20 +65,16 @@ else WHEELS += src/requirements-crossenv-greenlet-v1.txt endif -# [numpy] <= 1.21.6 (armv5) -# This version is now unsupported using py311 -UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) -ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) # [numpy] <= 1.22.4 (armv7l) ifeq ($(findstring $(ARCH),$(ARMv7L_ARCHS)),$(ARCH)) WHEELS += src/requirements-crossenv-numpy-armv7l.txt +# [numpy] <= 1.24.4 last working version with gcc-4.9 else ifeq ($(call version_le, $(TC_GCC), 5.0),1) WHEELS += src/requirements-crossenv-numpy-gcc4.txt # [numpy] >= 1.25.0 requires c++17 else ifeq ($(call version_gt, $(TC_GCC), 5.0),1) WHEELS += src/requirements-crossenv-numpy.txt endif -endif # workaround for compiler bug: # https://github.com/numpy/numpy/issues/13622 ifeq ($(call version_le, $(TC_GCC), 5.0),1) diff --git a/spk/bazarr/src/requirements-crossenv-numpy-gcc4.txt b/spk/bazarr/src/requirements-crossenv-numpy-gcc4.txt index f73dbffb458..f4cb4bea3c8 100644 --- a/spk/bazarr/src/requirements-crossenv-numpy-gcc4.txt +++ b/spk/bazarr/src/requirements-crossenv-numpy-gcc4.txt @@ -8,5 +8,4 @@ # - Require Cython in cross/python311 crossenv # - aarch64-6.1 require workaround WHEELS_CFLAGS=-O0 # ref: https://github.com/numpy/numpy/issues/13622 -numpy==1.23.5 numpy==1.24.4 diff --git a/spk/bazarr/src/requirements-crossenv-numpy.txt b/spk/bazarr/src/requirements-crossenv-numpy.txt index 9bb35b2f621..5d9f9574df8 100644 --- a/spk/bazarr/src/requirements-crossenv-numpy.txt +++ b/spk/bazarr/src/requirements-crossenv-numpy.txt @@ -7,6 +7,4 @@ # [numpy] # - Require Cython in cross/python311 crossenv # - Numpy 1.25.x require c++17 -#numpy==1.23.5 -#numpy==1.24.4 numpy==1.25.1 diff --git a/spk/python311/Makefile b/spk/python311/Makefile index 653ca8e6e02..4cdf36ac703 100644 --- a/spk/python311/Makefile +++ b/spk/python311/Makefile @@ -145,6 +145,7 @@ ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) # [numpy] <= 1.22.4 (armv7l) ifeq ($(findstring $(ARCH),$(ARMv7L_ARCHS)),$(ARCH)) WHEELS += src/requirements-crossenv-numpy-armv7l.txt +# [numpy] <= 1.24.4 last working version with gcc-4.9 else ifeq ($(call version_le, $(TC_GCC), 5.0),1) WHEELS += src/requirements-crossenv-numpy-gcc4.txt # [numpy] >= 1.25.0 requires c++17 diff --git a/spk/python311/src/requirements-crossenv-numpy-gcc4.txt b/spk/python311/src/requirements-crossenv-numpy-gcc4.txt index f73dbffb458..f4cb4bea3c8 100644 --- a/spk/python311/src/requirements-crossenv-numpy-gcc4.txt +++ b/spk/python311/src/requirements-crossenv-numpy-gcc4.txt @@ -8,5 +8,4 @@ # - Require Cython in cross/python311 crossenv # - aarch64-6.1 require workaround WHEELS_CFLAGS=-O0 # ref: https://github.com/numpy/numpy/issues/13622 -numpy==1.23.5 numpy==1.24.4 diff --git a/spk/python311/src/requirements-crossenv-numpy.txt b/spk/python311/src/requirements-crossenv-numpy.txt index c7930223ec0..506858be48a 100644 --- a/spk/python311/src/requirements-crossenv-numpy.txt +++ b/spk/python311/src/requirements-crossenv-numpy.txt @@ -7,6 +7,4 @@ # [numpy] # - Require Cython in cross/python310 crossenv # - Numpy 1.25.x require c++17 -numpy==1.23.5 -numpy==1.24.4 numpy==1.25.1 From 30c1118ec4627bea581a1aca6c53d2a6b0173f90 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Mon, 24 Jul 2023 01:12:53 +0000 Subject: [PATCH 19/86] cryptography: Update from version 41.0.1 to 41.0.2 --- cross/cryptography/Makefile | 2 +- cross/cryptography/digests | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cross/cryptography/Makefile b/cross/cryptography/Makefile index f9199235074..60af11b13f6 100644 --- a/cross/cryptography/Makefile +++ b/cross/cryptography/Makefile @@ -1,5 +1,5 @@ PKG_NAME = cryptography -PKG_VERS = 41.0.1 +PKG_VERS = 41.0.2 PKG_EXT = tar.gz PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://files.pythonhosted.org/packages/source/c/$(PKG_NAME) diff --git a/cross/cryptography/digests b/cross/cryptography/digests index e1fe132c765..eed4511ef60 100644 --- a/cross/cryptography/digests +++ b/cross/cryptography/digests @@ -1,3 +1,3 @@ -cryptography-41.0.1.tar.gz SHA1 25aba9235d2b4228417783ef1e56ab0293dd2711 -cryptography-41.0.1.tar.gz SHA256 d34579085401d3f49762d2f7d6634d6b6c2ae1242202e860f4d26b046e3a1006 -cryptography-41.0.1.tar.gz MD5 49d86f49c47e7b693700887efc117adc +cryptography-41.0.2.tar.gz SHA1 0e07b4c81ab916b57d305a337deaea0a150aeb1a +cryptography-41.0.2.tar.gz SHA256 7d230bf856164de164ecb615ccc14c7fc6de6906ddd5b491f3af90d3514c925c +cryptography-41.0.2.tar.gz MD5 218dde9757c27459271235acd993b49c From 4b2b7362c3714abb20745108b4f25002fdc0b07b Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Mon, 24 Jul 2023 01:36:24 +0000 Subject: [PATCH 20/86] znc: Migrate to using openssl3 --- cross/znc/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cross/znc/Makefile b/cross/znc/Makefile index 53425dad389..96a74e9fce1 100644 --- a/cross/znc/Makefile +++ b/cross/znc/Makefile @@ -6,7 +6,7 @@ PKG_DIST_SITE = https://znc.in/releases/archive PKG_DIR = $(PKG_NAME)-$(PKG_VERS) BUILD_DEPENDS = cross/python310 -DEPENDS = cross/openssl cross/libicu +DEPENDS = cross/openssl3 cross/libicu # configure: No compiler with C++11 support was found # error: Upgrade your compiler. GCC 4.8+ and Clang 3.2+ are known to work. From 8c34f7c62a5f2a341770c5da7205f51335ac1d25 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Mon, 24 Jul 2023 01:36:55 +0000 Subject: [PATCH 21/86] duplicity: Update from version 1.0.1 to 1.2.3 --- cross/duply/Makefile | 2 +- cross/duply/digests | 6 +- spk/duplicity/Makefile | 4 +- spk/duplicity/src/requirements-crossenv.txt | 25 ++- spk/duplicity/src/requirements-pure.txt | 191 ++++++++++---------- 5 files changed, 115 insertions(+), 113 deletions(-) diff --git a/cross/duply/Makefile b/cross/duply/Makefile index c762bb562c7..0c3241568bb 100644 --- a/cross/duply/Makefile +++ b/cross/duply/Makefile @@ -1,5 +1,5 @@ PKG_NAME = duply -PKG_VERS = 2.4.1 +PKG_VERS = 2.4.3 PKG_SHORT_VERS = $(word 1,$(subst ., ,$(PKG_VERS))).$(word 2,$(subst ., ,$(PKG_VERS))) PKG_EXT = tgz PKG_DIST_NAME = $(PKG_NAME)_$(PKG_VERS).$(PKG_EXT) diff --git a/cross/duply/digests b/cross/duply/digests index ba413abe611..e7e9690b22e 100644 --- a/cross/duply/digests +++ b/cross/duply/digests @@ -1,3 +1,3 @@ -duply_2.4.1.tgz SHA1 98790dafb92f8441045ce430f4ad9ed80bd895f6 -duply_2.4.1.tgz SHA256 03fd28b06206505edf0e0820d098208708842999f21b1d132461e34e2c0b6973 -duply_2.4.1.tgz MD5 7d579e5a922c21b59e059a2dd4d2383b +duply_2.4.3.tgz SHA1 278e45e0c033a2f24adfe868339114c7365ea318 +duply_2.4.3.tgz SHA256 867388531ddda2a5cdb0a2af77bde03261491c03a406b60fe26b96b4d92627a3 +duply_2.4.3.tgz MD5 335f65f0af7610fb248f7f549ec81cab diff --git a/spk/duplicity/Makefile b/spk/duplicity/Makefile index 2ac8199badf..b0b678c9634 100644 --- a/spk/duplicity/Makefile +++ b/spk/duplicity/Makefile @@ -1,5 +1,5 @@ SPK_NAME = duplicity -SPK_VERS = 1.0.1 +SPK_VERS = 1.2.3 SPK_REV = 10 SPK_ICON = src/duplicity.png @@ -32,7 +32,7 @@ MAINTAINER = SynoCommunity DESCRIPTION = Encrypted bandwidth-efficient backup using the rsync algorithm. Also contains duply wrapper script (duply is supported only for DSM >= 6.0). STARTABLE = no DISPLAY_NAME = Duplicity -CHANGELOG = "1. Update duplicity to v1.0.1 and duply to v2.4.1
2. Update to openssl 3.1.1
Migrate to python 3.11" +CHANGELOG = "1. Update duplicity to v1.2.3 and duply to v2.4.3
2. Update to openssl 3.1.1
Migrate to python 3.11" HOMEPAGE = https://duplicity.gitlab.io/duplicity-web/ LICENSE = GPLv2 diff --git a/spk/duplicity/src/requirements-crossenv.txt b/spk/duplicity/src/requirements-crossenv.txt index 9f378e2f662..80f980cc578 100644 --- a/spk/duplicity/src/requirements-crossenv.txt +++ b/spk/duplicity/src/requirements-crossenv.txt @@ -1,5 +1,4 @@ -# pypi source fails as versions either YANKED or uses -postX tag -duplicity==1.0.1 +duplicity==1.2.3 # gitlab source fails to generate $version # ref: https://gitlab.com/duplicity/duplicity/-/issues/109 @@ -10,17 +9,17 @@ duplicity==1.0.1 bcrypt==4.0.1 cffi==1.15.1 -coverage==6.5.0 -#cryptography==38.0.2 ==> cross/cryptography -lazy-object-proxy==1.7.1 -lxml==4.9.1 -MarkupSafe==2.1.1 -msgpack==1.0.4 +coverage==7.2.7 +#cryptography ==> cross/cryptography +lazy-object-proxy==1.9.0 +lxml==4.9.3 +MarkupSafe==2.1.3 +msgpack==1.0.5 msgpack-python==0.5.6 netifaces==0.11.0 -protobuf==4.21.7 -psutil==5.9.1 +protobuf==4.23.4 +psutil==5.9.5 PyNaCl==1.5.0 -PyYAML==6.0 -simplejson==3.17.6 -wrapt==1.14.1 +PyYAML==6.0.1 +simplejson==3.19.1 +wrapt==1.15.0 diff --git a/spk/duplicity/src/requirements-pure.txt b/spk/duplicity/src/requirements-pure.txt index 00c396d0c3c..efeb9d390d6 100644 --- a/spk/duplicity/src/requirements-pure.txt +++ b/spk/duplicity/src/requirements-pure.txt @@ -1,157 +1,160 @@ -# version 1.0.1 snapshot from Oct. 11th 2022 +# version 1.2.3 snapshot from Jul. 23rd 2023 2to3==1.0 -alabaster==0.7.12 +alabaster==0.7.13 args==0.1.0 arrow==1.2.3 -astroid==2.12.11 -attrs==22.1.0 -azure-core==1.26.0 -azure-storage-blob==12.14.0 -b2sdk==1.18.0 -Babel==2.10.3 -#bcrypt==4.0.1 ==> crossenv +astroid==2.15.6 +attrs==23.1.0 +azure-core==1.28.0 +azure-storage-blob==12.17.0 +b2sdk==1.22.0 +Babel==2.12.1 +#bcrypt ==> crossenv boto==2.49.0 -boto3==1.24.89 -botocore==1.27.89 -boxsdk==3.5.0 -cachetools==5.2.0 -#certifi==2022.9.24 ==> py310 -#cffi==1.15.1 ==> crossenv -chardet==3.0.4 -charset-normalizer==2.1.1 +boto3==1.28.9 +botocore==1.31.9 +boxsdk==3.7.3 +cachetools==5.3.1 +#certifi ==> py311 +#cffi ==> crossenv +charset-normalizer==3.2.0 clint==0.5.1 -#coverage==6.5.0 ==> crossenv -#cryptography==38.0.2 ==> crossenv +colorama==0.4.6 +#coverage ==> crossenv +#cryptography ==> cross/cryptography debtcollector==2.5.0 -dill==0.3.5.1 -#distlib==0.3.6 ==> py310 -docutils==0.17.1 -dropbox==11.35.0 -#duplicity==1.0.1 ==> crossenv +dill==0.3.7 +#distlib ==> py311 +docutils==0.18.1 +dropbox==11.36.2 +#duplicity ==> crossenv ecdsa==0.18.0 fasteners==0.18 -#filelock==3.8.0 ==> py310 -future==0.18.2 +#filelock ==> py311 +uture==0.18.3 gdata-python3==3.0.1 gitchangelog==3.0.4 -google-api-core==2.10.2 -google-api-python-client==2.64.0 -google-auth==2.12.0 +google-api-core==2.11.1 +google-api-python-client==2.94.0 +googleapis-common-protos==1.59.1 +google-auth==2.22.0 google-auth-httplib2==0.1.0 -google-auth-oauthlib==0.5.3 -googleapis-common-protos==1.56.4 -httplib2==0.20.4 -humanize==4.4.0 +google-auth-oauthlib==1.0.0 +httplib2==0.22.0 +humanize==4.7.0 idna==3.4 imagesize==1.4.1 -iniconfig==1.1.1 +importlib-metadata==6.8.0 +iniconfig==2.0.0 +Installed modules: ip-associations-python-novaclient-ext==0.2 -iso8601==1.1.0 +iso8601==2.0.0 isodate==0.6.1 -isort==5.10.1 -jaraco.classes==3.2.3 +isort==5.12.0 +jaraco.classes==3.3.0 jeepney==0.8.0 Jinja2==3.1.2 jmespath==1.0.1 jottalib==0.5.1 -keyring==23.9.3 +keyring==24.2.0 keystoneauth1==2.18.0 -#lazy-object-proxy==1.7.1 ==> crossenv +#lazy-object-proxy ==> crossenv logfury==1.0.1 -#lxml==4.9.1 ==> crossenv -markdown-it-py==2.1.0 -#MarkupSafe==2.1.1 ==> crossenv +#lxml ==> crossenv +markdown-it-py==3.0.0 +#MarkupSafe ==> crossenv mccabe==0.7.0 -mdit-py-plugins==0.3.1 +mdit-py-plugins==0.4.0 mdurl==0.1.2 -mediafire==0.5.2 +mediafire==0.6.1 megatools==0.0.4 -mock==4.0.3 +mock==5.1.0 monotonic==1.6 -more-itertools==8.14.0 -#msgpack==1.0.4 ==> crossenv -#msgpack-python==0.5.6 ==> crossenv +more-itertools==9.1.0 +#msgpack ==> crossenv +#msgpack-python ==> crossenv msrest==0.7.1 -myst-parser==0.18.1 +myst-parser==2.0.0 netaddr==0.8.0 -#netifaces==0.11.0 ==> crossenv -oauth2client==4.1.3 -oauthlib==3.2.1 +#netifaces ==> crossenv +oauthlib==3.2.2 os-diskconfig-python-novaclient-ext==0.1.3 -os-networksv2-python-novaclient-ext==0.26 -os-virtual-interfacesv2-python-novaclient-ext==0.20 oslo.config==4.12.0 oslo.i18n==3.12.0 oslo.serialization==2.16.1 oslo.utils==3.22.3 -packaging==21.3 -paramiko==2.11.0 +os-networksv2-python-novaclient-ext==0.26 +os-virtual-interfacesv2-python-novaclient-ext==0.20 +packaging==23.1 +paramiko==3.2.0 pbr==1.10.0 pexpect==4.8.0 -#platformdirs==2.5.2 ==> py310 -pluggy==1.0.0 +#platformdirs ==> py311 +pluggy==1.2.0 ply==3.11 positional==1.2.1 prettytable==0.7.2 -#protobuf==4.21.7 ==> crossenv -#psutil==5.9.2 ==> crossenv +#protobuf ==> crossenv +#psutil ==> crossenv ptyprocess==0.7.0 py==1.11.0 -pyasn1==0.4.8 -pyasn1-modules==0.2.8 -pycodestyle==2.9.1 +pyasn1==0.5.0 +pyasn1-modules==0.3.0 +pycodestyle==2.10.0 pycparser==2.21 -PyDrive2==1.14.0 -Pygments==2.13.0 -PyJWT==2.5.0 -pylint==2.15.4 -#PyNaCl==1.5.0 ==> crossenv -pyOpenSSL==22.1.0 -pyparsing==3.0.9 +PyDrive2==1.16.1 +Pygments==2.15.1 +PyJWT==2.8.0 +pylint==2.17.4 +#PyNaCl ==> crossenv +pyOpenSSL==23.2.0 +pyparsing==3.1.0 +pyproject-api==1.5.3 pyrax==1.10.0 pystache==0.6.0 -pytest==7.1.3 -pytest-cov==4.0.0 +pytest==7.4.0 +pytest-cov==4.1.0 pytest-runner==6.0.0 python-dateutil==2.8.2 -python-gettext==4.1 +python-gettext==5.0 python-keystoneclient==3.10.0 python-novaclient==2.27.0 -python-swiftclient==4.1.0 -pytz==2022.4 -#PyYAML==6.0 ==> crossenv -rackspace-auth-openstack==1.3 +python-swiftclient==4.3.0 +pytz==2023.3 +#PyYAML ==> crossenv rackspace-novaclient==2.1 rax-default-network-flags-python-novaclient-ext==0.4.0 rax-scheduled-images-python-novaclient-ext==0.3.1 -requests==2.28.1 +requests==2.31.0 requests-oauthlib==1.3.1 -requests-toolbelt==0.10.0 +requests-toolbelt==1.0.0 rfc3986==2.0.0 rsa==4.9 -s3transfer==0.6.0 +s3transfer==0.6.1 SecretStorage==3.3.3 -setuptools-scm==7.0.5 -#simplejson==3.17.6 ==> crossenv -#six==1.16.0 ==> py310 +setuptools-scm==7.1.0 +#simplejson ==> crossenv +#six ==> py311 snowballstemmer==2.2.0 -Sphinx==5.2.3 -sphinx-rtd-theme==1.0.0 -sphinxcontrib-applehelp==1.0.2 +Sphinx==6.2.1 +sphinxcontrib-applehelp==1.0.4 sphinxcontrib-devhelp==1.0.2 -sphinxcontrib-htmlhelp==2.0.0 +sphinxcontrib-htmlhelp==2.0.1 +sphinxcontrib-jquery==4.1 sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.5 +sphinx-rtd-theme==1.2.2 stevedore==1.20.1 stone==3.3.1 tlslite-ng==0.7.6 tomli==2.0.1 -tomlkit==0.11.5 -tox==3.26.0 -tqdm==4.64.1 -typing_extensions==4.4.0 +tomlkit==0.11.8 +tox==4.6.4 +tqdm==4.65.0 +typing_extensions==4.7.1 uritemplate==4.1.1 -urllib3==1.25.11 -#virtualenv==20.16.5 ==> py310 -#wrapt==1.14.1 ==> crossenv +urllib3==1.26.16 +#virtualenv ==> py311 +#wrapt ==> crossenv +zipp==3.16.2 From 67ba80e30e666c66cd8cbeedee51f386924a7697 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Mon, 24 Jul 2023 01:47:01 +0000 Subject: [PATCH 22/86] duplicity: Fix typos in requirements-pure.txt --- spk/duplicity/src/requirements-pure.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/spk/duplicity/src/requirements-pure.txt b/spk/duplicity/src/requirements-pure.txt index efeb9d390d6..9b87ff1d24b 100644 --- a/spk/duplicity/src/requirements-pure.txt +++ b/spk/duplicity/src/requirements-pure.txt @@ -31,7 +31,7 @@ dropbox==11.36.2 ecdsa==0.18.0 fasteners==0.18 #filelock ==> py311 -uture==0.18.3 +future==0.18.3 gdata-python3==3.0.1 gitchangelog==3.0.4 google-api-core==2.11.1 @@ -46,7 +46,6 @@ idna==3.4 imagesize==1.4.1 importlib-metadata==6.8.0 iniconfig==2.0.0 -Installed modules: ip-associations-python-novaclient-ext==0.2 iso8601==2.0.0 isodate==0.6.1 From da52c6773d263e78d74421cdc8c7c42822bca32a Mon Sep 17 00:00:00 2001 From: hgy59 Date: Mon, 24 Jul 2023 14:50:41 +0200 Subject: [PATCH 23/86] duplicity: fix build of protobuf wheel --- spk/duplicity/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/spk/duplicity/Makefile b/spk/duplicity/Makefile index b0b678c9634..f8a63911546 100644 --- a/spk/duplicity/Makefile +++ b/spk/duplicity/Makefile @@ -24,6 +24,9 @@ DEPENDS += cross/libyaml DEPENDS += cross/libsodium ENV += SODIUM_INSTALL=system +# [protobuf] +WHEELS_CPPFLAGS = [protobuf] -std=c99 + WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt SPK_DEPENDS = "python311>=3.11.4-7:gnupg>=2.1.6" From 2211de6e4ad3e0dc6e1fb739075219c81c7c9393 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Mon, 24 Jul 2023 19:38:19 +0200 Subject: [PATCH 24/86] python311: OLD_PPC_ARCHS are not supported anymore --- cross/python311/Makefile | 14 +++++--------- spk/python311/Makefile | 2 ++ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/cross/python311/Makefile b/cross/python311/Makefile index 91e55d83157..3f80638ce20 100644 --- a/cross/python311/Makefile +++ b/cross/python311/Makefile @@ -6,6 +6,10 @@ PKG_DIST_NAME = Python-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://www.python.org/ftp/python/$(PKG_VERS) PKG_DIR = Python-$(PKG_VERS) +# Platform "powerpc-none-linux-gnuspe" with compiler "gcc" is not supported by the +# CPython core team, see https://peps.python.org/pep-0011/ for more information. +UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) + BUILD_DEPENDS = native/$(PKG_NAME) DEPENDS = cross/zlib cross/sqlite cross/readline cross/ncursesw cross/bzip2 cross/xz @@ -34,21 +38,13 @@ include ../../mk/spksrc.archs.mk # optionally generate optimized code ifeq ($(strip $(PYTHON_OPTIMIZE)),1) CONFIGURE_ARGS += --enable-optimizations -# old compilers fail with unrecognized command line options: -flto -fuse-linker-plugin -ffat-lto-objects -flto-partition=none -ifneq ($(findstring $(ARCH),$(OLD_PPC_ARCHS)),$(ARCH)) # Enable Link-Time Optimization CONFIGURE_ARGS += --with-lto -endif else # test modules are required for optimization only CONFIGURE_ARGS += --disable-test-modules endif -ifeq ($(findstring $(ARCH),$(OLD_PPC_ARCHS)),$(ARCH)) -# older gcc does not know -Wno-unused-result -CONFIGURE_ARGS += ac_cv_disable_unused_result_warning=no -endif - CONFIGURE_ARGS += ac_cv_buggy_getaddrinfo=no CONFIGURE_ARGS += ac_cv_file__dev_ptmx=no CONFIGURE_ARGS += ac_cv_file__dev_ptc=no @@ -140,7 +136,7 @@ CROSSENV_WHEELS += poetry==1.5.1 CROSSENV_WHEELS += Cython==0.29.35 CROSSENV_WHEELS += flit==3.9.0 CROSSENV_WHEELS += cryptography==41.0.1 -ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(OLD_PPC_ARCHS)),$(ARCH)) +ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) CROSSENV_WHEELS += maturin==1.1.0 endif diff --git a/spk/python311/Makefile b/spk/python311/Makefile index 4cdf36ac703..3fc4cddd2dc 100644 --- a/spk/python311/Makefile +++ b/spk/python311/Makefile @@ -4,6 +4,8 @@ SPK_VERS_MAJOR_MINOR = $(word 1,$(subst ., ,$(SPK_VERS))).$(word 2,$(subst ., ,$ SPK_REV = 7 SPK_ICON = src/python3.png +UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) + DEPENDS = cross/$(SPK_NAME) DEPENDS += cross/pip From cae5cf65c8f4554ff2cb75fa6251e98cd0e7361a Mon Sep 17 00:00:00 2001 From: hgy59 Date: Mon, 24 Jul 2023 19:42:11 +0200 Subject: [PATCH 25/86] duplicity: ARMv5 and ARMv7L are not supported anymore --- spk/duplicity/Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/spk/duplicity/Makefile b/spk/duplicity/Makefile index f8a63911546..aec564401bc 100644 --- a/spk/duplicity/Makefile +++ b/spk/duplicity/Makefile @@ -6,6 +6,10 @@ SPK_ICON = src/duplicity.png BUILD_DEPENDS = cross/python311 DEPENDS = cross/librsync cross/duply +# protobuf: missing atomics support +# /upb/port/atomic.h:35:23: fatal error: stdatomic.h: No such file or directory +UNSUPPORTED_ARCHS = $(ARMv7L_ARCHS) $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) + # [cryptography] DEPENDS += cross/cryptography @@ -35,7 +39,7 @@ MAINTAINER = SynoCommunity DESCRIPTION = Encrypted bandwidth-efficient backup using the rsync algorithm. Also contains duply wrapper script (duply is supported only for DSM >= 6.0). STARTABLE = no DISPLAY_NAME = Duplicity -CHANGELOG = "1. Update duplicity to v1.2.3 and duply to v2.4.3
2. Update to openssl 3.1.1
Migrate to python 3.11" +CHANGELOG = "1. Update duplicity to v1.2.3 and duply to v2.4.3
2. Update to openssl 3.1.1
3. Migrate to python 3.11.
4. Drop support for ARMv5 and ARMv7L archs." HOMEPAGE = https://duplicity.gitlab.io/duplicity-web/ LICENSE = GPLv2 From 5133cfe52df6323f4e2d58c18e4fcf858d8702d1 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 25 Jul 2023 00:14:16 +0000 Subject: [PATCH 26/86] greenlet: Enforce using -fpermissive with gcc-4.9 --- spk/bazarr/Makefile | 2 +- spk/python310/Makefile | 2 +- spk/python311/Makefile | 2 +- spk/sickchill/Makefile | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spk/bazarr/Makefile b/spk/bazarr/Makefile index 3333850b10e..b2852e39f01 100644 --- a/spk/bazarr/Makefile +++ b/spk/bazarr/Makefile @@ -59,7 +59,7 @@ include ../../mk/spksrc.spk.mk ifeq ($(call version_ge, $(TC_GCC), 4.9),1) WHEELS += src/requirements-crossenv-greenlet-v2.txt ifeq ($(call version_lt, $(TC_GCC), 5.0),1) -WHEELS_CPPFLAGS += [greenlet] -std=c++11 +WHEELS_CPPFLAGS += [greenlet] -std=c++11 -fpermissive endif else WHEELS += src/requirements-crossenv-greenlet-v1.txt diff --git a/spk/python310/Makefile b/spk/python310/Makefile index f0f2d496da2..40cbde8dbf7 100644 --- a/spk/python310/Makefile +++ b/spk/python310/Makefile @@ -116,7 +116,7 @@ ifeq ($(strip $(WHEELS_TEST_ALL)),1) ifeq ($(call version_ge, $(TC_GCC), 4.9),1) WHEELS += src/requirements-crossenv-greenlet-v2.txt ifeq ($(call version_lt, $(TC_GCC), 5.0),1) -WHEELS_CPPFLAGS += [greenlet] -std=c++11 +WHEELS_CPPFLAGS += [greenlet] -std=c++11 -fpermissive endif else WHEELS += src/requirements-crossenv-greenlet-v1.txt diff --git a/spk/python311/Makefile b/spk/python311/Makefile index 3fc4cddd2dc..b9feacaac34 100644 --- a/spk/python311/Makefile +++ b/spk/python311/Makefile @@ -135,7 +135,7 @@ ifeq ($(strip $(WHEELS_TEST_ALL)),1) ifeq ($(call version_ge, $(TC_GCC), 4.9),1) WHEELS += src/requirements-crossenv-greenlet-v2.txt ifeq ($(call version_lt, $(TC_GCC), 5.0),1) -WHEELS_CPPFLAGS += [greenlet] -std=c++11 +WHEELS_CPPFLAGS += [greenlet] -std=c++11 -fpermissive endif else WHEELS += src/requirements-crossenv-greenlet-v1.txt diff --git a/spk/sickchill/Makefile b/spk/sickchill/Makefile index 94b5ebf9cc3..bbc2f5d973c 100644 --- a/spk/sickchill/Makefile +++ b/spk/sickchill/Makefile @@ -25,7 +25,7 @@ include ../../mk/spksrc.common.mk # [greenlet] ifeq ($(call version_lt, ${TC_GCC}, 5.0),1) -WHEELS_CPPFLAGS = [greenlet] -std=c++11 +WHEELS_CPPFLAGS = [greenlet] -std=c++11 -fpermissive endif WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt From 56071ac49e6ecfdd26e4280c611b371ae08b200d Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 25 Jul 2023 00:14:50 +0000 Subject: [PATCH 27/86] py311: Add extra requirements in crossenv for newer flexget --- cross/python311/Makefile | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/cross/python311/Makefile b/cross/python311/Makefile index 3f80638ce20..2543b330f21 100644 --- a/cross/python311/Makefile +++ b/cross/python311/Makefile @@ -128,14 +128,29 @@ python311_install: @install -m 644 src/mime.types $(STAGING_INSTALL_PREFIX)/etc/ $(RUN) _PYTHON_HOST_PLATFORM=$(TC_TARGET) $(MAKE) install prefix=$(STAGING_INSTALL_PREFIX) -# wheels to install in crossenv -CROSSENV_WHEELS = setuptools-rust==1.6.0 -CROSSENV_WHEELS += setuptools-scm==7.1.0 -CROSSENV_WHEELS += cffi==1.15.1 -CROSSENV_WHEELS += poetry==1.5.1 +# default wheels to install in crossenv +CROSSENV_WHEELS = cffi==1.15.1 +CROSSENV_WHEELS += cryptography==41.0.2 CROSSENV_WHEELS += Cython==0.29.35 CROSSENV_WHEELS += flit==3.9.0 -CROSSENV_WHEELS += cryptography==41.0.1 +CROSSENV_WHEELS += poetry==1.5.1 +CROSSENV_WHEELS += scikit-build==0.17.6 +CROSSENV_WHEELS += setuptools-rust==1.6.0 +CROSSENV_WHEELS += setuptools-scm==7.1.0 + +# [numpy] <= 1.21.6 (armv5) - gcc-4.6.4 - unsupported +# [numpy] <= 1.22.4 (armv7l) - gcc-4.8.3 - unsupported +ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) +# [numpy] <= 1.24.4 last working version with gcc-4.9 +ifeq ($(call version_le, $(TC_GCC), 5.0),1) +CROSSENV_WHEELS += numpy==1.24.4 +# [numpy] >= 1.25.0 requires c++17 +else ifeq ($(call version_gt, $(TC_GCC), 5.0),1) +CROSSENV_WHEELS += numpy==1.25.1 +endif +endif + +# [maturin] ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) CROSSENV_WHEELS += maturin==1.1.0 endif From 339328de0f482423f8c9ae66c42f7c2e53b74a23 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 25 Jul 2023 00:15:31 +0000 Subject: [PATCH 28/86] flexget: Update from version 3.3.4 to 3.7.10 --- spk/flexget/Makefile | 24 +++- spk/flexget/src/requirements-crossenv.txt | 30 ++-- spk/flexget/src/requirements-pure.txt | 168 +++++++++++----------- 3 files changed, 124 insertions(+), 98 deletions(-) diff --git a/spk/flexget/Makefile b/spk/flexget/Makefile index 7be0889d7c1..c43054ef49d 100644 --- a/spk/flexget/Makefile +++ b/spk/flexget/Makefile @@ -1,5 +1,5 @@ SPK_NAME = flexget -SPK_VERS = 3.3.4 +SPK_VERS = 3.7.10 SPK_REV = 13 SPK_ICON = src/${SPK_NAME}.png @@ -7,13 +7,10 @@ BUILD_DEPENDS = cross/python311 SPK_DEPENDS = "python311>=3.11.4-7" WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt -# Required for PyYAML -DEPENDS += cross/libyaml - MAINTAINER = SynoCommunity DESCRIPTION = FlexGet is a multipurpose automation tool for content like torrents, nzbs, podcasts, comics, series, movies, etc. It can use different kinds of sources like RSS-feeds, html pages, csv files, search engines and there are even plugins for sites that do not provide any kind of useful feeds. DISPLAY_NAME = FlexGet -CHANGELOG = "1. Update FlexGet to version 3.3.4.
2. Migrate to python 3.11" +CHANGELOG = "1. Update FlexGet to version 3.7.10
2. Migrate to python 3.11" STARTABLE = yes HOMEPAGE = https://flexget.com/ @@ -33,8 +30,25 @@ ADMIN_PORT = $(SERVICE_PORT) USE_ALTERNATE_TMPDIR = 1 +SPK_USR_LOCAL_LINKS = bin:env/bin/flexget bin:env/bin/flexget-headless + +# [cryptography] +DEPENDS += cross/cryptography + +# [greenlet] == 2.0.1 +# gcc < 4.9 only supports greenlet v1.x +UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(ARMv7L_ARCHS) $(OLD_PPC_ARCHS) + +# [PyYAML] +DEPENDS += cross/libyaml + include ../../mk/spksrc.spk.mk +# [greenlet] == 2.0.1 +ifeq ($(call version_lt, $(TC_GCC), 5.0),1) +WHEELS_CPPFLAGS += [greenlet] -std=c++11 -fpermissive +endif + .PHONY: flexget_extra_install flexget_extra_install: install -m 644 src/config.yml $(STAGING_DIR)/share/ diff --git a/spk/flexget/src/requirements-crossenv.txt b/spk/flexget/src/requirements-crossenv.txt index e0bcf4871d1..d1563e15891 100644 --- a/spk/flexget/src/requirements-crossenv.txt +++ b/spk/flexget/src/requirements-crossenv.txt @@ -1,15 +1,21 @@ -# This file is a copy of the https://raw.githubusercontent.com/Flexget/Flexget/v3.3.4/requirements.txt file -# including the https://raw.githubusercontent.com/Flexget/Flexget/v3.3.4/requirements.in -# Additionally added the flexget and the transmission-rpc packages. -# plumbum and rpyc packages are adjusted as the proposed versions are not accepted. +# Snapshot from Jul. 23rd 2023 aniso8601==9.0.1 Brotli==1.0.9 -cffi==1.15.0 -cryptography==3.3.2 -greenlet==1.1.2 -MarkupSafe==2.0.1 -psutil==5.8.0 -pyrsistent==0.18.0 -PyYAML==6.0 -SQLAlchemy==1.4.27 +cffi==1.15.1 +charset-normalizer==2.1.1 +#cryptography ==> cross/cryptography +dulwich==0.21.5 +greenlet==2.0.1 +MarkupSafe==2.1.1 +msgpack==1.0.5 +psutil==5.9.4 +pydantic==1.10.2 +pyrsistent==0.19.2 +PyYAML==6.0.1 +SQLAlchemy==2.0.15 + +# Building will generate a non-optimized build: py3-none-any +# At installation time it will pip download a c++17 compiled +# optimized build, in case of failure fall-back on this one. +rapidfuzz==2.15.1 diff --git a/spk/flexget/src/requirements-pure.txt b/spk/flexget/src/requirements-pure.txt index ce068d62804..9bee2066890 100644 --- a/spk/flexget/src/requirements-pure.txt +++ b/spk/flexget/src/requirements-pure.txt @@ -1,103 +1,109 @@ -# This file is a copy of the https://raw.githubusercontent.com/Flexget/Flexget/v3.3.4/requirements.txt file -# including the https://raw.githubusercontent.com/Flexget/Flexget/v3.3.4/requirements.in -# Additionally added the flexget and the transmission-rpc packages. -# plumbum and rpyc packages are adjusted as the proposed versions are not accepted. +# Snapshot from Jul. 23rd 2023 -#aniso8601==9.0.1 ==> crossenv -APScheduler==3.8.1 -attrs==21.2.0 +#aniso8601 ==> crossenv +APScheduler==3.10.1 +attrs==22.1.0 +autocommand==2.2.2 babelfish==0.6.0 -beautifulsoup4==4.10.0 -#Brotli==1.0.9 ==> crossenv -CacheControl==0.12.10 +beautifulsoup4==4.11.1 +#Brotli ==> crossenv +build==0.10.0 +CacheControl==0.12.14 cachy==0.3.0 -#certifi==2021.10.8 ==> python 3.10 -#cffi==1.15.0 ==> crossenv -chardet==4.0.0 -charset-normalizer==2.0.7 -cheroot==8.5.2 -CherryPy==18.6.1 -cleo==0.8.1 -click==8.0.3 -clikit==0.6.2 -colorama==0.4.4 +#certifi ==> py311 +#cffi ==> crossenv +chardet==5.1.0 +cheroot==9.0.0 +CherryPy==18.8.0 +cleo==2.0.1 +click==8.1.3 +clikit==0.5.1 +colorama==0.4.6 colorclass==2.2.2 commonmark==0.9.1 -crashtest==0.3.1 -#cryptography==3.3.2 ==> python310 -#distlib==0.3.4 ==> python310 -feedparser==6.0.8 -#filelock==3.6.0 ==> python310 -flask==2.0.2 -flask-compress==1.10.1 -flask-cors==3.0.10 -flask-login==0.5.0 -flask-restful==0.3.9 -flask-restx==0.5.1 -FlexGet==3.3.4 -#greenlet==1.1.2 ==> crossenv -guessit==3.4.3 +crashtest==0.4.1 +#cryptography ==> cross/cryptography +#distlib ==> py311 +feedparser==6.0.10 +#filelock ==> py311 +Flask==2.2.5 +Flask-Compress==1.13 +Flask-Cors==3.0.10 +Flask-Login==0.6.2 +Flask-RESTful==0.3.9 +flask-restx==1.0.3 +FlexGet==3.7.10 +#greenlet ==> crossenv +guessit==3.5.0 html5lib==1.1 -idna==3.3 -importlib-metadata==4.11.3 -itsdangerous==2.0.1 -jaraco.classes==3.2.1 -jaraco.collections==3.4.0 -jaraco.functools==3.3.0 -jaraco.text==3.5.1 -jeepney==0.7.1 -Jinja2==3.0.3 -jsonschema==3.2.0 -keyring==23.5.0 +idna==3.4 +importlib-metadata==6.8.0 +inflect==6.0.2 +installer==0.7.0 +itsdangerous==2.1.2 +jaraco.classes==3.2.3 +jaraco.collections==3.8.0 +jaraco.context==4.2.0 +jaraco.functools==3.5.2 +jaraco.text==3.11.0 +jeepney==0.8.0 +Jinja2==3.1.2 +jsonschema==4.17.3 +keyring==23.13.1 lockfile==0.12.2 -loguru==0.5.3 -#Markupsafe==2.0.1 ==> crossenv -more-itertools==8.12.0 -msgpack==1.0.3 -packaging==20.9 +loguru==0.6.0 +#Markupsafe ==> crossenv +more-itertools==9.0.0 +packaging==22.0 pastel==0.2.1 pexpect==4.8.0 -pkginfo==1.8.2 -platformdirs==2.5.1 -plumbum==1.7.0 -poetry==1.1.13 -poetry-core==1.0.8 -portend==3.0.0 +pkginfo==1.9.6 +platformdirs==3.9.1 +plumbum==1.8.0 +poetry==1.5.1 +poetry-core==1.6.1 +poetry-plugin-export==1.4.0 +portend==3.1.0 progressbar==2.5 -#psutil==5.8.0 ==> crossenv +#psutil ==> crossenv ptyprocess==0.7.0 pycparser==2.21 -pygments==2.10.0 +Pygments==2.13.0 pylev==1.4.0 pynzb==0.1.0 -pyparsing==2.4.7 -#pyrsistent==0.18.0 ==> crossenv +pyparsing==3.0.9 +pyproject_hooks==1.0.0 +#pyrsistent ==> crossenv PyRSS2Gen==1.1 python-dateutil==2.8.2 -pytz==2021.3 -#PyYAML==6.0 ==> crossenv +pytz==2022.6 +pytz-deprecation-shim==0.1.0.post0 +#PyYAML ==> crossenv rebulk==3.1.0 -requests==2.26.0 -requests-toolbelt==0.9.1 -rich==10.15.0 -rpyc==5.0.1 -#setuptools ==> python310 -SecretStorage==3.3.1 +requests==2.31.0 +requests-toolbelt==1.0.0 +rich==12.6.0 +rpyc==5.3.1 +SecretStorage==3.3.3 sgmllib3k==1.0.0 -shellingham==1.4.0 -#six==1.16.0 ==> python310 -soupsieve==2.2.1 -#SQLAlchemy==1.4.27 ==> crossenv -tempora==4.1.2 +shellingham==1.5.0.post1 +#six ==> py311 +soupsieve==2.3.2.post1 +#SQLAlchemy ==> crossenv +tempora==5.1.0 terminaltables==3.1.10 -tomlkit==0.10.0 -transmission-rpc==3.3.0 -typing-extensions==3.10.0.2 -tzlocal==2.1 -urllib3==1.26.7 -#virtualenv ==> python310 +tomlkit==0.11.8 +transmission-rpc==4.3.0 +trove-classifiers==2023.7.6 +typing_extensions==4.7.1 +tzdata==2022.7 +tzlocal==4.2 +urllib3==1.26.13 +#virtualenv ==> py311 webencodings==0.5.1 -Werkzeug==2.0.2 +Werkzeug==2.2.3 +woops==0.2.1 zc.lockfile==2.0 -zipp==3.7.0 +zipp==3.16.2 +zxcvbn==4.4.28 zxcvbn-python==4.4.24 From b124bb23154b93c5f9fc40a1d640d1d01b0d2bbb Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 25 Jul 2023 00:33:49 +0000 Subject: [PATCH 29/86] plexpy-custom: Fix download URL by switching from git to https --- spk/plexpy-custom/Makefile | 2 +- spk/plexpy-custom/src/service-setup.sh | 4 ++-- spk/plexpy-custom/src/wizard/install_uifile | 2 +- spk/plexpy-custom/src/wizard/install_uifile_fre | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/spk/plexpy-custom/Makefile b/spk/plexpy-custom/Makefile index 8ccc1111a1f..89d8c256ce5 100644 --- a/spk/plexpy-custom/Makefile +++ b/spk/plexpy-custom/Makefile @@ -10,7 +10,7 @@ MAINTAINER = cytec DESCRIPTION = PlexPy Custom allows you to run the fork of your choice of PlexPy. You will be asked for the fork\'s git URL during install. DESCRIPTION_FRE = PlexPy Custom vous permet d\'exécuter la variante de PlexPy votre choix. Il vous sera demandé l\'URL git de la variante à l\'installation. DISPLAY_NAME = PlexPy Custom -CHANGELOG = "Migrate to Python3.11" +CHANGELOG = "1. Migrate to Python 3.11
2. Change download URL to use https" HOMEPAGE = https://tautulli.com LICENSE = GPL diff --git a/spk/plexpy-custom/src/service-setup.sh b/spk/plexpy-custom/src/service-setup.sh index f4524c96f0f..550442fbc22 100644 --- a/spk/plexpy-custom/src/service-setup.sh +++ b/spk/plexpy-custom/src/service-setup.sh @@ -17,7 +17,7 @@ LEGACY_GROUP="sc-media" validate_preinst () { # Check fork - if [ "${SYNOPKG_PKG_STATUS}" == "INSTALL" ] && ! ${GIT} ls-remote --heads --exit-code ${wizard_fork_url:=git://github.com/Tautulli/Tautulli.git} ${wizard_fork_branch:=master} > /dev/null 2>&1; then + if [ "${SYNOPKG_PKG_STATUS}" == "INSTALL" ] && ! ${GIT} ls-remote --heads --exit-code ${wizard_fork_url:=https://github.com/Tautulli/Tautulli.git} ${wizard_fork_branch:=master} > /dev/null 2>&1; then echo "Incorrect fork" exit 1 fi @@ -30,7 +30,7 @@ service_postinst () if [ "${SYNOPKG_PKG_STATUS}" == "INSTALL" ]; then # Clone the repository - ${GIT} clone -q -b ${wizard_fork_branch:=master} ${wizard_fork_url:=git://github.com/Tautulli/Tautulli.git} ${SYNOPKG_PKGVAR}/plexpy + ${GIT} clone -q -b ${wizard_fork_branch:=master} ${wizard_fork_url:=https://github.com/Tautulli/Tautulli.git} ${SYNOPKG_PKGVAR}/plexpy fi } diff --git a/spk/plexpy-custom/src/wizard/install_uifile b/spk/plexpy-custom/src/wizard/install_uifile index 44c8f93d7b1..392bcfd494c 100644 --- a/spk/plexpy-custom/src/wizard/install_uifile +++ b/spk/plexpy-custom/src/wizard/install_uifile @@ -6,7 +6,7 @@ "subitems": [{ "key": "wizard_fork_url", "desc": "Fork URL", - "defaultValue": "git://github.com/Tautulli/Tautulli.git", + "defaultValue": "https://github.com/Tautulli/Tautulli.git", "validator": { "allowBlank": false } diff --git a/spk/plexpy-custom/src/wizard/install_uifile_fre b/spk/plexpy-custom/src/wizard/install_uifile_fre index 929edf1cab2..232a50f2f40 100644 --- a/spk/plexpy-custom/src/wizard/install_uifile_fre +++ b/spk/plexpy-custom/src/wizard/install_uifile_fre @@ -6,7 +6,7 @@ "subitems": [{ "key": "wizard_fork_url", "desc": "Adresse du dépôt Git", - "defaultValue": "git://github.com/Tautulli/Tautulli.git", + "defaultValue": "https://github.com/Tautulli/Tautulli.git", "validator": { "allowBlank": false } From 3cfacdac7e5042794d30bd673da318391a938f54 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 25 Jul 2023 01:00:36 +0000 Subject: [PATCH 30/86] sickchill: Adjust py310 to py311 typos & cryptography dependencies --- spk/sickchill/Makefile | 2 +- spk/sickchill/src/requirements-crossenv.txt | 2 +- spk/sickchill/src/requirements-pure.txt | 30 ++++++++++----------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/spk/sickchill/Makefile b/spk/sickchill/Makefile index bbc2f5d973c..b3f75296dd4 100644 --- a/spk/sickchill/Makefile +++ b/spk/sickchill/Makefile @@ -35,7 +35,7 @@ MAINTAINER = miigotu DESCRIPTION = Automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic. STARTABLE = yes DISPLAY_NAME = SickChill -CHANGELOG = "A wheel based install, git installs are not supported by upstream.
Python update to 3.11
Deprecated ARMv5 (88f628x) as no compiler support for updated dependencies." +CHANGELOG = "1. A wheel based install, git installs are not supported by upstream.
2. Python update to 3.11
3. Deprecated ARMv5 (88f628x) as no compiler support for updated dependencies
4. Migrate to OpenSSL 3.1.1" HOMEPAGE = https://sickchill.github.io/ LICENSE = GPLv3+ diff --git a/spk/sickchill/src/requirements-crossenv.txt b/spk/sickchill/src/requirements-crossenv.txt index bffde404454..a8acdb27ac1 100644 --- a/spk/sickchill/src/requirements-crossenv.txt +++ b/spk/sickchill/src/requirements-crossenv.txt @@ -1,5 +1,5 @@ cffi==1.15.1 -#cryptography==40.0.2 ==> cross/cryptography +# cryptography ==> cross/cryptography greenlet==2.0.2 lxml==4.9.2 MarkupSafe==2.1.2 diff --git a/spk/sickchill/src/requirements-pure.txt b/spk/sickchill/src/requirements-pure.txt index dd65839c95f..09b2f03ad2c 100644 --- a/spk/sickchill/src/requirements-pure.txt +++ b/spk/sickchill/src/requirements-pure.txt @@ -8,14 +8,14 @@ beekeeper-alt==2022.9.3 bencode.py==4.0.0 CacheControl==0.12.11 cacheyou==23.2 -# certifi==2022.12.7 ==> python 3.10 -# cffi==1.15.1 ==> crossenv +# certifi ==> python 3.11 +# cffi ==> crossenv chardet==5.1.0 charset-normalizer==3.1.0 cinemagoer==2022.12.27 click==8.1.3 configobj==5.0.8 -# cryptography==40.0.2 ==> cross/cryptography +# cryptography ==> cross/cryptography decorator==5.1.1 deluge-client==1.9.0 Deprecated==1.2.13 @@ -24,7 +24,7 @@ enzyme==0.4.1 Flask==2.2.3 future==0.18.3 gntp==1.0.3 -# greenlet==2.0.2 ==> crossenv +# greenlet ==> crossenv guessit==3.7.1 idna==3.4 ifaddr==0.2.0 @@ -33,12 +33,12 @@ IMDbPY==2022.7.9 ipaddress==1.0.23 jsonrpclib-pelix==0.4.3.2 kodipydent-alt==2022.9.3 -# lxml==4.9.2 ==> crossenv +# lxml ==> crossenv Mako==1.2.4 markdown2==2.4.8 -# MarkupSafe==2.1.2 ==> crossenv +# MarkupSafe ==> crossenv mock==5.0.1 -# msgpack==1.0.5 ==> crossenv +# msgpack ==> crossenv new-rtorrent-python==1.0.1a0 oauthlib==3.2.2 packaging==23.0 @@ -50,9 +50,9 @@ pycparser==2.21 PyGithub==1.58.1 PyJWT==2.6.0 pymediainfo==6.0.1 -# PyNaCl==1.5.0 ==> crossenv +# PyNaCl ==> crossenv PyNMA==1.0 -pyOpenSSL==23.1.1 +pyOpenSSL==23.2.0 pyparsing==3.0.9 pysrt==1.1.2 pytest==7.2.2 @@ -67,22 +67,22 @@ rebulk==3.2.0 requests==2.28.2 requests-oauthlib==1.3.1 Send2Trash==1.8.0 -# setuptool==67.7.2 ==> python 3.10 -#six==1.16.0 ==> python 3.10 +# setuptool ==> python 3.11 +# six ==> python 3.11 soupsieve==2.4 -# SQLAlchemy==2.0.7 ==> crossenv +# SQLAlchemy ==> crossenv stevedore==5.0.0 subliminal==2.1.0 text-unidecode==1.3 timeago==1.0.16 tmdbsimple==2.9.1 -# tornado==6.2 ==> crossenv +# tornado ==> crossenv tus.py==1.3.4 tvdbsimple==1.0.6 Unidecode==1.3.6 urllib3==1.26.15 validators==0.20.0 -# virtualenv==20.23.0 ==> python 3.10 +# virtualenv ==> python 3.11 win-inet-pton==1.1.0 -# wrapt==1.15.0 ==> crossenv +# wrapt ==> crossenv xmltodict==0.13.0 From 65fcd1e2eb2777493f909f32c0df5212057d7ab6 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 25 Jul 2023 01:08:15 +0000 Subject: [PATCH 31/86] libtorrent-rakshasa: Migrate to using openssl 3.1.1 --- cross/libtorrent-rakshasa/Makefile | 2 +- spk/rutorrent/Makefile | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cross/libtorrent-rakshasa/Makefile b/cross/libtorrent-rakshasa/Makefile index 6c2e368755c..de09c8a30f9 100644 --- a/cross/libtorrent-rakshasa/Makefile +++ b/cross/libtorrent-rakshasa/Makefile @@ -6,7 +6,7 @@ PKG_DIST_SITE = https://github.com/rakshasa/libtorrent/archive PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIR = $(PKG_NAME)-$(PKG_VERS) -DEPENDS = cross/cppunit cross/openssl cross/libsigc++ cross/zlib +DEPENDS = cross/cppunit cross/openssl3 cross/libsigc++ cross/zlib HOMEPAGE = https://rakshasa.github.io COMMENT = LibTorrent is a BitTorrent library written in C++ for *nix, with a focus on high performance and good code. diff --git a/spk/rutorrent/Makefile b/spk/rutorrent/Makefile index 3a351ce17f1..9923ed04214 100644 --- a/spk/rutorrent/Makefile +++ b/spk/rutorrent/Makefile @@ -1,6 +1,6 @@ SPK_NAME = rutorrent SPK_VERS = 4.1.5 -SPK_REV = 15 +SPK_REV = 16 SPK_ICON = src/rutorrent.png DSM_UI_DIR = app @@ -27,7 +27,7 @@ DESCRIPTION = ruTorrent is a front-end for the popular Bittorrent client rTorren ADMIN_URL = /rutorrent/ STARTABLE = yes DISPLAY_NAME = ruTorrent -CHANGELOG = "
  1. Upgrade rutorrent to 4.1.5
  2. Update to Python 3.11
  3. Update to PHP 7.4
  4. Remove tools from procps-ng
  5. Fix support of DSM 7.
  6. Fix torrent creation wizard (\#5288)
  7. Add service port declarations
" +CHANGELOG = "
  1. Upgrade rutorrent to 4.1.5
  2. Update to Python 3.11
  3. Update to PHP 7.4
  4. Remove tools from procps-ng
  5. Fix support of DSM 7.
  6. Fix torrent creation wizard (\#5288)
  7. Add service port declarations
  8. Migrate to OpenSSL 3.1.1
" HOMEPAGE = https://github.com/Novik/ruTorrent LICENSE = GPLv3 From b52701bdd4986e8fe47f233818e3929b633a6792 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 25 Jul 2023 11:31:24 +0000 Subject: [PATCH 32/86] salt-master: Update to 3006.1 and prototype python libs reuse --- mk/spksrc.python.mk | 49 +++++++++++ spk/salt-master/Makefile | 31 ++++--- spk/salt-master/src/requirements-crossenv.txt | 26 +++--- spk/salt-master/src/requirements-pure.txt | 82 +++++++++++++------ 4 files changed, 139 insertions(+), 49 deletions(-) create mode 100644 mk/spksrc.python.mk diff --git a/mk/spksrc.python.mk b/mk/spksrc.python.mk new file mode 100644 index 00000000000..6453eb920cb --- /dev/null +++ b/mk/spksrc.python.mk @@ -0,0 +1,49 @@ +### +### Reuse Python libraries +### + +# Default python version to use +ifeq ($(strip $(PYTHON_VERSION)),) +export PYTHON_VERSION = 311 +endif + +# set default spk/python* path to use +export PYTHON_DIR = $(realpath $(shell pwd)/../python$(PYTHON_VERSION)/work-$(ARCH)-$(TCVERSION)/install/var/packages/python$(PYTHON_VERSION)/target) + +# always define SPK_DEPENDS +SPK_DEPENDS := "python$(PYTHON_VERSION)>=$(shell sed -n 's/^SPK_VERS = \(.*\)/\1/p' $(shell pwd)/../python$(PYTHON_VERSION)/Makefile)-$(shell sed -n 's/^SPK_REV = \(.*\)/\1/p' $(shell pwd)/../python$(PYTHON_VERSION)/Makefile)" + +ifneq ($(wildcard $(PYTHON_DIR)),) +export ADDITIONAL_LDFLAGS = -Wl,--rpath-link,$(PYTHON_DIR)/lib -Wl,--rpath,/var/packages/python$(PYHTON_VERSION)/target/lib +PRE_DEPEND_TARGET = python_pre_depend +else +BUILD_DEPENDS += cross/python311 +endif + +# minimal set of libraries to use +PYTHON_LIBS = expat.pc +PYTHON_LIBS += formw.pc +PYTHON_LIBS += history.pc +PYTHON_LIBS += libcrypto.pc +PYTHON_LIBS += libffi.pc +PYTHON_LIBS += liblzma.pc +PYTHON_LIBS += libssl.pc +PYTHON_LIBS += menuw.pc +PYTHON_LIBS += ncurses++w.pc +PYTHON_LIBS += ncursesw.pc +PYTHON_LIBS += openssl.pc +PYTHON_LIBS += panelw.pc +PYTHON_LIBS += python-3.11-embed.pc +PYTHON_LIBS += python-3.11.pc +PYTHON_LIBS += python3-embed.pc +PYTHON_LIBS += python3.pc +PYTHON_LIBS += readline.pc +PYTHON_LIBS += sqlite3.pc +PYTHON_LIBS += uuid.pc +PYTHON_LIBS += zlib.pc + +.PHONY: python_pre_depend +python_pre_depend: + @mkdir -p $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/ + @$(foreach lib,$(PYTHON_LIBS),ln -sf $(PYTHON_DIR)/lib/pkgconfig/$(lib) $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/ ;) + @ln -sf $(realpath $(shell pwd)/../python$(PYTHON_VERSION)/work-$(ARCH)-$(TCVERSION)/crossenv) $(STAGING_INSTALL_PREFIX)/crossenv diff --git a/spk/salt-master/Makefile b/spk/salt-master/Makefile index cc41d4736a2..2bc1383d58a 100644 --- a/spk/salt-master/Makefile +++ b/spk/salt-master/Makefile @@ -1,27 +1,19 @@ SPK_NAME = salt-master -SPK_VERS = 3004 +SPK_VERS = 3006.1 SPK_REV = 12 SPK_ICON = src/salt-master.png -BUILD_DEPENDS = cross/python311 -SPK_DEPENDS = "python311>=3.11.4-7" # TODO: Enable as website to provide salt-master status DEPENDS = cross/saltgui UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) -# Requirements file generation -# /usr/local/python3/bin/python3 -mvirtualenv --python=python3 salt-env -# virtualenv --python=python3 salt-env -# source salt-env/bin/activate -# pip install salt -# pip freeze > requirements.txt WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt MAINTAINER = SynoCommunity DESCRIPTION = Salt, a new approach to infrastructure management, is easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with those servers in seconds. DISPLAY_NAME = Salt Master -CHANGELOG = "1. Update to 3004
2. Migrate to Python 3.11" +CHANGELOG = "1. Update to 3006.1
2. Migrate to Python 3.11
3. Migrate to OpenSSL 3.1.1" HOMEPAGE = https://repo.saltproject.io/ LICENSE = Apache v2 @@ -46,8 +38,27 @@ SPK_USR_LOCAL_LINKS += bin:env/bin/salt-ssh USE_ALTERNATE_TMPDIR = 1 +# [PyYAML] +DEPENDS += cross/libyaml + +# [cryptography] +DEPENDS += cross/cryptography + +# [pydantic_core] +# Requires path to maturin from crossenv +ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) + +include ../../mk/spksrc.python.mk + include ../../mk/spksrc.spk.mk +# [pycryptodomex] +ifeq ($(call version_ge, $(TC_GCC), 4.9),1) +WHEELS_CFLAGS += [pycryptodomex] -std=c11 +else +WHEELS_CFLAGS += [pycryptodomex] -std=c99 +endif + .PHONY: salt-master_extra_install salt-master_extra_install: install -m 644 src/rsax931.py.patch $(STAGING_DIR)/share diff --git a/spk/salt-master/src/requirements-crossenv.txt b/spk/salt-master/src/requirements-crossenv.txt index 0abb6fe8457..e543d37cc51 100644 --- a/spk/salt-master/src/requirements-crossenv.txt +++ b/spk/salt-master/src/requirements-crossenv.txt @@ -1,12 +1,14 @@ -# https://github.com/saltstack/salt/blob/master/requirements/static/pkg/py3.10/linux.txt -cffi==1.14.6 -cryptography==3.3.2 -immutables==0.15 -MarkupSafe==1.1.1 -msgpack==1.0.2 -psutil==5.8.0 -pycryptodomex==3.9.8 -PyYAML==5.4.1 -pyzmq==20.0.0 -setproctitle==1.2.2 -timelib==0.2.5 +# https://github.com/saltstack/salt/blob/master/requirements/static/pkg/py3.11/linux.txt +cffi==1.15.1 +charset-normalizer==3.2.0 +#cryptography ==> cross/cryptography +immutables==0.19 +MarkupSafe==2.1.3 +msgpack==1.0.5 +psutil==5.9.5 +pycryptodomex==3.18.0 +pydantic_core==2.3.0 +PyYAML==6.0.1 +pyzmq==25.0.2 +setproctitle==1.3.2 +timelib==0.3.0 diff --git a/spk/salt-master/src/requirements-pure.txt b/spk/salt-master/src/requirements-pure.txt index fa80c9ddf92..46dfb1d3ee2 100644 --- a/spk/salt-master/src/requirements-pure.txt +++ b/spk/salt-master/src/requirements-pure.txt @@ -1,32 +1,60 @@ -# https://github.com/saltstack/salt/blob/master/requirements/static/pkg/py3.10/linux.txt -#certifi==2020.6.20 ==> python310 -chardet==3.0.4 -cheroot==8.5.2 -CherryPy==18.6.1 +# https://github.com/saltstack/salt/blob/master/requirements/static/pkg/py3.11/linux.txt + +salt==3006.1 + +annotated-types==0.5.0 +autocommand==2.2.2 +#certifi ==> python311 +#cffi ==> crossenv +chardet==5.1.0 +#charset-normalizer ==> crossenv +cheroot==10.0.0 +CherryPy==18.8.0 contextvars==2.4 -distro==1.5.0 -idna==2.10 -importlib-metadata==4.8.3 -jaraco.classes==3.2.1 -jaraco.collections==3.4.0 -jaraco.functools==2.0 -jaraco.text==3.5.1 -Jinja2==2.11.3 -more-itertools==5.0.0 -portend==2.4 -pycparser==2.17 -pyOpenSSL==19.1.0 -python-dateutil==2.8.1 -python-gnupg==0.4.4 -pytz==2021.1 -requests==2.25.1 +cryptography==41.0.2 +distlib==0.3.6 +distro==1.8.0 +filelock==3.12.2 +idna==3.4 +#immutables ==> crossenv +importlib-metadata==6.8.0 +inflect==7.0.0 +jaraco.classes==3.3.0 +jaraco.collections==4.3.0 +jaraco.context==4.3.0 +jaraco.functools==3.8.0 +jaraco.text==3.11.1 +Jinja2==3.1.2 +jmespath==1.0.1 +looseversion==1.3.0 +#MarkupSafe ==> crossenv +more-itertools==10.0.0 +#msgpack ==> crossenv +packaging==23.1 +platformdirs==3.8.0 +portend==3.2.0 +#psutil ==> crossenv +pycparser==2.21 +#pycryptodomex ==> crossenv +pydantic==2.0.3 +#pydantic_core ==> crossenv +pyOpenSSL==23.2.0 +python-dateutil==2.8.2 +python-gnupg==0.5.1 +pytz==2023.3 +#PyYAML ==> crossenv +#pyzmq ==> crossenv +requests==2.31.0 rpm-vercmp==0.1.2 -salt==3004 -six==1.16.0 -tempora==4.1.1 -urllib3==1.26.6 -zc.lockfile==1.4 -zipp==3.5.0 +#setproctitle ==> crossenv +#six ==> python311 +tempora==5.5.0 +#timelib ==> crossenv +typing_extensions==4.7.1 +urllib3==2.0.4 +virtualenv==20.23.1 +zc.lockfile==3.0.post1 +zipp==3.16.2 # To allow patching rsax931.py during service setup patch==1.16 From 67de0e8be486af3f9b127e177a4b3d3a6cdad7e2 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 25 Jul 2023 12:12:14 +0000 Subject: [PATCH 33/86] re-use python libraries - got it close to working --- mk/spksrc.python-module.mk | 3 ++- mk/spksrc.python.mk | 15 ++++++++++----- spk/salt-master/Makefile | 2 -- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/mk/spksrc.python-module.mk b/mk/spksrc.python-module.mk index 97f60b9a1c0..5881f02113d 100644 --- a/mk/spksrc.python-module.mk +++ b/mk/spksrc.python-module.mk @@ -20,8 +20,9 @@ include ../../mk/spksrc.cross-cc.mk -include $(WORK_DIR)/python-cc.mk # Python module variables +ifneq ($(wildcard $(PYTHONPATH)),) PYTHONPATH = $(PYTHON_SITE_PACKAGES_NATIVE):$(PYTHON_LIB_NATIVE):$(INSTALL_DIR)$(INSTALL_PREFIX)/$(PYTHON_LIB_DIR)/site-packages/ - +endif ### Python module rules compile_python_module: diff --git a/mk/spksrc.python.mk b/mk/spksrc.python.mk index 6453eb920cb..67978122bac 100644 --- a/mk/spksrc.python.mk +++ b/mk/spksrc.python.mk @@ -10,6 +10,9 @@ endif # set default spk/python* path to use export PYTHON_DIR = $(realpath $(shell pwd)/../python$(PYTHON_VERSION)/work-$(ARCH)-$(TCVERSION)/install/var/packages/python$(PYTHON_VERSION)/target) +# set PYTHONPATH for spksrc.python-module.mk +PYTHONPATH = $(PYTHON_SITE_PACKAGES_NATIVE):$(PYTHON_LIB_NATIVE):$(PYTHON_DIR)/lib/python$(shell echo $${PYTHON_VERSION%??}).$(shell echo $${PYTHON_VERSION#?})/site-packages/ + # always define SPK_DEPENDS SPK_DEPENDS := "python$(PYTHON_VERSION)>=$(shell sed -n 's/^SPK_VERS = \(.*\)/\1/p' $(shell pwd)/../python$(PYTHON_VERSION)/Makefile)-$(shell sed -n 's/^SPK_REV = \(.*\)/\1/p' $(shell pwd)/../python$(PYTHON_VERSION)/Makefile)" @@ -17,7 +20,7 @@ ifneq ($(wildcard $(PYTHON_DIR)),) export ADDITIONAL_LDFLAGS = -Wl,--rpath-link,$(PYTHON_DIR)/lib -Wl,--rpath,/var/packages/python$(PYHTON_VERSION)/target/lib PRE_DEPEND_TARGET = python_pre_depend else -BUILD_DEPENDS += cross/python311 +BUILD_DEPENDS += cross/python$(PYTHON_VERSION) endif # minimal set of libraries to use @@ -33,15 +36,17 @@ PYTHON_LIBS += ncurses++w.pc PYTHON_LIBS += ncursesw.pc PYTHON_LIBS += openssl.pc PYTHON_LIBS += panelw.pc -PYTHON_LIBS += python-3.11-embed.pc -PYTHON_LIBS += python-3.11.pc -PYTHON_LIBS += python3-embed.pc -PYTHON_LIBS += python3.pc +PYTHON_LIBS += python-$(shell echo $${PYTHON_VERSION%??}).$(shell echo $${PYTHON_VERSION#?})-embed.pc +PYTHON_LIBS += python-$(shell echo $${PYTHON_VERSION%??}).$(shell echo $${PYTHON_VERSION#?}).pc +PYTHON_LIBS += python$(shell echo $${PYTHON_VERSION%??})-embed.pc +PYTHON_LIBS += python$(shell echo $${PYTHON_VERSION%??}).pc PYTHON_LIBS += readline.pc PYTHON_LIBS += sqlite3.pc PYTHON_LIBS += uuid.pc PYTHON_LIBS += zlib.pc +include ../../mk/spksrc.spk.mk + .PHONY: python_pre_depend python_pre_depend: @mkdir -p $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/ diff --git a/spk/salt-master/Makefile b/spk/salt-master/Makefile index 2bc1383d58a..d32b1de5383 100644 --- a/spk/salt-master/Makefile +++ b/spk/salt-master/Makefile @@ -50,8 +50,6 @@ ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) include ../../mk/spksrc.python.mk -include ../../mk/spksrc.spk.mk - # [pycryptodomex] ifeq ($(call version_ge, $(TC_GCC), 4.9),1) WHEELS_CFLAGS += [pycryptodomex] -std=c11 From 0f715859a851195d1e9e78177e1ed7412f569fd4 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Tue, 25 Jul 2023 20:43:44 +0200 Subject: [PATCH 34/86] fix spksrc.python.mk - add Makefile variable PYTHON_PACKAGE to define the python package to reuse as dependency - take python variables from python-cc.mk - link python-cc.mk into package folder used by build_wheel_target in spksrc.wheel.mk --- mk/spksrc.python.mk | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/mk/spksrc.python.mk b/mk/spksrc.python.mk index 67978122bac..a7dd687e9f9 100644 --- a/mk/spksrc.python.mk +++ b/mk/spksrc.python.mk @@ -1,26 +1,25 @@ ### ### Reuse Python libraries ### +# Variables: +# PYTHON_PACKAGE Must be set to the python spk folder (python310, python311, ...) -# Default python version to use -ifeq ($(strip $(PYTHON_VERSION)),) -export PYTHON_VERSION = 311 -endif # set default spk/python* path to use -export PYTHON_DIR = $(realpath $(shell pwd)/../python$(PYTHON_VERSION)/work-$(ARCH)-$(TCVERSION)/install/var/packages/python$(PYTHON_VERSION)/target) +PYTHON_PACKAGE_ROOT = $(realpath $(shell pwd)/../$(PYTHON_PACKAGE)/work-$(ARCH)-$(TCVERSION)) +export PYTHON_DIR = $(realpath $(PYTHON_PACKAGE_ROOT)/install/var/packages/$(PYTHON_PACKAGE)/target) -# set PYTHONPATH for spksrc.python-module.mk -PYTHONPATH = $(PYTHON_SITE_PACKAGES_NATIVE):$(PYTHON_LIB_NATIVE):$(PYTHON_DIR)/lib/python$(shell echo $${PYTHON_VERSION%??}).$(shell echo $${PYTHON_VERSION#?})/site-packages/ +# get PYTHON_VERSION and other variables +-include $(PYTHON_PACKAGE_ROOT)/python-cc.mk -# always define SPK_DEPENDS -SPK_DEPENDS := "python$(PYTHON_VERSION)>=$(shell sed -n 's/^SPK_VERS = \(.*\)/\1/p' $(shell pwd)/../python$(PYTHON_VERSION)/Makefile)-$(shell sed -n 's/^SPK_REV = \(.*\)/\1/p' $(shell pwd)/../python$(PYTHON_VERSION)/Makefile)" +# set PYTHONPATH for spksrc.python-module.mk +PYTHONPATH = $(PYTHON_SITE_PACKAGES_NATIVE):$(PYTHON_LIB_NATIVE):$(PYTHON_DIR)/lib/python$(PYTHON_VERSION)/site-packages/ ifneq ($(wildcard $(PYTHON_DIR)),) -export ADDITIONAL_LDFLAGS = -Wl,--rpath-link,$(PYTHON_DIR)/lib -Wl,--rpath,/var/packages/python$(PYHTON_VERSION)/target/lib +export ADDITIONAL_LDFLAGS = -Wl,--rpath-link,$(PYTHON_DIR)/lib -Wl,--rpath,/var/packages/$(PYTHON_PACKAGE)/target/lib PRE_DEPEND_TARGET = python_pre_depend else -BUILD_DEPENDS += cross/python$(PYTHON_VERSION) +BUILD_DEPENDS += cross/$(PYTHON_PACKAGE) endif # minimal set of libraries to use @@ -36,8 +35,8 @@ PYTHON_LIBS += ncurses++w.pc PYTHON_LIBS += ncursesw.pc PYTHON_LIBS += openssl.pc PYTHON_LIBS += panelw.pc -PYTHON_LIBS += python-$(shell echo $${PYTHON_VERSION%??}).$(shell echo $${PYTHON_VERSION#?})-embed.pc -PYTHON_LIBS += python-$(shell echo $${PYTHON_VERSION%??}).$(shell echo $${PYTHON_VERSION#?}).pc +PYTHON_LIBS += python-$(PYTHON_VERSION)-embed.pc +PYTHON_LIBS += python-$(PYTHON_VERSION).pc PYTHON_LIBS += python$(shell echo $${PYTHON_VERSION%??})-embed.pc PYTHON_LIBS += python$(shell echo $${PYTHON_VERSION%??}).pc PYTHON_LIBS += readline.pc @@ -49,6 +48,8 @@ include ../../mk/spksrc.spk.mk .PHONY: python_pre_depend python_pre_depend: + @$(MSG) Use existing python in $(PYTHON_PACKAGE_ROOT) @mkdir -p $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/ @$(foreach lib,$(PYTHON_LIBS),ln -sf $(PYTHON_DIR)/lib/pkgconfig/$(lib) $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/ ;) - @ln -sf $(realpath $(shell pwd)/../python$(PYTHON_VERSION)/work-$(ARCH)-$(TCVERSION)/crossenv) $(STAGING_INSTALL_PREFIX)/crossenv + @ln -sf $(PYTHON_PACKAGE_ROOT)/crossenv $(STAGING_INSTALL_PREFIX)/crossenv + @ln -sf $(PYTHON_PACKAGE_ROOT)/python-cc.mk $(WORK_DIR)/python-cc.mk From ac9d09537059bb4077538a21220ca5301a85ef0f Mon Sep 17 00:00:00 2001 From: hgy59 Date: Tue, 25 Jul 2023 21:10:35 +0200 Subject: [PATCH 35/86] github actions: build first and keep python packages --- .github/actions/build.sh | 2 +- .github/actions/prepare.sh | 20 ++++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/.github/actions/build.sh b/.github/actions/build.sh index 8b764ffe46e..0c6e3082062 100755 --- a/.github/actions/build.sh +++ b/.github/actions/build.sh @@ -59,7 +59,7 @@ if [ -n "$API_KEY" ] && [ "$PUBLISH" == "true" ]; then fi # Build -PACKAGES_TO_KEEP="ffmpeg4 ffmpeg5 ffmpeg6" +PACKAGES_TO_KEEP="ffmpeg4 ffmpeg5 ffmpeg6 python310 python311" for package in ${build_packages} do echo "::group:: ---- build ${package}" diff --git a/.github/actions/prepare.sh b/.github/actions/prepare.sh index f950a1cdcbd..3cbd14ad801 100755 --- a/.github/actions/prepare.sh +++ b/.github/actions/prepare.sh @@ -6,7 +6,7 @@ # # Functions: # - Evaluate all packages to build depending on files defined in ${GH_FILES}. -# - ffmpeg (spk/ffmpeg4), ffmpeg5 and ffmpeg6 are moved to head of packages to built first if triggered by its own or a dependent. +# - python310, python311, ffmpeg (spk/ffmpeg4), ffmpeg5 and ffmpeg6 are moved to head of packages to build first if triggered by its own or a dependent. # - Referenced native and cross packages of the packages to build are added to the download list. set -o pipefail @@ -56,7 +56,7 @@ fi # remove duplicate packages packages=$(printf %s "${SPK_TO_BUILD}" | tr ' ' '\n' | sort -u | tr '\n' ' ') -# for ffmpeg v4-6 find all packages that depends on them +# for ffmpeg v4-6 find all packages that depend on them for i in {4..6}; do ffmpeg_dependent_packages=$(find spk/ -maxdepth 2 -mindepth 2 -name "Makefile" -exec grep -Ho "FFMPEG_VERSION = ${i}" {} \; | grep -Po ".*spk/\K[^/]*" | sort | tr '\n' ' ') @@ -72,6 +72,22 @@ for i in {4..6}; do done done +# for python (310, 311) find all packages that depend on them +for py in "python310 python311"; do + python_dependent_packages=$(find spk/ -maxdepth 2 -mindepth 2 -name "Makefile" -exec grep -Ho "PYTHON_PACKAGE = ${py}" {} \; | grep -Po ".*spk/\K[^/]*" | sort | tr '\n' ' ') + + # If packages contain a package that depends on python (or is python), then ensure + # relevant python spk is first in list + for package in ${packages} + do + if [ "$(echo ${py} ${python_dependent_packages} | grep -ow ${package})" != "" ]; then + packages_without_python=$(echo "${packages}" | tr ' ' '\n' | grep -v "${py}" | tr '\n' ' ') + packages="${py} ${packages_without_python}" + break + fi + done +done + # find all noarch packages all_noarch=$(find spk/ -maxdepth 2 -mindepth 2 -name "Makefile" -exec grep -Ho "override ARCH" {} \; | grep -Po ".*spk/\K[^/]*" | sort | tr '\n' ' ') From 72bfa7f897e873926911c4989347b666c5c225cc Mon Sep 17 00:00:00 2001 From: hgy59 Date: Tue, 25 Jul 2023 21:12:25 +0200 Subject: [PATCH 36/86] octoprint: use spksrc.python.mk to reuse prebuilt python311 --- spk/octoprint/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spk/octoprint/Makefile b/spk/octoprint/Makefile index faa1c96c59c..69eedde6812 100644 --- a/spk/octoprint/Makefile +++ b/spk/octoprint/Makefile @@ -4,14 +4,14 @@ SPK_REV = 11 SPK_ICON = src/octoprint.png DSM_UI_DIR = app -BUILD_DEPENDS = cross/python311 +PYTHON_PACKAGE = python311 # Required for PyYAML DEPENDS += cross/libyaml WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt -SPK_DEPENDS = "python311>=3.11.4-7" +SPK_DEPENDS = "$(PYTHON_PACKAGE)>=3.11.4-7" MAINTAINER = SynoCommunity DESCRIPTION = The snappy web interface for your 3D printer. @@ -36,7 +36,7 @@ USE_ALTERNATE_TMPDIR = 1 # [frozendict] WHEELS_CFLAGS = [frozendict] --std=c99 -include ../../mk/spksrc.spk.mk +include ../../mk/spksrc.python.mk .PHONY: octoprint_extra_install octoprint_extra_install: From a293489275494ecbf5de6cb79f12a814999ba6cb Mon Sep 17 00:00:00 2001 From: hgy59 Date: Tue, 25 Jul 2023 21:16:13 +0200 Subject: [PATCH 37/86] salt-master: define PYTHON_PACKAGE to reuse prebuilt python311 --- spk/salt-master/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spk/salt-master/Makefile b/spk/salt-master/Makefile index d32b1de5383..243440c93dc 100644 --- a/spk/salt-master/Makefile +++ b/spk/salt-master/Makefile @@ -3,6 +3,10 @@ SPK_VERS = 3006.1 SPK_REV = 12 SPK_ICON = src/salt-master.png +PYTHON_PACKAGE = python311 + +SPK_DEPENDS = "$(PYTHON_PACKAGE)>=3.11.4-7" + # TODO: Enable as website to provide salt-master status DEPENDS = cross/saltgui From 1a28a7002fb838bb38f0b668f44ab41d3bc15a16 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Tue, 25 Jul 2023 21:51:09 +0200 Subject: [PATCH 38/86] github actions: fix handling of python dependent packages in prepare.sh --- .github/actions/prepare.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/prepare.sh b/.github/actions/prepare.sh index 3cbd14ad801..d9faf0da286 100755 --- a/.github/actions/prepare.sh +++ b/.github/actions/prepare.sh @@ -73,7 +73,7 @@ for i in {4..6}; do done # for python (310, 311) find all packages that depend on them -for py in "python310 python311"; do +for py in python310 python311; do python_dependent_packages=$(find spk/ -maxdepth 2 -mindepth 2 -name "Makefile" -exec grep -Ho "PYTHON_PACKAGE = ${py}" {} \; | grep -Po ".*spk/\K[^/]*" | sort | tr '\n' ' ') # If packages contain a package that depends on python (or is python), then ensure From 6e333e682a2d8a78239981bad8c2ca4aa66c4709 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Tue, 25 Jul 2023 22:22:11 +0200 Subject: [PATCH 39/86] mercurial: use spksrc.python.mk to reuse prebuilt python311 --- spk/mercurial/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spk/mercurial/Makefile b/spk/mercurial/Makefile index 0a4fe4b1a5e..cb14736bbd8 100644 --- a/spk/mercurial/Makefile +++ b/spk/mercurial/Makefile @@ -3,10 +3,10 @@ SPK_VERS = 6.5 SPK_REV = 9 SPK_ICON = src/mercurial.png -BUILD_DEPENDS = cross/python311 +PYTHON_PACKAGE = python311 WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt -SPK_DEPENDS = "python311>=3.11.4-7" +SPK_DEPENDS = "$(PYTHON_PACKAGE)>=3.11.4-7" MAINTAINER = SynoCommunity DESCRIPTION = Mercurial is a free, distributed source control management tool @@ -21,4 +21,4 @@ SERVICE_SETUP = src/service-setup.sh SPK_USR_LOCAL_LINKS = bin:env/bin/hg -include ../../mk/spksrc.spk.mk +include ../../mk/spksrc.python.mk From 81a9ec9094bb5534127cadb2a7ee5a3981e1d10c Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 25 Jul 2023 22:06:40 +0000 Subject: [PATCH 40/86] python.mk: Fix *.pc symlinks and crossenv path link --- mk/spksrc.python.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mk/spksrc.python.mk b/mk/spksrc.python.mk index a7dd687e9f9..d0e0c182833 100644 --- a/mk/spksrc.python.mk +++ b/mk/spksrc.python.mk @@ -37,8 +37,8 @@ PYTHON_LIBS += openssl.pc PYTHON_LIBS += panelw.pc PYTHON_LIBS += python-$(PYTHON_VERSION)-embed.pc PYTHON_LIBS += python-$(PYTHON_VERSION).pc -PYTHON_LIBS += python$(shell echo $${PYTHON_VERSION%??})-embed.pc -PYTHON_LIBS += python$(shell echo $${PYTHON_VERSION%??}).pc +PYTHON_LIBS += python$(shell echo $(PYTHON_VERSION) | cut -c1)-embed.pc +PYTHON_LIBS += python$(shell echo $(PYTHON_VERSION) | cut -c1).pc PYTHON_LIBS += readline.pc PYTHON_LIBS += sqlite3.pc PYTHON_LIBS += uuid.pc @@ -51,5 +51,5 @@ python_pre_depend: @$(MSG) Use existing python in $(PYTHON_PACKAGE_ROOT) @mkdir -p $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/ @$(foreach lib,$(PYTHON_LIBS),ln -sf $(PYTHON_DIR)/lib/pkgconfig/$(lib) $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/ ;) - @ln -sf $(PYTHON_PACKAGE_ROOT)/crossenv $(STAGING_INSTALL_PREFIX)/crossenv + @ln -sf $(PYTHON_PACKAGE_ROOT)/crossenv $(WORK_DIR)/crossenv @ln -sf $(PYTHON_PACKAGE_ROOT)/python-cc.mk $(WORK_DIR)/python-cc.mk From abebd70bee91ccba10c55d41cd8730cc59cca71e Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 25 Jul 2023 22:07:31 +0000 Subject: [PATCH 41/86] python.mk: Create status symlinks for a subset of key dependencies --- mk/spksrc.python.mk | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mk/spksrc.python.mk b/mk/spksrc.python.mk index d0e0c182833..e396960278e 100644 --- a/mk/spksrc.python.mk +++ b/mk/spksrc.python.mk @@ -44,12 +44,21 @@ PYTHON_LIBS += sqlite3.pc PYTHON_LIBS += uuid.pc PYTHON_LIBS += zlib.pc +PYTHON_BASE_DEPENDS := $(wildcard $(PYTHON_PACKAGE_ROOT)/.libffi-*_done $(PYTHON_PACKAGE_ROOT)/.openssl*_done $(PYTHON_PACKAGE_ROOT)/.$(PYTHON_PACKAGE)-*_done) + include ../../mk/spksrc.spk.mk .PHONY: python_pre_depend -python_pre_depend: +python_pre_depend: python_base_depend @$(MSG) Use existing python in $(PYTHON_PACKAGE_ROOT) @mkdir -p $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/ @$(foreach lib,$(PYTHON_LIBS),ln -sf $(PYTHON_DIR)/lib/pkgconfig/$(lib) $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/ ;) @ln -sf $(PYTHON_PACKAGE_ROOT)/crossenv $(WORK_DIR)/crossenv @ln -sf $(PYTHON_PACKAGE_ROOT)/python-cc.mk $(WORK_DIR)/python-cc.mk + +.PHONY: python_base_depend +python_base_depend: $(PYTHON_BASE_DEPENDS) + @for status_file in $(PYTHON_BASE_DEPENDS) ; \ + do \ + ln -sf $${status_file} $(WORK_DIR) ; \ + done From a93c20b88a377733632b278b4154357e6af83fd3 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 25 Jul 2023 23:49:25 +0000 Subject: [PATCH 42/86] python.mk: Optimize symlink info gathering to capture all --- mk/spksrc.python.mk | 39 +++++++-------------------------------- 1 file changed, 7 insertions(+), 32 deletions(-) diff --git a/mk/spksrc.python.mk b/mk/spksrc.python.mk index e396960278e..e0db1c1c4da 100644 --- a/mk/spksrc.python.mk +++ b/mk/spksrc.python.mk @@ -22,43 +22,18 @@ else BUILD_DEPENDS += cross/$(PYTHON_PACKAGE) endif -# minimal set of libraries to use -PYTHON_LIBS = expat.pc -PYTHON_LIBS += formw.pc -PYTHON_LIBS += history.pc -PYTHON_LIBS += libcrypto.pc -PYTHON_LIBS += libffi.pc -PYTHON_LIBS += liblzma.pc -PYTHON_LIBS += libssl.pc -PYTHON_LIBS += menuw.pc -PYTHON_LIBS += ncurses++w.pc -PYTHON_LIBS += ncursesw.pc -PYTHON_LIBS += openssl.pc -PYTHON_LIBS += panelw.pc -PYTHON_LIBS += python-$(PYTHON_VERSION)-embed.pc -PYTHON_LIBS += python-$(PYTHON_VERSION).pc -PYTHON_LIBS += python$(shell echo $(PYTHON_VERSION) | cut -c1)-embed.pc -PYTHON_LIBS += python$(shell echo $(PYTHON_VERSION) | cut -c1).pc -PYTHON_LIBS += readline.pc -PYTHON_LIBS += sqlite3.pc -PYTHON_LIBS += uuid.pc -PYTHON_LIBS += zlib.pc - -PYTHON_BASE_DEPENDS := $(wildcard $(PYTHON_PACKAGE_ROOT)/.libffi-*_done $(PYTHON_PACKAGE_ROOT)/.openssl*_done $(PYTHON_PACKAGE_ROOT)/.$(PYTHON_PACKAGE)-*_done) +# Re-use all default python mandatory libraries +PYTHON_LIBS := $(wildcard $(PYTHON_DIR)/lib/pkgconfig/*.pc) +# Re-use all python dependencies and mark as already done +PYTHON_DEPENDS := $(foreach cross,$(foreach pkg_name,$(shell $(MAKE) dependency-list -C $(realpath $(PYTHON_PACKAGE_ROOT)/../) 2>/dev/null | grep ^$(PYTHON_PACKAGE) | cut -f2 -d:),$(shell sed -n 's/^PKG_NAME = \(.*\)/\1/p' $(realpath $(shell pwd)/../../$(pkg_name)/Makefile))),$(wildcard $(PYTHON_PACKAGE_ROOT)/.$(cross)-*_done)) include ../../mk/spksrc.spk.mk .PHONY: python_pre_depend -python_pre_depend: python_base_depend +python_pre_depend: @$(MSG) Use existing python in $(PYTHON_PACKAGE_ROOT) @mkdir -p $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/ - @$(foreach lib,$(PYTHON_LIBS),ln -sf $(PYTHON_DIR)/lib/pkgconfig/$(lib) $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/ ;) + @$(foreach lib,$(PYTHON_LIBS),ln -sf $(lib) $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/ ;) @ln -sf $(PYTHON_PACKAGE_ROOT)/crossenv $(WORK_DIR)/crossenv @ln -sf $(PYTHON_PACKAGE_ROOT)/python-cc.mk $(WORK_DIR)/python-cc.mk - -.PHONY: python_base_depend -python_base_depend: $(PYTHON_BASE_DEPENDS) - @for status_file in $(PYTHON_BASE_DEPENDS) ; \ - do \ - ln -sf $${status_file} $(WORK_DIR) ; \ - done + @$(foreach _done,$(PYTHON_DEPENDS), ln -sf $(_done) $(WORK_DIR) ;) From cf4b20871aa6402ab24f44b723839d480560b2d6 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 26 Jul 2023 00:14:21 +0000 Subject: [PATCH 43/86] python.mk: Ensure zlib is always built locally --- mk/spksrc.python.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mk/spksrc.python.mk b/mk/spksrc.python.mk index e0db1c1c4da..f05c40c17fa 100644 --- a/mk/spksrc.python.mk +++ b/mk/spksrc.python.mk @@ -15,6 +15,8 @@ export PYTHON_DIR = $(realpath $(PYTHON_PACKAGE_ROOT)/install/var/packages/$(PYT # set PYTHONPATH for spksrc.python-module.mk PYTHONPATH = $(PYTHON_SITE_PACKAGES_NATIVE):$(PYTHON_LIB_NATIVE):$(PYTHON_DIR)/lib/python$(PYTHON_VERSION)/site-packages/ +# set ld flags to rewrite for the library path used to access +# libraries provided by the python package at destination ifneq ($(wildcard $(PYTHON_DIR)),) export ADDITIONAL_LDFLAGS = -Wl,--rpath-link,$(PYTHON_DIR)/lib -Wl,--rpath,/var/packages/$(PYTHON_PACKAGE)/target/lib PRE_DEPEND_TARGET = python_pre_depend @@ -24,6 +26,7 @@ endif # Re-use all default python mandatory libraries PYTHON_LIBS := $(wildcard $(PYTHON_DIR)/lib/pkgconfig/*.pc) + # Re-use all python dependencies and mark as already done PYTHON_DEPENDS := $(foreach cross,$(foreach pkg_name,$(shell $(MAKE) dependency-list -C $(realpath $(PYTHON_PACKAGE_ROOT)/../) 2>/dev/null | grep ^$(PYTHON_PACKAGE) | cut -f2 -d:),$(shell sed -n 's/^PKG_NAME = \(.*\)/\1/p' $(realpath $(shell pwd)/../../$(pkg_name)/Makefile))),$(wildcard $(PYTHON_PACKAGE_ROOT)/.$(cross)-*_done)) @@ -37,3 +40,5 @@ python_pre_depend: @ln -sf $(PYTHON_PACKAGE_ROOT)/crossenv $(WORK_DIR)/crossenv @ln -sf $(PYTHON_PACKAGE_ROOT)/python-cc.mk $(WORK_DIR)/python-cc.mk @$(foreach _done,$(PYTHON_DEPENDS), ln -sf $(_done) $(WORK_DIR) ;) + # Ensure zlib is always built locally + @rm -f $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/zlib.pc $(WORK_DIR)/.zlib* From b9c635645fd55a3706c6744eb53b02cf03bf1b0a Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 26 Jul 2023 00:15:31 +0000 Subject: [PATCH 44/86] bazarr: use spksrc.python.mk to reuse prebuilt python311 --- spk/bazarr/Makefile | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/spk/bazarr/Makefile b/spk/bazarr/Makefile index b2852e39f01..ab29eb65899 100644 --- a/spk/bazarr/Makefile +++ b/spk/bazarr/Makefile @@ -1,11 +1,13 @@ SPK_NAME = bazarr - SPK_VERS = 1.2.4 SPK_REV = 10 - SPK_ICON = src/bazarr.png -BUILD_DEPENDS = cross/python311 +PYTHON_PACKAGE = python311 + +SPK_DEPENDS = "python311>=3.11.4-7:ffmpeg" + +WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt DEPENDS = cross/$(SPK_NAME) DEPENDS += cross/unrar @@ -23,15 +25,15 @@ WHEELS_BUILD_ARGS += --enable-freetype WHEELS_BUILD_ARGS += --enable-jpeg WHEELS_BUILD_ARGS += --enable-zlib -SPK_DEPENDS = "python311>=3.11.4-7:ffmpeg" - MAINTAINER = smaarn - DESCRIPTION = "Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements. You define your preferences by TV show or movies and Bazarr takes care of everything for you." DISPLAY_NAME = Bazarr -STARTABLE = yes CHANGELOG = "Update to version 1.2.4.
See corresponding changelogs here and here for more details.
Migrate to python 3.11" +HOMEPAGE = https://www.bazarr.media/ +LICENSE = GPL-3.0 license +STARTABLE = yes + # [numpy] <= 1.21.6 (armv5) # This version is now unsupported using py311 UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) @@ -48,12 +50,10 @@ SERVICE_PORT_TITLE = $(DISPLAY_NAME) # Admin link for in DSM UI ADMIN_PORT = $(SERVICE_PORT) -WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt - # use alternate TMPDIR as /tmp might be too small and not accessible on DSM >= 7.1. USE_ALTERNATE_TMPDIR = 1 -include ../../mk/spksrc.spk.mk +include ../../mk/spksrc.python.mk # [greenlet] ifeq ($(call version_ge, $(TC_GCC), 4.9),1) From d41073beaeca206f9fc6d67a8471cf6fec9f9bbd Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 26 Jul 2023 00:53:28 +0000 Subject: [PATCH 45/86] rdiff-backup: use spksrc.python.mk to reuse prebuilt python311 --- mk/spksrc.python.mk | 3 ++- spk/rdiff-backup/Makefile | 12 ++++++------ spk/rdiff-backup/PLIST | 1 - 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/mk/spksrc.python.mk b/mk/spksrc.python.mk index f05c40c17fa..3a74f889417 100644 --- a/mk/spksrc.python.mk +++ b/mk/spksrc.python.mk @@ -40,5 +40,6 @@ python_pre_depend: @ln -sf $(PYTHON_PACKAGE_ROOT)/crossenv $(WORK_DIR)/crossenv @ln -sf $(PYTHON_PACKAGE_ROOT)/python-cc.mk $(WORK_DIR)/python-cc.mk @$(foreach _done,$(PYTHON_DEPENDS), ln -sf $(_done) $(WORK_DIR) ;) - # Ensure zlib is always built locally + # EXCEPTIONS: Ensure zlib,bzip2 is always built locally @rm -f $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/zlib.pc $(WORK_DIR)/.zlib* + @rm -f $(WORK_DIR)/.bzip2* diff --git a/spk/rdiff-backup/Makefile b/spk/rdiff-backup/Makefile index eb458ab73c5..7bc7f5c5407 100644 --- a/spk/rdiff-backup/Makefile +++ b/spk/rdiff-backup/Makefile @@ -3,16 +3,16 @@ SPK_VERS = 2.2.5 SPK_REV = 5 SPK_ICON = src/rdiff-backup.png -BUILD_DEPENDS = cross/python311 +PYTHON_PACKAGE = python311 + +WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt +SPK_DEPENDS = "python311>=3.11.4-7" + DEPENDS = cross/librsync cross/attr cross/acl # [PyYAML] DEPENDS += cross/libyaml -WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt - -SPK_DEPENDS = "python311>=3.11.4-7" - MAINTAINER = SynoCommunity DESCRIPTION = Reverse differential backup tool, over a network or locally. STARTABLE = no @@ -26,4 +26,4 @@ SERVICE_SETUP = src/service-setup.sh SPK_USR_LOCAL_LINKS = bin:env/bin/rdiff-backup bin:env/bin/rdiff-backup-statistics -include ../../mk/spksrc.spk.mk +include ../../mk/spksrc.python.mk diff --git a/spk/rdiff-backup/PLIST b/spk/rdiff-backup/PLIST index d2c9c50272d..4cfaf73a12c 100644 --- a/spk/rdiff-backup/PLIST +++ b/spk/rdiff-backup/PLIST @@ -1,2 +1 @@ rsc:share/wheelhouse - From d9e43e96ceb88825a7bd0eff4d8b78dbd3bfd62b Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Mon, 31 Jul 2023 21:39:02 +0000 Subject: [PATCH 46/86] beets: use spksrc.python.mk to reuse prebuilt python311 --- spk/beets/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spk/beets/Makefile b/spk/beets/Makefile index 2b32486331e..670e941782c 100644 --- a/spk/beets/Makefile +++ b/spk/beets/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 1.6.0 SPK_REV = 9 SPK_ICON = src/beets.png -BUILD_DEPENDS = cross/python311 +PYTHON_PACKAGE = python311 WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt SPK_DEPENDS = "python311>=3.11.4-7" @@ -39,4 +39,4 @@ STARTABLE = no SPK_COMMANDS = env/bin/beet -include ../../mk/spksrc.spk.mk +include ../../mk/spksrc.python.mk From e0e7f9714016f25d9d0629bdde4f6f6aa9dd6439 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Mon, 31 Jul 2023 22:32:59 +0000 Subject: [PATCH 47/86] python-wheel.mk: Fix when used from spksrc.python.mk In order for rust wheels to be built properly one must change STAGING_INSTALL_PREFIX to point towards the spk/python311 which is set by PYTHON_DIR variable Also, only set PYTHONPATH if not already set previous such as by spksrc.python.mk --- mk/spksrc.python-wheel.mk | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mk/spksrc.python-wheel.mk b/mk/spksrc.python-wheel.mk index 3d220decdc2..f33e7406139 100644 --- a/mk/spksrc.python-wheel.mk +++ b/mk/spksrc.python-wheel.mk @@ -22,8 +22,17 @@ include ../../mk/spksrc.cross-cc.mk # Fetch python variables -include $(WORK_DIR)/python-cc.mk +# If using spk.python.mk with PYTHON_DIR defined +# then redirect STAGING_INSTALL_PREFIX so rust +# wheels can find openssl and other libraries +ifneq ($(strip $(PYTHON_DIR)),) +STAGING_INSTALL_PREFIX := $(PYTHON_DIR) +endif + # Python module variables +ifeq ($(strip $(PYTHONPATH)),) PYTHONPATH = $(PYTHON_LIB_NATIVE):$(INSTALL_DIR)$(INSTALL_PREFIX)/$(PYTHON_LIB_DIR)/site-packages/ +endif ## python wheel specific configurations include ../../mk/spksrc.wheel-env.mk From 52bd61bf8d580cc25deccce6449e676963d6d9d8 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Mon, 31 Jul 2023 22:35:17 +0000 Subject: [PATCH 48/86] python.mk: Set PYTHONPATH only when re-using spk/python311 libs --- mk/spksrc.python.mk | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mk/spksrc.python.mk b/mk/spksrc.python.mk index 3a74f889417..16e2271f70f 100644 --- a/mk/spksrc.python.mk +++ b/mk/spksrc.python.mk @@ -12,13 +12,15 @@ export PYTHON_DIR = $(realpath $(PYTHON_PACKAGE_ROOT)/install/var/packages/$(PYT # get PYTHON_VERSION and other variables -include $(PYTHON_PACKAGE_ROOT)/python-cc.mk +ifneq ($(wildcard $(PYTHON_DIR)),) +# set ld flags to rewrite for the library path used to access +# libraries provided by the python package at destination +export ADDITIONAL_LDFLAGS += -Wl,--rpath-link,$(PYTHON_DIR)/lib -Wl,--rpath,/var/packages/$(PYTHON_PACKAGE)/target/lib + # set PYTHONPATH for spksrc.python-module.mk PYTHONPATH = $(PYTHON_SITE_PACKAGES_NATIVE):$(PYTHON_LIB_NATIVE):$(PYTHON_DIR)/lib/python$(PYTHON_VERSION)/site-packages/ -# set ld flags to rewrite for the library path used to access -# libraries provided by the python package at destination -ifneq ($(wildcard $(PYTHON_DIR)),) -export ADDITIONAL_LDFLAGS = -Wl,--rpath-link,$(PYTHON_DIR)/lib -Wl,--rpath,/var/packages/$(PYTHON_PACKAGE)/target/lib +# call-up pre-depend to prepare the shared python build environment PRE_DEPEND_TARGET = python_pre_depend else BUILD_DEPENDS += cross/$(PYTHON_PACKAGE) From 1a8a8f612e3042d7841f28286ee42edfd2374363 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 1 Aug 2023 21:25:19 +0000 Subject: [PATCH 49/86] python-wheel.mk: Use wildcard to validate PYTHON_DIR --- mk/spksrc.python-wheel.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mk/spksrc.python-wheel.mk b/mk/spksrc.python-wheel.mk index f33e7406139..d73c175c237 100644 --- a/mk/spksrc.python-wheel.mk +++ b/mk/spksrc.python-wheel.mk @@ -25,7 +25,7 @@ include ../../mk/spksrc.cross-cc.mk # If using spk.python.mk with PYTHON_DIR defined # then redirect STAGING_INSTALL_PREFIX so rust # wheels can find openssl and other libraries -ifneq ($(strip $(PYTHON_DIR)),) +ifneq ($(wildcard $(PYTHON_DIR)),) STAGING_INSTALL_PREFIX := $(PYTHON_DIR) endif From ec8bdb60a870cdcaca42a55ee142198a08c4632d Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 1 Aug 2023 22:05:54 +0000 Subject: [PATCH 50/86] plist.mk: Always check that (PKG_NAME).plist exists when processing --- mk/spksrc.plist.mk | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mk/spksrc.plist.mk b/mk/spksrc.plist.mk index 787ea670460..e0f8fe43ea2 100644 --- a/mk/spksrc.plist.mk +++ b/mk/spksrc.plist.mk @@ -9,13 +9,20 @@ ifeq ($(strip $(PLIST_TRANSFORM)),) PLIST_TRANSFORM = cat endif +### +### When processing PLIST entries where we are re-using existing +### shared object from another spk (ex: python* or ffmpeg), +### always check that a $(PKG_NAME).plist exists as it won't +### be created when the shared build environment is being +### populated with symlinks to $(PKG_NAME)*_done +### .PHONY: cat_PLIST cat_PLIST: @for depend in $(DEPENDS) ; \ do \ $(MAKE) WORK_DIR=$(WORK_DIR) --no-print-directory -C ../../$$depend cat_PLIST ; \ done - @if [ -f PLIST ] ; \ + @if [ -f PLIST ] && [ -f $(WORK_DIR)/$(PKG_NAME).plist ] ; \ then \ $(PLIST_TRANSFORM) PLIST ; \ # If there is a PLIST.auto file or if parent directory is kernel \ From c01277e16f638b188d1a49509d9764e4d1a86268 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 2 Aug 2023 01:20:17 +0000 Subject: [PATCH 51/86] sickchill: use spksrc.python.mk to reuse prebuilt python311 --- spk/sickchill/Makefile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/spk/sickchill/Makefile b/spk/sickchill/Makefile index b3f75296dd4..e8c288082bc 100644 --- a/spk/sickchill/Makefile +++ b/spk/sickchill/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 20230627 SPK_REV = 9 SPK_ICON = src/sickchill.png -BUILD_DEPENDS = cross/python311 +PYTHON_PACKAGE = python311 SPK_DEPENDS = "python311>=3.11.4-7" @@ -55,7 +55,8 @@ USE_ALTERNATE_TMPDIR = 1 POST_STRIP_TARGET = sickchill_extra_install -include ../../mk/spksrc.spk.mk +include ../../mk/spksrc.python.mk + # prefere native python tools (pip, maturin, ...) ENV += PATH=$(realpath $(WORK_DIR)/../../../native/python311/work-native/install/usr/local/bin):$(PATH) From 19a14be5f83157a1f1f11c145ee1c16cf99b8ce7 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 2 Aug 2023 01:28:05 +0000 Subject: [PATCH 52/86] deluge: use spksrc.python.mk to reuse prebuilt python311 --- spk/deluge/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spk/deluge/Makefile b/spk/deluge/Makefile index e88fe7f611a..13d9043b9a5 100644 --- a/spk/deluge/Makefile +++ b/spk/deluge/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 2.1.1.61 SPK_REV = 21 SPK_ICON = src/deluge.png -BUILD_DEPENDS = cross/python311 +PYTHON_PACKAGE = python311 WHEELS = src/requirements-crossenv.txt WHEELS += src/requirements-pure.txt @@ -45,7 +45,7 @@ DEPENDS += cross/cryptography # [rencode] PYTHON_LIMITED_API=cp36 -include ../../mk/spksrc.spk.mk +include ../../mk/spksrc.python.mk # [libtorrent] UNSUPPORTED_ARCHS += $(ARMv5_ARCHS) $(ARMv7L_ARCHS) $(OLD_PPC_ARCHS) From b2da00eba1ac70b157e0b311626675b9e8727386 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 2 Aug 2023 01:31:08 +0000 Subject: [PATCH 53/86] flexget: use spksrc.python.mk to reuse prebuilt python311 --- spk/flexget/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spk/flexget/Makefile b/spk/flexget/Makefile index c43054ef49d..ee3ad0eb831 100644 --- a/spk/flexget/Makefile +++ b/spk/flexget/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 3.7.10 SPK_REV = 13 SPK_ICON = src/${SPK_NAME}.png -BUILD_DEPENDS = cross/python311 +PYTHON_PACKAGE = python311 SPK_DEPENDS = "python311>=3.11.4-7" WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt @@ -42,7 +42,7 @@ UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(ARMv7L_ARCHS) $(OLD_PPC_ARCHS) # [PyYAML] DEPENDS += cross/libyaml -include ../../mk/spksrc.spk.mk +include ../../mk/spksrc.python.mk # [greenlet] == 2.0.1 ifeq ($(call version_lt, $(TC_GCC), 5.0),1) From 2fc892e97a31996078e9628e9cb5337ff6a2f92d Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 2 Aug 2023 01:52:54 +0000 Subject: [PATCH 54/86] salt-minion: Update to 3006.1 and reuse prebuilt python311 --- spk/salt-master/Makefile | 4 +- spk/salt-minion/Makefile | 36 +++++--- spk/salt-minion/src/requirements-crossenv.txt | 26 +++--- spk/salt-minion/src/requirements-pure.txt | 82 +++++++++++++------ 4 files changed, 93 insertions(+), 55 deletions(-) diff --git a/spk/salt-master/Makefile b/spk/salt-master/Makefile index 243440c93dc..4e18db2c506 100644 --- a/spk/salt-master/Makefile +++ b/spk/salt-master/Makefile @@ -4,16 +4,14 @@ SPK_REV = 12 SPK_ICON = src/salt-master.png PYTHON_PACKAGE = python311 - SPK_DEPENDS = "$(PYTHON_PACKAGE)>=3.11.4-7" +WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt # TODO: Enable as website to provide salt-master status DEPENDS = cross/saltgui UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) -WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt - MAINTAINER = SynoCommunity DESCRIPTION = Salt, a new approach to infrastructure management, is easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with those servers in seconds. DISPLAY_NAME = Salt Master diff --git a/spk/salt-minion/Makefile b/spk/salt-minion/Makefile index e825f035f31..295a624c9cf 100644 --- a/spk/salt-minion/Makefile +++ b/spk/salt-minion/Makefile @@ -1,25 +1,18 @@ SPK_NAME = salt-minion -SPK_VERS = 3004 -SPK_REV = 4 +SPK_VERS = 3006.1 +SPK_REV = 5 SPK_ICON = src/salt-minion.png -BUILD_DEPENDS = cross/python311 +PYTHON_PACKAGE = python311 SPK_DEPENDS = "python311>=3.11.4-7" +WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) -# Requirements file generation -# /usr/local/python3/bin/python3 -mvirtualenv --python=python3 salt-env -# virtualenv --python=python3 salt-env -# source salt-env/bin/activate -# pip install salt -# pip freeze > requirements.txt -WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt - MAINTAINER = SynoCommunity DESCRIPTION = Salt, a new approach to infrastructure management, is easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with those servers in seconds. DISPLAY_NAME = Salt Minion -CHANGELOG = "1. Update to 3004
2. Migrate to Python 3.11" +CHANGELOG = "1. Update to 3006.1
2. Migrate to Python 3.11
3. Migrate to OpenSSL 3.1.1" HOMEPAGE = https://repo.saltproject.io/ LICENSE = Apache @@ -39,7 +32,24 @@ SPK_USR_LOCAL_LINKS += bin:env/bin/spm USE_ALTERNATE_TMPDIR = 1 -include ../../mk/spksrc.spk.mk +# [PyYAML] +DEPENDS += cross/libyaml + +# [cryptography] +DEPENDS += cross/cryptography + +# [pydantic_core] +# Requires path to maturin from crossenv +ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) + +include ../../mk/spksrc.python.mk + +# [pycryptodomex] +ifeq ($(call version_ge, $(TC_GCC), 4.9),1) +WHEELS_CFLAGS += [pycryptodomex] -std=c11 +else +WHEELS_CFLAGS += [pycryptodomex] -std=c99 +endif .PHONY: salt-minion_extra_install salt-minion_extra_install: diff --git a/spk/salt-minion/src/requirements-crossenv.txt b/spk/salt-minion/src/requirements-crossenv.txt index 0abb6fe8457..e543d37cc51 100644 --- a/spk/salt-minion/src/requirements-crossenv.txt +++ b/spk/salt-minion/src/requirements-crossenv.txt @@ -1,12 +1,14 @@ -# https://github.com/saltstack/salt/blob/master/requirements/static/pkg/py3.10/linux.txt -cffi==1.14.6 -cryptography==3.3.2 -immutables==0.15 -MarkupSafe==1.1.1 -msgpack==1.0.2 -psutil==5.8.0 -pycryptodomex==3.9.8 -PyYAML==5.4.1 -pyzmq==20.0.0 -setproctitle==1.2.2 -timelib==0.2.5 +# https://github.com/saltstack/salt/blob/master/requirements/static/pkg/py3.11/linux.txt +cffi==1.15.1 +charset-normalizer==3.2.0 +#cryptography ==> cross/cryptography +immutables==0.19 +MarkupSafe==2.1.3 +msgpack==1.0.5 +psutil==5.9.5 +pycryptodomex==3.18.0 +pydantic_core==2.3.0 +PyYAML==6.0.1 +pyzmq==25.0.2 +setproctitle==1.3.2 +timelib==0.3.0 diff --git a/spk/salt-minion/src/requirements-pure.txt b/spk/salt-minion/src/requirements-pure.txt index fa80c9ddf92..46dfb1d3ee2 100644 --- a/spk/salt-minion/src/requirements-pure.txt +++ b/spk/salt-minion/src/requirements-pure.txt @@ -1,32 +1,60 @@ -# https://github.com/saltstack/salt/blob/master/requirements/static/pkg/py3.10/linux.txt -#certifi==2020.6.20 ==> python310 -chardet==3.0.4 -cheroot==8.5.2 -CherryPy==18.6.1 +# https://github.com/saltstack/salt/blob/master/requirements/static/pkg/py3.11/linux.txt + +salt==3006.1 + +annotated-types==0.5.0 +autocommand==2.2.2 +#certifi ==> python311 +#cffi ==> crossenv +chardet==5.1.0 +#charset-normalizer ==> crossenv +cheroot==10.0.0 +CherryPy==18.8.0 contextvars==2.4 -distro==1.5.0 -idna==2.10 -importlib-metadata==4.8.3 -jaraco.classes==3.2.1 -jaraco.collections==3.4.0 -jaraco.functools==2.0 -jaraco.text==3.5.1 -Jinja2==2.11.3 -more-itertools==5.0.0 -portend==2.4 -pycparser==2.17 -pyOpenSSL==19.1.0 -python-dateutil==2.8.1 -python-gnupg==0.4.4 -pytz==2021.1 -requests==2.25.1 +cryptography==41.0.2 +distlib==0.3.6 +distro==1.8.0 +filelock==3.12.2 +idna==3.4 +#immutables ==> crossenv +importlib-metadata==6.8.0 +inflect==7.0.0 +jaraco.classes==3.3.0 +jaraco.collections==4.3.0 +jaraco.context==4.3.0 +jaraco.functools==3.8.0 +jaraco.text==3.11.1 +Jinja2==3.1.2 +jmespath==1.0.1 +looseversion==1.3.0 +#MarkupSafe ==> crossenv +more-itertools==10.0.0 +#msgpack ==> crossenv +packaging==23.1 +platformdirs==3.8.0 +portend==3.2.0 +#psutil ==> crossenv +pycparser==2.21 +#pycryptodomex ==> crossenv +pydantic==2.0.3 +#pydantic_core ==> crossenv +pyOpenSSL==23.2.0 +python-dateutil==2.8.2 +python-gnupg==0.5.1 +pytz==2023.3 +#PyYAML ==> crossenv +#pyzmq ==> crossenv +requests==2.31.0 rpm-vercmp==0.1.2 -salt==3004 -six==1.16.0 -tempora==4.1.1 -urllib3==1.26.6 -zc.lockfile==1.4 -zipp==3.5.0 +#setproctitle ==> crossenv +#six ==> python311 +tempora==5.5.0 +#timelib ==> crossenv +typing_extensions==4.7.1 +urllib3==2.0.4 +virtualenv==20.23.1 +zc.lockfile==3.0.post1 +zipp==3.16.2 # To allow patching rsax931.py during service setup patch==1.16 From 357585bd3075d936ddb5c23c0b2a935a4932600c Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 2 Aug 2023 11:02:52 +0000 Subject: [PATCH 55/86] python.mk: Add debug messages and force exit 2 --- mk/spksrc.python.mk | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/mk/spksrc.python.mk b/mk/spksrc.python.mk index 16e2271f70f..62719e719ee 100644 --- a/mk/spksrc.python.mk +++ b/mk/spksrc.python.mk @@ -24,6 +24,7 @@ PYTHONPATH = $(PYTHON_SITE_PACKAGES_NATIVE):$(PYTHON_LIB_NATIVE):$(PYTHON_DIR)/l PRE_DEPEND_TARGET = python_pre_depend else BUILD_DEPENDS += cross/$(PYTHON_PACKAGE) +PRE_DEPEND_TARGET = python_pre_depend_debug endif # Re-use all default python mandatory libraries @@ -36,7 +37,10 @@ include ../../mk/spksrc.spk.mk .PHONY: python_pre_depend python_pre_depend: - @$(MSG) Use existing python in $(PYTHON_PACKAGE_ROOT) + @$(MSG) ***************************************************** + @$(MSG) *** Use existing shared objects from $(PYTHON_VERSION) + @$(MSG) *** PATH: $(PYTHON_PACKAGE_ROOT) + @$(MSG) ***************************************************** @mkdir -p $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/ @$(foreach lib,$(PYTHON_LIBS),ln -sf $(lib) $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/ ;) @ln -sf $(PYTHON_PACKAGE_ROOT)/crossenv $(WORK_DIR)/crossenv @@ -45,3 +49,17 @@ python_pre_depend: # EXCEPTIONS: Ensure zlib,bzip2 is always built locally @rm -f $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/zlib.pc $(WORK_DIR)/.zlib* @rm -f $(WORK_DIR)/.bzip2* + +.PHONY: python_pre_depend_debug +python_pre_depend_debug: + @$(MSG) ***************************************************** + @$(MSG) ******************** DEBUG ************************** + @$(MSG) *** PYTHON_PACKAGE_ROOT: $(PYTHON_PACKAGE_ROOT) + @$(MSG) *** SHELL: $(shell ls -1d $(PYTHON_PACKAGE_ROOT)) + @$(MSG) *** PYTHON_DIR: $(PYTHON_DIR) + @$(MSG) *** SHELL: $(shell ls -1d $(PYTHON_DIR)) + @$(MSG) *** PYTHONPATH: $(PYTHONPATH:) + @$(MSG) *** PYTHON_LIBS: $(PYTHON_LIBS:) + @$(MSG) *** PYTHON_DEPENDS: $(PYTHON_DEPENDS:) + @$(MSG) ***************************************************** + exit 2 From 57ceece7632f3c896206902314027a114322ba37 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 2 Aug 2023 11:03:40 +0000 Subject: [PATCH 56/86] python.mk: Add more variables to debug message --- mk/spksrc.python.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/mk/spksrc.python.mk b/mk/spksrc.python.mk index 62719e719ee..05b4dc8cec9 100644 --- a/mk/spksrc.python.mk +++ b/mk/spksrc.python.mk @@ -54,6 +54,7 @@ python_pre_depend: python_pre_depend_debug: @$(MSG) ***************************************************** @$(MSG) ******************** DEBUG ************************** + @$(MSG) *** PYTHON_PACKAGE: $(PYTHON_PACKAGE) @$(MSG) *** PYTHON_PACKAGE_ROOT: $(PYTHON_PACKAGE_ROOT) @$(MSG) *** SHELL: $(shell ls -1d $(PYTHON_PACKAGE_ROOT)) @$(MSG) *** PYTHON_DIR: $(PYTHON_DIR) From 67285b548b9f2a0e93859388fbdda72a782f2ef9 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 2 Aug 2023 23:29:03 +0000 Subject: [PATCH 57/86] python.mk: Debug no longer needed, works as intended --- mk/spksrc.python.mk | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/mk/spksrc.python.mk b/mk/spksrc.python.mk index 05b4dc8cec9..1588e31206b 100644 --- a/mk/spksrc.python.mk +++ b/mk/spksrc.python.mk @@ -24,7 +24,6 @@ PYTHONPATH = $(PYTHON_SITE_PACKAGES_NATIVE):$(PYTHON_LIB_NATIVE):$(PYTHON_DIR)/l PRE_DEPEND_TARGET = python_pre_depend else BUILD_DEPENDS += cross/$(PYTHON_PACKAGE) -PRE_DEPEND_TARGET = python_pre_depend_debug endif # Re-use all default python mandatory libraries @@ -38,7 +37,7 @@ include ../../mk/spksrc.spk.mk .PHONY: python_pre_depend python_pre_depend: @$(MSG) ***************************************************** - @$(MSG) *** Use existing shared objects from $(PYTHON_VERSION) + @$(MSG) *** Use existing shared objects from python $(PYTHON_VERSION) @$(MSG) *** PATH: $(PYTHON_PACKAGE_ROOT) @$(MSG) ***************************************************** @mkdir -p $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/ @@ -49,18 +48,3 @@ python_pre_depend: # EXCEPTIONS: Ensure zlib,bzip2 is always built locally @rm -f $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/zlib.pc $(WORK_DIR)/.zlib* @rm -f $(WORK_DIR)/.bzip2* - -.PHONY: python_pre_depend_debug -python_pre_depend_debug: - @$(MSG) ***************************************************** - @$(MSG) ******************** DEBUG ************************** - @$(MSG) *** PYTHON_PACKAGE: $(PYTHON_PACKAGE) - @$(MSG) *** PYTHON_PACKAGE_ROOT: $(PYTHON_PACKAGE_ROOT) - @$(MSG) *** SHELL: $(shell ls -1d $(PYTHON_PACKAGE_ROOT)) - @$(MSG) *** PYTHON_DIR: $(PYTHON_DIR) - @$(MSG) *** SHELL: $(shell ls -1d $(PYTHON_DIR)) - @$(MSG) *** PYTHONPATH: $(PYTHONPATH:) - @$(MSG) *** PYTHON_LIBS: $(PYTHON_LIBS:) - @$(MSG) *** PYTHON_DEPENDS: $(PYTHON_DEPENDS:) - @$(MSG) ***************************************************** - exit 2 From c0df499eb5bb9f33ce7c94fdbc3bc63a13c2c38a Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Thu, 3 Aug 2023 00:13:53 +0000 Subject: [PATCH 58/86] python.mk: Define rustc based wheel variable from wheel-env.mk --- mk/spksrc.python.mk | 14 +++++++------- mk/spksrc.wheel-env.mk | 15 +++++++++++++++ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/mk/spksrc.python.mk b/mk/spksrc.python.mk index 1588e31206b..772511a7bc3 100644 --- a/mk/spksrc.python.mk +++ b/mk/spksrc.python.mk @@ -4,7 +4,6 @@ # Variables: # PYTHON_PACKAGE Must be set to the python spk folder (python310, python311, ...) - # set default spk/python* path to use PYTHON_PACKAGE_ROOT = $(realpath $(shell pwd)/../$(PYTHON_PACKAGE)/work-$(ARCH)-$(TCVERSION)) export PYTHON_DIR = $(realpath $(PYTHON_PACKAGE_ROOT)/install/var/packages/$(PYTHON_PACKAGE)/target) @@ -20,18 +19,19 @@ export ADDITIONAL_LDFLAGS += -Wl,--rpath-link,$(PYTHON_DIR)/lib -Wl,--rpath,/var # set PYTHONPATH for spksrc.python-module.mk PYTHONPATH = $(PYTHON_SITE_PACKAGES_NATIVE):$(PYTHON_LIB_NATIVE):$(PYTHON_DIR)/lib/python$(PYTHON_VERSION)/site-packages/ -# call-up pre-depend to prepare the shared python build environment -PRE_DEPEND_TARGET = python_pre_depend -else -BUILD_DEPENDS += cross/$(PYTHON_PACKAGE) -endif - # Re-use all default python mandatory libraries PYTHON_LIBS := $(wildcard $(PYTHON_DIR)/lib/pkgconfig/*.pc) # Re-use all python dependencies and mark as already done PYTHON_DEPENDS := $(foreach cross,$(foreach pkg_name,$(shell $(MAKE) dependency-list -C $(realpath $(PYTHON_PACKAGE_ROOT)/../) 2>/dev/null | grep ^$(PYTHON_PACKAGE) | cut -f2 -d:),$(shell sed -n 's/^PKG_NAME = \(.*\)/\1/p' $(realpath $(shell pwd)/../../$(pkg_name)/Makefile))),$(wildcard $(PYTHON_PACKAGE_ROOT)/.$(cross)-*_done)) +# call-up pre-depend to prepare the shared python build environment +PRE_DEPEND_TARGET = python_pre_depend + +else +BUILD_DEPENDS += cross/$(PYTHON_PACKAGE) +endif + include ../../mk/spksrc.spk.mk .PHONY: python_pre_depend diff --git a/mk/spksrc.wheel-env.mk b/mk/spksrc.wheel-env.mk index 76a07157f1a..f8568d1cd15 100644 --- a/mk/spksrc.wheel-env.mk +++ b/mk/spksrc.wheel-env.mk @@ -5,6 +5,21 @@ ##### rust specific configurations include ../../mk/spksrc.cross-rust-env.mk +# set PYTHON_DIR if unset (e.g. using spksrc.spk.mk instead of spksrc.python.mk) +ifeq ($(strip $(PYTHON_DIR)),) +PYTHON_DIR = $(STAGING_INSTALL_PREFIX) +endif + +# Mandatory for rustc wheel building +ENV += PYO3_CROSS_LIB_DIR=$(PYTHON_DIR)/lib/ +ENV += PYO3_CROSS_INCLUDE_DIR=$(PYTHON_DIR)/include/ + +# Mandatory of using OPENSSL_*_DIR starting with +# cryptography version >= 40 +# https://docs.rs/openssl/latest/openssl/#automatic +ENV += OPENSSL_LIB_DIR=$(PYTHON_DIR)/lib/ +ENV += OPENSSL_INCLUDE_DIR=$(PYTHON_DIR)/include/ + # Enable pure-python packaging ifeq ($(strip $(WHEELS_PURE_PYTHON_PACKAGING_ENABLE)),) WHEELS_PURE_PYTHON_PACKAGING_ENABLE = FALSE From 42595271db1efc32c3d7bcbc6fe483157d338cbf Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Thu, 3 Aug 2023 00:14:48 +0000 Subject: [PATCH 59/86] python.mk: Remove rust based wheel environment variables --- cross/cryptography/Makefile | 9 --------- cross/cryptography_38/Makefile | 7 ++----- spk/python310/Makefile | 9 --------- spk/python311/Makefile | 12 ------------ 4 files changed, 2 insertions(+), 35 deletions(-) diff --git a/cross/cryptography/Makefile b/cross/cryptography/Makefile index 60af11b13f6..104084e85be 100644 --- a/cross/cryptography/Makefile +++ b/cross/cryptography/Makefile @@ -18,13 +18,4 @@ LICENSE = BSD/ASL2 WHEELS_BUILD_ARGS = --py-limited-api=$(PYTHON_LIMITED_API) -# Mandatory PYO3_* variables for rust cross-compiling -ENV += PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ -ENV += PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ -# Mandatory of using OPENSSL_*_DIR starting with -# cryptography version >= 40 -# https://docs.rs/openssl/latest/openssl/#automatic -ENV += OPENSSL_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ -ENV += OPENSSL_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ - include ../../mk/spksrc.python-wheel.mk diff --git a/cross/cryptography_38/Makefile b/cross/cryptography_38/Makefile index df9563bc0d6..eae7e10b6b6 100644 --- a/cross/cryptography_38/Makefile +++ b/cross/cryptography_38/Makefile @@ -15,13 +15,10 @@ LICENSE = BSD/ASL2 ### This cross/cryptography_38 is needed to generate python-limited abi3 wheels ### Ref: https://github.com/pyca/cryptography/issues/7671 ### -### And it is required to link to cross/openssl3 since cryptography < 40 is statically linked to openssl +### And it is required to link to cross/openssl3 since +### cryptography < 40 is statically linked to openssl ### and prebuilt wheels are linked to openssl 1.1 WHEELS_BUILD_ARGS = --py-limited-api=$(PYTHON_LIMITED_API) -# Mandatory PYO3_* variables for rust cross-compiling -ENV += PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ -ENV += PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ - include ../../mk/spksrc.python-wheel.mk diff --git a/spk/python310/Makefile b/spk/python310/Makefile index 40cbde8dbf7..f169d360026 100644 --- a/spk/python310/Makefile +++ b/spk/python310/Makefile @@ -44,19 +44,10 @@ ifeq ($(strip $(WHEELS_TEST_ALL)),1) WHEELS += src/requirements-crossenv.txt WHEELS += src/requirements-abi3.txt -# [bcrypt] and [cryptography] -# Mandatory for rustc wheel building -ENV += PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ -ENV += PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ - # [cryptography] # Use cross/cryptography to generate py36-abi3 limited API # NOTE: It's not possible to build py36-abi3 limited API using pip due to PEP517 # To generate py310-py310 regular build use src/requirements-crossenv.txt -# -# Mandatory mandatory of using OPENSSL_*_DIR starting with version >= 40 -ENV += OPENSSL_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ -ENV += OPENSSL_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ DEPENDS += cross/cryptography # [gevent] diff --git a/spk/python311/Makefile b/spk/python311/Makefile index b9feacaac34..8fcfc4f43e7 100644 --- a/spk/python311/Makefile +++ b/spk/python311/Makefile @@ -46,19 +46,10 @@ ifeq ($(strip $(WHEELS_TEST_ALL)),1) WHEELS += src/requirements-crossenv.txt WHEELS += src/requirements-abi3.txt -# [bcrypt] and [cryptography] -# Mandatory for rustc wheel building -ENV += PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ -ENV += PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ - # [cryptography] # Use cross/cryptography to generate py36-abi3 limited API # NOTE: It's not possible to build py36-abi3 limited API using pip due to PEP517 # To generate py311-py311 regular build use src/requirements-crossenv.txt -# -# Mandatory mandatory of using OPENSSL_*_DIR starting with version >= 40 -ENV += OPENSSL_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ -ENV += OPENSSL_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ DEPENDS += cross/cryptography # [gevent] @@ -116,9 +107,6 @@ ifeq ($(strip $(WHEELS_TEST_ALL)),1) # maturin canot be built as pre-requisite crossenv ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) WHEELS += src/requirements-crossenv-rpds-py.txt -# Mandatory for rustc wheel building -ENV += PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ -ENV += PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ # Requires path to maturin from crossenv ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) endif From a399cc813c5b1ce86d3bdd63e6c7783c3994bb25 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Thu, 3 Aug 2023 00:15:37 +0000 Subject: [PATCH 60/86] duplicity: use spksrc.python.mk to reuse prebuilt python311 --- spk/duplicity/Makefile | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/spk/duplicity/Makefile b/spk/duplicity/Makefile index aec564401bc..997726a1c83 100644 --- a/spk/duplicity/Makefile +++ b/spk/duplicity/Makefile @@ -3,7 +3,10 @@ SPK_VERS = 1.2.3 SPK_REV = 10 SPK_ICON = src/duplicity.png -BUILD_DEPENDS = cross/python311 +PYTHON_PACKAGE = python311 +SPK_DEPENDS = "python311>=3.11.4-7:gnupg>=2.1.6" +WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt + DEPENDS = cross/librsync cross/duply # protobuf: missing atomics support @@ -13,10 +16,6 @@ UNSUPPORTED_ARCHS = $(ARMv7L_ARCHS) $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) # [cryptography] DEPENDS += cross/cryptography -# [bcrypt] -ENV += PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ -ENV += PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ - # [lxml] DEPENDS += cross/libxml2 DEPENDS += cross/libxslt @@ -31,10 +30,6 @@ ENV += SODIUM_INSTALL=system # [protobuf] WHEELS_CPPFLAGS = [protobuf] -std=c99 -WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt - -SPK_DEPENDS = "python311>=3.11.4-7:gnupg>=2.1.6" - MAINTAINER = SynoCommunity DESCRIPTION = Encrypted bandwidth-efficient backup using the rsync algorithm. Also contains duply wrapper script (duply is supported only for DSM >= 6.0). STARTABLE = no @@ -54,4 +49,4 @@ SPK_COMMANDS = bin/duply bin/duplicity SPK_USR_LOCAL_LINKS = bin:env/bin/duplicity SPK_USR_LOCAL_LINKS += bin:bin/duply -include ../../mk/spksrc.spk.mk +include ../../mk/spksrc.python.mk From f50958cbf537c349d2e82447adf3198e7bd8d712 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Thu, 3 Aug 2023 00:29:33 +0000 Subject: [PATCH 61/86] python.mk: mv PYTHON_DIR as PYTHON_PREFIX and add OPENSSL_PREFIX --- mk/spksrc.python-wheel.mk | 6 +++--- mk/spksrc.python.mk | 11 ++++++----- mk/spksrc.wheel-env.mk | 19 ++++++++++++------- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/mk/spksrc.python-wheel.mk b/mk/spksrc.python-wheel.mk index d73c175c237..c9b7f99b88a 100644 --- a/mk/spksrc.python-wheel.mk +++ b/mk/spksrc.python-wheel.mk @@ -22,11 +22,11 @@ include ../../mk/spksrc.cross-cc.mk # Fetch python variables -include $(WORK_DIR)/python-cc.mk -# If using spk.python.mk with PYTHON_DIR defined +# If using spk.python.mk with PYTHON_PREFIX defined # then redirect STAGING_INSTALL_PREFIX so rust # wheels can find openssl and other libraries -ifneq ($(wildcard $(PYTHON_DIR)),) -STAGING_INSTALL_PREFIX := $(PYTHON_DIR) +ifneq ($(wildcard $(PYTHON_PREFIX)),) +STAGING_INSTALL_PREFIX := $(PYTHON_PREFIX) endif # Python module variables diff --git a/mk/spksrc.python.mk b/mk/spksrc.python.mk index 772511a7bc3..3483f5e5501 100644 --- a/mk/spksrc.python.mk +++ b/mk/spksrc.python.mk @@ -6,21 +6,22 @@ # set default spk/python* path to use PYTHON_PACKAGE_ROOT = $(realpath $(shell pwd)/../$(PYTHON_PACKAGE)/work-$(ARCH)-$(TCVERSION)) -export PYTHON_DIR = $(realpath $(PYTHON_PACKAGE_ROOT)/install/var/packages/$(PYTHON_PACKAGE)/target) +export PYTHON_PREFIX = $(realpath $(PYTHON_PACKAGE_ROOT)/install/var/packages/$(PYTHON_PACKAGE)/target) +export OPENSSL_PREFIX = $(PYTHON_PREFIX) # get PYTHON_VERSION and other variables -include $(PYTHON_PACKAGE_ROOT)/python-cc.mk -ifneq ($(wildcard $(PYTHON_DIR)),) +ifneq ($(wildcard $(PYTHON_PREFIX)),) # set ld flags to rewrite for the library path used to access # libraries provided by the python package at destination -export ADDITIONAL_LDFLAGS += -Wl,--rpath-link,$(PYTHON_DIR)/lib -Wl,--rpath,/var/packages/$(PYTHON_PACKAGE)/target/lib +export ADDITIONAL_LDFLAGS += -Wl,--rpath-link,$(PYTHON_PREFIX)/lib -Wl,--rpath,/var/packages/$(PYTHON_PACKAGE)/target/lib # set PYTHONPATH for spksrc.python-module.mk -PYTHONPATH = $(PYTHON_SITE_PACKAGES_NATIVE):$(PYTHON_LIB_NATIVE):$(PYTHON_DIR)/lib/python$(PYTHON_VERSION)/site-packages/ +PYTHONPATH = $(PYTHON_SITE_PACKAGES_NATIVE):$(PYTHON_LIB_NATIVE):$(PYTHON_PREFIX)/lib/python$(PYTHON_VERSION)/site-packages/ # Re-use all default python mandatory libraries -PYTHON_LIBS := $(wildcard $(PYTHON_DIR)/lib/pkgconfig/*.pc) +PYTHON_LIBS := $(wildcard $(PYTHON_PREFIX)/lib/pkgconfig/*.pc) # Re-use all python dependencies and mark as already done PYTHON_DEPENDS := $(foreach cross,$(foreach pkg_name,$(shell $(MAKE) dependency-list -C $(realpath $(PYTHON_PACKAGE_ROOT)/../) 2>/dev/null | grep ^$(PYTHON_PACKAGE) | cut -f2 -d:),$(shell sed -n 's/^PKG_NAME = \(.*\)/\1/p' $(realpath $(shell pwd)/../../$(pkg_name)/Makefile))),$(wildcard $(PYTHON_PACKAGE_ROOT)/.$(cross)-*_done)) diff --git a/mk/spksrc.wheel-env.mk b/mk/spksrc.wheel-env.mk index f8568d1cd15..d90ac8bb47e 100644 --- a/mk/spksrc.wheel-env.mk +++ b/mk/spksrc.wheel-env.mk @@ -5,20 +5,25 @@ ##### rust specific configurations include ../../mk/spksrc.cross-rust-env.mk -# set PYTHON_DIR if unset (e.g. using spksrc.spk.mk instead of spksrc.python.mk) -ifeq ($(strip $(PYTHON_DIR)),) -PYTHON_DIR = $(STAGING_INSTALL_PREFIX) +# set PYTHON_PREFIX if unset +ifeq ($(strip $(PYTHON_PREFIX)),) +PYTHON_PREFIX = $(STAGING_INSTALL_PREFIX) +endif + +# set PYTHON_PREFIX if unset +ifeq ($(strip $(OPENSSL_PREFIX)),) +OPENSSL_PREFIX = $(STAGING_INSTALL_PREFIX) endif # Mandatory for rustc wheel building -ENV += PYO3_CROSS_LIB_DIR=$(PYTHON_DIR)/lib/ -ENV += PYO3_CROSS_INCLUDE_DIR=$(PYTHON_DIR)/include/ +ENV += PYO3_CROSS_LIB_DIR=$(PYTHON_PREFIX)/lib/ +ENV += PYO3_CROSS_INCLUDE_DIR=$(PYTHON_PREFIX)/include/ # Mandatory of using OPENSSL_*_DIR starting with # cryptography version >= 40 # https://docs.rs/openssl/latest/openssl/#automatic -ENV += OPENSSL_LIB_DIR=$(PYTHON_DIR)/lib/ -ENV += OPENSSL_INCLUDE_DIR=$(PYTHON_DIR)/include/ +ENV += OPENSSL_LIB_DIR=$(OPENSSL_PREFIX)/lib/ +ENV += OPENSSL_INCLUDE_DIR=$(OPENSSL_PREFIX)/include/ # Enable pure-python packaging ifeq ($(strip $(WHEELS_PURE_PYTHON_PACKAGING_ENABLE)),) From 7042fb30aaacbe20ffe48fe64a372f37f71ebeba Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Thu, 3 Aug 2023 00:30:37 +0000 Subject: [PATCH 62/86] borgbackup: use spksrc.python.mk to reuse prebuilt python311 --- spk/borgbackup/Makefile | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/spk/borgbackup/Makefile b/spk/borgbackup/Makefile index 3b01703a268..ec88779ae2a 100644 --- a/spk/borgbackup/Makefile +++ b/spk/borgbackup/Makefile @@ -3,11 +3,11 @@ SPK_VERS = 1.2.4 SPK_REV = 14 SPK_ICON = src/$(SPK_NAME).png -BUILD_DEPENDS = cross/python311 -DEPENDS = cross/attr cross/acl cross/openssl3 cross/lz4 cross/zstd cross/libb2 cross/fuse - +PYTHON_PACKAGE = python311 SPK_DEPENDS = "python311>=3.11.4-7" +DEPENDS = cross/attr cross/acl cross/openssl3 cross/lz4 cross/zstd cross/libb2 cross/fuse + # Requirements file generation # - first create borgbackup wheel defined in src/requirements-crossenv.txt # cd src @@ -38,7 +38,9 @@ SERVICE_SETUP = src/service-setup.sh SPK_USR_LOCAL_LINKS = bin:env/bin/borg bin:env/bin/borgmatic bin:env/bin/emborg -ENV += BORG_OPENSSL_PREFIX="$(STAGING_INSTALL_PREFIX)" +# Use OpenSSL path as defined by either +# spksrc.wheel-env.mk or spksrc.python.mk +ENV += BORG_OPENSSL_PREFIX="$(OPENSSL_PREFIX)" ENV += BORG_LIBLZ4_PREFIX="$(STAGING_INSTALL_PREFIX)" ENV += BORG_LIBZSTD_PREFIX="$(STAGING_INSTALL_PREFIX)" ENV += BORG_LIBB2_PREFIX="$(STAGING_INSTALL_PREFIX)" @@ -49,11 +51,8 @@ include ../../mk/spksrc.common.mk # maturin canot be built as pre-requisite crossenv ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) WHEELS += src/requirements-crossenv-rpds-py.txt -# Mandatory for rustc wheel building -ENV += PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ -ENV += PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ # Requires path to maturin from crossenv ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) endif -include ../../mk/spksrc.spk.mk +include ../../mk/spksrc.python.mk From 3a09e8a5809fcfc7d704be5e43ec8dd4ae309c11 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Thu, 3 Aug 2023 00:53:35 +0000 Subject: [PATCH 63/86] python.mk: Have PYTHON|OPENSSL_STAGING|_PREFIX variables defined --- mk/spksrc.python-wheel.mk | 6 +++--- mk/spksrc.python.mk | 12 +++++++----- mk/spksrc.wheel-env.mk | 22 ++++++++++++---------- spk/borgbackup/Makefile | 2 +- 4 files changed, 23 insertions(+), 19 deletions(-) diff --git a/mk/spksrc.python-wheel.mk b/mk/spksrc.python-wheel.mk index c9b7f99b88a..82cd3e683cc 100644 --- a/mk/spksrc.python-wheel.mk +++ b/mk/spksrc.python-wheel.mk @@ -22,11 +22,11 @@ include ../../mk/spksrc.cross-cc.mk # Fetch python variables -include $(WORK_DIR)/python-cc.mk -# If using spk.python.mk with PYTHON_PREFIX defined +# If using spk.python.mk with PYTHON_STAGING_PREFIX defined # then redirect STAGING_INSTALL_PREFIX so rust # wheels can find openssl and other libraries -ifneq ($(wildcard $(PYTHON_PREFIX)),) -STAGING_INSTALL_PREFIX := $(PYTHON_PREFIX) +ifneq ($(wildcard $(PYTHON_STAGING_PREFIX)),) +STAGING_INSTALL_PREFIX := $(PYTHON_STAGING_PREFIX) endif # Python module variables diff --git a/mk/spksrc.python.mk b/mk/spksrc.python.mk index 3483f5e5501..000fc5ade52 100644 --- a/mk/spksrc.python.mk +++ b/mk/spksrc.python.mk @@ -6,22 +6,24 @@ # set default spk/python* path to use PYTHON_PACKAGE_ROOT = $(realpath $(shell pwd)/../$(PYTHON_PACKAGE)/work-$(ARCH)-$(TCVERSION)) -export PYTHON_PREFIX = $(realpath $(PYTHON_PACKAGE_ROOT)/install/var/packages/$(PYTHON_PACKAGE)/target) +export PYTHON_PREFIX = /var/packages/$(PYTHON_PACKAGE)/target +export PYTHON_STAGING_PREFIX = $(realpath $(PYTHON_PACKAGE_ROOT)/install/$(PYTHON_PREFIX)) export OPENSSL_PREFIX = $(PYTHON_PREFIX) +export OPENSSL_STAGING_PREFIX = $(PYTHON_STAGING_PREFIX) # get PYTHON_VERSION and other variables -include $(PYTHON_PACKAGE_ROOT)/python-cc.mk -ifneq ($(wildcard $(PYTHON_PREFIX)),) +ifneq ($(wildcard $(PYTHON_STAGING_PREFIX)),) # set ld flags to rewrite for the library path used to access # libraries provided by the python package at destination -export ADDITIONAL_LDFLAGS += -Wl,--rpath-link,$(PYTHON_PREFIX)/lib -Wl,--rpath,/var/packages/$(PYTHON_PACKAGE)/target/lib +export ADDITIONAL_LDFLAGS += -Wl,--rpath-link,$(PYTHON_STAGING_PREFIX)/lib -Wl,--rpath,$(PYTHON_PREFIX)/lib # set PYTHONPATH for spksrc.python-module.mk -PYTHONPATH = $(PYTHON_SITE_PACKAGES_NATIVE):$(PYTHON_LIB_NATIVE):$(PYTHON_PREFIX)/lib/python$(PYTHON_VERSION)/site-packages/ +PYTHONPATH = $(PYTHON_SITE_PACKAGES_NATIVE):$(PYTHON_LIB_NATIVE):$(PYTHON_STAGING_PREFIX)/lib/python$(PYTHON_VERSION)/site-packages/ # Re-use all default python mandatory libraries -PYTHON_LIBS := $(wildcard $(PYTHON_PREFIX)/lib/pkgconfig/*.pc) +PYTHON_LIBS := $(wildcard $(PYTHON_STAGING_PREFIX)/lib/pkgconfig/*.pc) # Re-use all python dependencies and mark as already done PYTHON_DEPENDS := $(foreach cross,$(foreach pkg_name,$(shell $(MAKE) dependency-list -C $(realpath $(PYTHON_PACKAGE_ROOT)/../) 2>/dev/null | grep ^$(PYTHON_PACKAGE) | cut -f2 -d:),$(shell sed -n 's/^PKG_NAME = \(.*\)/\1/p' $(realpath $(shell pwd)/../../$(pkg_name)/Makefile))),$(wildcard $(PYTHON_PACKAGE_ROOT)/.$(cross)-*_done)) diff --git a/mk/spksrc.wheel-env.mk b/mk/spksrc.wheel-env.mk index d90ac8bb47e..f8d679e7db8 100644 --- a/mk/spksrc.wheel-env.mk +++ b/mk/spksrc.wheel-env.mk @@ -5,25 +5,27 @@ ##### rust specific configurations include ../../mk/spksrc.cross-rust-env.mk -# set PYTHON_PREFIX if unset -ifeq ($(strip $(PYTHON_PREFIX)),) -PYTHON_PREFIX = $(STAGING_INSTALL_PREFIX) +# set PYTHON_*_PREFIX if unset +ifeq ($(strip $(PYTHON_STAGING_PREFIX)),) +PYTHON_STAGING_PREFIX = $(STAGING_INSTALL_PREFIX) +PYTHON_PREFIX = $(INSTALL_PREFIX) endif -# set PYTHON_PREFIX if unset -ifeq ($(strip $(OPENSSL_PREFIX)),) -OPENSSL_PREFIX = $(STAGING_INSTALL_PREFIX) +# set OPENSSL_*_PREFIX if unset +ifeq ($(strip $(OPENSSL_STAGING_PREFIX)),) +OPENSSL_STAGING_PREFIX = $(STAGING_INSTALL_PREFIX) +OPENSSL_PREFIX = $(INSTALL_PREFIX) endif # Mandatory for rustc wheel building -ENV += PYO3_CROSS_LIB_DIR=$(PYTHON_PREFIX)/lib/ -ENV += PYO3_CROSS_INCLUDE_DIR=$(PYTHON_PREFIX)/include/ +ENV += PYO3_CROSS_LIB_DIR=$(PYTHON_STAGING_PREFIX)/lib/ +ENV += PYO3_CROSS_INCLUDE_DIR=$(PYTHON_STAGING_PREFIX)/include/ # Mandatory of using OPENSSL_*_DIR starting with # cryptography version >= 40 # https://docs.rs/openssl/latest/openssl/#automatic -ENV += OPENSSL_LIB_DIR=$(OPENSSL_PREFIX)/lib/ -ENV += OPENSSL_INCLUDE_DIR=$(OPENSSL_PREFIX)/include/ +ENV += OPENSSL_LIB_DIR=$(OPENSSL_STAGING_PREFIX)/lib/ +ENV += OPENSSL_INCLUDE_DIR=$(OPENSSL_STAGING_PREFIX)/include/ # Enable pure-python packaging ifeq ($(strip $(WHEELS_PURE_PYTHON_PACKAGING_ENABLE)),) diff --git a/spk/borgbackup/Makefile b/spk/borgbackup/Makefile index ec88779ae2a..52a8d11e88b 100644 --- a/spk/borgbackup/Makefile +++ b/spk/borgbackup/Makefile @@ -40,7 +40,7 @@ SPK_USR_LOCAL_LINKS = bin:env/bin/borg bin:env/bin/borgmatic bin:env/bin/emborg # Use OpenSSL path as defined by either # spksrc.wheel-env.mk or spksrc.python.mk -ENV += BORG_OPENSSL_PREFIX="$(OPENSSL_PREFIX)" +ENV += BORG_OPENSSL_PREFIX="$(OPENSSL_STAGING_PREFIX)" ENV += BORG_LIBLZ4_PREFIX="$(STAGING_INSTALL_PREFIX)" ENV += BORG_LIBZSTD_PREFIX="$(STAGING_INSTALL_PREFIX)" ENV += BORG_LIBB2_PREFIX="$(STAGING_INSTALL_PREFIX)" From 87bef249b02aa33050af21df79fcb0b5fab6c456 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Thu, 3 Aug 2023 01:31:57 +0000 Subject: [PATCH 64/86] bazarr+tvheadend: Temporary disabling ffmpeg SPK dependencies --- spk/bazarr/Makefile | 3 ++- spk/tvheadend/Makefile | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/spk/bazarr/Makefile b/spk/bazarr/Makefile index ab29eb65899..17f2e7fb2b9 100644 --- a/spk/bazarr/Makefile +++ b/spk/bazarr/Makefile @@ -5,7 +5,8 @@ SPK_ICON = src/bazarr.png PYTHON_PACKAGE = python311 -SPK_DEPENDS = "python311>=3.11.4-7:ffmpeg" +SPK_DEPENDS = "python311>=3.11.4-7" +#SPK_DEPENDS = "python311>=3.11.4-7:ffmpeg" WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt diff --git a/spk/tvheadend/Makefile b/spk/tvheadend/Makefile index 0c1e9c2cd05..9b2a8b55cb8 100644 --- a/spk/tvheadend/Makefile +++ b/spk/tvheadend/Makefile @@ -54,7 +54,7 @@ export FFMPEG_DIR = $(realpath $(shell pwd)/../ffmpeg$(FFMPEG_VERSION)/work-$(AR ifneq ($(wildcard $(FFMPEG_DIR)),) export ADDITIONAL_LDFLAGS = -Wl,--rpath-link,$(FFMPEG_DIR)/lib -Wl,--rpath,/var/packages/ffmpeg$(subst 4,,$(FFMPEG_VERSION))/target/lib PRE_DEPEND_TARGET = tvheadend_pre_depend -SPK_DEPENDS := "$(SPK_DEPENDS):ffmpeg$(subst 4,,$(FFMPEG_VERSION))>$(shell sed -n 's/^SPK_VERS = \(.*\)/\1/p' $(shell pwd)/../ffmpeg$(FFMPEG_VERSION)/Makefile | cut -c -3)" +####SPK_DEPENDS := "$(SPK_DEPENDS):ffmpeg$(subst 4,,$(FFMPEG_VERSION))>$(shell sed -n 's/^SPK_VERS = \(.*\)/\1/p' $(shell pwd)/../ffmpeg$(FFMPEG_VERSION)/Makefile | cut -c -3)" endif include ../../mk/spksrc.spk.mk From adbebbc4bc9cd6f6c75eb2cb6349b4f74f686eda Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Thu, 3 Aug 2023 01:50:40 +0000 Subject: [PATCH 65/86] bazarr+tvheadend: Revert last change --- spk/bazarr/Makefile | 3 +-- spk/tvheadend/Makefile | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/spk/bazarr/Makefile b/spk/bazarr/Makefile index 17f2e7fb2b9..ab29eb65899 100644 --- a/spk/bazarr/Makefile +++ b/spk/bazarr/Makefile @@ -5,8 +5,7 @@ SPK_ICON = src/bazarr.png PYTHON_PACKAGE = python311 -SPK_DEPENDS = "python311>=3.11.4-7" -#SPK_DEPENDS = "python311>=3.11.4-7:ffmpeg" +SPK_DEPENDS = "python311>=3.11.4-7:ffmpeg" WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt diff --git a/spk/tvheadend/Makefile b/spk/tvheadend/Makefile index 9b2a8b55cb8..0c1e9c2cd05 100644 --- a/spk/tvheadend/Makefile +++ b/spk/tvheadend/Makefile @@ -54,7 +54,7 @@ export FFMPEG_DIR = $(realpath $(shell pwd)/../ffmpeg$(FFMPEG_VERSION)/work-$(AR ifneq ($(wildcard $(FFMPEG_DIR)),) export ADDITIONAL_LDFLAGS = -Wl,--rpath-link,$(FFMPEG_DIR)/lib -Wl,--rpath,/var/packages/ffmpeg$(subst 4,,$(FFMPEG_VERSION))/target/lib PRE_DEPEND_TARGET = tvheadend_pre_depend -####SPK_DEPENDS := "$(SPK_DEPENDS):ffmpeg$(subst 4,,$(FFMPEG_VERSION))>$(shell sed -n 's/^SPK_VERS = \(.*\)/\1/p' $(shell pwd)/../ffmpeg$(FFMPEG_VERSION)/Makefile | cut -c -3)" +SPK_DEPENDS := "$(SPK_DEPENDS):ffmpeg$(subst 4,,$(FFMPEG_VERSION))>$(shell sed -n 's/^SPK_VERS = \(.*\)/\1/p' $(shell pwd)/../ffmpeg$(FFMPEG_VERSION)/Makefile | cut -c -3)" endif include ../../mk/spksrc.spk.mk From bafb3a92770f4ec9489ec7b26f50234446136d97 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Thu, 3 Aug 2023 22:39:43 +0000 Subject: [PATCH 66/86] Update changelog to reflect OpenSSL 3.1.2 update --- spk/deluge/Makefile | 2 +- spk/duplicity/Makefile | 2 +- spk/python310/Makefile | 2 +- spk/python311/Makefile | 2 +- spk/rutorrent/Makefile | 2 +- spk/salt-master/Makefile | 2 +- spk/salt-minion/Makefile | 2 +- spk/znc/Makefile | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/spk/deluge/Makefile b/spk/deluge/Makefile index 13d9043b9a5..a0c98b83e23 100644 --- a/spk/deluge/Makefile +++ b/spk/deluge/Makefile @@ -15,7 +15,7 @@ MAINTAINER = SynoCommunity DESCRIPTION = Deluge is a cross platform BitTorrent client, based on libtorrent rasterbar. This package integrates both the deluge deamon \(deluged\), as well as its web counterpart \(deluge-web\), which serves the deluge web UI. DESCRIPTION_FRE = Deluge est un client BitTorrent multi-plateforme, basé sur libtorrent rasterbar. Ce paquet intègre à la fois le démon deluge \(deluged\) ainsi que son penchant web \(deluge-web\), desservant l\'interface utilisateur web deluge. STARTABLE = yes -CHANGELOG = "1. Update to latest github development commit
2. Update to libtorrent 2.0.9
3. Update to OpenSSL 3.1.1" +CHANGELOG = "1. Update to latest github development commit
2. Update to libtorrent 2.0.9
3. Update to OpenSSL 3.1.2" DISPLAY_NAME = Deluge HOMEPAGE = https://deluge-torrent.org diff --git a/spk/duplicity/Makefile b/spk/duplicity/Makefile index 997726a1c83..356e2597084 100644 --- a/spk/duplicity/Makefile +++ b/spk/duplicity/Makefile @@ -34,7 +34,7 @@ MAINTAINER = SynoCommunity DESCRIPTION = Encrypted bandwidth-efficient backup using the rsync algorithm. Also contains duply wrapper script (duply is supported only for DSM >= 6.0). STARTABLE = no DISPLAY_NAME = Duplicity -CHANGELOG = "1. Update duplicity to v1.2.3 and duply to v2.4.3
2. Update to openssl 3.1.1
3. Migrate to python 3.11.
4. Drop support for ARMv5 and ARMv7L archs." +CHANGELOG = "1. Update duplicity to v1.2.3 and duply to v2.4.3
2. Update to OpenSSL 3.1.2
3. Migrate to python 3.11.
4. Drop support for ARMv5 and ARMv7L archs." HOMEPAGE = https://duplicity.gitlab.io/duplicity-web/ LICENSE = GPLv2 diff --git a/spk/python310/Makefile b/spk/python310/Makefile index f169d360026..d368e85c301 100644 --- a/spk/python310/Makefile +++ b/spk/python310/Makefile @@ -13,7 +13,7 @@ DESCRIPTION_FRE = Language de programmation Python. DESCRIPTION_SPN = Lenguaje de programación Python. STARTABLE = no DISPLAY_NAME = Python 3.10 -CHANGELOG = "1. Update to Python 3.10.12
2. Update all packages to OpenSSL 3.1.1" +CHANGELOG = "1. Update to Python 3.10.12
2. Update all packages to OpenSSL 3.1.2" HOMEPAGE = https://www.python.org LICENSE = PSF diff --git a/spk/python311/Makefile b/spk/python311/Makefile index 8fcfc4f43e7..c18a03dd5dc 100644 --- a/spk/python311/Makefile +++ b/spk/python311/Makefile @@ -15,7 +15,7 @@ DESCRIPTION_FRE = Language de programmation Python. DESCRIPTION_SPN = Lenguaje de programación Python. STARTABLE = no DISPLAY_NAME = Python 3.11 -CHANGELOG = "1. Update to Python 3.11.4
2. Update all packages to OpenSSL 3.1.1" +CHANGELOG = "1. Update to Python 3.11.4
2. Update all packages to OpenSSL 3.1.2" HOMEPAGE = https://www.python.org LICENSE = PSF diff --git a/spk/rutorrent/Makefile b/spk/rutorrent/Makefile index 9923ed04214..bd593188eaa 100644 --- a/spk/rutorrent/Makefile +++ b/spk/rutorrent/Makefile @@ -27,7 +27,7 @@ DESCRIPTION = ruTorrent is a front-end for the popular Bittorrent client rTorren ADMIN_URL = /rutorrent/ STARTABLE = yes DISPLAY_NAME = ruTorrent -CHANGELOG = "
  1. Upgrade rutorrent to 4.1.5
  2. Update to Python 3.11
  3. Update to PHP 7.4
  4. Remove tools from procps-ng
  5. Fix support of DSM 7.
  6. Fix torrent creation wizard (\#5288)
  7. Add service port declarations
  8. Migrate to OpenSSL 3.1.1
" +CHANGELOG = "
  1. Upgrade rutorrent to 4.1.5
  2. Update to Python 3.11
  3. Update to PHP 7.4
  4. Remove tools from procps-ng
  5. Fix support of DSM 7.
  6. Fix torrent creation wizard (\#5288)
  7. Add service port declarations
  8. Migrate to OpenSSL 3.1.2
" HOMEPAGE = https://github.com/Novik/ruTorrent LICENSE = GPLv3 diff --git a/spk/salt-master/Makefile b/spk/salt-master/Makefile index 4e18db2c506..03b2afbe891 100644 --- a/spk/salt-master/Makefile +++ b/spk/salt-master/Makefile @@ -15,7 +15,7 @@ UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) MAINTAINER = SynoCommunity DESCRIPTION = Salt, a new approach to infrastructure management, is easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with those servers in seconds. DISPLAY_NAME = Salt Master -CHANGELOG = "1. Update to 3006.1
2. Migrate to Python 3.11
3. Migrate to OpenSSL 3.1.1" +CHANGELOG = "1. Update to 3006.1
2. Migrate to Python 3.11
3. Migrate to OpenSSL 3.1.2" HOMEPAGE = https://repo.saltproject.io/ LICENSE = Apache v2 diff --git a/spk/salt-minion/Makefile b/spk/salt-minion/Makefile index 295a624c9cf..c0c653e8fc9 100644 --- a/spk/salt-minion/Makefile +++ b/spk/salt-minion/Makefile @@ -12,7 +12,7 @@ UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) MAINTAINER = SynoCommunity DESCRIPTION = Salt, a new approach to infrastructure management, is easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with those servers in seconds. DISPLAY_NAME = Salt Minion -CHANGELOG = "1. Update to 3006.1
2. Migrate to Python 3.11
3. Migrate to OpenSSL 3.1.1" +CHANGELOG = "1. Update to 3006.1
2. Migrate to Python 3.11
3. Migrate to OpenSSL 3.1.2" HOMEPAGE = https://repo.saltproject.io/ LICENSE = Apache diff --git a/spk/znc/Makefile b/spk/znc/Makefile index be566697997..1c50c4b3b1a 100644 --- a/spk/znc/Makefile +++ b/spk/znc/Makefile @@ -12,7 +12,7 @@ DESCRIPTION = Advanced IRC bouncer. An IRC bouncer is nothing more than an IRC p DESCRIPTION_FRE = Bouncer IRC avancé. Un bouncer IRC n\’est en fait qu\’un proxy IRC. ZNC restera connecté en permanence à vos salons de discussions et fera office de passerelle entre vos clients et vos serveurs IRC. Vous pourrez, par exemple, consultez des messages diffusés en votre absence ou masquer votre identité. DESCRIPTION_SPN = IRC bouncer avanzado. Un IRC bouncer no es más que un proxy para IRC. ZNC estará siempre conectado a tus canales, y hará de puerta de enlace entre tus clientes y tus servidores IRC. Puedes, por ejemplo, consultar mensajes mientras estuviste desconectado o esconder tu identidad. DISPLAY_NAME = ZNC -CHANGELOG = "1. Update OpenSSL to v3.1.1.
2. Migrate to Python 3.11" +CHANGELOG = "1. Update OpenSSL 3.1.2.
2. Migrate to Python 3.11" STARTABLE = yes HOMEPAGE = https://wiki.znc.in/ From c13f6edfaca8d7a7ed38c6d3cafb8a916d904906 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Fri, 4 Aug 2023 10:32:53 +0000 Subject: [PATCH 67/86] salt-*: Fix for pydantic_core wheel on DSM < 7.0 --- spk/python311/Makefile | 9 +++++++++ spk/python311/src/requirements-crossenv.txt | 9 +++++++++ spk/salt-master/Makefile | 13 +++++++++---- spk/salt-minion/Makefile | 13 +++++++++---- 4 files changed, 36 insertions(+), 8 deletions(-) diff --git a/spk/python311/Makefile b/spk/python311/Makefile index c18a03dd5dc..20d840a4a0a 100644 --- a/spk/python311/Makefile +++ b/spk/python311/Makefile @@ -165,6 +165,15 @@ else WHEELS_CFLAGS += [pycryptodomex] -std=c99 endif +# [pydantic_core] +ifeq ($(call version_ge, $(TC_GCC), 4.9),1) +WHEELS_CFLAGS += [pydantic_core] -std=c11 +else +WHEELS_CFLAGS += [pydantic_core] -std=c99 +endif +# Requires path to maturin from crossenv +ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) + # WHEELS_TEST_ALL: Force testing all wheel building endif diff --git a/spk/python311/src/requirements-crossenv.txt b/spk/python311/src/requirements-crossenv.txt index 6fc6c06dcc9..ed31bfcec28 100644 --- a/spk/python311/src/requirements-crossenv.txt +++ b/spk/python311/src/requirements-crossenv.txt @@ -68,6 +68,15 @@ pycares==4.3.0 # PYCURL_CURL_CONFIG pycurl==7.45.2 +# [pydantic_core] +# Requires path to maturin from crossenv +# Requires WHEELS_CFLAGS = -std=c11 for = gcc-4.9 +# Requires WHEELS_CFLAGS = -std=c99 for < gcc-4.9 +# Require environment variables +# PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ +# PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ +pydantic_core==2.3.0 + # [PyNaCl] # Depends: cross/libsodium # Require environment variables diff --git a/spk/salt-master/Makefile b/spk/salt-master/Makefile index 03b2afbe891..07f49a06207 100644 --- a/spk/salt-master/Makefile +++ b/spk/salt-master/Makefile @@ -46,10 +46,6 @@ DEPENDS += cross/libyaml # [cryptography] DEPENDS += cross/cryptography -# [pydantic_core] -# Requires path to maturin from crossenv -ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) - include ../../mk/spksrc.python.mk # [pycryptodomex] @@ -59,6 +55,15 @@ else WHEELS_CFLAGS += [pycryptodomex] -std=c99 endif +# [pydantic_core] +ifeq ($(call version_ge, $(TC_GCC), 4.9),1) +WHEELS_CFLAGS += [pydantic_core] -std=c11 +else +WHEELS_CFLAGS += [pydantic_core] -std=c99 +endif +# Requires path to maturin from crossenv +ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) + .PHONY: salt-master_extra_install salt-master_extra_install: install -m 644 src/rsax931.py.patch $(STAGING_DIR)/share diff --git a/spk/salt-minion/Makefile b/spk/salt-minion/Makefile index c0c653e8fc9..62a52fd6cae 100644 --- a/spk/salt-minion/Makefile +++ b/spk/salt-minion/Makefile @@ -38,10 +38,6 @@ DEPENDS += cross/libyaml # [cryptography] DEPENDS += cross/cryptography -# [pydantic_core] -# Requires path to maturin from crossenv -ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) - include ../../mk/spksrc.python.mk # [pycryptodomex] @@ -51,6 +47,15 @@ else WHEELS_CFLAGS += [pycryptodomex] -std=c99 endif +# [pydantic_core] +ifeq ($(call version_ge, $(TC_GCC), 4.9),1) +WHEELS_CFLAGS += [pydantic_core] -std=c11 +else +WHEELS_CFLAGS += [pydantic_core] -std=c99 +endif +# Requires path to maturin from crossenv +ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) + .PHONY: salt-minion_extra_install salt-minion_extra_install: install -m 644 src/rsax931.py.patch $(STAGING_DIR)/share From 5814d023fa7e1bcca3bb88be595bde52add660f0 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Fri, 4 Aug 2023 11:25:14 +0000 Subject: [PATCH 68/86] python.mk: Must export PYTHON*, OPENSSL* and ADDITIONAL_LDFLAGS --- mk/spksrc.python.mk | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/mk/spksrc.python.mk b/mk/spksrc.python.mk index 000fc5ade52..da9bce6196b 100644 --- a/mk/spksrc.python.mk +++ b/mk/spksrc.python.mk @@ -6,19 +6,27 @@ # set default spk/python* path to use PYTHON_PACKAGE_ROOT = $(realpath $(shell pwd)/../$(PYTHON_PACKAGE)/work-$(ARCH)-$(TCVERSION)) + +ifneq ($(wildcard $(PYTHON_PACKAGE_ROOT)),) + +# set ld flags to rewrite for the library path used to access +# python libraries provided by the python package at destination +ifeq ($(strip $(PYTHON_STAGING_PREFIX)),) export PYTHON_PREFIX = /var/packages/$(PYTHON_PACKAGE)/target export PYTHON_STAGING_PREFIX = $(realpath $(PYTHON_PACKAGE_ROOT)/install/$(PYTHON_PREFIX)) +export ADDITIONAL_LDFLAGS += -Wl,--rpath-link,$(PYTHON_STAGING_PREFIX)/lib -Wl,--rpath,$(PYTHON_PREFIX)/lib +endif + +ifeq ($(strip $(OPENSSL_STAGING_PREFIX)),) export OPENSSL_PREFIX = $(PYTHON_PREFIX) export OPENSSL_STAGING_PREFIX = $(PYTHON_STAGING_PREFIX) +else +export ADDITIONAL_LDFLAGS += -Wl,--rpath-link,$(OPENSSL_STAGING_PREFIX)/lib -Wl,--rpath,$(OPENSSL_PREFIX)/lib +endif # get PYTHON_VERSION and other variables -include $(PYTHON_PACKAGE_ROOT)/python-cc.mk -ifneq ($(wildcard $(PYTHON_STAGING_PREFIX)),) -# set ld flags to rewrite for the library path used to access -# libraries provided by the python package at destination -export ADDITIONAL_LDFLAGS += -Wl,--rpath-link,$(PYTHON_STAGING_PREFIX)/lib -Wl,--rpath,$(PYTHON_PREFIX)/lib - # set PYTHONPATH for spksrc.python-module.mk PYTHONPATH = $(PYTHON_SITE_PACKAGES_NATIVE):$(PYTHON_LIB_NATIVE):$(PYTHON_STAGING_PREFIX)/lib/python$(PYTHON_VERSION)/site-packages/ From a3948cf44de8f2502c9e686c210029ad13b6340c Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Fri, 4 Aug 2023 11:26:40 +0000 Subject: [PATCH 69/86] nmap: Use --with-openssl when OPENSSL_STAGING_PREFIX exists --- cross/nmap/Makefile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cross/nmap/Makefile b/cross/nmap/Makefile index 6395c181206..f552f102b24 100644 --- a/cross/nmap/Makefile +++ b/cross/nmap/Makefile @@ -15,7 +15,12 @@ COMMENT = Nmap ("Network Mapper") is a free and open source utility for network LICENSE = https://svn.nmap.org/nmap/COPYING GNU_CONFIGURE = 1 -CONFIGURE_ARGS = --without-zenmap --with-liblua=included --with-libpcre=included +CONFIGURE_ARGS = --without-zenmap +CONFIGURE_ARGS += --with-liblua=included +CONFIGURE_ARGS += --with-libpcre=included +ifneq ($(wildcard $(OPENSSL_STAGING_PREFIX)),) +CONFIGURE_ARGS += --with-openssl=$(OPENSSL_STAGING_PREFIX) +endif ADDITIONAL_CPPFLAGS = -O3 From 4573e155d452796ef5f89a426f196d3ebaa615f8 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sun, 6 Aug 2023 20:58:34 +0000 Subject: [PATCH 70/86] salt-master,salt-minion: Remove support for ARMv7L (gcc <= 4.9) --- spk/salt-master/Makefile | 6 +----- spk/salt-minion/Makefile | 6 +----- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/spk/salt-master/Makefile b/spk/salt-master/Makefile index 07f49a06207..94b7c655e43 100644 --- a/spk/salt-master/Makefile +++ b/spk/salt-master/Makefile @@ -10,7 +10,7 @@ WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt # TODO: Enable as website to provide salt-master status DEPENDS = cross/saltgui -UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) +UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) $(ARMv7L_ARCHS) MAINTAINER = SynoCommunity DESCRIPTION = Salt, a new approach to infrastructure management, is easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with those servers in seconds. @@ -56,11 +56,7 @@ WHEELS_CFLAGS += [pycryptodomex] -std=c99 endif # [pydantic_core] -ifeq ($(call version_ge, $(TC_GCC), 4.9),1) WHEELS_CFLAGS += [pydantic_core] -std=c11 -else -WHEELS_CFLAGS += [pydantic_core] -std=c99 -endif # Requires path to maturin from crossenv ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) diff --git a/spk/salt-minion/Makefile b/spk/salt-minion/Makefile index 62a52fd6cae..6afa0cf18bd 100644 --- a/spk/salt-minion/Makefile +++ b/spk/salt-minion/Makefile @@ -7,7 +7,7 @@ PYTHON_PACKAGE = python311 SPK_DEPENDS = "python311>=3.11.4-7" WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt -UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) +UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) $(ARMv7L_ARCHS) MAINTAINER = SynoCommunity DESCRIPTION = Salt, a new approach to infrastructure management, is easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with those servers in seconds. @@ -48,11 +48,7 @@ WHEELS_CFLAGS += [pycryptodomex] -std=c99 endif # [pydantic_core] -ifeq ($(call version_ge, $(TC_GCC), 4.9),1) WHEELS_CFLAGS += [pydantic_core] -std=c11 -else -WHEELS_CFLAGS += [pydantic_core] -std=c99 -endif # Requires path to maturin from crossenv ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) From 6dcbedd638431a1eed6648d335ebcbc618e197fe Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sun, 6 Aug 2023 21:00:14 +0000 Subject: [PATCH 71/86] sickchill: Update changelog to reflect OpenSSL 3.1.2 --- spk/sickchill/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spk/sickchill/Makefile b/spk/sickchill/Makefile index e8c288082bc..444c182ba6c 100644 --- a/spk/sickchill/Makefile +++ b/spk/sickchill/Makefile @@ -35,7 +35,7 @@ MAINTAINER = miigotu DESCRIPTION = Automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic. STARTABLE = yes DISPLAY_NAME = SickChill -CHANGELOG = "1. A wheel based install, git installs are not supported by upstream.
2. Python update to 3.11
3. Deprecated ARMv5 (88f628x) as no compiler support for updated dependencies
4. Migrate to OpenSSL 3.1.1" +CHANGELOG = "1. A wheel based install, git installs are not supported by upstream.
2. Python update to 3.11
3. Deprecated ARMv5 (88f628x) as no compiler support for updated dependencies
4. Migrate to OpenSSL 3.1.2" HOMEPAGE = https://sickchill.github.io/ LICENSE = GPLv3+ From 0851ba46152854025ec2260340ab406caa220f24 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sun, 6 Aug 2023 22:06:07 +0000 Subject: [PATCH 72/86] znc: use spksrc.python.mk to reuse prebuilt python311 --- cross/znc/Makefile | 9 +++++---- cross/znc/PLIST | 0 spk/znc/Makefile | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) mode change 100755 => 100644 cross/znc/PLIST diff --git a/cross/znc/Makefile b/cross/znc/Makefile index 96a74e9fce1..7a5203f3ea5 100644 --- a/cross/znc/Makefile +++ b/cross/znc/Makefile @@ -5,8 +5,8 @@ PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://znc.in/releases/archive PKG_DIR = $(PKG_NAME)-$(PKG_VERS) -BUILD_DEPENDS = cross/python310 -DEPENDS = cross/openssl3 cross/libicu +BUILD_DEPENDS = cross/python311 +DEPENDS = cross/openssl3 cross/libicu cross/zlib # configure: No compiler with C++11 support was found # error: Upgrade your compiler. GCC 4.8+ and Clang 3.2+ are known to work. @@ -17,7 +17,8 @@ COMMENT = Advanced IRC bouncer LICENSE = Apache 2.0 GNU_CONFIGURE = 1 -CONFIGURE_ARGS = --enable-python +CONFIGURE_ARGS = --enable-python +CONFIGURE_ARGS += --enable-openssl ifneq ($(wildcard modules/*),) POST_INSTALL_TARGET = znc_post_install @@ -57,5 +58,5 @@ znc_post_install: @chmod +x $(WORK_DIR)/$(PKG_DIR)/znc-buildmod @rm -fr $(WORK_DIR)/modules @cp -R modules $(WORK_DIR)/ - @cd $(WORK_DIR)/modules && PATH=$(WORK_DIR)/$(PKG_DIR) INCLUDES=-I$(STAGING_INSTALL_PREFIX)/include/znc prefix=$(STAGING_INSTALL_PREFIX) znc-buildmod $(EXTRA_MODULES) + @cd $(WORK_DIR)/modules && PATH=$(WORK_DIR)/$(PKG_DIR) INCLUDES="-I$(STAGING_INSTALL_PREFIX)/include/znc -I$(OPENSSL_STAGING_PREFIX)/include" prefix=$(STAGING_INSTALL_PREFIX) znc-buildmod $(EXTRA_MODULES) @install -m 644 $(WORK_DIR)/modules/*.so $(STAGING_INSTALL_PREFIX)/lib/znc/ diff --git a/cross/znc/PLIST b/cross/znc/PLIST old mode 100755 new mode 100644 diff --git a/spk/znc/Makefile b/spk/znc/Makefile index 1c50c4b3b1a..7010c45df6f 100644 --- a/spk/znc/Makefile +++ b/spk/znc/Makefile @@ -5,6 +5,7 @@ SPK_ICON = src/znc.png DSM_UI_DIR = app DEPENDS = cross/$(SPK_NAME) +PYTHON_PACKAGE = python311 SPK_DEPENDS = "python311>=3.11.4-7" MAINTAINER = worstje @@ -45,7 +46,7 @@ ADMIN_PORT = ${SERVICE_PORT} POST_STRIP_TARGET = znc_extra_install -include ../../mk/spksrc.spk.mk +include ../../mk/spksrc.python.mk .PHONY: znc_extra_install znc_extra_install: From dbab8086149b2425bc2e9079177bfac4283e5149 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Tue, 8 Aug 2023 21:27:00 +0000 Subject: [PATCH 73/86] wheels: Move pip cache now per-arch under $(WORK_DIR)/pip --- mk/spksrc.common.mk | 2 +- mk/spksrc.directories.mk | 2 +- mk/spksrc.wheel.mk | 18 +++++++++++++----- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/mk/spksrc.common.mk b/mk/spksrc.common.mk index 68a0cc6ee35..75f56ef0cc0 100644 --- a/mk/spksrc.common.mk +++ b/mk/spksrc.common.mk @@ -20,7 +20,7 @@ PIP ?= pip PIP_SYSTEM = $(shell which pip) # Why ask for the same thing twice? Always cache downloads -PIP_CACHE_OPT ?= --cache-dir $(PIP_DIR) +PIP_CACHE_OPT ?= --cache-dir $(PIP_CACHE_DIR) PIP_WHEEL_ARGS = wheel --disable-pip-version-check --no-binary :all: $(PIP_CACHE_OPT) --no-deps --wheel-dir $(WHEELHOUSE) # Available languages diff --git a/mk/spksrc.directories.mk b/mk/spksrc.directories.mk index 6d4c358fccd..69d5217d689 100644 --- a/mk/spksrc.directories.mk +++ b/mk/spksrc.directories.mk @@ -12,7 +12,7 @@ PWD := $(shell pwd) BASE_DISTRIB_DIR = $(PWD)/../../distrib -PIP_DIR = $(BASE_DISTRIB_DIR)/pip +PIP_CACHE_DIR = $(WORK_DIR)/pip TOOLCHAIN_DIR = $(BASE_DISTRIB_DIR)/toolchain TOOLKIT_DIR = $(BASE_DISTRIB_DIR)/toolkit KERNEL_DIR = $(BASE_DISTRIB_DIR)/kernel diff --git a/mk/spksrc.wheel.mk b/mk/spksrc.wheel.mk index 103dba91f4a..eb9bfb0e893 100644 --- a/mk/spksrc.wheel.mk +++ b/mk/spksrc.wheel.mk @@ -39,14 +39,22 @@ endif wheel_msg_target: @$(MSG) "Processing wheels of $(NAME)" -# PIP distributions caching requires that the user running it owns the cache directory. -# PIP_CACHE_OPT is default "--cache-dir $(PIP_DIR)", PIP_DIR defaults to $(DISTRIB_DIR)/pip, so -# will move if the user chooses a custom persistent distribution dir for caching downloads between -# containers and builds. +# +# PIP_CACHE_OPT defaults to "--cache-dir $(PIP_CACHE_DIR)" +# PIP_CACHE_DIR defaults to $(WORK_DIR)/pip +# +# This allows using "make wheelclean" while keeping a per-arch +# specific cache of already built wheels thus accelerating +# subsequent builds. +# +# Also this avoid sharing a cache amongst all builds whereas +# building a wheel for x64-6.2.4 may look successfull while +# it actually used a cache built from x64-7.1 +# pre_wheel_target: wheel_msg_target ifneq ($(strip $(WHEELS)),) @if [ -n "$(PIP_CACHE_OPT)" ] ; then \ - mkdir -p $(PIP_DIR) ; \ + mkdir -p $(PIP_CACHE_DIR) ; \ fi; \ mkdir -p $(WHEELHOUSE) ; \ for wheel in $(WHEELS) ; do \ From 3faa3845896b454cdf22a33b66cc50e5386f1d98 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 9 Aug 2023 22:59:20 +0000 Subject: [PATCH 74/86] cryptography: Update from version 41.0.2 to 41.0.3 --- cross/cryptography/Makefile | 2 +- cross/cryptography/digests | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cross/cryptography/Makefile b/cross/cryptography/Makefile index 104084e85be..f87252594f6 100644 --- a/cross/cryptography/Makefile +++ b/cross/cryptography/Makefile @@ -1,5 +1,5 @@ PKG_NAME = cryptography -PKG_VERS = 41.0.2 +PKG_VERS = 41.0.3 PKG_EXT = tar.gz PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://files.pythonhosted.org/packages/source/c/$(PKG_NAME) diff --git a/cross/cryptography/digests b/cross/cryptography/digests index eed4511ef60..c4cb5ddc92d 100644 --- a/cross/cryptography/digests +++ b/cross/cryptography/digests @@ -1,3 +1,3 @@ -cryptography-41.0.2.tar.gz SHA1 0e07b4c81ab916b57d305a337deaea0a150aeb1a -cryptography-41.0.2.tar.gz SHA256 7d230bf856164de164ecb615ccc14c7fc6de6906ddd5b491f3af90d3514c925c -cryptography-41.0.2.tar.gz MD5 218dde9757c27459271235acd993b49c +cryptography-41.0.3.tar.gz SHA1 80ad50220559469dc0cd43a7490d526028aecc54 +cryptography-41.0.3.tar.gz SHA256 6d192741113ef5e30d89dcb5b956ef4e1578f304708701b8b73d38e3e1461f34 +cryptography-41.0.3.tar.gz MD5 fbf930acd8de95780604c40c4e817a74 From c3ed9d4932ed3ce9d6c7ca28f4785bbc77518b90 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 9 Aug 2023 23:49:01 +0000 Subject: [PATCH 75/86] wheels: Add pre-download wheel function to re-use source files --- mk/spksrc.common.mk | 10 +++++++- mk/spksrc.directories.mk | 1 + mk/spksrc.spk.mk | 6 +++++ mk/spksrc.wheel-env.mk | 3 +++ mk/spksrc.wheel.mk | 49 +++++++++++++++++++++++++++++++++++++--- 5 files changed, 65 insertions(+), 4 deletions(-) diff --git a/mk/spksrc.common.mk b/mk/spksrc.common.mk index 75f56ef0cc0..16d3dabd5c5 100644 --- a/mk/spksrc.common.mk +++ b/mk/spksrc.common.mk @@ -20,8 +20,16 @@ PIP ?= pip PIP_SYSTEM = $(shell which pip) # Why ask for the same thing twice? Always cache downloads -PIP_CACHE_OPT ?= --cache-dir $(PIP_CACHE_DIR) +PIP_CACHE_OPT ?= --find-links $(PIP_DISTRIB_DIR) --cache-dir $(PIP_CACHE_DIR) PIP_WHEEL_ARGS = wheel --disable-pip-version-check --no-binary :all: $(PIP_CACHE_OPT) --no-deps --wheel-dir $(WHEELHOUSE) +# Adding --no-index only for crossenv +# to force using localy downloaded version +PIP_WHEEL_ARGS_CROSSENV = $(PIP_WHEEL_ARGS) --no-index + +# BROKEN: https://github.com/pypa/pip/issues/1884 +# Current implementation is a work-around for the +# lack of proper source download support from pip +PIP_DOWNLOAD_ARGS = download --no-index --find-links $(PIP_DISTRIB_DIR) --disable-pip-version-check --no-binary :all: --no-deps --dest $(PIP_DISTRIB_DIR) --no-build-isolation --exists-action w # Available languages LANGUAGES = chs cht csy dan enu fre ger hun ita jpn krn nld nor plk ptb ptg rus spn sve trk diff --git a/mk/spksrc.directories.mk b/mk/spksrc.directories.mk index 69d5217d689..f02c506a9e9 100644 --- a/mk/spksrc.directories.mk +++ b/mk/spksrc.directories.mk @@ -12,6 +12,7 @@ PWD := $(shell pwd) BASE_DISTRIB_DIR = $(PWD)/../../distrib +PIP_DISTRIB_DIR = $(DISTRIB_DIR)/pip PIP_CACHE_DIR = $(WORK_DIR)/pip TOOLCHAIN_DIR = $(BASE_DISTRIB_DIR)/toolchain TOOLKIT_DIR = $(BASE_DISTRIB_DIR)/toolkit diff --git a/mk/spksrc.spk.mk b/mk/spksrc.spk.mk index 28a9668cfdc..517d21ec0a0 100644 --- a/mk/spksrc.spk.mk +++ b/mk/spksrc.spk.mk @@ -514,6 +514,12 @@ wheelclean: spkclean work-*/wheelhouse \ work-*/install/var/packages/**/target/share/wheelhouse +wheelcleancache: wheelclean + rm -fr work-*/pip + +wheelcleanall: wheelcleancache + rm -fr ../../distrib/pip + all: package ifneq ($(filter 1 on ON,$(PSTAT)),) @$(MSG) MAKELEVEL: $(MAKELEVEL), PARALLEL_MAKE: $(PARALLEL_MAKE), ARCH: $(ARCH)-$(TCVERSION) >> $(PSTAT_LOG) diff --git a/mk/spksrc.wheel-env.mk b/mk/spksrc.wheel-env.mk index f8d679e7db8..c1dff9b7bf6 100644 --- a/mk/spksrc.wheel-env.mk +++ b/mk/spksrc.wheel-env.mk @@ -30,6 +30,9 @@ ENV += OPENSSL_INCLUDE_DIR=$(OPENSSL_STAGING_PREFIX)/include/ # Enable pure-python packaging ifeq ($(strip $(WHEELS_PURE_PYTHON_PACKAGING_ENABLE)),) WHEELS_PURE_PYTHON_PACKAGING_ENABLE = FALSE +WHEELS_2_DOWNLOAD = $(patsubst %$(WHEELS_PURE_PYTHON),,$(WHEELS)) +else +WHEELS_2_DOWNLOAD = $(WHEELS) endif ifeq ($(strip $(WHEELS_DEFAULT)),) diff --git a/mk/spksrc.wheel.mk b/mk/spksrc.wheel.mk index eb9bfb0e893..a9b7a908992 100644 --- a/mk/spksrc.wheel.mk +++ b/mk/spksrc.wheel.mk @@ -35,6 +35,49 @@ else $(POST_WHEEL_TARGET): $(WHEEL_TARGET) endif +wheeldownload: SHELL:=/bin/bash +wheeldownload: + @mkdir -p $(PIP_DISTRIB_DIR) + @if [ -n "$(WHEELS_2_DOWNLOAD)" ] ; then \ + for wheel in $(WHEELS_2_DOWNLOAD) ; \ + do \ + $(MSG) "Downloading wheels from $$wheel ..." ; \ + # BROKEN: https://github.com/pypa/pip/issues/1884 ; \ + # xargs -n 1 $(PIP_SYSTEM) $(PIP_DOWNLOAD_ARGS) 2>/dev/null < $$wheel || true ; \ + while IFS= read -r requirement ; \ + do \ + if [ "$$(grep -s egg <<< $${requirement})" ] ; then \ + name=$$(echo $${requirement#*egg=} | cut -f1 -d=) ; \ + url=$${requirement} ; \ + else \ + name=$${requirement%%[<>=]=*} ; \ + url="" ; \ + fi ; \ + version=$$(echo $${requirement#*[<>=]=} | cut -f1 -d' ') ; \ + $(MSG) pip download [$${name}], version [$${version}]$$([ "$${url}" ] && echo ", URL: [$${url}] ") ; \ + if [ "$$(grep -s egg <<< $${requirement})" ] ; then \ + echo "WARNING: Skipping download URL - Downloaded at build time" ; \ + # Will be re-downloaded anyway at build time ; \ + # $(PIP) $(PIP_DOWNLOAD_ARGS) $${requirement} 2>/dev/null ; \ + else \ + query="curl -s https://pypi.org/pypi/$${name}/json" ; \ + query+=" | jq -r '.releases[][]" ; \ + query+=" | select(.packagetype==\"sdist\")" ; \ + query+=" | select((.filename|test(\"-$${version}.tar.gz\")) or (.filename|test(\"-$${version}.zip\"))) | .url'" ; \ + localFile=$$(basename $$(eval $${query} 2>/dev/null) 2 Date: Wed, 9 Aug 2023 23:51:54 +0000 Subject: [PATCH 76/86] github-action: Active pre-download wheels --- .github/actions/download.sh | 19 +++++++++++++++++++ .github/workflows/build.yml | 2 ++ 2 files changed, 21 insertions(+) diff --git a/.github/actions/download.sh b/.github/actions/download.sh index 98276420e70..a0faea569b4 100755 --- a/.github/actions/download.sh +++ b/.github/actions/download.sh @@ -6,9 +6,11 @@ # # Functions: # - Download all referenced native and cross source files for packages to build. +# - Download all referenced python wheels needed to build. set -o pipefail +# Download regular cross/* sources if [ -z "${DOWNLOAD_PACKAGES}" ]; then echo "===> No packages to download. <===" else @@ -19,3 +21,20 @@ else make -C ${download} download done fi + +echo "" + +# Download python wheel sources files +build_packages="${NOARCH_PACKAGES} ${ARCH_PACKAGES}" + +if [ -z "${build_packages}" ]; then + echo "===> No wheels to download. <===" +else + for package in ${build_packages} + do + echo "===> Download wheels: ${package}" + make -C spk/${package} wheeldownload + done +fi + +echo "" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 48c8d904f43..1455f2bd6a4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -71,6 +71,8 @@ jobs: run: ./.github/actions/download.sh env: DOWNLOAD_PACKAGES: ${{ steps.dependencies.outputs.download_packages }} + ARCH_PACKAGES: ${{ needs.prepare.outputs.arch_packages }} + NOARCH_PACKAGES: ${{ needs.prepare.outputs.noarch_packages }} build: name: Build From af9f92040de70a9448711d587417fc6ae39de063 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Wed, 9 Aug 2023 23:58:30 +0000 Subject: [PATCH 77/86] sabnzbd: use spksrc.python.mk to reuse prebuilt python311 --- spk/sabnzbd/Makefile | 11 +++++++---- spk/sabnzbd/src/requirements-crossenv.txt | 1 - 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/spk/sabnzbd/Makefile b/spk/sabnzbd/Makefile index de2ce031ff3..ae165b7dba6 100644 --- a/spk/sabnzbd/Makefile +++ b/spk/sabnzbd/Makefile @@ -1,9 +1,9 @@ SPK_NAME = sabnzbd SPK_VERS = 4.0.3 -SPK_REV = 63 +SPK_REV = 64 SPK_ICON = src/sabnzbd.png -BUILD_DEPENDS = cross/python311 +PYTHON_PACKAGE = python311 DEPENDS = cross/busybox cross/par2cmdline cross/unrar cross/p7zip cross/$(SPK_NAME) SPK_DEPENDS = "python311>=3.11.4-7" @@ -15,7 +15,7 @@ DESCRIPTION_FRE = SABnzbd rend Usenet aussi simple et automatisé que possible. DESCRIPTION_SPN = SABnzbd hace que Usenet sea lo más simple posible, automatizando todo lo que se puede. Todo lo que tienes que hacer es agregar un archivo .nzb. SABnzbd empieza desde ahí. Tus archivos serán automáticamente descargados, verificados, reparados, descomprimidos y archivados. DISPLAY_NAME = SABnzbd STARTABLE = yes -CHANGELOG = "Update SABnzbd to 4.0.3." +CHANGELOG = "Update SABnzbd to 4.0.3
Update to OpenSSL 3.1.2" HOMEPAGE = https://sabnzbd.org LICENSE = GPL @@ -41,7 +41,10 @@ ENV += BUSYBOX_CONFIG="nice ionice" SPK_COMMANDS = bin/7za -include ../../mk/spksrc.spk.mk +# [cryptography] +DEPENDS += cross/cryptography + +include ../../mk/spksrc.python.mk .PHONY: sabnzbd_extra_install sabnzbd_extra_install: diff --git a/spk/sabnzbd/src/requirements-crossenv.txt b/spk/sabnzbd/src/requirements-crossenv.txt index 2541ff92b06..501a0211495 100644 --- a/spk/sabnzbd/src/requirements-crossenv.txt +++ b/spk/sabnzbd/src/requirements-crossenv.txt @@ -1,6 +1,5 @@ # cross-compiled wheels cffi==1.15.1 Cheetah3==3.2.6 -cryptography==3.3.2 sabctools==7.0.2 ujson==5.8.0 From 20e83b81af4ecbdad14e300036e68b0b22057380 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Thu, 10 Aug 2023 06:50:37 -0400 Subject: [PATCH 78/86] Update for ; do formatting .github/actions/download.sh Co-authored-by: hgy59 --- .github/actions/download.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/actions/download.sh b/.github/actions/download.sh index a0faea569b4..29ae15e35d6 100755 --- a/.github/actions/download.sh +++ b/.github/actions/download.sh @@ -30,8 +30,7 @@ build_packages="${NOARCH_PACKAGES} ${ARCH_PACKAGES}" if [ -z "${build_packages}" ]; then echo "===> No wheels to download. <===" else - for package in ${build_packages} - do + for package in ${build_packages}; do echo "===> Download wheels: ${package}" make -C spk/${package} wheeldownload done From 1042156cbfa0e85c343ec01b2a58e801acf60151 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Thu, 10 Aug 2023 10:54:09 +0000 Subject: [PATCH 79/86] wheel.mk: Update if, for and while; do code formatting --- mk/spksrc.wheel.mk | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/mk/spksrc.wheel.mk b/mk/spksrc.wheel.mk index a9b7a908992..b0f469621f2 100644 --- a/mk/spksrc.wheel.mk +++ b/mk/spksrc.wheel.mk @@ -39,13 +39,11 @@ wheeldownload: SHELL:=/bin/bash wheeldownload: @mkdir -p $(PIP_DISTRIB_DIR) @if [ -n "$(WHEELS_2_DOWNLOAD)" ] ; then \ - for wheel in $(WHEELS_2_DOWNLOAD) ; \ - do \ + for wheel in $(WHEELS_2_DOWNLOAD) ; do \ $(MSG) "Downloading wheels from $$wheel ..." ; \ # BROKEN: https://github.com/pypa/pip/issues/1884 ; \ # xargs -n 1 $(PIP_SYSTEM) $(PIP_DOWNLOAD_ARGS) 2>/dev/null < $$wheel || true ; \ - while IFS= read -r requirement ; \ - do \ + while IFS= read -r requirement ; do \ if [ "$$(grep -s egg <<< $${requirement})" ] ; then \ name=$$(echo $${requirement#*egg=} | cut -f1 -d=) ; \ url=$${requirement} ; \ From 0bb729ec4ca7d19f6320e3ae389aa95ed7dc5078 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Thu, 10 Aug 2023 11:07:05 +0000 Subject: [PATCH 80/86] wheel.mk: Add message if now wheels gets downloaded --- mk/spksrc.wheel.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mk/spksrc.wheel.mk b/mk/spksrc.wheel.mk index b0f469621f2..5340d54f0bd 100644 --- a/mk/spksrc.wheel.mk +++ b/mk/spksrc.wheel.mk @@ -38,7 +38,7 @@ endif wheeldownload: SHELL:=/bin/bash wheeldownload: @mkdir -p $(PIP_DISTRIB_DIR) - @if [ -n "$(WHEELS_2_DOWNLOAD)" ] ; then \ + @if [ -n "$(WHEELS)" ] ; then \ for wheel in $(WHEELS_2_DOWNLOAD) ; do \ $(MSG) "Downloading wheels from $$wheel ..." ; \ # BROKEN: https://github.com/pypa/pip/issues/1884 ; \ @@ -75,6 +75,8 @@ wheeldownload: fi ; \ done < <(grep -v -e "^\#" -e "^\$$" $${wheel}) || true ; \ done \ + else \ + $(MSG) "No wheels to download for [$(SPK_NAME)]" ; \ fi wheel_msg_target: From 18737d32ad32f0820ea5fcda0d531f3f5f1a0b35 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Fri, 11 Aug 2023 17:15:02 +0000 Subject: [PATCH 81/86] wheel: Cleanup cross type wheels as well using wheelclean --- mk/spksrc.spk.mk | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mk/spksrc.spk.mk b/mk/spksrc.spk.mk index 517d21ec0a0..b271af77f39 100644 --- a/mk/spksrc.spk.mk +++ b/mk/spksrc.spk.mk @@ -513,6 +513,16 @@ wheelclean: spkclean rm -fr work-*/.wheel_done \ work-*/wheelhouse \ work-*/install/var/packages/**/target/share/wheelhouse + @make --no-print-directory dependency-flat | sort -u | grep -v spk/ | while read depend ; do \ + makefile="../../$${depend}/Makefile" ; \ + if grep -q spksrc.python-wheel.mk $${makefile} ; then \ + pkgstr=$$(grep ^PKG_NAME $${makefile}) ; \ + pkgname=$$(echo $${pkgstr#*=} | xargs) ; \ + echo "rm -fr work-*/$${pkgname}\\n work-*/.$${pkgname}-*" ; \ + rm -fr work-*/$${pkgname} \ + work-*/.$${pkgname}-* ; \ + fi ; \ + done wheelcleancache: wheelclean rm -fr work-*/pip From 933c240d0aaced98bc73a70fbd445efc0cc38cb0 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sat, 12 Aug 2023 11:37:21 +0000 Subject: [PATCH 82/86] py310-311: Fix regression on master blocking build from cross --- cross/python310/Makefile | 2 +- cross/python311/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cross/python310/Makefile b/cross/python310/Makefile index 55adf096da2..9bd50a18056 100644 --- a/cross/python310/Makefile +++ b/cross/python310/Makefile @@ -150,7 +150,7 @@ endif python310_post_install: $(WORK_DIR)/python-cc.mk mkdir -p $(PYTHON_LIB_CROSS) cp -R $(HOSTPYTHON_LIB_NATIVE) $(PYTHON_LIB_CROSS)/../ - @$(RUN) $(PYTHON_NATIVE) -m crossenv $(STAGING_INSTALL_PREFIX)/bin/python$(PKG_VERS_MAJOR_MINOR) --cc $${CC} --cxx $${CXX} --ar $${AR} --sysroot $${SYSROOT} --env LIBRARY_PATH= --manylinux manylinux2014 $(WORK_DIR)/crossenv/ + @$(RUN) $(PYTHON_NATIVE) -m crossenv $(STAGING_INSTALL_PREFIX)/bin/python$(PKG_VERS_MAJOR_MINOR) --cc $(TC_PATH)$(TC_PREFIX)gcc --cxx $(TC_PATH)$(TC_PREFIX)c++ --ar $(TC_PATH)$(TC_PREFIX)ar --sysroot $(TC_SYSROOT) --env LIBRARY_PATH= --manylinux manylinux2014 $(WORK_DIR)/crossenv/ . $(WORK_DIR)/crossenv/bin/activate && $(RUN) wget https://bootstrap.pypa.io/get-pip.py . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-python get-pip.py "pip==23.1.2" --no-setuptools --no-wheel --disable-pip-version-check . $(WORK_DIR)/crossenv/bin/activate && $(RUN) python get-pip.py "pip==23.1.2" --no-setuptools --no-wheel --disable-pip-version-check diff --git a/cross/python311/Makefile b/cross/python311/Makefile index 2543b330f21..b1200366827 100644 --- a/cross/python311/Makefile +++ b/cross/python311/Makefile @@ -161,7 +161,7 @@ endif python311_post_install: $(WORK_DIR)/python-cc.mk mkdir -p $(PYTHON_LIB_CROSS) cp -R $(HOSTPYTHON_LIB_NATIVE) $(PYTHON_LIB_CROSS)/../ - @$(RUN) $(PYTHON_NATIVE) -m crossenv $(STAGING_INSTALL_PREFIX)/bin/python$(PKG_VERS_MAJOR_MINOR) --cc $${CC} --cxx $${CXX} --ar $${AR} --sysroot $${SYSROOT} --env LIBRARY_PATH= --manylinux manylinux2014 $(WORK_DIR)/crossenv/ + @$(RUN) $(PYTHON_NATIVE) -m crossenv $(STAGING_INSTALL_PREFIX)/bin/python$(PKG_VERS_MAJOR_MINOR) --cc $(TC_PATH)$(TC_PREFIX)gcc --cxx $(TC_PATH)$(TC_PREFIX)c++ --ar $(TC_PATH)$(TC_PREFIX)ar --sysroot $(TC_SYSROOT) --env LIBRARY_PATH= --manylinux manylinux2014 $(WORK_DIR)/crossenv/ . $(WORK_DIR)/crossenv/bin/activate && $(RUN) wget https://bootstrap.pypa.io/get-pip.py . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-python get-pip.py "pip==23.1.2" --no-setuptools --no-wheel --disable-pip-version-check . $(WORK_DIR)/crossenv/bin/activate && $(RUN) python get-pip.py "pip==23.1.2" --no-setuptools --no-wheel --disable-pip-version-check From 20694ee31fbd9c27f6e71e77ca69eedbd6dd026b Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sat, 12 Aug 2023 12:00:24 +0000 Subject: [PATCH 83/86] py310: Fix building for OLD_PPC_ARCHS (ppc853x-5.2) --- cross/python310/Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cross/python310/Makefile b/cross/python310/Makefile index 9bd50a18056..0a9d8ee8487 100644 --- a/cross/python310/Makefile +++ b/cross/python310/Makefile @@ -136,10 +136,12 @@ python310_install: CROSSENV_WHEELS = setuptools-rust==1.6.0 CROSSENV_WHEELS += setuptools-scm==7.1.0 CROSSENV_WHEELS += cffi==1.15.1 -CROSSENV_WHEELS += poetry==1.5.1 CROSSENV_WHEELS += Cython==0.29.35 CROSSENV_WHEELS += flit==3.9.0 -CROSSENV_WHEELS += cryptography==41.0.1 +ifneq ($(findstring $(ARCH),$(OLD_PPC_ARCHS)),$(ARCH)) +CROSSENV_WHEELS += cryptography==41.0.3 +CROSSENV_WHEELS += poetry==1.5.1 +endif ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(OLD_PPC_ARCHS)),$(ARCH)) CROSSENV_WHEELS += maturin==1.1.0 endif From 00990c45b158f25a83daf93b5367376716772997 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sat, 12 Aug 2023 12:00:51 +0000 Subject: [PATCH 84/86] py311: Update cryptography to 41.0.3 --- cross/python311/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cross/python311/Makefile b/cross/python311/Makefile index b1200366827..b94b0c03656 100644 --- a/cross/python311/Makefile +++ b/cross/python311/Makefile @@ -130,7 +130,7 @@ python311_install: # default wheels to install in crossenv CROSSENV_WHEELS = cffi==1.15.1 -CROSSENV_WHEELS += cryptography==41.0.2 +CROSSENV_WHEELS += cryptography==41.0.3 CROSSENV_WHEELS += Cython==0.29.35 CROSSENV_WHEELS += flit==3.9.0 CROSSENV_WHEELS += poetry==1.5.1 From 01c602d52f21d954e697a65973b8b466e4ff6751 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sat, 12 Aug 2023 13:03:16 +0000 Subject: [PATCH 85/86] spk.mk: Fix wheelclean missing * for directories from cross --- mk/spksrc.spk.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mk/spksrc.spk.mk b/mk/spksrc.spk.mk index b271af77f39..f63a8a7f10a 100644 --- a/mk/spksrc.spk.mk +++ b/mk/spksrc.spk.mk @@ -518,8 +518,8 @@ wheelclean: spkclean if grep -q spksrc.python-wheel.mk $${makefile} ; then \ pkgstr=$$(grep ^PKG_NAME $${makefile}) ; \ pkgname=$$(echo $${pkgstr#*=} | xargs) ; \ - echo "rm -fr work-*/$${pkgname}\\n work-*/.$${pkgname}-*" ; \ - rm -fr work-*/$${pkgname} \ + echo "rm -fr work-*/$${pkgname}*\\n work-*/.$${pkgname}-*" ; \ + rm -fr work-*/$${pkgname}* \ work-*/.$${pkgname}-* ; \ fi ; \ done From ed69c3126d3868acccb0706e14e211f9bb562560 Mon Sep 17 00:00:00 2001 From: Vincent Fortier Date: Sat, 12 Aug 2023 13:05:46 +0000 Subject: [PATCH 86/86] salt-*: Fix duplicate referrence to cryptography --- spk/salt-master/src/requirements-pure.txt | 2 +- spk/salt-minion/src/requirements-pure.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/spk/salt-master/src/requirements-pure.txt b/spk/salt-master/src/requirements-pure.txt index 46dfb1d3ee2..5a826d4a949 100644 --- a/spk/salt-master/src/requirements-pure.txt +++ b/spk/salt-master/src/requirements-pure.txt @@ -11,7 +11,7 @@ chardet==5.1.0 cheroot==10.0.0 CherryPy==18.8.0 contextvars==2.4 -cryptography==41.0.2 +#cryptography ==> cross distlib==0.3.6 distro==1.8.0 filelock==3.12.2 diff --git a/spk/salt-minion/src/requirements-pure.txt b/spk/salt-minion/src/requirements-pure.txt index 46dfb1d3ee2..5a826d4a949 100644 --- a/spk/salt-minion/src/requirements-pure.txt +++ b/spk/salt-minion/src/requirements-pure.txt @@ -11,7 +11,7 @@ chardet==5.1.0 cheroot==10.0.0 CherryPy==18.8.0 contextvars==2.4 -cryptography==41.0.2 +#cryptography ==> cross distlib==0.3.6 distro==1.8.0 filelock==3.12.2