diff --git a/cross/libhdhomerun/Makefile b/cross/libhdhomerun/Makefile index fe2f65bce57..53657ec0f4e 100644 --- a/cross/libhdhomerun/Makefile +++ b/cross/libhdhomerun/Makefile @@ -1,5 +1,5 @@ PKG_NAME = libhdhomerun -PKG_VERS = 20210224 +PKG_VERS = 20210624 PKG_EXT = tgz PKG_DIST_NAME = $(PKG_NAME)_$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://download.silicondust.com/hdhomerun diff --git a/cross/libhdhomerun/digests b/cross/libhdhomerun/digests index cdf359a7e2f..f4cd3cfa35b 100644 --- a/cross/libhdhomerun/digests +++ b/cross/libhdhomerun/digests @@ -1,3 +1,3 @@ -libhdhomerun_20210224.tgz SHA1 053d1aed34d9ed22738de9064e030b4f1702178f -libhdhomerun_20210224.tgz SHA256 b996389aa6f124a6d9dc1e75ec749e86d06102e2b3e7359d57163d4cc6e633f8 -libhdhomerun_20210224.tgz MD5 0918453d0517bcda26c088a7e0e8f3fb +libhdhomerun_20210624.tgz SHA1 9db6089b956de4e58084b623937f5fc3231fff0b +libhdhomerun_20210624.tgz SHA256 deaf463bbcc3eefa72f97199efb6213f7b0e2c8e91f1b3d2cbf52056a8715d15 +libhdhomerun_20210624.tgz MD5 233844b9238bd42cfdfbbd126a088fd2 diff --git a/cross/pip/Makefile b/cross/pip/Makefile index 3d64ace82ae..a256f8b5c71 100644 --- a/cross/pip/Makefile +++ b/cross/pip/Makefile @@ -1,6 +1,6 @@ PKG_NAME = pip # use the same version in native/python3/Makefile (python3_native_post_install) -PKG_VERS = 21.2.4 +PKG_VERS = 21.3 PKG_EXT = tar.gz PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://files.pythonhosted.org/packages/source/p/$(PKG_NAME) diff --git a/cross/pip/digests b/cross/pip/digests index dd85165be2b..a04b0e2785f 100644 --- a/cross/pip/digests +++ b/cross/pip/digests @@ -1,3 +1,3 @@ -pip-21.2.4.tar.gz SHA1 c6c9348c79a7f8448cd14b9e53baf141ea185dee -pip-21.2.4.tar.gz SHA256 0eb8a1516c3d138ae8689c0c1a60fde7143310832f9dc77e11d8a4bc62de193b -pip-21.2.4.tar.gz MD5 efbdb4201a5e6383fb4d12e26f78f355 +pip-21.3.tar.gz SHA1 e6c8b84c60a290818079ce7ebc71ccbf9cd7d294 +pip-21.3.tar.gz SHA256 741a61baab1dbce2d8ca415effa48a2b6a964564f81a9f4f1fce4c433346c034 +pip-21.3.tar.gz MD5 fc20feba27bd36f046c2fbd59bc8f9ea diff --git a/cross/python3/Makefile b/cross/python3/Makefile index 3e45d3cc958..ef9ff47c911 100644 --- a/cross/python3/Makefile +++ b/cross/python3/Makefile @@ -89,8 +89,8 @@ python3_post_install: $(WORK_DIR)/python-cc.mk cp -R $(HOSTPYTHON_LIB_NATIVE) $(PYTHON_LIB_CROSS)/../ @$(RUN) $(PYTHON_NATIVE) -m crossenv $(STAGING_INSTALL_PREFIX)/bin/python$(PKG_VERS_MAJOR_MINOR) $(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==21.2.4" - . $(WORK_DIR)/crossenv/bin/activate && $(RUN) python get-pip.py "pip==21.2.4" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-python get-pip.py "pip==21.3" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) python get-pip.py "pip==21.3" . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "setuptools==58.2.0" . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "setuptools==58.2.0" . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "wheel==0.37.0" diff --git a/cross/python38/Makefile b/cross/python38/Makefile index daee4cb94b8..5a6f04eb1bd 100644 --- a/cross/python38/Makefile +++ b/cross/python38/Makefile @@ -114,8 +114,8 @@ python38_post_install: $(WORK_DIR)/python-cc.mk cp -R $(HOSTPYTHON_LIB_NATIVE) $(PYTHON_LIB_CROSS)/../ @$(RUN) $(PYTHON_NATIVE) -m crossenv $(STAGING_INSTALL_PREFIX)/bin/python$(PKG_VERS_MAJOR_MINOR) $(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==21.2.4" - . $(WORK_DIR)/crossenv/bin/activate && $(RUN) python get-pip.py "pip==21.2.4" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-python get-pip.py "pip==21.3" + . $(WORK_DIR)/crossenv/bin/activate && $(RUN) python get-pip.py "pip==21.3" . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "setuptools==58.2.0" . $(WORK_DIR)/crossenv/bin/activate && $(RUN) pip install "setuptools==58.2.0" . $(WORK_DIR)/crossenv/bin/activate && $(RUN) build-pip install "wheel==0.37.0" diff --git a/cross/tvheadend/Makefile b/cross/tvheadend/Makefile index 2145dd61cfb..9c6551c8cb0 100644 --- a/cross/tvheadend/Makefile +++ b/cross/tvheadend/Makefile @@ -1,8 +1,8 @@ PKG_NAME = tvheadend PKG_VERS = 4.3 PKG_EXT = tar.gz -# git hash from June 12th 2021 -PKG_GIT_HASH = eb59284b8527e3c51eadfeca94ec1e9174cdbdb0 +# git hash from October 20th 2021 +PKG_GIT_HASH = c6bb43d8554643a772aa40c5e56904717b55a95f PKG_DIST_NAME = $(PKG_GIT_HASH).$(PKG_EXT) PKG_DIST_SITE = https://github.com/tvheadend/tvheadend/archive PKG_DIST_FILE = $(PKG_NAME)-git$(PKG_GIT_HASH).$(PKG_EXT) diff --git a/cross/tvheadend/digests b/cross/tvheadend/digests index 50257a2c4bf..5a2255283d6 100644 --- a/cross/tvheadend/digests +++ b/cross/tvheadend/digests @@ -1,3 +1,3 @@ -tvheadend-giteb59284b8527e3c51eadfeca94ec1e9174cdbdb0.tar.gz SHA1 0b27567b389131c0e0ee2c82507c9417da5d9908 -tvheadend-giteb59284b8527e3c51eadfeca94ec1e9174cdbdb0.tar.gz SHA256 df3d50cd46e7d6b9d951bc36950eb1a49ac82fd5c2b08c3abc37cf8fba15651c -tvheadend-giteb59284b8527e3c51eadfeca94ec1e9174cdbdb0.tar.gz MD5 de451b133121556868ba28b899902308 +tvheadend-gitc6bb43d8554643a772aa40c5e56904717b55a95f.tar.gz SHA1 2ab69e7cb5624659e3d2a42c6d9fcf5e9e69e253 +tvheadend-gitc6bb43d8554643a772aa40c5e56904717b55a95f.tar.gz SHA256 9074d6a352f4475e5e0ad313d6e78187730f2139a778cb4c67586e74f0b9ba40 +tvheadend-gitc6bb43d8554643a772aa40c5e56904717b55a95f.tar.gz MD5 9630d640835e8792d45a8aca6ba80aae diff --git a/mk/spksrc.common.mk b/mk/spksrc.common.mk index d58055e56f8..36e13cfd189 100644 --- a/mk/spksrc.common.mk +++ b/mk/spksrc.common.mk @@ -17,7 +17,7 @@ RUN = cd $(WORK_DIR)/$(PKG_DIR) && env $(ENV) PIP ?= pip # Why ask for the same thing twice? Always cache downloads PIP_CACHE_OPT ?= --cache-dir $(PIP_DIR) -PIP_WHEEL_ARGS = wheel --no-binary :all: $(PIP_CACHE_OPT) --no-deps --requirement $(WORK_DIR)/wheelhouse/requirements.txt --wheel-dir $(WORK_DIR)/wheelhouse +PIP_WHEEL_ARGS = wheel --no-binary :all: $(PIP_CACHE_OPT) --no-deps --wheel-dir $(WHEELHOUSE) PIP_WHEEL = $(PIP) $(PIP_WHEEL_ARGS) # Available languages diff --git a/mk/spksrc.directories.mk b/mk/spksrc.directories.mk index b8d3423e076..bb0126a51e9 100644 --- a/mk/spksrc.directories.mk +++ b/mk/spksrc.directories.mk @@ -51,6 +51,15 @@ ifeq ($(strip $(STAGING_INSTALL_PREFIX)),) STAGING_INSTALL_PREFIX = $(INSTALL_DIR)$(INSTALL_PREFIX) endif +# python wheelhouse directories +ifndef WHEELHOUSE +WHEELHOUSE = $(WORK_DIR)/wheelhouse +endif + +ifndef STAGING_INSTALL_WHEELHOUSE +STAGING_INSTALL_WHEELHOUSE = $(STAGING_INSTALL_PREFIX)/share/wheelhouse +endif + define create_target_dir @mkdir -p `dirname $@` endef diff --git a/mk/spksrc.python-wheel.mk b/mk/spksrc.python-wheel.mk index 15ef75edf5b..45f0363e300 100644 --- a/mk/spksrc.python-wheel.mk +++ b/mk/spksrc.python-wheel.mk @@ -27,18 +27,18 @@ PYTHONPATH = $(PYTHON_LIB_NATIVE):$(INSTALL_DIR)$(INSTALL_PREFIX)/$(PYTHON_LIB_D build_python_wheel: ifeq ($(strip $(CROSSENV)),) # Python 2 way - @$(RUN) PYTHONPATH=$(PYTHONPATH) $(HOSTPYTHON) -c "import setuptools;__file__='setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" $(BUILD_ARGS) bdist_wheel -d $(WORK_DIR)/wheelhouse + @$(RUN) PYTHONPATH=$(PYTHONPATH) $(HOSTPYTHON) -c "import setuptools;__file__='setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" $(BUILD_ARGS) bdist_wheel -d $(WHEELHOUSE) else # Python 3 case: using crossenv helper - @. $(CROSSENV) && $(RUN) PYTHONPATH=$(PYTHONPATH) python -c "import setuptools;__file__='setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" $(BUILD_ARGS) bdist_wheel -d $(WORK_DIR)/wheelhouse + @. $(CROSSENV) && $(RUN) PYTHONPATH=$(PYTHONPATH) python -c "import setuptools;__file__='setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" $(BUILD_ARGS) bdist_wheel -d $(WHEELHOUSE) endif install_python_wheel: $(WHEEL_TARGET) - @if [ -d "$(WORK_DIR)/wheelhouse" ] ; then \ - mkdir -p $(STAGING_INSTALL_PREFIX)/share/wheelhouse ; \ - cd $(WORK_DIR)/wheelhouse && \ + @if [ -d "$(WHEELHOUSE)" ] ; then \ + mkdir -p $(STAGING_INSTALL_WHEELHOUSE) ; \ + cd $(WHEELHOUSE) && \ for w in *.whl; do \ - cp -f $$w $(STAGING_INSTALL_PREFIX)/share/wheelhouse/`echo $$w | cut -d"-" -f -3`-none-any.whl; \ + cp -f $$w $(STAGING_INSTALL_WHEELHOUSE)/`echo $$w | cut -d"-" -f -3`-none-any.whl; \ done ; \ fi diff --git a/mk/spksrc.spk.mk b/mk/spksrc.spk.mk index 8f1eeef0229..cd811d03597 100644 --- a/mk/spksrc.spk.mk +++ b/mk/spksrc.spk.mk @@ -398,6 +398,7 @@ spkclean: work-*/conf \ work-*/scripts \ work-*/staging \ + work-*/wheelhouse \ work-*/package.tgz \ work-*/INFO \ work-*/PLIST \ diff --git a/mk/spksrc.wheel.mk b/mk/spksrc.wheel.mk index 65573f21b01..f3ff4e5182b 100644 --- a/mk/spksrc.wheel.mk +++ b/mk/spksrc.wheel.mk @@ -14,6 +14,9 @@ WHEEL_COOKIE = $(WORK_DIR)/.$(COOKIE_PREFIX)wheel_done +WHEELS_PURE_PYTHON = requirements.txt +WHEELS_CROSS_COMPILE = requirements-cross.txt + ifeq ($(strip $(PRE_WHEEL_TARGET)),) PRE_WHEEL_TARGET = pre_wheel_target else @@ -43,53 +46,56 @@ pre_wheel_target: wheel_msg_target if [ ! -z "$(PIP_CACHE_OPT)" ] ; then \ mkdir -p $(PIP_DIR) ; \ fi; \ - mkdir -p $(WORK_DIR)/wheelhouse ; \ - if [ -f "$(WHEELS)" ] ; then \ - $(MSG) "Using existing requirements file" ; \ - cp -f $(WHEELS) $(WORK_DIR)/wheelhouse/requirements.txt ; \ - else \ - $(MSG) "Creating requirements file" ; \ - rm -f $(WORK_DIR)/wheelhouse/requirements.txt ; \ - for wheel in $(WHEELS) ; \ - do \ - echo $$wheel >> $(WORK_DIR)/wheelhouse/requirements.txt ; \ - done \ - fi ; \ + rm -fr $(WHEELHOUSE) ; \ + mkdir -p $(WHEELHOUSE) ; \ + for wheel in $(WHEELS) ; \ + do \ + if [ -f $$wheel ] ; then \ + $(MSG) "Using existing $$wheel file" ; \ + $(MSG) cp -f $$wheel $(WHEELHOUSE)/$$(basename $$wheel) ; \ + cp -f $$wheel $(WHEELHOUSE)/$$(basename $$wheel) ; \ + sed -i -e '$$a\\' $(WHEELHOUSE)/$$(basename $$wheel) ; \ + else \ + $(MSG) "Adding to $(WHEELS_PURE_PYTHON) file" ; \ + echo $$wheel >> $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ + fi ; \ + done \ fi build_wheel_target: $(PRE_WHEEL_TARGET) @if [ ! -z "$(WHEELS)" ] ; then \ $(foreach e,$(shell cat $(WORK_DIR)/python-cc.mk),$(eval $(e))) \ - if [ ! -z "$(CROSS_COMPILE_WHEELS)" ] ; then \ + if [ -f "$(WHEELHOUSE)/$(WHEELS_PURE_PYTHON)" ]; then \ + $(MSG) "Force pure-python" ; \ + export LD= LDSHARED= CPP= NM= CC= AS= RANLIB= CXX= AR= STRIP= OBJDUMP= READELF= CFLAGS= CPPFLAGS= CXXFLAGS= LDFLAGS= && \ + $(RUN) $(PIP_WHEEL) --requirement $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ + fi ; \ + if [ -f "$(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE)" ]; then \ $(MSG) "Force cross-compile" ; \ if [ -z "$(CROSSENV)" ]; then \ - $(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" $(PIP_WHEEL) --use-deprecated=legacy-resolver ; \ + $(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" $(PIP_WHEEL) --requirement $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ else \ - . $(CROSSENV) && $(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" pip $(PIP_WHEEL_ARGS) --use-deprecated=legacy-resolver --no-build-isolation ; \ + . $(CROSSENV) && $(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" pip $(PIP_WHEEL_ARGS) --no-build-isolation --requirement $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \ fi ; \ - else \ - $(MSG) "Force pure-python" ; \ - export LD= LDSHARED= CPP= NM= CC= AS= RANLIB= CXX= AR= STRIP= OBJDUMP= READELF= CFLAGS= CPPFLAGS= CXXFLAGS= LDFLAGS= && \ - $(RUN) $(PIP_WHEEL) ; \ fi ; \ fi post_wheel_target: $(WHEEL_TARGET) - @if [ -d "$(WORK_DIR)/wheelhouse" ] ; then \ - mkdir -p $(STAGING_INSTALL_PREFIX)/share/wheelhouse ; \ - cd $(WORK_DIR)/wheelhouse ; \ - cp requirements.txt $(STAGING_INSTALL_PREFIX)/share/wheelhouse/ ; \ + @if [ -d "$(WHEELHOUSE)" ] ; then \ + mkdir -p $(STAGING_INSTALL_WHEELHOUSE) ; \ + cd $(WHEELHOUSE) ; \ + cat requirements*.txt > $(STAGING_INSTALL_WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \ if [ "$(EXCLUDE_PURE_PYTHON_WHEELS)" = "yes" ] ; then \ echo "Pure python wheels are excluded from the package wheelhouse." ; \ for w in *.whl; do \ if echo $${w} | grep -viq "-none-any\.whl" ; then \ - cp -f $$w $(STAGING_INSTALL_PREFIX)/share/wheelhouse/`echo $$w | cut -d"-" -f -3`-none-any.whl; \ + cp -f $$w $(STAGING_INSTALL_WHEELHOUSE)/`echo $$w | cut -d"-" -f -3`-none-any.whl; \ fi ; \ done ; \ else \ for w in *.whl; do \ - cp -f $$w $(STAGING_INSTALL_PREFIX)/share/wheelhouse/`echo $$w | cut -d"-" -f -3`-none-any.whl; \ + cp -f $$w $(STAGING_INSTALL_WHEELHOUSE)/`echo $$w | cut -d"-" -f -3`-none-any.whl; \ done ; \ fi ; \ fi diff --git a/native/python3/Makefile b/native/python3/Makefile index 9ea757399c3..e295a702a13 100644 --- a/native/python3/Makefile +++ b/native/python3/Makefile @@ -26,8 +26,8 @@ PIP_NATIVE = $(WORK_DIR)/../../../native/$(PKG_NAME)/work-native/install/usr/loc python3_native_post_install: $(WORK_DIR)/python-native.mk @$(MSG) Installing pip, setuptools, cffi and cross env @$(RUN) wget https://bootstrap.pypa.io/get-pip.py - @$(RUN) $(PYTHON) get-pip.py "pip==21.2.4" - @$(PIP) install "setuptools==58.2.0" "cffi==1.14.6" "crossenv>=1.1.4" + @$(RUN) $(PYTHON) get-pip.py "pip==21.3" + @$(PIP) install "setuptools==58.2.0" "cffi==1.14.6" "crossenv==1.0" $(WORK_DIR)/python-native.mk: @echo PIP=$(PIP_NATIVE) >> $@ diff --git a/native/python38/Makefile b/native/python38/Makefile index 9f8aeb30a72..d8938afd223 100644 --- a/native/python38/Makefile +++ b/native/python38/Makefile @@ -26,7 +26,7 @@ PIP_NATIVE = $(WORK_DIR)/../../../native/$(PKG_NAME)/work-native/install/usr/loc python38_native_post_install: $(WORK_DIR)/python-native.mk @$(MSG) Installing pip, setuptools, cffi and cross env @$(RUN) wget https://bootstrap.pypa.io/get-pip.py - @$(RUN) $(PYTHON) get-pip.py "pip==21.2.4" + @$(RUN) $(PYTHON) get-pip.py "pip==21.3" @$(PIP) install "setuptools==58.2.0" "cffi==1.14.6" "crossenv==1.0" $(WORK_DIR)/python-native.mk: diff --git a/spk/borgbackup/Makefile b/spk/borgbackup/Makefile index faf65aeadde..d9b8e69620e 100644 --- a/spk/borgbackup/Makefile +++ b/spk/borgbackup/Makefile @@ -16,7 +16,7 @@ SPK_DEPENDS = "python38" # pip freeze > requirements.txt # deactivate # adjust the first line in requirements.txt to "#borgbackup==1.1.17" -WHEELS = src/requirements.txt +WHEELS = src/requirements-cross.txt src/requirements.txt MAINTAINER = SynoCommunity DESCRIPTION = Deduplicating backup program with compression and authenticated encryption. diff --git a/spk/borgbackup/src/requirements-cross.txt b/spk/borgbackup/src/requirements-cross.txt new file mode 100644 index 00000000000..8cc21ddf2f6 --- /dev/null +++ b/spk/borgbackup/src/requirements-cross.txt @@ -0,0 +1,2 @@ +pyrsistent==0.18.0 +ruamel.yaml.clib==0.2.6 diff --git a/spk/borgbackup/src/requirements.txt b/spk/borgbackup/src/requirements.txt index 3d5e28ee74d..fa7f95e8381 100644 --- a/spk/borgbackup/src/requirements.txt +++ b/spk/borgbackup/src/requirements.txt @@ -8,9 +8,7 @@ idna==3.2 jsonschema==3.2.0 packaging==21.0 pyparsing==2.4.7 -pyrsistent==0.18.0 requests==2.26.0 ruamel.yaml==0.17.16 -ruamel.yaml.clib==0.2.6 six==1.16.0 urllib3==1.26.6 diff --git a/spk/duplicity/Makefile b/spk/duplicity/Makefile index fe94f66bfd8..e8b76c362ac 100644 --- a/spk/duplicity/Makefile +++ b/spk/duplicity/Makefile @@ -6,7 +6,7 @@ SPK_ICON = src/duplicity.png BUILD_DEPENDS = cross/python38 DEPENDS = cross/cffi cross/lxml cross/duplicity cross/duply -WHEELS = src/requirements.txt +WHEELS = src/requirements-cross.txt src/requirements.txt SPK_DEPENDS = "python38>=3.8.8:gnupg>=2.1.6" diff --git a/spk/duplicity/src/requirements-cross.txt b/spk/duplicity/src/requirements-cross.txt new file mode 100644 index 00000000000..b0c574bf3d8 --- /dev/null +++ b/spk/duplicity/src/requirements-cross.txt @@ -0,0 +1,53 @@ +##### basic requirements ##### +chardet==4.0.0 +future==0.18.2 +### idna==2.10 # idna==2.9 is included in python38 +python-gettext==4.0 + + +##### backend libraries ##### +# some libs no longer support py27 +# some libs never supported py36+ +#b2sdk ; python_version >= '3.6' +#boto +#boto3 +#boxsdk[jwt] ; python_version >= '3.6' +#dropbox +### gdata ; python_version == '2.7' +#google_auth_oauthlib +#jottalib +### mediafire ### Development Status 3 - Alpha: outdated (Nov 2016), not supported by Python >3.4 +#pydrive ; python_version >= '3.6' +#pyrax ; python_version >= '3.6' +#python-swiftclient +#requests_oauthlib + + +### backend libraries except gdata mediafire +args==0.1.0 +b2sdk==1.7.0 +### cffi==1.14.5 # cffi==1.14.1 is included as cross compiled wheel +clint==0.5.1 +### cryptography==3.4.7 # cryptography==2.9.2 is included in python38 +### importlib-metadata==4.0.1 # importlib-metadata==1.5.0 is included in python38 +ip-associations-python-novaclient-ext==0.2 +iso8601==0.1.14 +#jeepney==0.6.0 ### cross compile wheel fails to find flit_core +jottalib==0.5.1 +### lxml==4.6.3 # lxml==4.6.3 is included as cross compiled wheel +### msgpack-python==0.5.6 # msgpack-python==0.5.6 is included in python38 +netifaces==0.10.9 +oauth2client==4.1.3 +os-networksv2-python-novaclient-ext==0.26 +os-virtual-interfacesv2-python-novaclient-ext==0.20 +positional==1.2.1 +protobuf==3.15.8 +### pyasn1==0.4.8 # pyasn1==0.4.8 is included in python38 +pyasn1-modules==0.2.8 +### PyYAML==5.4.1 # PyYAML==5.3 is included as module in python38 +rackspace-auth-openstack==1.3 +rackspace-novaclient==2.1 +rax-default-network-flags-python-novaclient-ext==0.4.0 +rax-scheduled-images-python-novaclient-ext==0.3.1 +simplejson==3.17.2 +wrapt==1.12.1 diff --git a/spk/duplicity/src/requirements.txt b/spk/duplicity/src/requirements.txt index ac6f413b6c5..e00e553b670 100644 --- a/spk/duplicity/src/requirements.txt +++ b/spk/duplicity/src/requirements.txt @@ -29,56 +29,26 @@ ##### Included for reference ##### #duplicity==0.8.19 - ##### basic requirements ##### certifi==2020.12.5 -chardet==4.0.0 fasteners==0.16 -future==0.18.2 -### idna==2.10 # idna==2.9 is included in python38 -python-gettext==4.0 requests==2.25.1 #setuptools-scm==6.0.1 setuptools-scm==5.0.2 six==1.15.0 urllib3==1.26.4 - -##### backend libraries ##### -# some libs no longer support py27 -# some libs never supported py36+ -#azure-storage-blob ; python_version >= '3.6' -#b2sdk ; python_version >= '3.6' -#boto -#boto3 -#boxsdk[jwt] ; python_version >= '3.6' -#dropbox -### gdata ; python_version == '2.7' -#google_auth_oauthlib -#jottalib -### mediafire ### Development Status 3 - Alpha: outdated (Nov 2016), not supported by Python >3.4 -#pydrive ; python_version >= '3.6' -#pyrax ; python_version >= '3.6' -#python-swiftclient -#requests_oauthlib - - ### backend libraries except gdata mediafire -args==0.1.0 arrow==0.17.0 attrs==20.3.0 azure-core==1.13.0 azure-storage-blob==12.8.1 -b2sdk==1.7.0 Babel==2.9.1 boto==2.49.0 boto3==1.17.62 botocore==1.20.62 boxsdk==2.12.0 cachetools==4.2.2 -### cffi==1.14.5 # cffi==1.14.1 is included as cross compiled wheel -clint==0.5.1 -### cryptography==3.4.7 # cryptography==2.9.2 is included in python38 debtcollector==1.11.0 dropbox==11.7.0 funcsigs==1.0.2 @@ -89,29 +59,17 @@ google-auth-httplib2==0.1.0 google-auth-oauthlib==0.4.4 googleapis-common-protos==1.53.0 httplib2==0.19.1 -# humanize==3.5.0 # metadata has 0.0.0 -humanize -### importlib-metadata==4.0.1 # importlib-metadata==1.5.0 is included in python38 -ip-associations-python-novaclient-ext==0.2 -iso8601==0.1.14 +humanize==3.5.0 isodate==0.6.0 -#jeepney==0.6.0 ### cross compile wheel fails to find flit_core jmespath==0.10.0 -jottalib==0.5.1 keyring==23.0.1 keystoneauth1==2.18.0 logfury==0.1.2 -### lxml==4.6.3 # lxml==4.6.3 is included as cross compiled wheel #monotonic==1.6 -### msgpack-python==0.5.6 # msgpack-python==0.5.6 is included in python38 msrest==0.6.21 netaddr==0.8.0 -netifaces==0.10.9 -oauth2client==4.1.3 oauthlib==3.1.0 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 @@ -119,11 +77,7 @@ oslo.utils==3.22.3 packaging==20.9 pbr==1.10.0 ply==3.11 -positional==1.2.1 prettytable==0.7.2 -protobuf==3.15.8 -### pyasn1==0.4.8 # pyasn1==0.4.8 is included in python38 -pyasn1-modules==0.2.8 ### pycparser==2.20 # pycparser==2.19 is included in python38 PyDrive==1.3.1 PyJWT==2.1.0 @@ -134,21 +88,14 @@ python-keystoneclient==3.10.0 python-novaclient==2.27.0 python-swiftclient==3.11.1 pytz==2021.1 -### PyYAML==5.4.1 # PyYAML==5.3 is included as module in python38 -rackspace-auth-openstack==1.3 -rackspace-novaclient==2.1 -rax-default-network-flags-python-novaclient-ext==0.4.0 -rax-scheduled-images-python-novaclient-ext==0.3.1 requests-oauthlib==1.3.0 requests-toolbelt==0.9.1 rfc3986==1.4.0 rsa==4.7.2 s3transfer==0.4.2 SecretStorage==3.3.1 -simplejson==3.17.2 stevedore==1.20.1 stone==3.2.1 tqdm==4.60.0 uritemplate==3.0.1 -wrapt==1.12.1 ### zipp==3.4.1 # zipp==3.1.0 is included in python38 diff --git a/spk/flexget/Makefile b/spk/flexget/Makefile index eb20137958f..04f824975f1 100644 --- a/spk/flexget/Makefile +++ b/spk/flexget/Makefile @@ -3,10 +3,10 @@ SPK_VERS = 3.1.129 SPK_REV = 10 SPK_ICON = src/${SPK_NAME}.png -BUILD_DEPENDS = cross/python3 cross/setuptools cross/pip cross/wheel +BUILD_DEPENDS = cross/python38 cross/setuptools cross/pip cross/wheel DEPENDS = cross/poetry -WHEELS = src/requirements.txt -SPK_DEPENDS = "python3>=3.7.7" +WHEELS = src/requirements-cross.txt src/requirements.txt +SPK_DEPENDS = "python38" MAINTAINER = manowark 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. diff --git a/spk/flexget/src/requirements-cross.txt b/spk/flexget/src/requirements-cross.txt new file mode 100644 index 00000000000..202f0584bb7 --- /dev/null +++ b/spk/flexget/src/requirements-cross.txt @@ -0,0 +1,15 @@ +Brotli==1.0.9 +click==7.1.2 +colorclass==2.2.0 +greenlet==1.0.0 +MarkupSafe==2.0.0 +progressbar==2.5 +psutil==5.8.0 +pynzb==0.1.0 +pyrsistent==0.17.3 +PyRSS2Gen==1.1 +PyYAML==5.4.1 +sgmllib3k==1.0.0 +SQLAlchemy==1.4.15 +terminaltables==3.1.0 +zxcvbn-python==4.4.24 diff --git a/spk/flexget/src/requirements.txt b/spk/flexget/src/requirements.txt index 578370cc598..d58805bc4ac 100644 --- a/spk/flexget/src/requirements.txt +++ b/spk/flexget/src/requirements.txt @@ -8,14 +8,11 @@ APScheduler==3.7.0 attrs==20.3.0 babelfish==0.5.5 beautifulsoup4==4.10.0 -Brotli==1.0.9 certifi==2020.12.5 chardet==4.0.0 cheroot==8.5.2 CherryPy==18.6.0 -click==7.1.2 colorama==0.4.4 -colorclass==2.2.0 feedparser==6.0.2 Flask==1.1.2 Flask-Compress==1.9.0 @@ -24,7 +21,6 @@ Flask-Login==0.5.0 Flask-RESTful==0.3.8 flask-restx==0.4.0 FlexGet==3.1.129 -greenlet==1.0.0 guessit==3.2.0 html5lib==1.1 idna==2.10 @@ -37,30 +33,20 @@ jaraco.text==3.5.0 Jinja2==2.11.3 jsonschema==3.2.0 loguru==0.5.3 -MarkupSafe==2.0.0 more-itertools==8.7.0 #plumbum==1.7.0 plumbum==1.6.9 portend==2.7.1 -progressbar==2.5 -psutil==5.8.0 -pynzb==0.1.0 pyparsing==2.4.7 -pyrsistent==0.17.3 -PyRSS2Gen==1.1 python-dateutil==2.8.1 pytz==2021.1 -PyYAML==5.4.1 rebulk==3.0.1 requests==2.25.1 #rpyc==5.0.1 rpyc==4.1.2 -sgmllib3k==1.0.0 six==1.16.0 soupsieve==2.2.1 -SQLAlchemy==1.4.15 tempora==4.0.2 -terminaltables==3.1.0 transmission-rpc==3.2.5 typing-extensions==3.10.0.0 tzlocal==2.1 @@ -69,4 +55,3 @@ webencodings==0.5.1 Werkzeug==1.0.1 zc.lockfile==2.0 zipp==3.4.1 -zxcvbn-python==4.4.24 diff --git a/spk/homeassistant/Makefile b/spk/homeassistant/Makefile index c890fffb5a3..d9267fef6fb 100644 --- a/spk/homeassistant/Makefile +++ b/spk/homeassistant/Makefile @@ -20,7 +20,7 @@ DEPENDS += cross/dtlssocket # for denonavr DEPENDS += cross/asyncstdlib -WHEELS = src/requirements.txt +WHEELS = src/requirements-cross.txt cbor2==5.4.1 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." diff --git a/spk/homeassistant/src/requirements.txt b/spk/homeassistant/src/requirements-cross.txt similarity index 99% rename from spk/homeassistant/src/requirements.txt rename to spk/homeassistant/src/requirements-cross.txt index 464877a31cd..3e0914d3579 100644 --- a/spk/homeassistant/src/requirements.txt +++ b/spk/homeassistant/src/requirements-cross.txt @@ -67,7 +67,6 @@ pyads==3.2.2 pyitachip2ir==0.0.7 netifaces==0.11.0 -cbor2==5.4.1 pycares==4.0.0 regex==2021.8.3 websockets==9.1 diff --git a/spk/python3/Makefile b/spk/python3/Makefile index 8df7eaed14c..0f1d0192c0b 100644 --- a/spk/python3/Makefile +++ b/spk/python3/Makefile @@ -1,7 +1,7 @@ SPK_NAME = python3 SPK_VERS = 3.7.12 SPK_SHORT_VERS = $(word 1,$(subst ., ,$(SPK_VERS))).$(word 2,$(subst ., ,$(SPK_VERS))) -SPK_REV = 19 +SPK_REV = 20 SPK_ICON = src/python3.png DEPENDS = cross/busybox cross/$(SPK_NAME) @@ -12,7 +12,7 @@ DEPENDS += cross/lxml cross/pycrypto cross/pycurl cross/pyyaml DEPENDS += cross/msgpack-python cross/ruamel.yaml cross/immutables DEPENDS += cross/cryptography -WHEELS = src/requirements.txt +WHEELS = src/requirements-cross.txt src/requirements.txt MAINTAINER = Allan Clark DESCRIPTION = Python Programming Language. diff --git a/spk/python3/src/requirements-cross.txt b/spk/python3/src/requirements-cross.txt new file mode 100644 index 00000000000..d1193ee8348 --- /dev/null +++ b/spk/python3/src/requirements-cross.txt @@ -0,0 +1,20 @@ +## Modules cross-compiled via spksrc.python-wheel.mk +# Included for reference +#lxml==4.6.3 +#pycrypto==2.6.1 +#Pillow==8.2.0 +#pycurl==7.43.0.6 +#pyyaml==5.4.1 +#immutables==0.16 + +## Cross-compiled via spksrc.wheel.mk +markupsafe==2.0.1 +psutil==5.8.0 +sqlalchemy==1.4.26 +zope.interface==5.4.0 + +# cryptography dependencies +pyasn1==0.4.8 + +# pillow dependencies +olefile==0.46 diff --git a/spk/python3/src/requirements.txt b/spk/python3/src/requirements.txt index 448101637bd..b2620325dd3 100644 --- a/spk/python3/src/requirements.txt +++ b/spk/python3/src/requirements.txt @@ -1,34 +1,15 @@ -## Modules cross-compiled via spksrc.python-wheel.mk -# Included for reference -#lxml==4.2.5 -#pycrypto==2.6.1 -#Pillow==8.2.0 -#pycurl==7.43.0.6 -#pyyaml==5.4.1 -#immutables==0.11 - -## Cross-compiled via spksrc.wheel.mk -markupsafe==2.0.1 -psutil==5.8.0 -sqlalchemy==1.4.25 -zope.interface==5.4.0 - ## Pure-python via spksrc.wheel.mk -pyopenssl==21.0.0 -six==1.16.0 -virtualenv==20.8.1 -# virtualenv dependencies appdirs==1.4.4 -filelock==3.3.0 +distlib==0.3.3 +filelock==3.0.12 importlib-resources==5.2.2 importlib-metadata==4.8.1 +platformdirs==2.4.0 +pyopenssl==21.0.0 +six==1.16.0 +virtualenv==20.4.6 zipp==3.6.0 -distlib==0.3.3 # cryptography dependencies -idna==3.2 +idna==3.3 ipaddress==1.0.23 -pyasn1==0.4.8 - -# pillow dependencies -olefile==0.46 diff --git a/spk/python38/Makefile b/spk/python38/Makefile index 76068f1dc50..b3048f9f1fe 100644 --- a/spk/python38/Makefile +++ b/spk/python38/Makefile @@ -1,18 +1,19 @@ SPK_NAME = python38 SPK_VERS = 3.8.12 SPK_VERS_MAJOR_MINOR = $(word 1,$(subst ., ,$(SPK_VERS))).$(word 2,$(subst ., ,$(SPK_VERS))) -SPK_REV = 5 +SPK_REV = 6 SPK_ICON = src/python3.png DEPENDS = cross/$(SPK_NAME) DEPENDS += cross/setuptools cross/pip cross/wheel -DEPENDS += cross/cffi cross/bcrypt cross/sqlite # Cross-compiled wheels -DEPENDS += cross/lxml cross/pycrypto cross/pycurl cross/pyyaml -DEPENDS += cross/msgpack-python cross/ruamel.yaml cross/immutables -DEPENDS += cross/cryptography +DEPENDS += cross/bcrypt cross/cffi +DEPENDS += cross/cryptography cross/greenlet cross/immutables +DEPENDS += cross/lxml cross/msgpack-python +DEPENDS += cross/pycrypto cross/pycurl +DEPENDS += cross/pyyaml cross/ruamel.yaml cross/sqlite -WHEELS = src/requirements.txt +WHEELS = src/requirements-cross.txt src/requirements.txt MAINTAINER = SynoCommunity DESCRIPTION = Python Programming Language. diff --git a/spk/python38/src/requirements-cross.txt b/spk/python38/src/requirements-cross.txt new file mode 100644 index 00000000000..d1193ee8348 --- /dev/null +++ b/spk/python38/src/requirements-cross.txt @@ -0,0 +1,20 @@ +## Modules cross-compiled via spksrc.python-wheel.mk +# Included for reference +#lxml==4.6.3 +#pycrypto==2.6.1 +#Pillow==8.2.0 +#pycurl==7.43.0.6 +#pyyaml==5.4.1 +#immutables==0.16 + +## Cross-compiled via spksrc.wheel.mk +markupsafe==2.0.1 +psutil==5.8.0 +sqlalchemy==1.4.26 +zope.interface==5.4.0 + +# cryptography dependencies +pyasn1==0.4.8 + +# pillow dependencies +olefile==0.46 diff --git a/spk/python38/src/requirements.txt b/spk/python38/src/requirements.txt index 448101637bd..397e49a5ba8 100644 --- a/spk/python38/src/requirements.txt +++ b/spk/python38/src/requirements.txt @@ -1,34 +1,15 @@ -## Modules cross-compiled via spksrc.python-wheel.mk -# Included for reference -#lxml==4.2.5 -#pycrypto==2.6.1 -#Pillow==8.2.0 -#pycurl==7.43.0.6 -#pyyaml==5.4.1 -#immutables==0.11 - -## Cross-compiled via spksrc.wheel.mk -markupsafe==2.0.1 -psutil==5.8.0 -sqlalchemy==1.4.25 -zope.interface==5.4.0 - ## Pure-python via spksrc.wheel.mk -pyopenssl==21.0.0 -six==1.16.0 -virtualenv==20.8.1 -# virtualenv dependencies appdirs==1.4.4 -filelock==3.3.0 +distlib==0.3.3 +filelock==3.3.1 importlib-resources==5.2.2 importlib-metadata==4.8.1 +platformdirs==2.4.0 +pyopenssl==21.0.0 +six==1.16.0 +virtualenv==20.4.6 zipp==3.6.0 -distlib==0.3.3 # cryptography dependencies -idna==3.2 +idna==3.3 ipaddress==1.0.23 -pyasn1==0.4.8 - -# pillow dependencies -olefile==0.46 diff --git a/spk/rdiff-backup/Makefile b/spk/rdiff-backup/Makefile index 8e3fdb16aee..1e507d63c29 100644 --- a/spk/rdiff-backup/Makefile +++ b/spk/rdiff-backup/Makefile @@ -6,7 +6,7 @@ SPK_ICON = src/rdiff-backup.png BUILD_DEPENDS = cross/python3 DEPENDS = cross/librsync cross/attr cross/acl -WHEELS = src/requirements.txt +WHEELS = src/requirements-cross.txt SPK_DEPENDS = "python3>=3.7" diff --git a/spk/rdiff-backup/src/requirements.txt b/spk/rdiff-backup/src/requirements-cross.txt similarity index 100% rename from spk/rdiff-backup/src/requirements.txt rename to spk/rdiff-backup/src/requirements-cross.txt diff --git a/spk/sabnzbd/Makefile b/spk/sabnzbd/Makefile index ea9a1bdc36e..d04bfadbe66 100644 --- a/spk/sabnzbd/Makefile +++ b/spk/sabnzbd/Makefile @@ -9,7 +9,7 @@ SPK_DEPENDS = "python38>=3.8.1-1" # To generate full requirements.txt, extend SABnzbd's own # requirements.txt with the depedencies of cherrypy and cheroot -WHEELS = src/requirements.txt +WHEELS = src/requirements-cross.txt src/requirements.txt MAINTAINER = Safihre DESCRIPTION = SABnzbd makes Usenet as simple and streamlined as possible by automating everything we can. All you have to do is add an .nzb. SABnzbd takes over from there, where it will be automatically downloaded, verified, repaired, extracted and filed away with zero human interaction. diff --git a/spk/sabnzbd/src/requirements-cross.txt b/spk/sabnzbd/src/requirements-cross.txt new file mode 100644 index 00000000000..143e6a5800a --- /dev/null +++ b/spk/sabnzbd/src/requirements-cross.txt @@ -0,0 +1,4 @@ +cheetah3==3.2.6 +configobj==5.0.6 +sgmllib3k==1.0.0 +sabyenc3==4.0.2 diff --git a/spk/sabnzbd/src/requirements.txt b/spk/sabnzbd/src/requirements.txt index 33f87ed0824..2ce5305856f 100644 --- a/spk/sabnzbd/src/requirements.txt +++ b/spk/sabnzbd/src/requirements.txt @@ -1,9 +1,6 @@ chardet==4.0.0 -cheetah3==3.2.6 cheroot==8.5.2 cherrypy==18.6.0 -configobj==5.0.6 -sgmllib3k==1.0.0 feedparser==6.0.6 jaraco.classes==3.2.1 jaraco.collections==3.3.0 @@ -12,7 +9,6 @@ jaraco.text==3.5.0 more-itertools==8.8.0 portend==2.7.1 pytz==2021.1 -sabyenc3==4.0.2 six==1.16.0 tempora==4.0.2 -zc.lockfile==2.0 \ No newline at end of file +zc.lockfile==2.0 diff --git a/spk/salt-minion/Makefile b/spk/salt-minion/Makefile index a49cf43ba57..5f0dff2d8e7 100644 --- a/spk/salt-minion/Makefile +++ b/spk/salt-minion/Makefile @@ -14,7 +14,7 @@ UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) # source salt-env/bin/activate # pip install salt # pip freeze > requirements.txt -WHEELS = src/requirements.txt +WHEELS = src/requirements-cross.txt src/requirements.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. diff --git a/spk/salt-minion/src/requirements-cross.txt b/spk/salt-minion/src/requirements-cross.txt new file mode 100644 index 00000000000..8d60568221b --- /dev/null +++ b/spk/salt-minion/src/requirements-cross.txt @@ -0,0 +1,7 @@ +chardet==3.0.4 +MarkupSafe==1.1.1 +msgpack==1.0.0 +pycryptodomex==3.9.8 +PyYAML==5.3.1 +pyzmq==19.0.2 +salt==3001.1 diff --git a/spk/salt-minion/src/requirements.txt b/spk/salt-minion/src/requirements.txt index 3201dd10c9d..fbddc6eca44 100644 --- a/spk/salt-minion/src/requirements.txt +++ b/spk/salt-minion/src/requirements.txt @@ -1,13 +1,6 @@ certifi==2020.6.20 -chardet==3.0.4 distro==1.5.0 idna==2.10 Jinja2==2.11.2 -MarkupSafe==1.1.1 -msgpack==1.0.0 -pycryptodomex==3.9.8 -PyYAML==5.3.1 -pyzmq==19.0.2 requests==2.24.0 -salt==3001.1 urllib3==1.25.10 diff --git a/spk/tvheadend/Makefile b/spk/tvheadend/Makefile index a8cc3ffe047..810d2cef2e6 100644 --- a/spk/tvheadend/Makefile +++ b/spk/tvheadend/Makefile @@ -1,10 +1,10 @@ SPK_NAME = tvheadend SPK_SHORT_VERS = 4.3 -SPK_GIT_HASH = eb59284 -SPK_GIT_DATE = 20210612 +SPK_GIT_HASH = c6bb43d +SPK_GIT_DATE = 20211016 SPK_VERS = $(SPK_SHORT_VERS).$(SPK_GIT_DATE) TVH_VERS = $(SPK_SHORT_VERS)~$(SPK_GIT_HASH) -SPK_REV = 29 +SPK_REV = 30 SPK_ICON = src/tvheadend.png DSM_UI_DIR = app @@ -13,16 +13,17 @@ DSM_UI_DIR = app # 000-fix-version.patch from cross/tvheadend export TVH_VERS -DEPENDS = cross/$(SPK_NAME) cross/zap2epg cross/dtv-scan-tables -WHEELS = src/requirements.txt SPK_DEPENDS = "python38" +WHEELS = src/requirements.txt + +DEPENDS = cross/$(SPK_NAME) cross/zap2epg cross/dtv-scan-tables MAINTAINER = th0ma7 DESCRIPTION = Tvheadend is a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT IP and HDHomeRun as input sources. Tvheadend offers HTTP, HTSP and SAT IP streaming. RELOAD_UI = yes DISPLAY_NAME = Tvheadend STARTABLE = yes -CHANGELOG = "1. Update to latest git version eb59284 as of June 12th 2021
2. Update openssl to 1.1
3. Updated to use FFMPEG 4.3.2
4. Updated libhdhomerun to version 20210224
5. Update dtv-scan-tables" +CHANGELOG = "1. Update to latest git version 1ee9c5b as of October 16th 2021
2. Update openssl to 1.1l
3. Updated libhdhomerun to version 20210624
4. Fix 403 Forbidden after login" HOMEPAGE = https://tvheadend.org/ LICENSE = GPL v3 @@ -30,7 +31,6 @@ LICENSE = GPL v3 # https://tvheadend.org/issues/5060 UNSUPPORTED_ARCHS = $(OLD_PCC_ARCHS) -WIZARDS_DIR = src/wizard/ CONF_DIR = src/conf/ # 'auto' reserved value grabs SPK_NAME @@ -44,15 +44,13 @@ SERVICE_PORT_TITLE = Tvheadend(HTTP) # Admin link ADMIN_PORT = ${SERVICE_PORT} -POST_STRIP_TARGET = tvheadend_extra_install - # Reuse ffmpeg libraries # Requires to invoke: make [package|publish] ARCH= TCVERSION= export FFMPEG_DIR = $(shell pwd)/../ffmpeg/work-$(ARCH)-$(TCVERSION)/install/var/packages/ffmpeg/target ifneq ($(wildcard $(FFMPEG_DIR)),) PRE_DEPEND_TARGET = tvheadend_pre_depend -SPK_DEPENDS = "ffmpeg>4.1" +SPK_DEPENDS := "$(SPK_DEPENDS):ffmpeg>4.3" endif include ../../mk/spksrc.spk.mk @@ -75,10 +73,3 @@ tvheadend_pre_depend: $(foreach lib,$(FFMPEG_LIBS),ln -sfT $(FFMPEG_DIR)/lib/pkgconfig/$(lib) $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/$(lib) ;) $(foreach lib,$(MEDIA_LIBS),ln -sfT $(FFMPEG_DIR)/lib/pkgconfig/$(lib) $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/$(lib) ;) $(foreach lib,$(VAAPI_LIBS),ln -sfT $(FFMPEG_DIR)/lib/pkgconfig/$(lib) $(STAGING_INSTALL_PREFIX)/lib/pkgconfig/$(lib) ;) - -tvheadend_extra_install: - install -p -m 700 -d $(STAGING_DIR)/var/accesscontrol - install -p -m 700 -d $(STAGING_DIR)/var/passwd - # The following filenames stem from an arbitrary (valid) combination created by TVH - install -m 640 src/accesscontrol.json $(STAGING_DIR)/var/accesscontrol/d80ccc09630261ffdcae1497a690acc8 - install -m 640 src/passwd.json $(STAGING_DIR)/var/passwd/a927e30a755504f9784f23a4efac5109 diff --git a/spk/tvheadend/src/accesscontrol.json b/spk/tvheadend/src/accesscontrol.json deleted file mode 100644 index 2eccc6b4ffd..00000000000 --- a/spk/tvheadend/src/accesscontrol.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "index": 1, - "enabled": true, - "username": "admin", - "prefix": "0.0.0.0/0", - "change": [ - "change_rights", - "change_chrange", - "change_chtags", - "change_dvr_configs", - "change_profiles", - "change_conn_limit", - "change_lang", - "change_lang_ui", - "change_theme", - "change_uilevel" - ], - "uilevel": -1, - "uilevel_nochange": -1, - "streaming": [ - "basic", - "advanced", - "htsp" - ], - "profile": [ - ], - "dvr": [ - "basic", - "htsp", - "all", - "all_rw", - "failed" - ], - "htsp_anonymize": false, - "dvr_config": [ - ], - "webui": true, - "admin": true, - "conn_limit_type": 0, - "conn_limit": 0, - "channel_min": 0, - "channel_max": 0, - "channel_tag_exclude": false, - "channel_tag": [ - ], - "comment": "Administrator", - "wizard": true -} diff --git a/spk/tvheadend/src/conf/PKG_CONX b/spk/tvheadend/src/conf/PKG_CONX deleted file mode 100644 index 5a9155ddd7b..00000000000 --- a/spk/tvheadend/src/conf/PKG_CONX +++ /dev/null @@ -1 +0,0 @@ -[tvheadend-testing] diff --git a/spk/tvheadend/src/passwd.json b/spk/tvheadend/src/passwd.json deleted file mode 100644 index 160fc629967..00000000000 --- a/spk/tvheadend/src/passwd.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "enabled": true, - "username": "admin", - "password2": "@password@", - "wizard": true -} diff --git a/spk/tvheadend/src/service-setup.sh b/spk/tvheadend/src/service-setup.sh index 86397eebf94..98908b9b838 100644 --- a/spk/tvheadend/src/service-setup.sh +++ b/spk/tvheadend/src/service-setup.sh @@ -16,7 +16,7 @@ HTSP=9982 # Replace generic service startup, run service in background GRPN=$(id -gn ${EFF_USER}) UPGRADE_CFG_DIR="${SYNOPKG_PKGVAR}/dvr/config" -SERVICE_COMMAND="${SYNOPKG_PKGDEST}/bin/tvheadend -f -u ${EFF_USER} -g ${GRPN} --http_port ${HTTP} --htsp_port ${HTSP} -c ${SYNOPKG_PKGVAR} -p ${PID_FILE}" +SERVICE_COMMAND="${SYNOPKG_PKGDEST}/bin/tvheadend -f -C -u ${EFF_USER} -g ${GRPN} --http_port ${HTTP} --htsp_port ${HTSP} -c ${SYNOPKG_PKGVAR} -p ${PID_FILE} -l ${LOG_FILE}" SVC_BACKGROUND=yes # Group configuration to manage permissions of recording folders @@ -24,12 +24,6 @@ GROUP=sc-media service_postinst () { - # Encrypt password - wizard_password=$(echo -n "TVHeadend-Hide-${wizard_password:=admin}" | openssl enc -a) - - # Edit the password configuration according to the wizard - sed -i -e "s/@password@/${wizard_password}/g" ${SYNOPKG_PKGVAR}/passwd/a927e30a755504f9784f23a4efac5109 - # EPG Grabber (zap2epg) - Create a Python virtualenv ${VIRTUALENV} --system-site-packages ${PYTHONENV} diff --git a/spk/tvheadend/src/wizard/install_uifile b/spk/tvheadend/src/wizard/install_uifile deleted file mode 100644 index bbdeaccd639..00000000000 --- a/spk/tvheadend/src/wizard/install_uifile +++ /dev/null @@ -1,16 +0,0 @@ -[{ - "step_title": "Set password for admin user", - "items": [{ - "type": "password", - "desc": "Administrator's password. Defaults to admin", - "subitems": [{ - "key": "wizard_password", - "desc": "Password" - }] - }] -}, { - "step_title": "Attention! DSM Permissions", - "items": [{ - "desc": "Permissions are managed with the group 'sc-media' in DSM.
The group 'users' is no longer used as of DSM 6.
Package user (= svc-tvheadend on DSM5 and sc-tvheadend on DSM6+) will not appear on most UI settings.
Including the following:
- Application privilege's permission viewer
- FTP's chroot user selector
- File Stations's
- Change owner
- Shared Links Manager -> Enable secure sharing

The only exceptions are:
- Control Panel > Shared Folder > Edit > Permission > System internal user
- ACL editor.
Please read Permission Management for details." - }] -}] diff --git a/spk/tvheadend/src/wizard/install_uifile_fre b/spk/tvheadend/src/wizard/install_uifile_fre deleted file mode 100644 index cc2822deb5f..00000000000 --- a/spk/tvheadend/src/wizard/install_uifile_fre +++ /dev/null @@ -1,16 +0,0 @@ -[{ - "step_title": "Configuration du mot de passe administrateur", - "items": [{ - "type": "password", - "desc": "Mot de passe administrateur. Par défaut, admin", - "subitems": [{ - "key": "wizard_password", - "desc": "Mot de passe" - }] - }] -}, { - "step_title": "Attention! Permissions DSM", - "items": [{ - "desc": "Les permissions sont gérées par le groupe 'sc-media' dans DSM.
Le groupe 'users' n'est plus utilisé depuis DSM 6.
L'utilisateur spécifique à l'application n'apparaît plus dans la plupart des interfaces de configuration.
En particulier:
- Visionneuse de permission des Privilèges d'Applications
- Choix de l'utisateur du dossier root FTP
- Les actions de File Stations
- Changement de propriétaire
- Gestionnaire de liens partagés -> Activer le partage sécurisé

Les seules exceptions sont:
- Panneau de configuration > Dossier partagé > Modifier > Permissions > Utilisateur du système interne
- Éditeur de permissions.
Merci de lire Permission Management pour plus de détails." - }] -}] diff --git a/spk/tvheadend/src/wizard/upgrade_uifile b/spk/tvheadend/src/wizard/upgrade_uifile deleted file mode 100644 index 46bbf6bfee3..00000000000 --- a/spk/tvheadend/src/wizard/upgrade_uifile +++ /dev/null @@ -1,9 +0,0 @@ -[{ - "step_title": "Attention! DSM Permissions", - "items": [{ - "desc": "Permissions are managed with the group 'sc-media' in DSM.
The group 'users' is no longer used as of DSM 6.
Package user (= svc-tvheadend on DSM5 and sc-tvheadend on DSM6+) will not appear on most UI settings. The only exceptions are:
- Control Panel > Shared Folder > Edit > Permission > System internal user
- ACL editor.
Please read Permission Management for details." - }, - { - "desc": "NOTE: The package upgrade will try to set the correct permissions on the recording folder(s) specified in your current installation.
If you get permission errors within Tvheadend, manually set Read/Write permissions for the 'sc-media' group on the reported folders using the DSM File Station, shared folder or group management tools." - }] -}] diff --git a/spk/tvheadend/src/wizard/upgrade_uifile_fre b/spk/tvheadend/src/wizard/upgrade_uifile_fre deleted file mode 100644 index e11aea8c2ca..00000000000 --- a/spk/tvheadend/src/wizard/upgrade_uifile_fre +++ /dev/null @@ -1,9 +0,0 @@ -[{ - "step_title": "Attention! Permissions DSM", - "items": [{ - "desc": "Les permissions de toutes les applications de téléchargement sont gérées par le groupe 'sc-media' dans DSM.
Le groupe 'users' n'est plus utilisé depuis DSM 6.
L'utilisateur spécifique à l'application n'apparaît plus dans la plupart des interfaces de configuration à l'exception de
- Panneau de configuration > Dossier partagé > Modifier > Permissions > Utilisateur du système interne
- Éditeur de permissions.
Merci de lire Permission Management pour plus de détails." - }, - { - "desc": "NOTE: La mise à jour de l'application va tenter de corriger les permissions des répertoires. En cas d'erreur de permission dans Tvheadend, donner les droits de Lecture/Ecriture au groupe 'sc-media' sur les répertoires mentionnés depuis File Station ou les outils de gestion des groupes ou dossier partagé." - }] -}]