From 161fd74fa2ccfebb4f7898fc77eba94f6a46e608 Mon Sep 17 00:00:00 2001 From: Florian Eckert Date: Fri, 18 Aug 2023 13:27:19 +0200 Subject: [PATCH 01/63] modemmanager: copy dbus interfaces file to staging In order to use the dbus interfaces via the command gdbus-codegen, the xml files must be copied into the building staging directory, so that other programmes can use them during compilation. Signed-off-by: Florian Eckert --- net/modemmanager/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/net/modemmanager/Makefile b/net/modemmanager/Makefile index 6819e96b9..5017d3e25 100644 --- a/net/modemmanager/Makefile +++ b/net/modemmanager/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=modemmanager PKG_SOURCE_VERSION:=1.20.6 -PKG_RELEASE:=11 +PKG_RELEASE:=12 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git @@ -80,6 +80,8 @@ define Build/InstallDev $(INSTALL_DIR) $(1)/usr/lib/pkgconfig $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/ModemManager.pc $(1)/usr/lib/pkgconfig $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/mm-glib.pc $(1)/usr/lib/pkgconfig + $(INSTALL_DIR) $(1)/usr/share/dbus-1/interfaces + $(CP) $(PKG_BUILD_DIR)/introspection/org.freedesktop.ModemManager1.* $(1)/usr/share/dbus-1/interfaces endef define Package/modemmanager/install From 87631ecdd4ece794ae600d35e259cc1227795313 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Mon, 3 Jul 2023 22:34:48 +0800 Subject: [PATCH 02/63] python3: Use regular package recipes for python3 package There is no need to use Py3Package for python3 as it does not package any Python files; it is an empty package with dependencies to install the full Python installation. Signed-off-by: Jeffery To --- lang/python/python3/Makefile | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile index 58ea2e0e0..0d9e25405 100644 --- a/lang/python/python3/Makefile +++ b/lang/python/python3/Makefile @@ -264,11 +264,7 @@ define Py3Package/python3-base/install endef Py3Package/python3-light/install:=: -Py3Package/python3/install:=: - -define Py3Package/python3/filespec --|$(PYTHON3_PKG_DIR) -endef +Package/python3/install:=: # libuuid is provided by e2fsprogs and uuid/uuid.h is moved into # $(STAGING_DIR_HOST)/include/e2fsprogs @@ -351,14 +347,13 @@ $(foreach package, $(PYTHON3_PACKAGES), \ ) $(eval $(call BuildPackage,libpython3)) +$(eval $(call BuildPackage,python3)) $(eval $(call Py3Package,python3-base)) $(eval $(call Py3Package,python3-light)) -$(eval $(call Py3Package,python3)) $(eval $(call BuildPackage,python3-base)) $(eval $(call BuildPackage,python3-light)) -$(eval $(call BuildPackage,python3)) $(eval $(call BuildPackage,python3-base-src)) $(eval $(call BuildPackage,python3-light-src)) From 329f9a139157840ad129991e961a63f7f4362d62 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Thu, 13 Jul 2023 13:39:35 +0800 Subject: [PATCH 03/63] python3: Fix package descriptions * Fix default Python package description not included in individual package descriptions * Update default Python package description text (from General Python FAQ, "What is Python?") * Add package descriptions for Python module packages * Reduce duplication in package titles Signed-off-by: Jeffery To --- lang/python/python3/Makefile | 48 ++++++++++++------- .../python3/files/python3-package-asyncio.mk | 8 +++- .../python3/files/python3-package-cgi.mk | 15 +++++- .../python3/files/python3-package-codecs.mk | 8 +++- .../python3/files/python3-package-ctypes.mk | 8 +++- .../python3/files/python3-package-dbm.mk | 8 +++- .../python3/files/python3-package-decimal.mk | 8 +++- .../python3/files/python3-package-dev.mk | 9 +++- .../files/python3-package-distutils.mk | 8 +++- .../python3/files/python3-package-email.mk | 8 +++- .../python3/files/python3-package-lib2to3.mk | 8 +++- .../python3/files/python3-package-logging.mk | 8 +++- .../python3/files/python3-package-lzma.mk | 8 +++- .../files/python3-package-multiprocessing.mk | 8 +++- .../python3/files/python3-package-ncurses.mk | 8 +++- .../python3/files/python3-package-openssl.mk | 8 +++- .../python3/files/python3-package-pydoc.mk | 8 +++- .../python3/files/python3-package-readline.mk | 8 +++- .../python3/files/python3-package-sqlite3.mk | 8 +++- .../python3/files/python3-package-unittest.mk | 8 +++- .../python3/files/python3-package-urllib.mk | 8 +++- .../python3/files/python3-package-uuid.mk | 8 +++- .../python3/files/python3-package-venv.mk | 8 +++- .../python3/files/python3-package-xml.mk | 8 +++- 24 files changed, 198 insertions(+), 42 deletions(-) diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile index 0d9e25405..45d14379c 100644 --- a/lang/python/python3/Makefile +++ b/lang/python/python3/Makefile @@ -51,44 +51,52 @@ define Package/python3/Default SUBMENU:=Python SECTION:=lang CATEGORY:=Languages - TITLE:=Python $(PYTHON3_VERSION) programming language + TITLE:=Python $(PYTHON3_VERSION) URL:=https://www.python.org/ endef define Package/python3/Default/description - Python is a dynamic object-oriented programming language that can be used - for many kinds of software development. It offers strong support for - integration with other languages and tools, comes with extensive standard - libraries, and can be learned in a few days. Many Python programmers - report substantial productivity gains and feel the language encourages - the development of higher quality, more maintainable code. +Python is an interpreted, interactive, object-oriented programming +language. It incorporates modules, exceptions, dynamic typing, very high +level dynamic data types, and classes. It supports multiple programming +paradigms beyond object-oriented programming, such as procedural and +functional programming. Python combines remarkable power with very clear +syntax. It has interfaces to many system calls and libraries, as well as +to various window systems, and is extensible in C or C++. It is also +usable as an extension language for applications that need a +programmable interface. Finally, Python is portable: it runs on many +Unix variants including Linux and macOS, and on Windows. endef define Package/libpython3 $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) core library + TITLE+= core library DEPENDS:=+libpthread ABI_VERSION:=$(PYTHON3_VERSION) endef define Package/libpython3/description - This package contains only core Python library. +$(call Package/python3/Default/description) + +This package contains only core Python library. endef define Package/python3-base $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) interpreter + TITLE+= base interpreter DEPENDS:=+libpython3 endef define Package/python3-base/description - This package contains only the interpreter and the bare minimum - for the interpreter to start. +$(call Package/python3/Default/description) + +This package contains only the interpreter and the bare minimum for the +interpreter to start. endef define Package/python3-light $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) light installation + TITLE+= light installation DEPENDS:=+python3-base +libbz2 +zlib endef @@ -97,9 +105,10 @@ define Package/python3-light/config endef define Package/python3-light/description - This package is essentially the python3-base package plus - a few of the rarely used (and big) libraries stripped out - into separate packages. +$(call Package/python3/Default/description) + +This package installs the base interpreter package and contains the most +commonly used parts of the standard library. endef PYTHON3_LIB_FILES_DEL:= @@ -126,12 +135,15 @@ include ./files/python3-package-*.mk define Package/python3 $(call Package/python3/Default) + TITLE+= programming language DEPENDS:=+python3-light $(foreach package,$(PYTHON3_PACKAGES_DEPENDS),+$(package)) endef define Package/python3/description - This package contains the (almost) full Python install. - It's python3-light + all other packages. +$(call Package/python3/Default/description) + +This package installs almost all parts of the standard Python +installation. endef # Set READELF here so that the exact same readelf program name can be diff --git a/lang/python/python3/files/python3-package-asyncio.mk b/lang/python/python3/files/python3-package-asyncio.mk index 52eccae92..c4c313940 100644 --- a/lang/python/python3/files/python3-package-asyncio.mk +++ b/lang/python/python3/files/python3-package-asyncio.mk @@ -7,10 +7,16 @@ define Package/python3-asyncio $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) asyncio module + TITLE+= asyncio module DEPENDS:=+python3-light endef +define Package/python3-asyncio/description +$(call Package/python3/Default/description) + +This package contains the asyncio module. +endef + $(eval $(call Py3BasePackage,python3-asyncio, \ /usr/lib/python$(PYTHON3_VERSION)/asyncio \ )) diff --git a/lang/python/python3/files/python3-package-cgi.mk b/lang/python/python3/files/python3-package-cgi.mk index 165800a10..e4bb110f1 100644 --- a/lang/python/python3/files/python3-package-cgi.mk +++ b/lang/python/python3/files/python3-package-cgi.mk @@ -7,16 +7,27 @@ define Package/python3-cgi $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) cgi module + TITLE+= cgi module DEPENDS:=+python3-light +python3-email endef define Package/python3-cgitb $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) cgitb module + TITLE+= cgitb module DEPENDS:=+python3-light +python3-cgi +python3-pydoc endef +define Package/python3-cgi/description +$(call Package/python3/Default/description) + +This package contains the cgi module. +endef + +define Package/python3-cgitb/description +$(call Package/python3/Default/description) + +This package contains the cgitb module. +endef $(eval $(call Py3BasePackage,python3-cgi, \ /usr/lib/python$(PYTHON3_VERSION)/cgi.py \ diff --git a/lang/python/python3/files/python3-package-codecs.mk b/lang/python/python3/files/python3-package-codecs.mk index f768b02ea..712cb28ea 100644 --- a/lang/python/python3/files/python3-package-codecs.mk +++ b/lang/python/python3/files/python3-package-codecs.mk @@ -7,10 +7,16 @@ define Package/python3-codecs $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) codecs + unicode support + TITLE+= codecs/Unicode support DEPENDS:=+python3-light endef +define Package/python3-codecs/description +$(call Package/python3/Default/description) + +This package contains codecs and Unicode support. +endef + $(eval $(call Py3BasePackage,python3-codecs, \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_codecs_cn.$(PYTHON3_SO_SUFFIX) \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_codecs_hk.$(PYTHON3_SO_SUFFIX) \ diff --git a/lang/python/python3/files/python3-package-ctypes.mk b/lang/python/python3/files/python3-package-ctypes.mk index e1bac47cd..bbd0aff32 100644 --- a/lang/python/python3/files/python3-package-ctypes.mk +++ b/lang/python/python3/files/python3-package-ctypes.mk @@ -7,10 +7,16 @@ define Package/python3-ctypes $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) ctypes module + TITLE+= ctypes module DEPENDS:=+python3-light +libffi endef +define Package/python3-ctypes/description +$(call Package/python3/Default/description) + +This package contains the ctypes module. +endef + $(eval $(call Py3BasePackage,python3-ctypes, \ /usr/lib/python$(PYTHON3_VERSION)/ctypes \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_ctypes.$(PYTHON3_SO_SUFFIX) \ diff --git a/lang/python/python3/files/python3-package-dbm.mk b/lang/python/python3/files/python3-package-dbm.mk index ede9af163..3de584fc5 100644 --- a/lang/python/python3/files/python3-package-dbm.mk +++ b/lang/python/python3/files/python3-package-dbm.mk @@ -7,10 +7,16 @@ define Package/python3-dbm $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) dbm module + TITLE+= dbm module DEPENDS:=+python3-light +libgdbm endef +define Package/python3-dbm/description +$(call Package/python3/Default/description) + +This package contains the dbm module. +endef + $(eval $(call Py3BasePackage,python3-dbm, \ /usr/lib/python$(PYTHON3_VERSION)/dbm \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_dbm.$(PYTHON3_SO_SUFFIX) \ diff --git a/lang/python/python3/files/python3-package-decimal.mk b/lang/python/python3/files/python3-package-decimal.mk index 391b6f659..98f632b2b 100644 --- a/lang/python/python3/files/python3-package-decimal.mk +++ b/lang/python/python3/files/python3-package-decimal.mk @@ -7,10 +7,16 @@ define Package/python3-decimal $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) decimal module + TITLE+= decimal module DEPENDS:=+python3-light endef +define Package/python3-decimal/description +$(call Package/python3/Default/description) + +This package contains the decimal module. +endef + $(eval $(call Py3BasePackage,python3-decimal, \ /usr/lib/python$(PYTHON3_VERSION)/decimal.py \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_decimal.$(PYTHON3_SO_SUFFIX) \ diff --git a/lang/python/python3/files/python3-package-dev.mk b/lang/python/python3/files/python3-package-dev.mk index e43ba5234..d9b7e7284 100644 --- a/lang/python/python3/files/python3-package-dev.mk +++ b/lang/python/python3/files/python3-package-dev.mk @@ -7,10 +7,17 @@ define Package/python3-dev $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) development files + TITLE+= development files DEPENDS:=+python3 +python3-lib2to3 endef +define Package/python3-dev/description +$(call Package/python3/Default/description) + +This package contains files for building Python modules, extending the +Python interpreter, or embedded Python in applications. +endef + define Py3Package/python3-dev/install $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/bin/python$(PYTHON3_VERSION)-config $(1)/usr/bin diff --git a/lang/python/python3/files/python3-package-distutils.mk b/lang/python/python3/files/python3-package-distutils.mk index ff3564eea..13a8f38cf 100644 --- a/lang/python/python3/files/python3-package-distutils.mk +++ b/lang/python/python3/files/python3-package-distutils.mk @@ -7,10 +7,16 @@ define Package/python3-distutils $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) distutils module + TITLE+= distutils module DEPENDS:=+python3-light +python3-email endef +define Package/python3-distutils/description +$(call Package/python3/Default/description) + +This package contains the distutils module. +endef + $(eval $(call Py3BasePackage,python3-distutils, \ /usr/lib/python$(PYTHON3_VERSION)/distutils \ )) diff --git a/lang/python/python3/files/python3-package-email.mk b/lang/python/python3/files/python3-package-email.mk index 6cf44071d..563f6f8ae 100644 --- a/lang/python/python3/files/python3-package-email.mk +++ b/lang/python/python3/files/python3-package-email.mk @@ -7,10 +7,16 @@ define Package/python3-email $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) email module + TITLE+= email module DEPENDS:=+python3-light endef +define Package/python3-email/description +$(call Package/python3/Default/description) + +This package contains the email module. +endef + $(eval $(call Py3BasePackage,python3-email, \ /usr/lib/python$(PYTHON3_VERSION)/email \ )) diff --git a/lang/python/python3/files/python3-package-lib2to3.mk b/lang/python/python3/files/python3-package-lib2to3.mk index ed712b6fd..c2aa84d11 100644 --- a/lang/python/python3/files/python3-package-lib2to3.mk +++ b/lang/python/python3/files/python3-package-lib2to3.mk @@ -7,10 +7,16 @@ define Package/python3-lib2to3 $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) lib2to3 module + TITLE+= lib2to3 module DEPENDS:=+python3 endef +define Package/python3-lib2to3/description +$(call Package/python3/Default/description) + +This package contains the lib2to3 module. +endef + $(eval $(call Py3BasePackage,python3-lib2to3, \ /usr/lib/python$(PYTHON3_VERSION)/lib2to3 \ , \ diff --git a/lang/python/python3/files/python3-package-logging.mk b/lang/python/python3/files/python3-package-logging.mk index fa3ec0e17..7b770ded8 100644 --- a/lang/python/python3/files/python3-package-logging.mk +++ b/lang/python/python3/files/python3-package-logging.mk @@ -7,10 +7,16 @@ define Package/python3-logging $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) logging module + TITLE+= logging module DEPENDS:=+python3-light endef +define Package/python3-logging/description +$(call Package/python3/Default/description) + +This package contains the logging module. +endef + $(eval $(call Py3BasePackage,python3-logging, \ /usr/lib/python$(PYTHON3_VERSION)/logging \ )) diff --git a/lang/python/python3/files/python3-package-lzma.mk b/lang/python/python3/files/python3-package-lzma.mk index 57b38eced..0e984cb7c 100644 --- a/lang/python/python3/files/python3-package-lzma.mk +++ b/lang/python/python3/files/python3-package-lzma.mk @@ -7,10 +7,16 @@ define Package/python3-lzma $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) lzma module + TITLE+= lzma module DEPENDS:=+python3-light +liblzma endef +define Package/python3-lzma/description +$(call Package/python3/Default/description) + +This package contains the lzma module. +endef + $(eval $(call Py3BasePackage,python3-lzma, \ /usr/lib/python$(PYTHON3_VERSION)/lzma.py \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_lzma.$(PYTHON3_SO_SUFFIX) \ diff --git a/lang/python/python3/files/python3-package-multiprocessing.mk b/lang/python/python3/files/python3-package-multiprocessing.mk index c7976016d..7f9b69a44 100644 --- a/lang/python/python3/files/python3-package-multiprocessing.mk +++ b/lang/python/python3/files/python3-package-multiprocessing.mk @@ -7,10 +7,16 @@ define Package/python3-multiprocessing $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) multiprocessing + TITLE+= multiprocessing module DEPENDS:=+python3-light endef +define Package/python3-multiprocessing/description +$(call Package/python3/Default/description) + +This package contains the multiprocessing module. +endef + $(eval $(call Py3BasePackage,python3-multiprocessing, \ /usr/lib/python$(PYTHON3_VERSION)/multiprocessing \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_multiprocessing.$(PYTHON3_SO_SUFFIX) \ diff --git a/lang/python/python3/files/python3-package-ncurses.mk b/lang/python/python3/files/python3-package-ncurses.mk index 3ecdeb336..5db04b821 100644 --- a/lang/python/python3/files/python3-package-ncurses.mk +++ b/lang/python/python3/files/python3-package-ncurses.mk @@ -7,10 +7,16 @@ define Package/python3-ncurses $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) ncurses module + TITLE+= ncurses module DEPENDS:=+python3-light +libncursesw endef +define Package/python3-ncurses/description +$(call Package/python3/Default/description) + +This package contains the ncurses module. +endef + $(eval $(call Py3BasePackage,python3-ncurses, \ /usr/lib/python$(PYTHON3_VERSION)/curses \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_curses.$(PYTHON3_SO_SUFFIX) \ diff --git a/lang/python/python3/files/python3-package-openssl.mk b/lang/python/python3/files/python3-package-openssl.mk index 4d13afd20..eec9daf8c 100644 --- a/lang/python/python3/files/python3-package-openssl.mk +++ b/lang/python/python3/files/python3-package-openssl.mk @@ -7,10 +7,16 @@ define Package/python3-openssl $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) SSL module + TITLE+= ssl module DEPENDS:=+python3-light +libopenssl +ca-certs endef +define Package/python3-openssl/description +$(call Package/python3/Default/description) + +This package contains the ssl module. +endef + $(eval $(call Py3BasePackage,python3-openssl, \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_hashlib.$(PYTHON3_SO_SUFFIX) \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_ssl.$(PYTHON3_SO_SUFFIX) \ diff --git a/lang/python/python3/files/python3-package-pydoc.mk b/lang/python/python3/files/python3-package-pydoc.mk index 9ab1a5b8b..d5bbe7c3d 100644 --- a/lang/python/python3/files/python3-package-pydoc.mk +++ b/lang/python/python3/files/python3-package-pydoc.mk @@ -7,10 +7,16 @@ define Package/python3-pydoc $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) pydoc module + TITLE+= pydoc module DEPENDS:=+python3-light endef +define Package/python3-pydoc/description +$(call Package/python3/Default/description) + +This package contains the pydoc module. +endef + $(eval $(call Py3BasePackage,python3-pydoc, \ /usr/lib/python$(PYTHON3_VERSION)/doctest.py \ /usr/lib/python$(PYTHON3_VERSION)/pydoc.py \ diff --git a/lang/python/python3/files/python3-package-readline.mk b/lang/python/python3/files/python3-package-readline.mk index fbff134a3..846b71168 100644 --- a/lang/python/python3/files/python3-package-readline.mk +++ b/lang/python/python3/files/python3-package-readline.mk @@ -7,10 +7,16 @@ define Package/python3-readline $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) readline module + TITLE+= readline module DEPENDS:=+python3-light +libreadline endef +define Package/python3-readline/description +$(call Package/python3/Default/description) + +This package contains the readline module. +endef + $(eval $(call Py3BasePackage,python3-readline, \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/readline.$(PYTHON3_SO_SUFFIX) \ )) diff --git a/lang/python/python3/files/python3-package-sqlite3.mk b/lang/python/python3/files/python3-package-sqlite3.mk index 665bff26a..06f34be6b 100644 --- a/lang/python/python3/files/python3-package-sqlite3.mk +++ b/lang/python/python3/files/python3-package-sqlite3.mk @@ -7,10 +7,16 @@ define Package/python3-sqlite3 $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) sqlite3 module + TITLE+= sqlite3 module DEPENDS:=+python3-light +libsqlite3 endef +define Package/python3-sqlite3/description +$(call Package/python3/Default/description) + +This package contains the sqlite3 module. +endef + $(eval $(call Py3BasePackage,python3-sqlite3, \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_sqlite3.$(PYTHON3_SO_SUFFIX) \ /usr/lib/python$(PYTHON3_VERSION)/sqlite3 \ diff --git a/lang/python/python3/files/python3-package-unittest.mk b/lang/python/python3/files/python3-package-unittest.mk index d9df86f71..eb5f09ec4 100644 --- a/lang/python/python3/files/python3-package-unittest.mk +++ b/lang/python/python3/files/python3-package-unittest.mk @@ -7,10 +7,16 @@ define Package/python3-unittest $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) unittest module + TITLE+= unittest module DEPENDS:=+python3-light endef +define Package/python3-unittest/description +$(call Package/python3/Default/description) + +This package contains the unittest module. +endef + $(eval $(call Py3BasePackage,python3-unittest, \ /usr/lib/python$(PYTHON3_VERSION)/unittest \ )) diff --git a/lang/python/python3/files/python3-package-urllib.mk b/lang/python/python3/files/python3-package-urllib.mk index ddd7b1dbf..e84e589de 100644 --- a/lang/python/python3/files/python3-package-urllib.mk +++ b/lang/python/python3/files/python3-package-urllib.mk @@ -7,10 +7,16 @@ define Package/python3-urllib $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) URL library module + TITLE+= URL handling modules DEPENDS:=+python3-light +python3-email endef +define Package/python3-urllib/description +$(call Package/python3/Default/description) + +This package contains the URL handling modules. +endef + $(eval $(call Py3BasePackage,python3-urllib, \ /usr/lib/python$(PYTHON3_VERSION)/urllib \ )) diff --git a/lang/python/python3/files/python3-package-uuid.mk b/lang/python/python3/files/python3-package-uuid.mk index ef05c5902..ae188738b 100644 --- a/lang/python/python3/files/python3-package-uuid.mk +++ b/lang/python/python3/files/python3-package-uuid.mk @@ -7,10 +7,16 @@ define Package/python3-uuid $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) UUID module + TITLE+= uuid module DEPENDS:=+python3-light +libuuid endef +define Package/python3-uuid/description +$(call Package/python3/Default/description) + +This package contains the uuid module. +endef + $(eval $(call Py3BasePackage,python3-uuid, \ /usr/lib/python$(PYTHON3_VERSION)/uuid.py \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_uuid.$(PYTHON3_SO_SUFFIX) \ diff --git a/lang/python/python3/files/python3-package-venv.mk b/lang/python/python3/files/python3-package-venv.mk index b2ddcab79..536c985ff 100644 --- a/lang/python/python3/files/python3-package-venv.mk +++ b/lang/python/python3/files/python3-package-venv.mk @@ -7,10 +7,16 @@ define Package/python3-venv $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) venv module + TITLE+= venv module DEPENDS:=+python3 endef +define Package/python3-venv/description +$(call Package/python3/Default/description) + +This package contains the venv module. +endef + $(eval $(call Py3BasePackage,python3-venv, \ /usr/lib/python$(PYTHON3_VERSION)/ensurepip \ /usr/lib/python$(PYTHON3_VERSION)/venv \ diff --git a/lang/python/python3/files/python3-package-xml.mk b/lang/python/python3/files/python3-package-xml.mk index 84b2ce056..97669e5dd 100644 --- a/lang/python/python3/files/python3-package-xml.mk +++ b/lang/python/python3/files/python3-package-xml.mk @@ -7,10 +7,16 @@ define Package/python3-xml $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) xml libs + TITLE+= XML modules DEPENDS:=+python3-light +python3-urllib endef +define Package/python3-xml/description +$(call Package/python3/Default/description) + +This package contains the XML modules. +endef + $(eval $(call Py3BasePackage,python3-xml, \ /usr/lib/python$(PYTHON3_VERSION)/xml \ /usr/lib/python$(PYTHON3_VERSION)/xmlrpc \ From 2ffb87726b93ffd73a5291d6db1bc3d13fbcde17 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Thu, 29 Jun 2023 15:27:40 +0800 Subject: [PATCH 04/63] python: Rework filespec install script * Support wildcards in install (`+`) paths * Add fourth parameter to set directory permissions If file permissions are given (third parameter), these will now apply to files only. * Add non-recursive set permissions command (`==`) * Be more strict about filespec format Blank lines and lines starting with `#` will be ignored. Other errors (unknown command, missing path parameter, etc.) will cause the script to exit. * Be more strict about ensuring paths exist for all commands * Avoid spawning subshells This also removes outdated filespec paths in the python3 package; these paths delete files that are no longer present. Signed-off-by: Jeffery To --- lang/python/python-package-install.sh | 171 ++++++++++++++++++++------ lang/python/python3/Makefile | 30 ++--- 2 files changed, 148 insertions(+), 53 deletions(-) diff --git a/lang/python/python-package-install.sh b/lang/python/python-package-install.sh index fa42f6f4a..4e7fb7af5 100644 --- a/lang/python/python-package-install.sh +++ b/lang/python/python-package-install.sh @@ -1,45 +1,140 @@ #!/bin/sh -set -e -process_filespec() { - local src_dir="$1" - local dst_dir="$2" - local filespec="$3" - echo "$filespec" | ( - IFS='|' - while read fop fspec fperm; do - local fop=`echo "$fop" | tr -d ' \t\n'` - if [ "$fop" = "+" ]; then - if [ ! -e "${src_dir}${fspec}" ]; then - echo "File not found '${src_dir}${fspec}'" - exit 1 - fi - dpath=`dirname "$fspec"` - if [ -z "$fperm" ]; then - dperm=`stat -c "%a" ${src_dir}${dpath}` - fi - mkdir -p -m$dperm ${dst_dir}${dpath} - echo "copying: '$fspec'" - cp -fpR ${src_dir}${fspec} ${dst_dir}${dpath}/ - if [ -n "$fperm" ]; then - chmod -R $fperm ${dst_dir}${fspec} - fi - elif [ "$fop" = "-" ]; then - echo "removing: '$fspec'" - rm -fR ${dst_dir}${fspec} - elif [ "$fop" = "=" ]; then - echo "setting permissions: '$fperm' on '$fspec'" - chmod -R $fperm ${dst_dir}${fspec} - fi - done - ) +log() { + printf '%s\n' "$*" } -src_dir="$1" -dst_dir="$2" +error() { + printf 'Error: %s\n' "$*" >&2 +} + +path_exists() { + local dir="$1" + local path="$2" + + [ -n "$(find "$dir"/$path -print -quit 2>/dev/null)" ] +} + +file_dir_chmod() { + local dir="$1" + local path="$2" + local file_mode="$3" + local dir_mode="$4" + shift; shift; shift; shift; + + if [ -n "$file_mode" ]; then + find "$dir"/$path -type f "$@" -exec chmod "$file_mode" -- '{}' + + fi + + if [ -n "$dir_mode" ]; then + find "$dir"/$path -type d "$@" -exec chmod "$dir_mode" -- '{}' + + fi +} + +src="$1" +dest="$2" filespec="$3" -process_filespec "$src_dir" "$dst_dir" "$filespec" || { - echo "process filespec error-ed" +if [ -z "$src" ]; then + error "Missing source directory" exit 1 -} +fi +if [ -z "$dest" ]; then + error "Missing destination directory" + exit 1 +fi + +while IFS='|' read -r cmd path file_mode dir_mode; do + + # trim whitespace + + cmd="${cmd#"${cmd%%[![:space:]]*}"}" + cmd="${cmd%"${cmd##*[![:space:]]}"}" + + path="${path#"${path%%[![:space:]]*}"}" + path="${path%"${path##*[![:space:]]}"}" + + file_mode="${file_mode#"${file_mode%%[![:space:]]*}"}" + file_mode="${file_mode%"${file_mode##*[![:space:]]}"}" + + dir_mode="${dir_mode#"${dir_mode%%[![:space:]]*}"}" + dir_mode="${dir_mode%"${dir_mode##*[![:space:]]}"}" + + + if [ -z "$cmd" ] || [ "$cmd" != "${cmd#\#}" ]; then + continue + fi + + if [ -z "$path" ]; then + error "Missing path for \"$cmd\"" + exit 1 + fi + + case "$cmd" in + +) + log "Copying: \"$path\"" + + if ! path_exists "$src" "$path"; then + error "\"$src/$path\" not found" + exit 1 + fi + + dir="${path%/*}" + mkdir -p "$dest/$dir" + cp -fpR "$src"/$path "$dest/$dir/" + + file_dir_chmod "$dest" "$path" "$file_mode" "$dir_mode" + ;; + + -) + log "Removing: \"$path\"" + + if ! path_exists "$dest" "$path"; then + error "\"$dest/$path\" not found" + exit 1 + fi + + rm -fR -- "$dest"/$path + ;; + + =) + log "Setting recursive permissions \"${file_mode:-(none)}\"/\"${dir_mode:-(none)}\" on \"$path\"" + + if ! path_exists "$dest" "$path"; then + error "\"$dest/$path\" not found" + exit 1 + fi + + if [ -z "$file_mode$dir_mode" ]; then + error "Missing recursive permissions for \"$path\"" + exit 1 + fi + + file_dir_chmod "$dest" "$path" "$file_mode" "$dir_mode" + ;; + + ==) + log "Setting permissions \"${file_mode:-(none)}\"/\"${dir_mode:-(none)}\" on \"$path\"" + + if ! path_exists "$dest" "$path"; then + error "\"$dest/$path\" not found" + exit 1 + fi + + if [ -z "$file_mode$dir_mode" ]; then + error "Missing permissions for \"$path\"" + exit 1 + fi + + file_dir_chmod "$dest" "$path" "$file_mode" "$dir_mode" -maxdepth 0 + ;; + + *) + error "Unknown command \"$cmd\"" + exit 1 + ;; + esac + +done << EOF +$filespec +EOF diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile index 45d14379c..304e24304 100644 --- a/lang/python/python3/Makefile +++ b/lang/python/python3/Makefile @@ -121,13 +121,15 @@ define Py3BasePackage PYTHON3_PACKAGES_DEPENDS+=$(1) endif PYTHON3_LIB_FILES_DEL+=$(2) - define Py3Package/$(1)/filespec - ifneq ($(2),) - $(subst $(space),$(newline),$(foreach lib_file,$(2),+|$(lib_file))) - -|/usr/lib/python$(PYTHON3_VERSION)/*/test - -|/usr/lib/python$(PYTHON3_VERSION)/*/tests - endif - endef + ifeq ($(2),) + Py3Package/$(1)/filespec= + else + define Py3Package/$(1)/filespec + $(foreach lib_file,$(2), + +|$(lib_file) + ) + endef + endif Py3Package/$(1)/install?=: endef @@ -240,24 +242,22 @@ PYTHON3_LIB_FILES_DEL+=$(PYTHON3_BASE_LIB_FILES) define Py3Package/python3-base/filespec +|/usr/bin/python$(PYTHON3_VERSION) -$(subst $(space),$(newline),$(foreach lib_file,$(PYTHON3_BASE_LIB_FILES),+|$(lib_file))) +$(foreach lib_file,$(PYTHON3_BASE_LIB_FILES), + +|$(lib_file) +) endef define Py3Package/python3-light/filespec +|/usr/lib/python$(PYTHON3_VERSION) -|/usr/lib/python$(PYTHON3_VERSION)/distutils/cygwinccompiler.py --|/usr/lib/python$(PYTHON3_VERSION)/distutils/command/wininst* -|/usr/lib/python$(PYTHON3_VERSION)/idlelib -|/usr/lib/python$(PYTHON3_VERSION)/tkinter -|/usr/lib/python$(PYTHON3_VERSION)/turtledemo --|/usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_test*.so --|/usr/lib/python$(PYTHON3_VERSION)/pdb.doc --|/usr/lib/python$(PYTHON3_VERSION)/test -|/usr/lib/python$(PYTHON3_VERSION)/webbrowser.py --|/usr/lib/python$(PYTHON3_VERSION)/*/test --|/usr/lib/python$(PYTHON3_VERSION)/*/tests -|/usr/lib/python$(PYTHON3_VERSION)/_osx_support.py -$(subst $(space),$(newline),$(foreach lib_file,$(PYTHON3_LIB_FILES_DEL),-|$(lib_file))) +$(foreach lib_file,$(filter /usr/lib/python$(PYTHON3_VERSION)/%,$(PYTHON3_LIB_FILES_DEL)), + -|$(lib_file) +) endef define Package/libpython3/install From b595362b8567521b9bdf003dcc88f9b962c22b10 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Thu, 29 Jun 2023 16:13:52 +0800 Subject: [PATCH 05/63] python3: Centralize config file adjustments in Build/Install Signed-off-by: Jeffery To --- lang/python/python3/Makefile | 14 +++++++++----- lang/python/python3/files/python3-package-dev.mk | 3 --- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile index 304e24304..6e364e45e 100644 --- a/lang/python/python3/Makefile +++ b/lang/python/python3/Makefile @@ -31,7 +31,6 @@ PYTHON3_PKG_BUILD:=0 include ../python3-package.mk PKG_FIXUP:=autoreconf -PKG_INSTALL:=1 PKG_BUILD_PARALLEL:=1 HOST_BUILD_PARALLEL:=1 # LTO is handled here individually, see --with-lto below @@ -149,7 +148,7 @@ installation. endef # Set READELF here so that the exact same readelf program name can be -# replaced in _sysconfigdata.py (in Py3Package/python3-base/install) +# replaced in _sysconfigdata.py (in Build/Install) TARGET_CONFIGURE_OPTS+= \ READELF="$(TARGET_CROSS)readelf" @@ -197,6 +196,14 @@ CONFIGURE_ARGS += \ $(if $(CONFIG_IPV6),--enable-ipv6) \ $(if $(findstring mips,$(CONFIG_ARCH)),,--with-lto) +define Build/Install + $(call Build/Install/Default,) + + $(SED) 's|$(TARGET_AR)|ar|g;s|$(TARGET_CROSS)readelf|readelf|g;s|$(TARGET_CC)|gcc|g;s|$(TARGET_CXX)|g++|g' \ + $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/_sysconfigdata.py \ + $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION)/Makefile +endef + define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib $(1)/usr/lib/pkgconfig $(INSTALL_DIR) $(2)/bin @@ -270,9 +277,6 @@ define Py3Package/python3-base/install $(INSTALL_DIR) $(1)/usr/bin $(LN) python$(PYTHON3_VERSION) $(1)/usr/bin/python3 $(LN) python$(PYTHON3_VERSION) $(1)/usr/bin/python - # This depends on being called before filespec is processed - $(SED) 's|$(TARGET_AR)|ar|g;s|$(TARGET_CROSS)readelf|readelf|g;s|$(TARGET_CC)|gcc|g;s|$(TARGET_CXX)|g++|g' \ - $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/_sysconfigdata.py endef Py3Package/python3-light/install:=: diff --git a/lang/python/python3/files/python3-package-dev.mk b/lang/python/python3/files/python3-package-dev.mk index d9b7e7284..3eca521ff 100644 --- a/lang/python/python3/files/python3-package-dev.mk +++ b/lang/python/python3/files/python3-package-dev.mk @@ -24,9 +24,6 @@ define Py3Package/python3-dev/install $(LN) python$(PYTHON3_VERSION)-config $(1)/usr/bin/python3-config $(LN) python$(PYTHON3_VERSION)-config $(1)/usr/bin/python-config $(LN) python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION)/libpython$(PYTHON3_VERSION).a $(1)/usr/lib/ - # This depends on being called before filespec is processed - $(SED) 's|$(TARGET_AR)|ar|g;s|$(TARGET_CROSS)readelf|readelf|g;s|$(TARGET_CC)|gcc|g;s|$(TARGET_CXX)|g++|g' \ - $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION)/Makefile endef $(eval $(call Py3BasePackage,python3-dev, \ From 5a0055df0621d4347723993b04a2fcf045929acf Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Tue, 11 Jul 2023 15:48:19 +0800 Subject: [PATCH 06/63] python3: Fix/expand platform triplet detection Currently, configure does not find the correct platform triplet for musl as the default build/host values passed by OpenWrt buildroot does not contain the text "linux-musl". This backports https://github.com/python/cpython/commit/c163d7f0b67a568e9b64eeb9c1cbbaa127818596 to add detection for mips soft float and musl. Signed-off-by: Jeffery To --- lang/python/python3/Makefile | 2 +- ...orm-triplet-detection-code-GH-107221.patch | 476 ++++++++++++++++++ ...itch-PLATFORM_TRIPLET-suffix-to-musl.patch | 49 -- 3 files changed, 477 insertions(+), 50 deletions(-) create mode 100644 lang/python/python3/patches/100-gh-95855-Refactor-platform-triplet-detection-code-GH-107221.patch delete mode 100644 lang/python/python3/patches/131-configure_ac-switch-PLATFORM_TRIPLET-suffix-to-musl.patch diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile index 6e364e45e..f35556769 100644 --- a/lang/python/python3/Makefile +++ b/lang/python/python3/Makefile @@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk include ../python3-version.mk PKG_NAME:=python3 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_VERSION:=$(PYTHON3_VERSION).$(PYTHON3_VERSION_MICRO) PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz diff --git a/lang/python/python3/patches/100-gh-95855-Refactor-platform-triplet-detection-code-GH-107221.patch b/lang/python/python3/patches/100-gh-95855-Refactor-platform-triplet-detection-code-GH-107221.patch new file mode 100644 index 000000000..c3e95a3f4 --- /dev/null +++ b/lang/python/python3/patches/100-gh-95855-Refactor-platform-triplet-detection-code-GH-107221.patch @@ -0,0 +1,476 @@ +From c163d7f0b67a568e9b64eeb9c1cbbaa127818596 Mon Sep 17 00:00:00 2001 +From: Jeffery To +Date: Thu, 24 Aug 2023 20:22:50 +0800 +Subject: [PATCH] gh-95855: Refactor platform triplet detection code, add + detection for MIPS soft float and musl libc (#107221) + +- Move platform triplet detection code into Misc/platform_triplet.c +- Refactor MIPS detection, use defined(__mips64) to detect MIPS64 +- Compute libc values in separate section +- Add detection for MIPS soft float +- Add detection for musl + +musl supports SPE with its soft-float ABI: +https://git.musl-libc.org/cgit/musl/commit/?id=7be59733d71ada3a32a98622507399253f1d5e48 + +Original patch by Christian Heimes. + +Co-authored-by: Christian Heimes +Co-authored-by: Erlend E. Aasland + +[omit news, changes to configure; adapt for Python 3.11] +Signed-off-by: Jeffery To +--- + ...3-07-25-02-30-00.gh-issue-95855.wA7rAf.rst | 2 + + Misc/platform_triplet.c | 255 ++++++++++++++++++ + configure | 192 +------------ + configure.ac | 192 +------------ + 4 files changed, 265 insertions(+), 376 deletions(-) + create mode 100644 Misc/NEWS.d/next/Build/2023-07-25-02-30-00.gh-issue-95855.wA7rAf.rst + create mode 100644 Misc/platform_triplet.c + +--- /dev/null ++++ b/Misc/platform_triplet.c +@@ -0,0 +1,255 @@ ++/* Detect platform triplet from builtin defines ++ * cc -E Misc/platform_triplet.c | grep '^PLATFORM_TRIPLET=' | tr -d ' ' ++ */ ++#undef bfin ++#undef cris ++#undef fr30 ++#undef linux ++#undef hppa ++#undef hpux ++#undef i386 ++#undef mips ++#undef powerpc ++#undef sparc ++#undef unix ++#if defined(__ANDROID__) ++ # Android is not a multiarch system. ++#elif defined(__linux__) ++/* ++ * BEGIN of Linux block ++ */ ++// Detect libc (based on config.guess) ++# include ++# if defined(__UCLIBC__) ++# error uclibc not supported ++# elif defined(__dietlibc__) ++# error dietlibc not supported ++# elif defined(__GLIBC__) ++# define LIBC gnu ++# define LIBC_X32 gnux32 ++# if defined(__ARM_PCS_VFP) ++# define LIBC_ARM gnueabihf ++# else ++# define LIBC_ARM gnueabi ++# endif ++# if defined(__loongarch__) ++# if defined(__loongarch_soft_float) ++# define LIBC_LA gnusf ++# elif defined(__loongarch_single_float) ++# define LIBC_LA gnuf32 ++# elif defined(__loongarch_double_float) ++# define LIBC_LA gnu ++# else ++# error unknown loongarch floating-point base abi ++# endif ++# endif ++# if defined(_MIPS_SIM) ++# if defined(__mips_hard_float) ++# if _MIPS_SIM == _ABIO32 ++# define LIBC_MIPS gnu ++# elif _MIPS_SIM == _ABIN32 ++# define LIBC_MIPS gnuabin32 ++# elif _MIPS_SIM == _ABI64 ++# define LIBC_MIPS gnuabi64 ++# else ++# error unknown mips sim value ++# endif ++# else ++# if _MIPS_SIM == _ABIO32 ++# define LIBC_MIPS gnusf ++# elif _MIPS_SIM == _ABIN32 ++# define LIBC_MIPS gnuabin32sf ++# elif _MIPS_SIM == _ABI64 ++# define LIBC_MIPS gnuabi64sf ++# else ++# error unknown mips sim value ++# endif ++# endif ++# endif ++# if defined(__SPE__) ++# define LIBC_PPC gnuspe ++# else ++# define LIBC_PPC gnu ++# endif ++# else ++// Heuristic to detect musl libc ++# include ++# ifdef __DEFINED_va_list ++# define LIBC musl ++# define LIBC_X32 muslx32 ++# if defined(__ARM_PCS_VFP) ++# define LIBC_ARM musleabihf ++# else ++# define LIBC_ARM musleabi ++# endif ++# if defined(__loongarch__) ++# if defined(__loongarch_soft_float) ++# define LIBC_LA muslsf ++# elif defined(__loongarch_single_float) ++# define LIBC_LA muslf32 ++# elif defined(__loongarch_double_float) ++# define LIBC_LA musl ++# else ++# error unknown loongarch floating-point base abi ++# endif ++# endif ++# if defined(_MIPS_SIM) ++# if defined(__mips_hard_float) ++# if _MIPS_SIM == _ABIO32 ++# define LIBC_MIPS musl ++# elif _MIPS_SIM == _ABIN32 ++# define LIBC_MIPS musln32 ++# elif _MIPS_SIM == _ABI64 ++# define LIBC_MIPS musl ++# else ++# error unknown mips sim value ++# endif ++# else ++# if _MIPS_SIM == _ABIO32 ++# define LIBC_MIPS muslsf ++# elif _MIPS_SIM == _ABIN32 ++# define LIBC_MIPS musln32sf ++# elif _MIPS_SIM == _ABI64 ++# define LIBC_MIPS muslsf ++# else ++# error unknown mips sim value ++# endif ++# endif ++# endif ++# if defined(_SOFT_FLOAT) || defined(__NO_FPRS__) ++# define LIBC_PPC muslsf ++# else ++# define LIBC_PPC musl ++# endif ++# else ++# error unknown libc ++# endif ++# endif ++ ++# if defined(__x86_64__) && defined(__LP64__) ++PLATFORM_TRIPLET=x86_64-linux-LIBC ++# elif defined(__x86_64__) && defined(__ILP32__) ++PLATFORM_TRIPLET=x86_64-linux-LIBC_X32 ++# elif defined(__i386__) ++PLATFORM_TRIPLET=i386-linux-LIBC ++# elif defined(__aarch64__) && defined(__AARCH64EL__) ++# if defined(__ILP32__) ++PLATFORM_TRIPLET=aarch64_ilp32-linux-LIBC ++# else ++PLATFORM_TRIPLET=aarch64-linux-LIBC ++# endif ++# elif defined(__aarch64__) && defined(__AARCH64EB__) ++# if defined(__ILP32__) ++PLATFORM_TRIPLET=aarch64_be_ilp32-linux-LIBC ++# else ++PLATFORM_TRIPLET=aarch64_be-linux-LIBC ++# endif ++# elif defined(__alpha__) ++PLATFORM_TRIPLET=alpha-linux-LIBC ++# elif defined(__ARM_EABI__) ++# if defined(__ARMEL__) ++PLATFORM_TRIPLET=arm-linux-LIBC_ARM ++# else ++PLATFORM_TRIPLET=armeb-linux-LIBC_ARM ++# endif ++# elif defined(__hppa__) ++PLATFORM_TRIPLET=hppa-linux-LIBC ++# elif defined(__ia64__) ++PLATFORM_TRIPLET=ia64-linux-LIBC ++# elif defined(__loongarch__) && defined(__loongarch_lp64) ++PLATFORM_TRIPLET=loongarch64-linux-LIBC_LA ++# elif defined(__m68k__) && !defined(__mcoldfire__) ++PLATFORM_TRIPLET=m68k-linux-LIBC ++# elif defined(__mips__) ++# if defined(__mips_isa_rev) && (__mips_isa_rev >=6) ++# if defined(_MIPSEL) && defined(__mips64) ++PLATFORM_TRIPLET=mipsisa64r6el-linux-LIBC_MIPS ++# elif defined(_MIPSEL) ++PLATFORM_TRIPLET=mipsisa32r6el-linux-LIBC_MIPS ++# elif defined(__mips64) ++PLATFORM_TRIPLET=mipsisa64r6-linux-LIBC_MIPS ++# else ++PLATFORM_TRIPLET=mipsisa32r6-linux-LIBC_MIPS ++# endif ++# else ++# if defined(_MIPSEL) && defined(__mips64) ++PLATFORM_TRIPLET=mips64el-linux-LIBC_MIPS ++# elif defined(_MIPSEL) ++PLATFORM_TRIPLET=mipsel-linux-LIBC_MIPS ++# elif defined(__mips64) ++PLATFORM_TRIPLET=mips64-linux-LIBC_MIPS ++# else ++PLATFORM_TRIPLET=mips-linux-LIBC_MIPS ++# endif ++# endif ++# elif defined(__or1k__) ++PLATFORM_TRIPLET=or1k-linux-LIBC ++# elif defined(__powerpc64__) ++# if defined(__LITTLE_ENDIAN__) ++PLATFORM_TRIPLET=powerpc64le-linux-LIBC ++# else ++PLATFORM_TRIPLET=powerpc64-linux-LIBC ++# endif ++# elif defined(__powerpc__) ++PLATFORM_TRIPLET=powerpc-linux-LIBC_PPC ++# elif defined(__s390x__) ++PLATFORM_TRIPLET=s390x-linux-LIBC ++# elif defined(__s390__) ++PLATFORM_TRIPLET=s390-linux-LIBC ++# elif defined(__sh__) && defined(__LITTLE_ENDIAN__) ++PLATFORM_TRIPLET=sh4-linux-LIBC ++# elif defined(__sparc__) && defined(__arch64__) ++PLATFORM_TRIPLET=sparc64-linux-LIBC ++# elif defined(__sparc__) ++PLATFORM_TRIPLET=sparc-linux-LIBC ++# elif defined(__riscv) ++# if __riscv_xlen == 32 ++PLATFORM_TRIPLET=riscv32-linux-LIBC ++# elif __riscv_xlen == 64 ++PLATFORM_TRIPLET=riscv64-linux-LIBC ++# else ++# error unknown platform triplet ++# endif ++# else ++# error unknown platform triplet ++# endif ++/* ++ * END of Linux block ++ */ ++#elif defined(__FreeBSD_kernel__) ++# if defined(__LP64__) ++PLATFORM_TRIPLET=x86_64-kfreebsd-gnu ++# elif defined(__i386__) ++PLATFORM_TRIPLET=i386-kfreebsd-gnu ++# else ++# error unknown platform triplet ++# endif ++#elif defined(__gnu_hurd__) ++PLATFORM_TRIPLET=i386-gnu ++#elif defined(__APPLE__) ++PLATFORM_TRIPLET=darwin ++#elif defined(__VXWORKS__) ++PLATFORM_TRIPLET=vxworks ++#elif defined(__wasm32__) ++# if defined(__EMSCRIPTEN__) ++PLATFORM_TRIPLET=wasm32-emscripten ++# elif defined(__wasi__) ++# if defined(_REENTRANT) ++PLATFORM_TRIPLET=wasm32-wasi-threads ++# else ++PLATFORM_TRIPLET=wasm32-wasi ++# endif ++# else ++# error unknown wasm32 platform ++# endif ++#elif defined(__wasm64__) ++# if defined(__EMSCRIPTEN__) ++PLATFORM_TRIPLET=wasm64-emscripten ++# elif defined(__wasi__) ++PLATFORM_TRIPLET=wasm64-wasi ++# else ++# error unknown wasm64 platform ++# endif ++#else ++# error unknown platform triplet ++#endif +--- a/configure.ac ++++ b/configure.ac +@@ -917,180 +917,14 @@ fi + + + AC_MSG_CHECKING([for the platform triplet based on compiler characteristics]) +-cat > conftest.c <=6) && defined(_MIPSEL) +-# if _MIPS_SIM == _ABIO32 +- mipsisa32r6el-linux-gnu +-# elif _MIPS_SIM == _ABIN32 +- mipsisa64r6el-linux-gnuabin32 +-# elif _MIPS_SIM == _ABI64 +- mipsisa64r6el-linux-gnuabi64 +-# else +-# error unknown platform triplet +-# endif +-# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6) +-# if _MIPS_SIM == _ABIO32 +- mipsisa32r6-linux-gnu +-# elif _MIPS_SIM == _ABIN32 +- mipsisa64r6-linux-gnuabin32 +-# elif _MIPS_SIM == _ABI64 +- mipsisa64r6-linux-gnuabi64 +-# else +-# error unknown platform triplet +-# endif +-# elif defined(__mips_hard_float) && defined(_MIPSEL) +-# if _MIPS_SIM == _ABIO32 +- mipsel-linux-gnu +-# elif _MIPS_SIM == _ABIN32 +- mips64el-linux-gnuabin32 +-# elif _MIPS_SIM == _ABI64 +- mips64el-linux-gnuabi64 +-# else +-# error unknown platform triplet +-# endif +-# elif defined(__mips_hard_float) +-# if _MIPS_SIM == _ABIO32 +- mips-linux-gnu +-# elif _MIPS_SIM == _ABIN32 +- mips64-linux-gnuabin32 +-# elif _MIPS_SIM == _ABI64 +- mips64-linux-gnuabi64 +-# else +-# error unknown platform triplet +-# endif +-# elif defined(__or1k__) +- or1k-linux-gnu +-# elif defined(__powerpc__) && defined(__SPE__) +- powerpc-linux-gnuspe +-# elif defined(__powerpc64__) +-# if defined(__LITTLE_ENDIAN__) +- powerpc64le-linux-gnu +-# else +- powerpc64-linux-gnu +-# endif +-# elif defined(__powerpc__) +- powerpc-linux-gnu +-# elif defined(__s390x__) +- s390x-linux-gnu +-# elif defined(__s390__) +- s390-linux-gnu +-# elif defined(__sh__) && defined(__LITTLE_ENDIAN__) +- sh4-linux-gnu +-# elif defined(__sparc__) && defined(__arch64__) +- sparc64-linux-gnu +-# elif defined(__sparc__) +- sparc-linux-gnu +-# elif defined(__riscv) +-# if __riscv_xlen == 32 +- riscv32-linux-gnu +-# elif __riscv_xlen == 64 +- riscv64-linux-gnu +-# else +-# error unknown platform triplet +-# endif +-# else +-# error unknown platform triplet +-# endif +-#elif defined(__FreeBSD_kernel__) +-# if defined(__LP64__) +- x86_64-kfreebsd-gnu +-# elif defined(__i386__) +- i386-kfreebsd-gnu +-# else +-# error unknown platform triplet +-# endif +-#elif defined(__gnu_hurd__) +- i386-gnu +-#elif defined(__APPLE__) +- darwin +-#elif defined(__VXWORKS__) +- vxworks +-#elif defined(__wasm32__) +-# if defined(__EMSCRIPTEN__) +- wasm32-emscripten +-# elif defined(__wasi__) +- wasm32-wasi +-# else +-# error unknown wasm32 platform +-# endif +-#elif defined(__wasm64__) +-# if defined(__EMSCRIPTEN__) +- wasm64-emscripten +-# elif defined(__wasi__) +- wasm64-wasi +-# else +-# error unknown wasm64 platform +-# endif +-#else +-# error unknown platform triplet +-#endif +- +-EOF +- +-if $CPP $CPPFLAGS conftest.c >conftest.out 2>/dev/null; then +- PLATFORM_TRIPLET=`grep -v '^#' conftest.out | grep -v '^ *$' | tr -d ' '` +- case "$build_os" in +- linux-musl*) +- PLATFORM_TRIPLET=`echo "$PLATFORM_TRIPLET" | sed 's/linux-gnu/linux-musl/'` +- ;; +- esac ++if $CPP $CPPFLAGS $srcdir/Misc/platform_triplet.c >conftest.out 2>/dev/null; then ++ PLATFORM_TRIPLET=`grep '^PLATFORM_TRIPLET=' conftest.out | tr -d ' '` ++ PLATFORM_TRIPLET="${PLATFORM_TRIPLET@%:@PLATFORM_TRIPLET=}" + AC_MSG_RESULT([$PLATFORM_TRIPLET]) + else + AC_MSG_RESULT([none]) + fi +-rm -f conftest.c conftest.out ++rm -f conftest.out + + AC_MSG_CHECKING([for multiarch]) + AS_CASE([$ac_sys_system], diff --git a/lang/python/python3/patches/131-configure_ac-switch-PLATFORM_TRIPLET-suffix-to-musl.patch b/lang/python/python3/patches/131-configure_ac-switch-PLATFORM_TRIPLET-suffix-to-musl.patch deleted file mode 100644 index a7001e944..000000000 --- a/lang/python/python3/patches/131-configure_ac-switch-PLATFORM_TRIPLET-suffix-to-musl.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 15d512cc35106392ed7583d0e000d9a1b865f1e1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C5=A0imon=20Bo=C5=99ek?= -Date: Mon, 27 Jun 2022 13:53:37 +0200 -Subject: [PATCH 2/2] configure.ac: switch PLATFORM_TRIPLET suffix to '-musl' - based on `host_os` instead of `build_os` - -As `build_os` and `host_os` are results of autoconf's `AC_CANONICAL_BUILD` -and `AC_CANONICAL_HOST` macros[^1], the former refers to the system running the build -and the latter to the system that will run the compiled program. - -`PLATFORM_TRIPLET` should refer to the target platform when cross-compiling. -Its libc related part should be therefore derived from the target platform as well -- which is currently not the case - `PLATFORM_TRIPLET` '-gnu' suffix is/isn't switched to '-musl' -based on `build-os` rather than `host-os` which leads to error message[^2] -and build failure when compiling Python on glibc system for musl target. - -[^1]: https://www.gnu.org/software/autoconf/manual/autoconf-2.68/html_node/Canonicalizing.html , -https://www.gnu.org/software/autoconf/manual/autoconf-2.68/html_node/Specifying-Target-Triplets.html -[^2]: "internal configure error for the platform triplet, please file a bug report" - -Co-authored-by: Pali Rohár -Signed-off-by: Šimon Bořek ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/configure -+++ b/configure -@@ -6824,7 +6824,7 @@ EOF - - if $CPP $CPPFLAGS conftest.c >conftest.out 2>/dev/null; then - PLATFORM_TRIPLET=`grep -v '^#' conftest.out | grep -v '^ *$' | tr -d ' '` -- case "$build_os" in -+ case "$host_os" in - linux-musl*) - PLATFORM_TRIPLET=`echo "$PLATFORM_TRIPLET" | sed 's/linux-gnu/linux-musl/'` - ;; ---- a/configure.ac -+++ b/configure.ac -@@ -1081,7 +1081,7 @@ EOF - - if $CPP $CPPFLAGS conftest.c >conftest.out 2>/dev/null; then - PLATFORM_TRIPLET=`grep -v '^#' conftest.out | grep -v '^ *$' | tr -d ' '` -- case "$build_os" in -+ case "$host_os" in - linux-musl*) - PLATFORM_TRIPLET=`echo "$PLATFORM_TRIPLET" | sed 's/linux-gnu/linux-musl/'` - ;; From 0fe10114208e2c5cd572df043945a52e3ebeb6dd Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Thu, 29 Jun 2023 16:33:25 +0800 Subject: [PATCH 07/63] python3: Restore platform triplet to paths This removes 014-remove-platform-so-suffix.patch and 016-adjust-config-paths.patch, restoring the platform triplet to paths for: * C extensions (*.cpython-311-*.so) * Build config data directory (/usr/lib/python3.11/config-3.11-*/) * sysconfig data file (/usr/lib/python3.11/_sysconfigdata_*.py) Setting `_PYTHON_SYSCONFIGDATA_NAME` during package builds ensures that sysconfig data for target Python is loaded, in particular so that C extensions built will have the correct extension / platform triplet. Signed-off-by: Jeffery To --- lang/python/python3-package.mk | 3 +- lang/python/python3/Makefile | 31 ++++---- .../python3/files/python3-package-dev.mk | 2 +- .../014-remove-platform-so-suffix.patch | 22 ------ .../patches/016-adjust-config-paths.patch | 70 ------------------- 5 files changed, 22 insertions(+), 106 deletions(-) delete mode 100644 lang/python/python3/patches/014-remove-platform-so-suffix.patch delete mode 100644 lang/python/python3/patches/016-adjust-config-paths.patch diff --git a/lang/python/python3-package.mk b/lang/python/python3-package.mk index d07cec174..268bca07f 100644 --- a/lang/python/python3-package.mk +++ b/lang/python/python3-package.mk @@ -20,7 +20,7 @@ PYTHON3:=python$(PYTHON3_VERSION) PYTHON3PATH:=$(PYTHON3_LIB_DIR):$(STAGING_DIR)/$(PYTHON3_PKG_DIR):$(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR) --include $(PYTHON3_LIB_DIR)/config-$(PYTHON3_VERSION)/Makefile-vars +-include $(PYTHON3_LIB_DIR)/openwrt/Makefile-vars # These configure args are needed in detection of path to Python header files # using autotools. @@ -39,6 +39,7 @@ PYTHON3_VARS = \ CPPFLAGS="$(TARGET_CPPFLAGS) -I$(PYTHON3_INC_DIR)" \ LDFLAGS="$(TARGET_LDFLAGS) -lpython$(PYTHON3_VERSION)" \ _PYTHON_HOST_PLATFORM="$(_PYTHON_HOST_PLATFORM)" \ + _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH)" \ PYTHONPATH="$(PYTHON3PATH)" \ PYTHONDONTWRITEBYTECODE=1 \ _python_sysroot="$(STAGING_DIR)" \ diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile index f35556769..0b4eb3159 100644 --- a/lang/python/python3/Makefile +++ b/lang/python/python3/Makefile @@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk include ../python3-version.mk PKG_NAME:=python3 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_VERSION:=$(PYTHON3_VERSION).$(PYTHON3_VERSION_MICRO) PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz @@ -112,7 +112,7 @@ endef PYTHON3_LIB_FILES_DEL:= PYTHON3_PACKAGES:= -PYTHON3_SO_SUFFIX:=cpython-$(PYTHON3_VERSION_MAJOR)$(PYTHON3_VERSION_MINOR).so +PYTHON3_SO_SUFFIX:=cpython-$(PYTHON3_VERSION_MAJOR)$(PYTHON3_VERSION_MINOR)-*.so PYTHON3_PACKAGES_DEPENDS:= define Py3BasePackage PYTHON3_PACKAGES+=$(1) @@ -148,7 +148,7 @@ installation. endef # Set READELF here so that the exact same readelf program name can be -# replaced in _sysconfigdata.py (in Build/Install) +# replaced in _sysconfigdata_*.py (in Build/Install) TARGET_CONFIGURE_OPTS+= \ READELF="$(TARGET_CROSS)readelf" @@ -200,27 +200,34 @@ define Build/Install $(call Build/Install/Default,) $(SED) 's|$(TARGET_AR)|ar|g;s|$(TARGET_CROSS)readelf|readelf|g;s|$(TARGET_CC)|gcc|g;s|$(TARGET_CXX)|g++|g' \ - $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/_sysconfigdata.py \ - $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION)/Makefile + $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/_sysconfigdata_*.py \ + $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION)-*/Makefile endef define Build/InstallDev - $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib $(1)/usr/lib/pkgconfig - $(INSTALL_DIR) $(2)/bin + $(INSTALL_DIR) $(1)/usr/include $(CP) \ $(PKG_INSTALL_DIR)/usr/include/python$(PYTHON3_VERSION) \ $(1)/usr/include/ + + $(INSTALL_DIR) $(1)/usr/lib $(CP) \ $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION) \ $(PKG_INSTALL_DIR)/usr/lib/libpython$(PYTHON3_VERSION).so* \ $(1)/usr/lib/ - grep \ - '^_PYTHON_HOST_PLATFORM=' \ - $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION)/Makefile > \ - $(1)/usr/lib/python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION)/Makefile-vars + + $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON3_VERSION)/openwrt + grep -E \ + '^(_PYTHON_HOST_PLATFORM|ABIFLAGS|MACHDEP|MULTIARCH)=' \ + $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION)-*/Makefile > \ + $(1)/usr/lib/python$(PYTHON3_VERSION)/openwrt/Makefile-vars + + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig $(CP) \ $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/python*.pc \ $(1)/usr/lib/pkgconfig + + $(INSTALL_DIR) $(2)/bin $(INSTALL_BIN) \ $(PKG_INSTALL_DIR)/usr/bin/python$(PYTHON3_VERSION)-config \ $(2)/bin/ @@ -233,7 +240,7 @@ PYTHON3_BASE_LIB_FILES:= \ /usr/lib/python$(PYTHON3_VERSION)/encodings \ /usr/lib/python$(PYTHON3_VERSION)/_collections_abc.py \ /usr/lib/python$(PYTHON3_VERSION)/_sitebuiltins.py \ - /usr/lib/python$(PYTHON3_VERSION)/_sysconfigdata.py \ + /usr/lib/python$(PYTHON3_VERSION)/_sysconfigdata_*.py \ /usr/lib/python$(PYTHON3_VERSION)/_weakrefset.py \ /usr/lib/python$(PYTHON3_VERSION)/abc.py \ /usr/lib/python$(PYTHON3_VERSION)/codecs.py \ diff --git a/lang/python/python3/files/python3-package-dev.mk b/lang/python/python3/files/python3-package-dev.mk index 3eca521ff..871fff9ee 100644 --- a/lang/python/python3/files/python3-package-dev.mk +++ b/lang/python/python3/files/python3-package-dev.mk @@ -27,7 +27,7 @@ define Py3Package/python3-dev/install endef $(eval $(call Py3BasePackage,python3-dev, \ - /usr/lib/python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION) \ + /usr/lib/python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION)-* \ /usr/include/python$(PYTHON3_VERSION) \ /usr/lib/pkgconfig \ , \ diff --git a/lang/python/python3/patches/014-remove-platform-so-suffix.patch b/lang/python/python3/patches/014-remove-platform-so-suffix.patch deleted file mode 100644 index 2acd9c8b9..000000000 --- a/lang/python/python3/patches/014-remove-platform-so-suffix.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/configure -+++ b/configure -@@ -23352,7 +23352,7 @@ printf %s "checking ABIFLAGS... " >&6; } - printf "%s\n" "$ABIFLAGS" >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking SOABI" >&5 - printf %s "checking SOABI... " >&6; } --SOABI='cpython-'`echo $VERSION | tr -d .`${ABIFLAGS}${PLATFORM_TRIPLET:+-$PLATFORM_TRIPLET} -+SOABI='cpython-'`echo $VERSION | tr -d .` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SOABI" >&5 - printf "%s\n" "$SOABI" >&6; } - ---- a/configure.ac -+++ b/configure.ac -@@ -5683,7 +5683,7 @@ AC_SUBST(SOABI) - AC_MSG_CHECKING(ABIFLAGS) - AC_MSG_RESULT($ABIFLAGS) - AC_MSG_CHECKING(SOABI) --SOABI='cpython-'`echo $VERSION | tr -d .`${ABIFLAGS}${PLATFORM_TRIPLET:+-$PLATFORM_TRIPLET} -+SOABI='cpython-'`echo $VERSION | tr -d .` - AC_MSG_RESULT($SOABI) - - # Release and debug (Py_DEBUG) ABI are compatible, but not Py_TRACE_REFS ABI diff --git a/lang/python/python3/patches/016-adjust-config-paths.patch b/lang/python/python3/patches/016-adjust-config-paths.patch deleted file mode 100644 index 091bd6356..000000000 --- a/lang/python/python3/patches/016-adjust-config-paths.patch +++ /dev/null @@ -1,70 +0,0 @@ ---- a/Lib/sysconfig.py -+++ b/Lib/sysconfig.py -@@ -461,6 +461,7 @@ def get_makefile_filename(): - - - def _get_sysconfigdata_name(): -+ return '_sysconfigdata' - multiarch = getattr(sys.implementation, '_multiarch', '') - return os.environ.get( - '_PYTHON_SYSCONFIGDATA_NAME', ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -2111,7 +2111,7 @@ libinstall: all $(srcdir)/Modules/xxmodu - esac; \ - done; \ - done -- $(INSTALL_DATA) `cat pybuilddir.txt`/_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH).py \ -+ $(INSTALL_DATA) `cat pybuilddir.txt`/_sysconfigdata*.py \ - $(DESTDIR)$(LIBDEST); \ - $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt - if test -d $(DESTDIR)$(LIBDEST)/distutils/tests; then \ -@@ -2273,7 +2273,7 @@ sharedinstall: all - --install-scripts=$(BINDIR) \ - --install-platlib=$(DESTSHARED) \ - --root=$(DESTDIR)/ -- -rm $(DESTDIR)$(DESTSHARED)/_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH).py -+ -rm $(DESTDIR)$(DESTSHARED)/_sysconfigdata*.py - -rm -r $(DESTDIR)$(DESTSHARED)/__pycache__ - - # Here are a couple of targets for MacOSX again, to install a full ---- a/configure -+++ b/configure -@@ -3630,7 +3630,7 @@ fi - fi - ac_cv_prog_PYTHON_FOR_REGEN=$with_build_python - PYTHON_FOR_FREEZE="$with_build_python" -- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$with_build_python -+ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata '$with_build_python - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_build_python" >&5 - printf "%s\n" "$with_build_python" >&6; } - -@@ -23421,7 +23421,7 @@ fi - - - --if test x$PLATFORM_TRIPLET = x; then -+if true ; then - LIBPL='$(prefix)'"/${PLATLIBDIR}/python${VERSION}/config-${LDVERSION}" - else - LIBPL='$(prefix)'"/${PLATLIBDIR}/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" ---- a/configure.ac -+++ b/configure.ac -@@ -162,7 +162,7 @@ AC_ARG_WITH( - dnl Build Python interpreter is used for regeneration and freezing. - ac_cv_prog_PYTHON_FOR_REGEN=$with_build_python - PYTHON_FOR_FREEZE="$with_build_python" -- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$with_build_python -+ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata '$with_build_python - AC_MSG_RESULT([$with_build_python]) - ], [ - AS_VAR_IF([cross_compiling], [yes], -@@ -5741,7 +5741,7 @@ fi], - - dnl define LIBPL after ABIFLAGS and LDVERSION is defined. - AC_SUBST(PY_ENABLE_SHARED) --if test x$PLATFORM_TRIPLET = x; then -+if true ; then - LIBPL='$(prefix)'"/${PLATLIBDIR}/python${VERSION}/config-${LDVERSION}" - else - LIBPL='$(prefix)'"/${PLATLIBDIR}/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" From be69e34ce3b4f4c144b4b9e7ec2a6b480ee4d44a Mon Sep 17 00:00:00 2001 From: Stan Grishin Date: Mon, 28 Aug 2023 21:13:13 +0000 Subject: [PATCH 08/63] adblock-fast: initial commit * this package replaces simple-adblock package * it was impossible to keep existing config structure and continue improving the simple-adblock the way I wanted, hence the new package name * the migration script for existing simple-adblock config is included in the uci-defaults file Signed-off-by: Stan Grishin --- net/adblock-fast/Makefile | 76 +++++ net/adblock-fast/files/README.md | 3 + .../files/adblock-fast.config.update} | 9 - .../files/etc/config/adblock-fast | 118 +++++++ .../files/etc/init.d/adblock-fast} | 311 ++++++++++-------- .../files/etc/uci-defaults/90-adblock-fast | 165 ++++++++++ net/{simple-adblock => adblock-fast}/test.sh | 0 net/simple-adblock/Makefile | 72 ---- net/simple-adblock/files/README.md | 3 - net/simple-adblock/files/simple-adblock.conf | 106 ------ .../files/simple-adblock.hotplug | 5 - 11 files changed, 532 insertions(+), 336 deletions(-) create mode 100644 net/adblock-fast/Makefile create mode 100644 net/adblock-fast/files/README.md rename net/{simple-adblock/files/simple-adblock.conf.update => adblock-fast/files/adblock-fast.config.update} (66%) create mode 100644 net/adblock-fast/files/etc/config/adblock-fast rename net/{simple-adblock/files/simple-adblock.init => adblock-fast/files/etc/init.d/adblock-fast} (90%) mode change 100644 => 100755 create mode 100644 net/adblock-fast/files/etc/uci-defaults/90-adblock-fast rename net/{simple-adblock => adblock-fast}/test.sh (100%) delete mode 100644 net/simple-adblock/Makefile delete mode 100644 net/simple-adblock/files/README.md delete mode 100644 net/simple-adblock/files/simple-adblock.conf delete mode 100644 net/simple-adblock/files/simple-adblock.hotplug diff --git a/net/adblock-fast/Makefile b/net/adblock-fast/Makefile new file mode 100644 index 000000000..422b95c1e --- /dev/null +++ b/net/adblock-fast/Makefile @@ -0,0 +1,76 @@ +# Copyright 2023 Stan Grishin (stangri@melmac.ca) +# TLD optimization written by Dirk Brenken (dev@brenken.org) +# This is free software, licensed under the GNU General Public License v3. + +include $(TOPDIR)/rules.mk + +PKG_NAME:=adblock-fast +PKG_VERSION:=1.0.0 +PKG_RELEASE:=1 +PKG_MAINTAINER:=Stan Grishin +PKG_LICENSE:=GPL-3.0-or-later + +include $(INCLUDE_DIR)/package.mk + +define Package/adblock-fast + SECTION:=net + CATEGORY:=Network + TITLE:=AdBlock Fast Service + URL:=https://docs.openwrt.melmac.net/adblock-fast/ + DEPENDS:=+jshn +curl + CONFLICTS:=simple-adblock + PROVIDES:=simple-adblock + PKGARCH:=all +endef + +define Package/adblock-fast/description +Fast AdBlocking script to block ad or abuse/malware domains with DNSMASQ or Unbound. +Script supports local/remote list of domains and hosts-files for both block-listing and allow-listing. +Please see https://docs.openwrt.melmac.net/adblock-fast/ for more information. +endef + +define Package/adblock-fast/conffiles +/etc/config/adblock-fast +endef + +define Build/Configure +endef + +define Build/Compile +endef + +define Package/adblock-fast/install + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/etc/init.d/adblock-fast $(1)/etc/init.d/adblock-fast + $(SED) "s|^\(readonly PKG_VERSION\).*|\1='$(PKG_VERSION)-$(PKG_RELEASE)'|" $(1)/etc/init.d/adblock-fast + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_CONF) ./files/etc/config/adblock-fast $(1)/etc/config/adblock-fast + $(INSTALL_DIR) $(1)/tmp + $(INSTALL_DATA) ./files/adblock-fast.config.update $(1)/tmp/adblock-fast.config.update + $(INSTALL_DIR) $(1)/etc/uci-defaults + $(INSTALL_BIN) ./files/etc/uci-defaults/90-adblock-fast $(1)/etc/uci-defaults/90-adblock-fast +endef + +define Package/adblock-fast/postinst + #!/bin/sh + # check if we are on real system + if [ -z "$${IPKG_INSTROOT}" ]; then + sed -f /tmp/adblock-fast.config.update -i /etc/config/adblock-fast || true + /etc/init.d/adblock-fast enable + fi + exit 0 +endef + +define Package/adblock-fast/prerm + #!/bin/sh + # check if we are on real system + if [ -z "$${IPKG_INSTROOT}" ]; then + echo "Stopping service and removing rc.d symlink for adblock-fast" + /etc/init.d/adblock-fast stop || true + /etc/init.d/adblock-fast killcache || true + /etc/init.d/adblock-fast disable || true + fi + exit 0 +endef + +$(eval $(call BuildPackage,adblock-fast)) diff --git a/net/adblock-fast/files/README.md b/net/adblock-fast/files/README.md new file mode 100644 index 000000000..827255ab2 --- /dev/null +++ b/net/adblock-fast/files/README.md @@ -0,0 +1,3 @@ +# README + +README has been moved to [https://docs.openwrt.melmac.net/adblock-fast/](https://docs.openwrt.melmac.net/adblock-fast/). diff --git a/net/simple-adblock/files/simple-adblock.conf.update b/net/adblock-fast/files/adblock-fast.config.update similarity index 66% rename from net/simple-adblock/files/simple-adblock.conf.update rename to net/adblock-fast/files/adblock-fast.config.update index dc2031734..08f625eae 100644 --- a/net/simple-adblock/files/simple-adblock.conf.update +++ b/net/adblock-fast/files/adblock-fast.config.update @@ -1,12 +1,3 @@ -s|whitelist_domains_url|allowed_domains_url|g -s|whitelist_domain|allowed_domain|g -s|blacklist_hosts_url|blocked_hosts_url|g -s|blacklist_domains_url|blocked_domains_url|g -s|blacklist_domain|blocked_domain|g -s|ssl.bblck.me|cdn.jsdelivr.net/gh/paulgb/BarbBlock|g -s|raw.githubusercontent.com/StevenBlack/hosts/|cdn.jsdelivr.net/gh/StevenBlack/hosts@|g -s|raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/|cdn.jsdelivr.net/gh/hoshsadiq/adblock-nocoin-list@|g -s|raw.githubusercontent.com/jawz101/MobileAdTrackers/|cdn.jsdelivr.net/gh/jawz101/MobileAdTrackers@|g s|http://winhelp2002.mvps.org/hosts.txt|https://winhelp2002.mvps.org/hosts.txt|g s|list blocked_domains_url 'https://dbl.oisd.nl/basic'|list blocked_adblockplus_url 'https://small.oisd.nl/'|g s|list blocked_domains_url 'https://dbl.oisd.nl/nsfw'|list blocked_adblockplus_url 'https://nsfw.oisd.nl/'|g diff --git a/net/adblock-fast/files/etc/config/adblock-fast b/net/adblock-fast/files/etc/config/adblock-fast new file mode 100644 index 000000000..10cdf5186 --- /dev/null +++ b/net/adblock-fast/files/etc/config/adblock-fast @@ -0,0 +1,118 @@ +config adblock-fast 'config' + option enabled '0' + list allowed_domain 'cdn.jsdelivr.net' + option allow_non_ascii '0' + option canary_domains_icloud '0' + option canary_domains_mozilla '0' + option compressed_cache '0' + option compressed_cache_dir '/etc' + option config_update_enabled '0' + option config_update_url 'https://cdn.jsdelivr.net/gh/openwrt/packages/net/adblock-fast/files/adblock-fast.conf.update' + option curl_additional_param '' + option curl_max_file_size '30000000' + option curl_retry '3' + option debug '0' + option dns 'dnsmasq.servers' + option dnsmasq_instance '*' +# option dnsmasq_config_file_url 'https://big.oisd.nl/dnsmasq2' + option download_timeout '10' + option force_dns '1' + list force_dns_port '53' + list force_dns_port '853' +# ports listed below are used by some +# of the dnscrypt-proxy v1 resolvers +# list force_dns_port '553' +# list force_dns_port '1443' +# list force_dns_port '4343' +# list force_dns_port '4434' +# list force_dns_port '5443' +# list force_dns_port '8443' + option led 'none' + option parallel_downloads '1' + option procd_trigger_wan6 '0' + option procd_boot_wan_timeout '60' + option verbosity '2' + +config file_url + option url 'https://cdn.jsdelivr.net/gh/StevenBlack/hosts/hosts' + option size '6770929' + option action 'block' + option enabled '0' + +config file_url + option url 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_trackers_justdomains.txt' + option size '6241707' + option action 'block' + option enabled '0' + +config file_url + option url 'https://big.oisd.nl/' + option size '6163363' + option action 'block' + option enabled '0' + +config file_url + option url 'https://cdn.jsdelivr.net/gh/bongochong/CombinedPrivacyBlockLists/NoFormatting/cpbl-ctld.txt' + option size '2608152' + option action 'block' + option enabled '0' + +config file_url + option url 'http://sysctl.org/cameleon/hosts' + option size '638545' + option action 'block' + option enabled '0' + +config file_url + option url 'https://cdn.jsdelivr.net/gh/kboghdady/youTube_ads_4_pi-hole/black.list' + option size '553006' + option action 'block' + option enabled '0' + +config file_url + option url 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_clickthroughs_justdomains.txt' + option size '362170' + option action 'block' + option enabled '0' + +config file_url + option url 'https://someonewhocares.org/hosts/hosts' + option size '347410' + option action 'block' + option enabled '0' + +config file_url + option url 'https://winhelp2002.mvps.org/hosts.txt' + option size '334861' + option action 'block' + option enabled '0' + +config file_url + option url 'https://adaway.org/hosts.txt' + option size '243454' + option action 'block' + option enabled '0' + +config file_url + option url 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_ads_justdomains.txt' + option size '222595' + option action 'block' + option enabled '0' + +config file_url + option url 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_microsites_justdomains.txt' + option size '123275' + option action 'block' + option enabled '0' + +config file_url + option url 'https://pgl.yoyo.org/as/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext' + option size '99588' + option action 'block' + option enabled '0' + +config file_url + option url 'https://cdn.jsdelivr.net/gh/hoshsadiq/adblock-nocoin-list/hosts.txt' + option size '11149' + option action 'block' + option enabled '0' diff --git a/net/simple-adblock/files/simple-adblock.init b/net/adblock-fast/files/etc/init.d/adblock-fast old mode 100644 new mode 100755 similarity index 90% rename from net/simple-adblock/files/simple-adblock.init rename to net/adblock-fast/files/etc/init.d/adblock-fast index ce51af0d7..f7fb5b3d2 --- a/net/simple-adblock/files/simple-adblock.init +++ b/net/adblock-fast/files/etc/init.d/adblock-fast @@ -1,6 +1,6 @@ #!/bin/sh /etc/rc.common -# Copyright 2017-2022 Stan Grishin (stangri@melmac.ca) -# shellcheck disable=SC1091,SC2016,SC3043,SC3057,SC3060 +# Copyright 2023 MOSSDeF, Stan Grishin (stangri@melmac.ca) +# shellcheck disable=SC1091,SC2015,SC2016,SC3037,SC3043,SC3045,SC3057,SC3060 # shellcheck disable=SC2034 START=94 @@ -28,7 +28,7 @@ else fi readonly PKG_VERSION='dev-test' -readonly packageName='simple-adblock' +readonly packageName='adblock-fast' readonly serviceName="$packageName $PKG_VERSION" readonly packageConfigFile="/etc/config/${packageName}" readonly dnsmasqAddnhostsFile="/var/run/${packageName}/dnsmasq.addnhosts" @@ -59,12 +59,13 @@ readonly unboundGzip="${packageName}.unbound.gz" readonly unboundFilter='s|^|local-zone: "|;s|$|" static|' readonly A_TMP="/var/${packageName}.hosts.a.tmp" readonly B_TMP="/var/${packageName}.hosts.b.tmp" -readonly jsonFile="/var/run/${packageName}/${packageName}.json" +readonly jsonFile="/dev/shm/$packageName-status.json" readonly sharedMemoryError="/dev/shm/$packageName-error" readonly hostsFilter='/localhost/d;/^#/d;/^[^0-9]/d;s/^0\.0\.0\.0.//;s/^127\.0\.0\.1.//;s/[[:space:]]*#.*$//;s/[[:cntrl:]]$//;s/[[:space:]]//g;/[`~!@#\$%\^&\*()=+;:"'\'',<>?/\|[{}]/d;/]/d;/\./!d;/^$/d;/[^[:alnum:]_.-]/d;' readonly domainsFilter='/^#/d;s/[[:space:]]*#.*$//;s/[[:space:]]*$//;s/[[:cntrl:]]$//;/[[:space:]]/d;/[`~!@#\$%\^&\*()=+;:"'\'',<>?/\|[{}]/d;/]/d;/\./!d;/^$/d;/[^[:alnum:]_.-]/d;' readonly adBlockPlusFilter='/^#/d;/^!/d;s/[[:space:]]*#.*$//;s/^||//;s/\^$//;s/[[:space:]]*$//;s/[[:cntrl:]]$//;/[[:space:]]/d;/[`~!@#\$%\^&\*()=+;:"'\'',<>?/\|[{}]/d;/]/d;/\./!d;/^$/d;/[^[:alnum:]_.-]/d;' readonly dnsmasqFileFilter='\|^server=/[[:alnum:]_.-].*/|!d' +readonly dnsmasq2FileFilter='\|^local=/[[:alnum:]_.-].*/|!d' readonly _OK_='\033[0;32m\xe2\x9c\x93\033[0m' readonly _FAIL_='\033[0;31m\xe2\x9c\x97\033[0m' readonly __OK__='\033[0;32m[\xe2\x9c\x93]\033[0m' @@ -88,6 +89,8 @@ outputGzip= outputCache= awk='awk' load_environment_flag= +allowed_url= +blocked_url= debug() { local i j; for i in "$@"; do eval "j=\$$i"; echo "${i}: ${j} "; done; } @@ -250,6 +253,36 @@ load_network() { output "${_ERROR_}: $(get_text 'errorNoWanGateway')!\\n"; return 1; } +append_url() { + local cfg="$1" var="$2" + local en action url + config_get en "$cfg" enabled '1' + config_get action "$cfg" action 'block' + config_get url "$cfg" url + if [ "$en" = '1' ]; then + if [ "$action" = 'allow' ]; then + allowed_url="${allowed_url:+$allowed_url }${url}" + else + blocked_url="${blocked_url:+$blocked_url }${url}" + fi + fi +} + +detect_file_type() { + local file="$1" + if [ "$(head -1 "$file")" = '[Adblock Plus]' ]; then + echo 'adBlockPlus' + elif grep -q '^server=' "$file"; then + echo 'dnsmasqFile' + elif grep -q '^local=' "$file"; then + echo 'dnsmasq2File' + elif grep -q '^0.0.0.0' "$file" || grep -q '^127.0.0.1' "$file"; then + echo 'hosts' + else + echo 'domains' + fi +} + load_environment() { local i j local validation_result="$1" param="$2" @@ -272,7 +305,7 @@ load_environment() { fi if [ "$debug" -ne 0 ]; then - exec 1>>/tmp/simple-adblock.log + exec 1>>"/tmp/$packageName.log" exec 2>&1 set -x fi @@ -444,20 +477,24 @@ load_environment() { fi # Prefer curl because it supports the file:// scheme. if is_present 'curl'; then - dl_command="curl --silent --insecure" + dl_command='curl --silent --insecure' dl_command="${dl_command}${curl_additional_param:+ $curl_additional_param}" dl_command="${dl_command}${curl_max_file_size:+ --max-filesize $curl_max_file_size}" dl_command="${dl_command}${curl_retry:+ --retry $curl_retry}" dl_command="${dl_command}${download_timeout:+ --connect-timeout $download_timeout}" - dl_flag="-o" + dl_flag='-o' elif is_present '/usr/libexec/wget-ssl'; then - dl_command="/usr/libexec/wget-ssl --no-check-certificate -q" + dl_command='/usr/libexec/wget-ssl --no-check-certificate -q' dl_command="${dl_command}${download_timeout:+ --timeout $download_timeout}" dl_flag="-O" + size_command='/usr/libexec/wget-ssl --no-check-certificate -q -O /dev/null --server-response' + size_command="${size_command}${download_timeout:+ --timeout $download_timeout}" elif is_present wget && wget --version 2>/dev/null | grep -q "+https"; then dl_command="wget --no-check-certificate -q" dl_command="${dl_command}${download_timeout:+ --timeout $download_timeout}" dl_flag="-O" + size_command='wget --no-check-certificate -q -O /dev/null --server-response' + size_command="${size_command}${download_timeout:+ --timeout $download_timeout}" else dl_command="uclient-fetch --no-check-certificate -q" dl_command="${dl_command}${download_timeout:+ --timeout $download_timeout}" @@ -473,6 +510,8 @@ load_environment() { else unset isSSLSupported fi + config_load "$packageName" + config_foreach append_url 'file_url' load_environment_flag=1 cache 'test' && return 0 cache 'test_gzip' && return 0 @@ -484,6 +523,26 @@ load_environment() { fi } +get_url_filesize() { + local url="$1" size size_command + [ -n "$url" ] || return 0 + is_present 'curl' || return 0 + size_command='curl --silent --insecure --fail --head --request GET' + size="$($size_command "$url" | grep -Po '^[cC]ontent-[lL]ength: \K\w+')" + echo -en "$size" +} + +get_local_filesize() { + local file="$1" size + [ -f "$file" ] || return 0 + if is_present stat; then + size="$(stat -c%s "$file")" + elif is_present wc; then + size="$(wc -c < "$file")" + fi + echo -en "$size" +} + resolver() { local cfg="$1" param="$2" case "$param" in @@ -520,10 +579,10 @@ dns() { fi config_load 'dhcp' - if [ "$dns_instance" = "*" ]; then + if [ "$dnsmasq_instance" = "*" ]; then config_foreach resolver 'dnsmasq' "$dns" - elif [ -n "$dns_instance" ]; then - for i in $dns_instance; do + elif [ -n "$dnsmasq_instance" ]; then + for i in $dnsmasq_instance; do resolver "@dnsmasq[$i]" "$dns" || resolver "$i" "$dns" done fi @@ -622,17 +681,19 @@ json() { json_load_file "$jsonFile" 2>/dev/null json_select 'data' 2>/dev/null for i in status message error stats reload restart; do - json_get_var $i "$i" 2>/dev/null + json_get_var "$i" "$i" 2>/dev/null done fi case "$action" in get) case "$param" in triggers) - curReload="$parallel_downloads $debug $download_timeout $allowed_domain $blocked_domain $allowed_domains_url \ - $blocked_adblockplus_url $blocked_domains_url $blocked_hosts_url $dns $config_update_enabled $config_update_url \ - $dnsmasq_config_file_url $curl_additional_param $curl_max_file_size $curl_retry" - curRestart="$compressed_cache $compressed_cache_dir $force_dns $led $force_dns_port" + curReload="$parallel_downloads $debug $download_timeout \ + $allowed_domain $blocked_domain $allowed_url $blocked_url $dns \ + $config_update_enabled $config_update_url $dnsmasq_config_file_url \ + $curl_additional_param $curl_max_file_size $curl_retry" + curRestart="$compressed_cache $compressed_cache_dir $force_dns $led \ + $force_dns_port" if [ ! -s "$jsonFile" ]; then ret='on_boot' elif [ "$curReload" != "$reload" ]; then @@ -663,10 +724,12 @@ json() { set) case "$param" in triggers) - reload="$parallel_downloads $debug $download_timeout $allowed_domain $blocked_domain $allowed_domains_url \ - $blocked_adblockplus_url $blocked_domains_url $blocked_hosts_url $dns $config_update_enabled $config_update_url \ - $dnsmasq_config_file_url $curl_additional_param $curl_max_file_size $curl_retry" - restart="$compressed_cache $compressed_cache_dir $force_dns $led $force_dns_port" + reload="$parallel_downloads $debug $download_timeout \ + $allowed_domain $blocked_domain $allowed_url $blocked_url $dns \ + $config_update_enabled $config_update_url $dnsmasq_config_file_url \ + $curl_additional_param $curl_max_file_size $curl_retry" + restart="$compressed_cache $compressed_cache_dir $force_dns $led \ + $force_dns_port" ;; *) eval "$param"='${value}${extras:+|$extras}';; @@ -729,24 +792,37 @@ cache() { esac } -process_url() { - local label type D_TMP R_TMP - if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]; then return 1; fi - label="${1##*//}"; label="${label%%/*}"; - case "$2" in - adbp) label="ADBPlus: $label"; filter="$adBlockPlusFilter" +_process_file_url() { + if [ "$2" != '0' ]; then + json add error "errorConfigValidationFail" + output "${_ERROR_}: $(get_text 'errorConfigValidationFail')!\\n" + output "Please check if the '$packageConfigFile' contains correct values for config options.\\n" + fi + if [ "$parallel_downloads" -gt 0 ]; then + process_file_url "$1" & + else + process_file_url "$1" + fi +} + +process_file_url() { + local cfg="$1" new_size + local label type D_TMP R_TMP filter + if [ -z "$cfg" ] || [ -n "${2}${3}" ]; then + url="$2" + action="$3" + fi + + [ "$enabled" = '1' ] || return 0 + [ -n "$url" ] || return 1 + + label="${url##*//}" + label="${label%%/*}" + label="File: $label" + case "$action" in + allow) type='Allowed'; D_TMP="$A_TMP" ;; - dnsmasq) label="Dnsmasq: $label"; filter="$dnsmasqFileFilter" - ;; - domains) label="Domains: $label"; filter="$domainsFilter" - ;; - hosts) label="Hosts: $label"; filter="$hostsFilter" - ;; - esac - case "$3" in - allowed) type='Allowed'; D_TMP="$A_TMP" - ;; - blocked) type='Blocked'; D_TMP="$B_TMP" + block) type='Blocked'; D_TMP="$B_TMP" ;; file) type='File'; D_TMP="$B_TMP" ;; @@ -760,20 +836,33 @@ process_url() { while [ -z "$R_TMP" ] || [ -e "$R_TMP" ]; do R_TMP="$(mktemp -u -q -t ${packageName}_tmp.XXXXXXXX)" done - if ! $dl_command "$1" "$dl_flag" "$R_TMP" 2>/dev/null || [ ! -s "$R_TMP" ]; then + if [ -z "$url" ] || ! $dl_command "$url" "$dl_flag" "$R_TMP" 2>/dev/null || \ + [ ! -s "$R_TMP" ]; then output 1 "$_FAIL_" output 2 "[DL] $type $label $__FAIL__\\n" - echo "errorDownloadingList|${1}" >> "$sharedMemoryError" + echo "errorDownloadingList|${url}" >> "$sharedMemoryError" else - sed -i "$filter" "$R_TMP" + [ -n "$cfg" ] && new_size="$(get_local_filesize "$R_TMP")" + if [ -n "$new_size" ] && [ "$size" != "$new_size" ]; then + uci set "${packageName}.${cfg}.size=$size" + fi + format="$(detect_file_type "$R_TMP")" + case "$format" in + adBlockPlus) filter="$adBlockPlusFilter";; +# dnsmasqFile) filter="$dnsmasqFileFilter";; +# dnsmasq2File) filter="$dnsmasq2FileFilter";; + domains) filter="$domainsFilter";; + hosts) filter="$hostsFilter";; + esac + [ -n "$filter" ] && sed -i "$filter" "$R_TMP" if [ ! -s "$R_TMP" ]; then output 1 "$_FAIL_" - output 2 "[DL] $type $label $__FAIL__\\n" + output 2 "[DL] $type $label ($format) $__FAIL__\\n" echo "errorParsingList|${1}" >> "$sharedMemoryError" else cat "${R_TMP}" >> "$D_TMP" output 1 "$_OK_" - output 2 "[DL] $type $label $__OK__\\n" + output 2 "[DL] $type $label ($format) $__OK__\\n" fi fi rm -f "$R_TMP" @@ -798,15 +887,14 @@ download_dnsmasq_file() { touch $A_TMP; touch $B_TMP; output 1 'Downloading dnsmasq file ' rm -f "$sharedMemoryError" - process_url "$dnsmasq_config_file_url" 'dnsmasq' 'file' -# output 1 '\n' + process_file_url '' "$dnsmasq_config_file_url" 'file' if [ -s "$sharedMemoryError" ]; then while IFS= read -r line; do json add error "$line" done < "$sharedMemoryError" rm -f "$sharedMemoryError" fi - output 2 'Creating dnsmasq file ' + output 2 'Moving dnsmasq file ' if mv "$B_TMP" "$outputFile"; then output 2 "$__OK__\\n" else @@ -834,36 +922,15 @@ download_lists() { touch $A_TMP; touch $B_TMP; output 1 'Downloading lists ' rm -f "$sharedMemoryError" - for hf in ${blocked_hosts_url}; do - if [ "$parallel_downloads" -gt 0 ]; then - process_url "$hf" 'hosts' 'blocked' & - else - process_url "$hf" 'hosts' 'blocked' - fi - done - for hf in ${blocked_adblockplus_url}; do - if [ "$parallel_downloads" -gt 0 ]; then - process_url "$hf" 'adbp' 'blocked' & - else - process_url "$hf" 'adbp' 'blocked' - fi - done - for hf in ${blocked_domains_url}; do - if [ "$parallel_downloads" -gt 0 ]; then - process_url "$hf" 'domains' 'blocked' & - else - process_url "$hf" 'domains' 'blocked' - fi - done - for hf in ${allowed_domains_url}; do - if [ "$parallel_downloads" -gt 0 ]; then - process_url "$hf" 'domains' 'allowed' & - else - process_url "$hf" 'domains' 'allowed' - fi - done + config_load "$packageName" + config_foreach load_validate_file_url_section 'file_url' _process_file_url wait + if [ -n "$(uci changes "$packageName")" ]; then + output 2 "Saving updated file size(s) " + uci commit "$packageName" && output_okn || output_failn + fi output 1 '\n' + if [ -s "$sharedMemoryError" ]; then while IFS= read -r line; do json add error "$line" @@ -1207,65 +1274,26 @@ adb_config_update() { return 0 } +_config_add_url_size() { + local cfg="$1" url size + config_get url "$cfg" url + size="$(get_url_filesize "$url")" + output "$url${size:+: $size} " + if [ -n "$size" ]; then + uci set "${packageName}.${cfg}.size=$size" + output_okn + else + output_failn + fi +} + adb_sizes() { local i local validation_result="$3" load_environment "$validation_result" 'quiet' || return 1 - - echo "# $(date)" - for i in ${blocked_adblockplus_url}; do - [ "${i//melmac}" != "$i" ] && continue - if $dl_command "$i" "$dl_flag" /tmp/sast 2>/dev/null && [ -s /tmp/sast ]; then - echo "# File size: $(du -sh /tmp/sast | $awk '{print $1}')" - if is_greater "$(du -sk /tmp/sast)" "500"; then - echo "# block-list too big for most routers" - elif is_greater "$(du -sk /tmp/sast)" "100"; then - echo "# block-list may be too big for some routers" - fi - rm -rf /tmp/sast - echo " list blocked_adblockplus_url '$i'" - echo "" - else - echo "# site was down on last check" - echo "# list blocked_adblockplus_url '$i'" - echo "" - fi - done - for i in ${blocked_domains_url}; do - [ "${i//melmac}" != "$i" ] && continue - if $dl_command "$i" "$dl_flag" /tmp/sast 2>/dev/null && [ -s /tmp/sast ]; then - echo "# File size: $(du -sh /tmp/sast | $awk '{print $1}')" - if is_greater "$(du -sk /tmp/sast)" "500"; then - echo "# block-list too big for most routers" - elif is_greater "$(du -sk /tmp/sast)" "100"; then - echo "# block-list may be too big for some routers" - fi - rm -rf /tmp/sast - echo " list blocked_domains_url '$i'" - echo "" - else - echo "# site was down on last check" - echo "# list blocked_domains_url '$i'" - echo "" - fi - done - for i in ${blocked_hosts_url}; do - if $dl_command "$i" "$dl_flag" /tmp/sast 2>/dev/null && [ -s /tmp/sast ]; then - echo "# File size: $(du -sh /tmp/sast | $awk '{print $1}')" - if is_greater "$(du -sk /tmp/sast)" "500"; then - echo "# block-list too big for most routers" - elif is_greater "$(du -sk /tmp/sast)" "100"; then - echo "# block-list may be too big for some routers" - fi - rm -rf /tmp/sast - echo " list blocked_hosts_url '$i'" - echo "" - else - echo "# site was down on last check" - echo "# list blocked_hosts_url '$i'" - echo "" - fi - done + config_load "$packageName" + config_foreach _config_add_url_size 'file_url' + uci commit "$packageName" } # shellcheck disable=SC2120 @@ -1347,7 +1375,7 @@ adb_start() { output 3 "Starting $serviceName...\\n" json set status "statusStarting" fi - if [ -n "$dnsmasq_config_file_url" ]; then + if [ "$dns" = 'dnsmasq.conf' ] && [ -n "$dnsmasq_config_file_url" ]; then download_dnsmasq_file else download_lists @@ -1385,7 +1413,8 @@ adb_start() { procd_set_param stderr 1 procd_open_data json_add_string 'status' "$(json get status)" - json_add_string 'errors' "$(json get errors)" + json_add_string 'errors' "$(json get error)" + json_add_string 'warnings' "$(json get warning)" if [ -s "$outputFile" ]; then json_add_int 'entries' "$(wc -l < "$outputFile")" else @@ -1603,6 +1632,14 @@ stop_service() { load_validate_config 'config' adb_stop "'$*'"; } pause() { load_validate_config 'config' adb_pause "'$*'"; } version() { echo "$PKG_VERSION"; } +load_validate_file_url_section() { + uci_load_validate "$packageName" "$packageName" "$1" "$2" \ + 'enabled:bool:1' \ + 'action:or("allow", "block"):block' \ + 'size:or(uinteger, "")' \ + 'url:string' +} + load_validate_config() { . /lib/functions/network.sh . /usr/share/libubox/jshn.sh @@ -1629,13 +1666,9 @@ load_validate_config() { local procd_boot_wan_timeout local led local dns - local dns_instance + local dnsmasq_instance local allowed_domain - local allowed_domains_url - local blocked_adblockplus_url local blocked_domain - local blocked_domains_url - local blocked_hosts_url local dnsmasq_config_file_url uci_load_validate "$packageName" "$packageName" "$1" "${2}${3:+ $3}" \ 'enabled:bool:0' \ @@ -1650,7 +1683,7 @@ load_validate_config() { 'canary_domains_icloud:bool:0' \ 'canary_domains_mozilla:bool:0' \ 'config_update_enabled:bool:0' \ - 'config_update_url:string:https://cdn.jsdelivr.net/gh/openwrt/packages/net/simple-adblock/files/simple-adblock.conf.update' \ + 'config_update_url:string:https://cdn.jsdelivr.net/gh/openwrt/packages/net/adblock-fast/files/adblock-fast.conf.update' \ 'download_timeout:range(1,60):20' \ 'pause_timeout:range(10,120):60' \ 'curl_additional_param:or("", string)' \ @@ -1661,12 +1694,8 @@ load_validate_config() { 'procd_boot_wan_timeout:integer:60' \ 'led:or("", "none", file, device, string)' \ 'dns:or("dnsmasq.addnhosts", "dnsmasq.conf", "dnsmasq.ipset", "dnsmasq.nftset", "dnsmasq.servers", "unbound.adb_list"):dnsmasq.servers' \ - 'dns_instance:list(or(integer, string)):0' \ + 'dnsmasq_instance:list(or(integer, string)):*' \ 'allowed_domain:list(string)' \ - 'allowed_domains_url:list(string)' \ 'blocked_domain:list(string)' \ - 'blocked_adblockplus_url:list(string)' \ - 'blocked_domains_url:list(string)' \ - 'blocked_hosts_url:list(string)' \ 'dnsmasq_config_file_url:string' } diff --git a/net/adblock-fast/files/etc/uci-defaults/90-adblock-fast b/net/adblock-fast/files/etc/uci-defaults/90-adblock-fast new file mode 100644 index 000000000..5366b46e6 --- /dev/null +++ b/net/adblock-fast/files/etc/uci-defaults/90-adblock-fast @@ -0,0 +1,165 @@ +#!/bin/sh +# Copyright 2023 MOSSDeF, Stan Grishin (stangri@melmac.ca) +# shellcheck disable=SC1091,SC2015,SC3037,SC3043,SC2317,SC3060 + +readonly packageName='adblock-fast' +readonly _OK_='\033[0;32m\xe2\x9c\x93\033[0m' +readonly _FAIL_='\033[0;31m\xe2\x9c\x97\033[0m' +readonly __OK__='\033[0;32m[\xe2\x9c\x93]\033[0m' +readonly __FAIL__='\033[0;31m[\xe2\x9c\x97]\033[0m' +readonly _ERROR_='\033[0;31mERROR\033[0m' +readonly _WARNING_='\033[0;33mWARNING\033[0m' +output() { +# Can take a single parameter (text) to be output at any verbosity +# Or target verbosity level and text to be output at specifc verbosity + local msg memmsg logmsg + local sharedMemoryOutput="/dev/shm/$packageName-output" + verbosity="${verbosity:-2}" + if [ "$#" -ne 1 ]; then + if [ $((verbosity & $1)) -gt 0 ] || [ "$verbosity" = "$1" ]; then + shift + else + return 0 + fi + fi + [ -t 1 ] && printf "%b" "$1" + msg="$1"; + if [ "$(printf "%b" "$msg" | wc -l)" -gt 0 ]; then + [ -s "$sharedMemoryOutput" ] && memmsg="$(cat "$sharedMemoryOutput")" + logmsg="$(printf "%b" "${memmsg}${msg}" | sed 's/\x1b\[[0-9;]*m//g')" + logger -t "${packageName:-service}" "$(printf "%b" "$logmsg")" + rm -f "$sharedMemoryOutput" + else + printf "%b" "$msg" >> "$sharedMemoryOutput" + fi +} +output_ok() { output 1 "$_OK_"; output 2 "$__OK__\\n"; } +output_okn() { output 1 "$_OK_\\n"; output 2 "$__OK__\\n"; } +output_fail() { output 1 "$_FAIL_"; output 2 "$__FAIL__\\n"; } +output_failn() { output 1 "$_FAIL_\\n"; output 2 "$__FAIL__\\n"; } +is_present() { command -v "$1" >/dev/null 2>&1; } +get_url_filesize() { + local url="$1" size size_command + [ -n "$1" ] || return 0 + is_present 'curl' || return 0 + size_command='curl --silent --insecure --fail --head --request GET' + size="$($size_command "$url" | grep -Po '^[cC]ontent-[lL]ength: \K\w+')" + echo -en "$size" +} + +# Transition from simple-adblock +_enable_url() { + local cfg="$1" url="$2" action="$3" + local u a + config_get u "$cfg" 'url' + config_get a "$cfg" 'action' 'block' + if [ "$u" = "$url" ] && [ "$a" = "$action" ]; then + uci del "${packageName}.${cfg}.enabled" && _found=1 + fi +} + +enable_add_url() { + local url="$1" action="$2" _found + config_load "$packageName" + config_foreach _enable_url 'file_url' "$url" "$action" + if [ -z "$_found" ]; then + uci add "${packageName}" 'file_url' >/dev/null 2>&1 + uci set "${packageName}.@file_url[-1].url=$url" + uci set "${packageName}.@file_url[-1].size=$(get_url_filesize "$url")" + uci set "${packageName}.@file_url[-1].action=$action" + fi +} + +if [ -s '/etc/config/simple-adblock' ] \ + && [ ! -s '/etc/config/adblock-fast-opkg' ] \ + && [ "$(uci get adblock-fast.config.enabled)" = '0' ]; then + cp -f '/etc/config/adblock-fast' '/etc/config/adblock-fast-opkg' + enabled="$(uci get simple-adblock.config.enabled)" + if [ -x '/etc/init.d/simple-adblock' ]; then + output "Stopping and disabling simple-adblock " + if /etc/init.d/simple-adblock stop >/dev/null 2>&1 \ + && /etc/init.d/simple-adblock disable \ + && uci set simple-adblock.config.enabled=0 \ + && uci commit simple-adblock; then + output_okn + else + output_failn + fi + else + output "Disabling simple-adblock." + if uci set simple-adblock.config.enabled=0 \ + && uci commit simple-adblock; then + output_okn + else + output_failn + fi + fi + output "Migrating simple-adblock config file " + for i in allow_non_ascii canary_domains_icloud canary_domains_mozilla \ + compressed_cache compressed_cache_dir config_update_enabled \ + curl_additional_param curl_max_file_size curl_retry download_timeout \ + debug dns dns_instance dnsmasq_config_file_url force_dns led \ + parallel_downloads procd_trigger_wan6 procd_boot_wan_timeout verbosity; do + j="$(uci -q get simple-adblock.config.${i})" + [ -n "$j" ] && uci set "${packageName}.config.${i}=${j}" + done + [ -n "$enabled" ] && uci set "${packageName}.config.enabled=${enabled}" + j="$(uci -q get simple-adblock.config.config_update_url)" + if [ "${j//simple-adblock/}" = "$j" ]; then + uci set "${packageName}.config.config_update_url=$j" + fi + ccd="$(uci get simple-adblock.config.compressed_cache_dir)" + ccd="${ccd:-/etc}" + for j in $(uci -q get simple-adblock.config.allowed_domain); do + [ -n "$j" ] && uci add_list "${packageName}.config.allowed_domain=${j}" + done + for j in $(uci -q get simple-adblock.config.blocked_domain); do + [ -n "$j" ] && uci add_list "${packageName}.config.blocked_domain=${j}" + done + for j in $(uci -q get simple-adblock.config.force_dns_port); do + [ -n "$j" ] && uci add_list "${packageName}.config.force_dns_port=${j}" + done + output_okn + + for i in allowed_domains_url blocked_adblockplus_url blocked_domains_url \ + blocked_hosts_url; do + output "Migrating simple-adblock ${i} " + for j in $(uci -q get simple-adblock.config.${i}); do + if [ "$i" = 'allowed_domains_url' ]; then + enable_add_url "$j" 'allow' + else + enable_add_url "$j" 'block' + fi + done + output_okn + done + uci commit "$packageName" + output "Migrating simple-adblock cache file(s) " + for i in '/var/run/simple-adblock/dnsmasq.addnhosts.cache' \ + '/var/run/simple-adblock/dnsmasq.conf.cache' \ + '/var/run/simple-adblock/dnsmasq.ipset.cache' \ + '/var/run/simple-adblock/dnsmasq.nftset.cache' \ + '/var/run/simple-adblock/dnsmasq.servers.cache' \ + '/var/run/simple-adblock/unbound.cache'; do + if [ -s "$i" ]; then + current_dir="$(dirname "$i")" + mkdir -p "${current_dir//simple-adblock/adblock-fast}" + mv -f "$i" "${i//simple-adblock/adblock-fast}" && output_okn || output_failn + fi + done + for i in 'simple-adblock.dnsmasq.addnhosts.gz' \ + 'simple-adblock.dnsmasq.conf.gz' \ + 'simple-adblock.dnsmasq.ipset.gz' \ + 'simple-adblock.dnsmasq.nftset.gz' \ + 'simple-adblock.dnsmasq.servers.gz' \ + 'simple-adblock.unbound.gz'; do + i="${ccd}/${i}" + if [ -s "$i" ]; then + mkdir -p "${ccd//simple-adblock/adblock-fast}" + mv -f "$i" "${i//simple-adblock/adblock-fast}" && output_okn || output_failn + fi + done + output_okn +fi + +exit 0 diff --git a/net/simple-adblock/test.sh b/net/adblock-fast/test.sh similarity index 100% rename from net/simple-adblock/test.sh rename to net/adblock-fast/test.sh diff --git a/net/simple-adblock/Makefile b/net/simple-adblock/Makefile deleted file mode 100644 index b3820ac81..000000000 --- a/net/simple-adblock/Makefile +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 2017-2022 Stan Grishin (stangri@melmac.ca) -# TLD optimization written by Dirk Brenken (dev@brenken.org) -# This is free software, licensed under the GNU General Public License v3. - -include $(TOPDIR)/rules.mk - -PKG_NAME:=simple-adblock -PKG_VERSION:=1.9.5 -PKG_RELEASE:=5 -PKG_MAINTAINER:=Stan Grishin -PKG_LICENSE:=GPL-3.0-or-later - -include $(INCLUDE_DIR)/package.mk - -define Package/simple-adblock - SECTION:=net - CATEGORY:=Network - TITLE:=Simple AdBlock Service - URL:=https://docs.openwrt.melmac.net/simple-adblock/ - DEPENDS:=+jshn +wget - PKGARCH:=all -endef - -define Package/simple-adblock/description -Simple adblock script to block ad or abuse/malware domains with DNSMASQ or Unbound. -Script supports local/remote list of domains and hosts-files for both block-listing and allow-listing. -Please see https://docs.openwrt.melmac.net/simple-adblock/ for more information. -endef - -define Package/simple-adblock/conffiles -/etc/config/simple-adblock -endef - -define Build/Configure -endef - -define Build/Compile -endef - -define Package/simple-adblock/install - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_DIR) $(1)/etc/config - $(INSTALL_DIR) $(1)/tmp - $(INSTALL_BIN) ./files/simple-adblock.init $(1)/etc/init.d/simple-adblock - $(SED) "s|^\(readonly PKG_VERSION\).*|\1='$(PKG_VERSION)-$(PKG_RELEASE)'|" $(1)/etc/init.d/simple-adblock - $(INSTALL_CONF) ./files/simple-adblock.conf $(1)/etc/config/simple-adblock - $(INSTALL_DATA) ./files/simple-adblock.conf.update $(1)/tmp/simple-adblock.conf.update -endef - -define Package/simple-adblock/postinst - #!/bin/sh - # check if we are on real system - if [ -z "$${IPKG_INSTROOT}" ]; then - sed -f /tmp/simple-adblock.conf.update -i /etc/config/simple-adblock || true - /etc/init.d/simple-adblock enable - fi - exit 0 -endef - -define Package/simple-adblock/prerm - #!/bin/sh - # check if we are on real system - if [ -z "$${IPKG_INSTROOT}" ]; then - echo "Stopping service and removing rc.d symlink for simple-adblock" - /etc/init.d/simple-adblock stop || true - /etc/init.d/simple-adblock killcache || true - /etc/init.d/simple-adblock disable || true - fi - exit 0 -endef - -$(eval $(call BuildPackage,simple-adblock)) diff --git a/net/simple-adblock/files/README.md b/net/simple-adblock/files/README.md deleted file mode 100644 index 09e19a4fc..000000000 --- a/net/simple-adblock/files/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# README - -README has been moved to [https://docs.openwrt.melmac.net/simple-adblock/](https://docs.openwrt.melmac.net/simple-adblock/). diff --git a/net/simple-adblock/files/simple-adblock.conf b/net/simple-adblock/files/simple-adblock.conf deleted file mode 100644 index e16c66bb0..000000000 --- a/net/simple-adblock/files/simple-adblock.conf +++ /dev/null @@ -1,106 +0,0 @@ -config simple-adblock 'config' - option enabled '0' - list allowed_domain 'cdn.jsdelivr.net' - option allow_non_ascii '0' - option canary_domains_icloud '0' - option canary_domains_mozilla '0' - option compressed_cache '0' - option compressed_cache_dir '/etc' - option config_update_enabled '0' - option config_update_url 'https://cdn.jsdelivr.net/gh/openwrt/packages/net/simple-adblock/files/simple-adblock.conf.update' - option curl_additional_param '' - option curl_max_file_size '30000000' - option curl_retry '3' - option download_timeout '10' - option debug '0' - option dns 'dnsmasq.servers' - option dns_instance '0' - option force_dns '1' - list force_dns_port '53' - list force_dns_port '853' -# ports listed below are used by some -# of the dnscrypt-proxy v1 resolvers -# list force_dns_port '553' -# list force_dns_port '1443' -# list force_dns_port '4343' -# list force_dns_port '4434' -# list force_dns_port '5443' -# list force_dns_port '8443' - option led 'none' - option parallel_downloads '1' - option procd_trigger_wan6 '0' - option procd_boot_wan_timeout '60' - option verbosity '2' - -# File size: 16.0K - list blocked_hosts_url 'https://adaway.org/hosts.txt' - -# File size: 20.0K - list blocked_hosts_url 'https://cdn.jsdelivr.net/gh/hoshsadiq/adblock-nocoin-list/hosts.txt' - -# File size: 80.0K - list blocked_hosts_url 'https://pgl.yoyo.org/as/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext' - -# File size: 388.0K -# block-list may be too big for some routers -# block-list may block some video-streaming content -# list blocked_hosts_url 'https://cdn.jsdelivr.net/gh/jawz101/MobileAdTrackers/hosts' - -# File size: 424.0K -# block-list may be too big for some routers - list blocked_hosts_url 'https://winhelp2002.mvps.org/hosts.txt' - -# File size: 432.0K -# block-list may be too big for some routers - list blocked_hosts_url 'https://someonewhocares.org/hosts/hosts' - -# File size: 624.0K -# block-list too big for most routers -# list blocked_hosts_url 'http://sysctl.org/cameleon/hosts' - -# File size: 1.4M -# block-list too big for most routers -# list blocked_adblockplus_url 'https://small.oisd.nl/' - -# File size: 1.6M -# block-list too big for most routers -# list blocked_hosts_url 'https://cdn.jsdelivr.net/gh/StevenBlack/hosts/hosts' - -# File size: 2.0M -# block-list too big for most routers -# list blocked_domains_url https://cdn.jsdelivr.net/gh/bongochong/CombinedPrivacyBlockLists/NoFormatting/cpbl-ctld.txt - -# File size: 3.1M -# block-list too big for most routers -# list blocked_hosts_url 'https://hostsfile.mine.nu/Hosts' - -# File size: 8.3M -# enabling this will disable processing of any other block/allow-lists -# option dnsmasq_config_file_url 'https://dnsmasq.oisd.nl/' - -# File size: 5.0M -# block-list may be too big for some routers -# list blocked_domains_url 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_trackers_justdomains.txt' - -# File size: 6.2M -# block-list too big for most routers -# list blocked_adblockplus_url 'https://nsfw.oisd.nl/' - -# File size: 6.2M -# block-list too big for most routers -# list blocked_adblockplus_url 'https://big.oisd.nl/' - -# File size: 1.5M -# block-list too big for most routers -# list blocked_domains_url 'https://small.oisd.nl/domains' - -# File size: 7.8M -# block-list too big for most routers -# list blocked_domains_url 'https://nsfw.oisd.nl/domains' - -# File size: 19.9M -# block-list too big for most routers -# list blocked_domains_url 'https://big.oisd.nl/domains' - -# site was down on last check -# list blocked_domains_url 'http://support.it-mate.co.uk/downloads/hosts.txt' diff --git a/net/simple-adblock/files/simple-adblock.hotplug b/net/simple-adblock/files/simple-adblock.hotplug deleted file mode 100644 index 6dc495d04..000000000 --- a/net/simple-adblock/files/simple-adblock.hotplug +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -if [ "$ACTION" = "ifup" ]; then - sleep 10 && /etc/init.d/simple-adblock start hotplug & -fi From c7661072bd76f4d6c4a8b8dce5031bf344944516 Mon Sep 17 00:00:00 2001 From: Peter van Dijk Date: Mon, 28 Aug 2023 10:01:56 +0200 Subject: [PATCH 09/63] pdns-recursor: update to 4.9.1 Signed-off-by: Peter van Dijk --- net/pdns-recursor/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/pdns-recursor/Makefile b/net/pdns-recursor/Makefile index 4334e136b..f0820f378 100644 --- a/net/pdns-recursor/Makefile +++ b/net/pdns-recursor/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=pdns-recursor -PKG_VERSION:=4.9.0 +PKG_VERSION:=4.9.1 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://downloads.powerdns.com/releases/ -PKG_HASH:=d36f162843e367646a661a785ca0becde9b68552855bf40532aebafa103966f3 +PKG_HASH:=0a1edc13e8f2bd661f39e316387d941e22de6a03b8a7a2fc662fdf8b942ea2be PKG_MAINTAINER:=Peter van Dijk PKG_LICENCE:=GPL-2.0-only From c27bbd588f07653907959edb50834643dbd348f1 Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Wed, 30 Aug 2023 09:10:27 +0200 Subject: [PATCH 10/63] tang: corrected hash for v14 Signed-off-by: Nikos Mavrogiannopoulos --- utils/tang/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/tang/Makefile b/utils/tang/Makefile index 8eee5becd..f0b02137d 100644 --- a/utils/tang/Makefile +++ b/utils/tang/Makefile @@ -13,7 +13,7 @@ PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://github.com/latchset/$(PKG_NAME)/releases/download/v$(PKG_VERSION)/ -PKG_HASH:=0b56702a8ac19ff320d7e13a49682efba32403933c84ab1dae0b26ddcc4e3fe5 +PKG_HASH:=04263ed1cc98d60cab29fe47f908921b7b1aa4d6da5f9de2fcbe543773b75886 PKG_MAINTAINER:=Tibor Dudlák PKG_LICENSE:=GPL-3.0-or-later From 3e38742aab2a250f1e12b559b964e2ed73248df4 Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Wed, 30 Aug 2023 09:16:28 +0200 Subject: [PATCH 11/63] tang: do not require bash It is not used by its included scripts. Resolves: #21799 Signed-off-by: Nikos Mavrogiannopoulos --- utils/tang/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/tang/Makefile b/utils/tang/Makefile index f0b02137d..64a43804a 100644 --- a/utils/tang/Makefile +++ b/utils/tang/Makefile @@ -25,7 +25,7 @@ include $(INCLUDE_DIR)/meson.mk define Package/tang SECTION:=utils TITLE:=tang v$(PKG_VERSION) - daemon for binding data to the presence of a third party - DEPENDS:=+libhttp-parser +jose +bash + DEPENDS:=+libhttp-parser +jose URL:=https://github.com/latchset/tang USERID:=tang:tang endef From 148b1b2d5edaf75cc4c1e104bfb02dc35bcd7de4 Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Wed, 30 Aug 2023 10:49:35 +0200 Subject: [PATCH 12/63] tang: tang-show-keys uses wget instead of curl Resolves: #15592 Signed-off-by: Nikos Mavrogiannopoulos --- utils/tang/Makefile | 2 +- .../tang/patches/100-tang-show-keys-use-wget.patch | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 utils/tang/patches/100-tang-show-keys-use-wget.patch diff --git a/utils/tang/Makefile b/utils/tang/Makefile index 64a43804a..a93a6d84d 100644 --- a/utils/tang/Makefile +++ b/utils/tang/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tang PKG_VERSION:=14 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://github.com/latchset/$(PKG_NAME)/releases/download/v$(PKG_VERSION)/ diff --git a/utils/tang/patches/100-tang-show-keys-use-wget.patch b/utils/tang/patches/100-tang-show-keys-use-wget.patch new file mode 100644 index 000000000..10f5c6db0 --- /dev/null +++ b/utils/tang/patches/100-tang-show-keys-use-wget.patch @@ -0,0 +1,13 @@ +diff --git a/src/tang-show-keys b/src/tang-show-keys +index 0c33c3a..f017e84 100755 +--- a/src/tang-show-keys ++++ b/src/tang-show-keys +@@ -27,7 +27,7 @@ fi + + port=${1-80} + +-adv=$(curl -sSf "localhost:$port/adv") ++adv=$(wget -qO- "http://127.0.0.1:$port/adv") + + THP_DEFAULT_HASH=S256 # SHA-256. + jose fmt --json "${adv}" -g payload -y -o- \ From 46c42d0a76bea063bb7e1a7272ec7ca1add7c4f5 Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Wed, 30 Aug 2023 11:00:37 +0200 Subject: [PATCH 13/63] tang: tang-show-keys defaults on the default 9090 port Signed-off-by: Nikos Mavrogiannopoulos --- utils/tang/Makefile | 2 +- utils/tang/patches/100-tang-show-keys-use-wget.patch | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/utils/tang/Makefile b/utils/tang/Makefile index a93a6d84d..4660fa786 100644 --- a/utils/tang/Makefile +++ b/utils/tang/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tang PKG_VERSION:=14 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://github.com/latchset/$(PKG_NAME)/releases/download/v$(PKG_VERSION)/ diff --git a/utils/tang/patches/100-tang-show-keys-use-wget.patch b/utils/tang/patches/100-tang-show-keys-use-wget.patch index 10f5c6db0..1b3b682fb 100644 --- a/utils/tang/patches/100-tang-show-keys-use-wget.patch +++ b/utils/tang/patches/100-tang-show-keys-use-wget.patch @@ -1,10 +1,13 @@ diff --git a/src/tang-show-keys b/src/tang-show-keys -index 0c33c3a..f017e84 100755 +index 0c33c3a..4b64bda 100755 --- a/src/tang-show-keys +++ b/src/tang-show-keys -@@ -27,7 +27,7 @@ fi +@@ -25,9 +25,9 @@ if [ $# -gt 1 ]; then + exit 1 + fi - port=${1-80} +-port=${1-80} ++port=${1-9090} -adv=$(curl -sSf "localhost:$port/adv") +adv=$(wget -qO- "http://127.0.0.1:$port/adv") From 3b8921d1aed3c183cc02f57fe7809af4d20ecf18 Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Wed, 30 Aug 2023 09:49:43 +0800 Subject: [PATCH 14/63] xray-core: Update to 1.8.4 Removed upstreamed patch. Signed-off-by: Tianling Shen --- net/xray-core/Makefile | 6 +- .../patches/00-fix-go1.21-build.patch | 236 ------------------ 2 files changed, 3 insertions(+), 239 deletions(-) delete mode 100644 net/xray-core/patches/00-fix-go1.21-build.patch diff --git a/net/xray-core/Makefile b/net/xray-core/Makefile index 6440dab78..971a8a78d 100644 --- a/net/xray-core/Makefile +++ b/net/xray-core/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=xray-core -PKG_VERSION:=1.8.3 -PKG_RELEASE:=2 +PKG_VERSION:=1.8.4 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/XTLS/Xray-core/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=bdfa65c15cd25f931745d9c70c753503db5d119ff11960ca7b3a2e19c4b0a8d1 +PKG_HASH:=89f73107abba9bd438111edfe921603ddb3c2b631b2716fbdc6be78552f0d322 PKG_MAINTAINER:=Tianling Shen PKG_LICENSE:=MPL-2.0 diff --git a/net/xray-core/patches/00-fix-go1.21-build.patch b/net/xray-core/patches/00-fix-go1.21-build.patch deleted file mode 100644 index 5d0d99940..000000000 --- a/net/xray-core/patches/00-fix-go1.21-build.patch +++ /dev/null @@ -1,236 +0,0 @@ ---- a/go.mod -+++ b/go.mod -@@ -5,28 +5,27 @@ go 1.20 - require ( - github.com/ghodss/yaml v1.0.1-0.20220118164431-d8423dcdf344 - github.com/golang/mock v1.6.0 -- github.com/golang/protobuf v1.5.3 - github.com/google/go-cmp v0.5.9 - github.com/gorilla/websocket v1.5.0 -- github.com/miekg/dns v1.1.54 -+ github.com/miekg/dns v1.1.55 - github.com/pelletier/go-toml v1.9.5 - github.com/pires/go-proxyproto v0.7.0 -- github.com/quic-go/quic-go v0.35.1 -- github.com/refraction-networking/utls v1.3.2 -- github.com/sagernet/sing v0.2.5 -+ github.com/quic-go/quic-go v0.38.0 -+ github.com/refraction-networking/utls v1.3.3 -+ github.com/sagernet/sing v0.2.7 - github.com/sagernet/sing-shadowsocks v0.2.2 - github.com/sagernet/wireguard-go v0.0.0-20221116151939-c99467f53f2c - github.com/seiflotfy/cuckoofilter v0.0.0-20220411075957-e3b120b3f5fb - github.com/stretchr/testify v1.8.4 - github.com/v2fly/ss-bloomring v0.0.0-20210312155135-28617310f63e - github.com/xtls/reality v0.0.0-20230613075828-e07c3b04b983 -- golang.org/x/crypto v0.10.0 -- golang.org/x/net v0.11.0 -+ golang.org/x/crypto v0.12.0 -+ golang.org/x/net v0.14.0 - golang.org/x/sync v0.3.0 -- golang.org/x/sys v0.9.0 -- google.golang.org/grpc v1.56.0 -- google.golang.org/protobuf v1.30.0 -- gvisor.dev/gvisor v0.0.0-20220901235040-6ca97ef2ce1c -+ golang.org/x/sys v0.11.0 -+ google.golang.org/grpc v1.57.0 -+ google.golang.org/protobuf v1.31.0 -+ gvisor.dev/gvisor v0.0.0-20230806223740-1b6e502fedca - h12.io/socks v1.0.3 - lukechampine.com/blake3 v1.2.1 - ) -@@ -38,19 +37,19 @@ require ( - github.com/francoispqt/gojay v1.2.13 // indirect - github.com/gaukas/godicttls v0.0.3 // indirect - github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect -+ github.com/golang/protobuf v1.5.3 // indirect - github.com/google/btree v1.1.2 // indirect - github.com/google/pprof v0.0.0-20230602150820-91b7bce49751 // indirect - github.com/klauspost/compress v1.16.6 // indirect - github.com/klauspost/cpuid/v2 v2.2.5 // indirect - github.com/onsi/ginkgo/v2 v2.11.0 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect -- github.com/quic-go/qtls-go1-19 v0.3.2 // indirect -- github.com/quic-go/qtls-go1-20 v0.2.2 // indirect -+ github.com/quic-go/qtls-go1-20 v0.3.2 // indirect - github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3 // indirect - go.uber.org/atomic v1.11.0 // indirect -- golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 // indirect -+ golang.org/x/exp v0.0.0-20230725093048-515e97ebf090 // indirect - golang.org/x/mod v0.11.0 // indirect -- golang.org/x/text v0.10.0 // indirect -+ golang.org/x/text v0.12.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.10.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc // indirect ---- a/go.sum -+++ b/go.sum -@@ -89,8 +89,8 @@ github.com/lunixbochs/vtclean v1.0.0/go. - github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= - github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= - github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= --github.com/miekg/dns v1.1.54 h1:5jon9mWcb0sFJGpnI99tOMhCPyJ+RPVz5b63MQG0VWI= --github.com/miekg/dns v1.1.54/go.mod h1:uInx36IzPl7FYnDcMeVWxj9byh7DutNykX4G9Sj60FY= -+github.com/miekg/dns v1.1.55 h1:GoQ4hpsj0nFLYe+bWiCToyrBEJXkQfOOIvFGFy0lEgo= -+github.com/miekg/dns v1.1.55/go.mod h1:uInx36IzPl7FYnDcMeVWxj9byh7DutNykX4G9Sj60FY= - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= - github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= - github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= -@@ -112,19 +112,17 @@ github.com/prometheus/client_golang v0.8 - github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= - github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= - github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= --github.com/quic-go/qtls-go1-19 v0.3.2 h1:tFxjCFcTQzK+oMxG6Zcvp4Dq8dx4yD3dDiIiyc86Z5U= --github.com/quic-go/qtls-go1-19 v0.3.2/go.mod h1:ySOI96ew8lnoKPtSqx2BlI5wCpUVPT05RMAlajtnyOI= --github.com/quic-go/qtls-go1-20 v0.2.2 h1:WLOPx6OY/hxtTxKV1Zrq20FtXtDEkeY00CGQm8GEa3E= --github.com/quic-go/qtls-go1-20 v0.2.2/go.mod h1:JKtK6mjbAVcUTN/9jZpvLbGxvdWIKS8uT7EiStoU1SM= --github.com/quic-go/quic-go v0.35.1 h1:b0kzj6b/cQAf05cT0CkQubHM31wiA+xH3IBkxP62poo= --github.com/quic-go/quic-go v0.35.1/go.mod h1:+4CVgVppm0FNjpG3UcX8Joi/frKOH7/ciD5yGcwOO1g= --github.com/refraction-networking/utls v1.3.2 h1:o+AkWB57mkcoW36ET7uJ002CpBWHu0KPxi6vzxvPnv8= --github.com/refraction-networking/utls v1.3.2/go.mod h1:fmoaOww2bxzzEpIKOebIsnBvjQpqP7L2vcm/9KUfm/E= -+github.com/quic-go/qtls-go1-20 v0.3.2 h1:rRgN3WfnKbyik4dBV8A6girlJVxGand/d+jVKbQq5GI= -+github.com/quic-go/qtls-go1-20 v0.3.2/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k= -+github.com/quic-go/quic-go v0.38.0 h1:T45lASr5q/TrVwt+jrVccmqHhPL2XuSyoCLVCpfOSLc= -+github.com/quic-go/quic-go v0.38.0/go.mod h1:MPCuRq7KBK2hNcfKj/1iD1BGuN3eAYMeNxp3T42LRUg= -+github.com/refraction-networking/utls v1.3.3 h1:f/TBLX7KBciRyFH3bwupp+CE4fzoYKCirhdRcC490sw= -+github.com/refraction-networking/utls v1.3.3/go.mod h1:DlecWW1LMlMJu+9qpzzQqdHDT/C2LAe03EdpLUz/RL8= - github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3 h1:f/FNXud6gA3MNr8meMVVGxhp+QBTqY91tM8HjEuMjGg= - github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3/go.mod h1:HgjTstvQsPGkxUsCd2KWxErBblirPizecHcpD3ffK+s= - github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= --github.com/sagernet/sing v0.2.5 h1:N8sUluR8GZvR9DqUiH3FA3vBb4m/EDdOVTYUrDzJvmY= --github.com/sagernet/sing v0.2.5/go.mod h1:Ta8nHnDLAwqySzKhGoKk4ZIB+vJ3GTKj7UPrWYvM+4w= -+github.com/sagernet/sing v0.2.7 h1:cOy0FfPS8q7m0aJ51wS7LRQAGc9wF+fWhHtBDj99wy8= -+github.com/sagernet/sing v0.2.7/go.mod h1:Ta8nHnDLAwqySzKhGoKk4ZIB+vJ3GTKj7UPrWYvM+4w= - github.com/sagernet/sing-shadowsocks v0.2.2 h1:ezSdVhrmIcwDXmCZF3bOJVMuVtTQWpda+1Op+Ie2TA4= - github.com/sagernet/sing-shadowsocks v0.2.2/go.mod h1:JIBWG6a7orB2HxBxYElViQFLUQxFVG7DuqIj8gD7uCQ= - github.com/sagernet/wireguard-go v0.0.0-20221116151939-c99467f53f2c h1:vK2wyt9aWYHHvNLWniwijBu/n4pySypiKRhN32u/JGo= -@@ -178,11 +176,11 @@ golang.org/x/crypto v0.0.0-2018103010241 - golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= - golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= - golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= --golang.org/x/crypto v0.10.0 h1:LKqV2xt9+kDzSTfOhx4FrkEBcMrAgHSYgzywV9zcGmM= --golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= -+golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk= -+golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= - golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= --golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 h1:k/i9J1pBpvlfR+9QsetwPyERsqu1GIbi967PQMq3Ivc= --golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= -+golang.org/x/exp v0.0.0-20230725093048-515e97ebf090 h1:Di6/M8l0O2lCLc6VVRWhgCiApHV8MnQurBnFSHsQtNY= -+golang.org/x/exp v0.0.0-20230725093048-515e97ebf090/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= - golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= - golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= - golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -@@ -200,8 +198,8 @@ golang.org/x/net v0.0.0-20190313220215-9 - golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= - golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= - golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= --golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU= --golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= -+golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= -+golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= - golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= - golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= - golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -@@ -225,14 +223,14 @@ golang.org/x/sys v0.0.0-20201119102817-f - golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= - golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= --golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s= --golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -+golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= -+golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= - golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= - golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= - golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= - golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= --golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58= --golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -+golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= -+golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= - golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= - golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= - golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -@@ -268,12 +266,12 @@ google.golang.org/grpc v1.14.0/go.mod h1 - google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= - google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= - google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= --google.golang.org/grpc v1.56.0 h1:+y7Bs8rtMd07LeXmL3NxcTLn7mUkbKZqEpPhMNkwJEE= --google.golang.org/grpc v1.56.0/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= -+google.golang.org/grpc v1.57.0 h1:kfzNeI/klCGD2YPMUlaGNT3pxvYfga7smW3Vth8Zsiw= -+google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= - google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= - google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= --google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= --google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -+google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -+google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= - gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= - gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= - gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -@@ -286,8 +284,8 @@ gopkg.in/yaml.v3 v3.0.0-20200605160147-a - gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= - gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= - grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= --gvisor.dev/gvisor v0.0.0-20220901235040-6ca97ef2ce1c h1:m5lcgWnL3OElQNVyp3qcncItJ2c0sQlSGjYK2+nJTA4= --gvisor.dev/gvisor v0.0.0-20220901235040-6ca97ef2ce1c/go.mod h1:TIvkJD0sxe8pIob3p6T8IzxXunlp6yfgktvTNp+DGNM= -+gvisor.dev/gvisor v0.0.0-20230806223740-1b6e502fedca h1:7ny3LuaRJFcPuCi2mc9/tv0ybe02o7cKA2qI/edjWuE= -+gvisor.dev/gvisor v0.0.0-20230806223740-1b6e502fedca/go.mod h1:lYEMhXbxgudVhALYsMQrBaUAjM3NMinh8mKL1CJv7rc= - h12.io/socks v1.0.3 h1:Ka3qaQewws4j4/eDQnOdpr4wXsC//dXtWvftlIcCQUo= - h12.io/socks v1.0.3/go.mod h1:AIhxy1jOId/XCz9BO+EIgNL2rQiPTBNnOfnVnQ+3Eck= - honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= ---- a/proxy/wireguard/tun.go -+++ b/proxy/wireguard/tun.go -@@ -14,7 +14,7 @@ import ( - - "github.com/sagernet/wireguard-go/tun" - "github.com/xtls/xray-core/features/dns" -- "gvisor.dev/gvisor/pkg/bufferv2" -+ "gvisor.dev/gvisor/pkg/buffer" - "gvisor.dev/gvisor/pkg/tcpip" - "gvisor.dev/gvisor/pkg/tcpip/adapters/gonet" - "gvisor.dev/gvisor/pkg/tcpip/header" -@@ -30,7 +30,7 @@ type netTun struct { - ep *channel.Endpoint - stack *stack.Stack - events chan tun.Event -- incomingPacket chan *bufferv2.View -+ incomingPacket chan *buffer.View - mtu int - dnsClient dns.Client - hasV4, hasV6 bool -@@ -48,7 +48,7 @@ func CreateNetTUN(localAddresses []netip - ep: channel.New(1024, uint32(mtu), ""), - stack: stack.New(opts), - events: make(chan tun.Event, 10), -- incomingPacket: make(chan *bufferv2.View), -+ incomingPacket: make(chan *buffer.View), - dnsClient: dnsClient, - mtu: mtu, - } -@@ -66,7 +66,7 @@ func CreateNetTUN(localAddresses []netip - } - protoAddr := tcpip.ProtocolAddress{ - Protocol: protoNumber, -- AddressWithPrefix: tcpip.Address(ip.AsSlice()).WithPrefix(), -+ AddressWithPrefix: tcpip.AddrFromSlice(ip.AsSlice()).WithPrefix(), - } - tcpipErr := dev.stack.AddProtocolAddress(1, protoAddr, stack.AddressProperties{}) - if tcpipErr != nil { -@@ -116,7 +116,7 @@ func (tun *netTun) Write(buf []byte, off - return 0, nil - } - -- pkb := stack.NewPacketBuffer(stack.PacketBufferOptions{Payload: bufferv2.MakeWithData(packet)}) -+ pkb := stack.NewPacketBuffer(stack.PacketBufferOptions{Payload: buffer.MakeWithData(packet)}) - switch packet[0] >> 4 { - case 4: - tun.ep.InjectInbound(header.IPv4ProtocolNumber, pkb) -@@ -172,7 +172,7 @@ func convertToFullAddr(endpoint netip.Ad - } - return tcpip.FullAddress{ - NIC: 1, -- Addr: tcpip.Address(endpoint.Addr().AsSlice()), -+ Addr: tcpip.AddrFromSlice(endpoint.Addr().AsSlice()), - Port: endpoint.Port(), - }, protoNumber - } From 6cf39ba626e35474b5b3c59754610f20c240d202 Mon Sep 17 00:00:00 2001 From: Moritz Warning Date: Sun, 27 Aug 2023 23:00:10 +0200 Subject: [PATCH 15/63] zerotier: update to 1.12.1 * split up "fix makefile" patch logical distinct parts * add libatomic dependency needed for prometheus-cpp-lite-1.0 * refresh patch series * improve warning message in init script Signed-off-by: Moritz Warning --- net/zerotier/Makefile | 6 +-- net/zerotier/files/etc/init.d/zerotier | 2 +- ...-fix-miniupnpc-natpmp-include-paths.patch} | 40 +++--------------- .../patches/0002-remove-PIE-options.patch | 41 +++++++++++++++++++ ...-compilation-for-arm_cortex-a7-neon.patch} | 4 +- .../patches/0004-add-missing-libatomic.patch | 21 ++++++++++ .../patches/0005-remove-noexecstack.patch | 21 ++++++++++ 7 files changed, 95 insertions(+), 40 deletions(-) rename net/zerotier/patches/{0001-fix-makefile.patch => 0001-fix-miniupnpc-natpmp-include-paths.patch} (59%) create mode 100644 net/zerotier/patches/0002-remove-PIE-options.patch rename net/zerotier/patches/{0002-fix-compilation-for-arm_cortex-a7-neon.patch => 0003-fix-compilation-for-arm_cortex-a7-neon.patch} (84%) create mode 100644 net/zerotier/patches/0004-add-missing-libatomic.patch create mode 100644 net/zerotier/patches/0005-remove-noexecstack.patch diff --git a/net/zerotier/Makefile b/net/zerotier/Makefile index 98551b062..b997b4c87 100644 --- a/net/zerotier/Makefile +++ b/net/zerotier/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=zerotier -PKG_VERSION:=1.10.4 +PKG_VERSION:=1.12.1 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/zerotier/ZeroTierOne/tar.gz/$(PKG_VERSION)? -PKG_HASH:=5dc185a65baf8caa3fb739cbc8043677aa117604be9036a28c34f8fda5d6eafe +PKG_HASH:=c6758a04f161bba1c0ef11fce991029a645ede381ae3862a25a2f5145aaffca8 PKG_BUILD_DIR:=$(BUILD_DIR)/ZeroTierOne-$(PKG_VERSION) PKG_MAINTAINER:=Moritz Warning @@ -27,7 +27,7 @@ include $(INCLUDE_DIR)/package.mk define Package/zerotier SECTION:=net CATEGORY:=Network - DEPENDS:=+libpthread +libstdcpp +kmod-tun +ip +libminiupnpc +libnatpmp + DEPENDS:=+libpthread +libstdcpp +kmod-tun +ip +libminiupnpc +libnatpmp +libatomic TITLE:=Create flat virtual Ethernet networks of almost unlimited size URL:=https://www.zerotier.com SUBMENU:=VPN diff --git a/net/zerotier/files/etc/init.d/zerotier b/net/zerotier/files/etc/init.d/zerotier index f7ba8e91d..a919dacea 100755 --- a/net/zerotier/files/etc/init.d/zerotier +++ b/net/zerotier/files/etc/init.d/zerotier @@ -18,7 +18,7 @@ start_instance() { local args="" if ! section_enabled "$cfg"; then - echo "disabled in config" + echo "disabled in /ect/config/zerotier" return 1 fi diff --git a/net/zerotier/patches/0001-fix-makefile.patch b/net/zerotier/patches/0001-fix-miniupnpc-natpmp-include-paths.patch similarity index 59% rename from net/zerotier/patches/0001-fix-makefile.patch rename to net/zerotier/patches/0001-fix-miniupnpc-natpmp-include-paths.patch index eacb72352..8779829f4 100644 --- a/net/zerotier/patches/0001-fix-makefile.patch +++ b/net/zerotier/patches/0001-fix-miniupnpc-natpmp-include-paths.patch @@ -1,11 +1,12 @@ -From 2c513f0db50eaee5623d58ac024d62142f4ac782 Mon Sep 17 00:00:00 2001 +From 8b30e8617720c2a540c84c5c00508e8081e9f06e Mon Sep 17 00:00:00 2001 From: Moritz Warning -Date: Mon, 4 Jul 2022 00:09:24 +0200 -Subject: [PATCH 1/2] fix makefile +Date: Sun, 27 Aug 2023 23:26:33 +0200 +Subject: [PATCH 1/5] fix miniupnpc/natpmp include paths +Signed-off-by: Moritz Warning --- - make-linux.mk | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) + make-linux.mk | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) --- a/make-linux.mk +++ b/make-linux.mk @@ -29,32 +30,3 @@ Subject: [PATCH 1/2] fix makefile ONE_OBJS+=ext/libnatpmp/natpmp.o ext/libnatpmp/getgateway.o else LDLIBS+=-lnatpmp -@@ -70,7 +70,7 @@ else - override CFLAGS+=-Wall -Wno-deprecated -pthread $(INCLUDES) -DNDEBUG $(DEFS) - CXXFLAGS?=-O3 -fstack-protector - override CXXFLAGS+=-Wall -Wno-deprecated -std=c++17 -pthread $(INCLUDES) -DNDEBUG $(DEFS) -- LDFLAGS=-pie -Wl,-z,relro,-z,now -+ LDFLAGS=-Wl,-z,relro,-z,now - RUSTFLAGS=--release - endif - -@@ -316,7 +316,7 @@ ifeq ($(ZT_CONTROLLER),1) - endif - - # ARM32 hell -- use conservative CFLAGS --ifeq ($(ZT_ARCHITECTURE),3) -+ifeq (0,3) - ifeq ($(shell if [ -e /usr/bin/dpkg ]; then dpkg --print-architecture; fi),armel) - override CFLAGS+=-march=armv5t -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm - override CXXFLAGS+=-march=armv5t -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm -@@ -343,8 +343,8 @@ ifeq ($(ZT_USE_ARM32_NEON_ASM_CRYPTO),1) - endif - - # Position Independence --override CFLAGS+=-fPIC -fPIE --override CXXFLAGS+=-fPIC -fPIE -+#override CFLAGS+=-fPIC -fPIE -+#override CXXFLAGS+=-fPIC -fPIE - - .PHONY: all - all: one diff --git a/net/zerotier/patches/0002-remove-PIE-options.patch b/net/zerotier/patches/0002-remove-PIE-options.patch new file mode 100644 index 000000000..0b21991eb --- /dev/null +++ b/net/zerotier/patches/0002-remove-PIE-options.patch @@ -0,0 +1,41 @@ +From 9b97099560a79529f2b5a748e73164ae038d2b76 Mon Sep 17 00:00:00 2001 +From: Moritz Warning +Date: Sun, 27 Aug 2023 23:27:33 +0200 +Subject: [PATCH 2/5] remove PIE options + +Signed-off-by: Moritz Warning +--- + make-linux.mk | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +--- a/make-linux.mk ++++ b/make-linux.mk +@@ -70,7 +70,7 @@ else + override CFLAGS+=-Wall -Wno-deprecated -pthread $(INCLUDES) -DNDEBUG $(DEFS) + CXXFLAGS?=-O3 -fstack-protector + override CXXFLAGS+=-Wall -Wno-deprecated -std=c++17 -pthread $(INCLUDES) -DNDEBUG $(DEFS) +- LDFLAGS=-pie -Wl,-z,relro,-z,now ++ LDFLAGS=-Wl,-z,relro,-z,now + RUSTFLAGS=--release + endif + +@@ -327,7 +327,7 @@ ifeq ($(ZT_CONTROLLER),1) + endif + + # ARM32 hell -- use conservative CFLAGS +-ifeq ($(ZT_ARCHITECTURE),3) ++ifeq (0,3) + ifeq ($(shell if [ -e /usr/bin/dpkg ]; then dpkg --print-architecture; fi),armel) + override CFLAGS+=-march=armv5t -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm + override CXXFLAGS+=-march=armv5t -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm +@@ -354,8 +354,8 @@ ifeq ($(ZT_USE_ARM32_NEON_ASM_CRYPTO),1) + endif + + # Position Independence +-override CFLAGS+=-fPIC -fPIE +-override CXXFLAGS+=-fPIC -fPIE ++#override CFLAGS+=-fPIC -fPIE ++#override CXXFLAGS+=-fPIC -fPIE + + # Non-executable stack + override ASFLAGS+=--noexecstack diff --git a/net/zerotier/patches/0002-fix-compilation-for-arm_cortex-a7-neon.patch b/net/zerotier/patches/0003-fix-compilation-for-arm_cortex-a7-neon.patch similarity index 84% rename from net/zerotier/patches/0002-fix-compilation-for-arm_cortex-a7-neon.patch rename to net/zerotier/patches/0003-fix-compilation-for-arm_cortex-a7-neon.patch index 00fef6eb5..8831edef7 100644 --- a/net/zerotier/patches/0002-fix-compilation-for-arm_cortex-a7-neon.patch +++ b/net/zerotier/patches/0003-fix-compilation-for-arm_cortex-a7-neon.patch @@ -1,7 +1,7 @@ -From 819232a2b5a09d7aa3cacb8dcf7c2e28afde1b06 Mon Sep 17 00:00:00 2001 +From 1689085363cf87deb3877139931a8a88d8c7bcd3 Mon Sep 17 00:00:00 2001 From: Moritz Warning Date: Mon, 4 Jul 2022 00:10:52 +0200 -Subject: [PATCH 2/2] fix compilation for arm_cortex-a7+neon +Subject: [PATCH 3/5] fix compilation for arm_cortex-a7+neon Fixes "error: 'vrbitq_u8' was not declared in this scope" diff --git a/net/zerotier/patches/0004-add-missing-libatomic.patch b/net/zerotier/patches/0004-add-missing-libatomic.patch new file mode 100644 index 000000000..d8d9c6173 --- /dev/null +++ b/net/zerotier/patches/0004-add-missing-libatomic.patch @@ -0,0 +1,21 @@ +From b3879d721734862aa64433f7faf124a0862da029 Mon Sep 17 00:00:00 2001 +From: Moritz Warning +Date: Sun, 27 Aug 2023 22:27:12 +0200 +Subject: [PATCH 4/5] add missing libatomic + +Signed-off-by: Moritz Warning +--- + make-linux.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/make-linux.mk ++++ b/make-linux.mk +@@ -11,7 +11,7 @@ endif + + INCLUDES?=-Izeroidc/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include + DEFS?= +-LDLIBS?= ++LDLIBS?=-latomic + DESTDIR?= + + include objects.mk diff --git a/net/zerotier/patches/0005-remove-noexecstack.patch b/net/zerotier/patches/0005-remove-noexecstack.patch new file mode 100644 index 000000000..07b1ac3b4 --- /dev/null +++ b/net/zerotier/patches/0005-remove-noexecstack.patch @@ -0,0 +1,21 @@ +From adcc68c6c3de8460bd6263d3478873953a4cf894 Mon Sep 17 00:00:00 2001 +From: Moritz Warning +Date: Mon, 28 Aug 2023 09:48:28 +0200 +Subject: [PATCH 5/5] remove noexecstack + +The compilers for arm_cortex-a9 do not recognize this argument. +--- + make-linux.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/make-linux.mk ++++ b/make-linux.mk +@@ -358,7 +358,7 @@ endif + #override CXXFLAGS+=-fPIC -fPIE + + # Non-executable stack +-override ASFLAGS+=--noexecstack ++# override ASFLAGS+=--noexecstack + + .PHONY: all + all: one From a694ed7b0c0c85108f37f7562e606a30d30638ac Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Fri, 25 Aug 2023 00:50:31 +0800 Subject: [PATCH 16/63] python-rsa: Update to 4.9, update list of dependencies The package changed to the poetry-core build backend. Signed-off-by: Jeffery To --- lang/python/python-rsa/Makefile | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/lang/python/python-rsa/Makefile b/lang/python/python-rsa/Makefile index 0a96aa201..92b405245 100644 --- a/lang/python/python-rsa/Makefile +++ b/lang/python/python-rsa/Makefile @@ -1,16 +1,19 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=rsa -PKG_VERSION:=4.6 +PKG_NAME:=python-rsa +PKG_VERSION:=4.9 PKG_RELEASE:=1 -PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=109ea5a66744dd859bf16fe904b8d8b627adafb9408753161e766a92e7d681fa +PYPI_NAME:=rsa +PKG_HASH:=e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21 PKG_MAINTAINER:=Daniel Danzberger -PKG_LICENSE:=MIT +PKG_LICENSE:=Apache-2.0 +PKG_LICENSE_FILES:=LICENSE PKG_CPE_ID:=cpe:/a:python-rsa_project:python-rsa +PKG_BUILD_DEPENDS:=python-poetry-core/host + include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk @@ -19,15 +22,16 @@ define Package/python3-rsa SUBMENU:=Python SECTION:=lang CATEGORY:=Languages - TITLE:=rsa + TITLE:=Pure-Python RSA implementation URL:=https://stuvel.eu/rsa - DEPENDS:=+python3 +python3-pyasn1 + DEPENDS:=+python3-light +python3-multiprocessing +python3-pydoc +python3-pyasn1 endef define Package/python3-rsa/description - Is a pure-Python RSA implementation. It supports encryption and decryption, - signing and verifying signatures, and key generation according to PKCS#1 version 1.5. - It can be used as a Python library as well as on the commandline. +Python-RSA is a pure-Python RSA implementation. It supports encryption +and decryption, signing and verifying signatures, and key generation +according to PKCS#1 version 1.5. It can be used as a Python library as +well as on the commandline. endef $(eval $(call Py3Package,python3-rsa)) From 53dadf2c50a8635aab23e12110f1823b8b041512 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Fri, 25 Aug 2023 01:01:56 +0800 Subject: [PATCH 17/63] python-schedule: Update to 1.2.0 Signed-off-by: Jeffery To --- lang/python/python-schedule/Makefile | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lang/python/python-schedule/Makefile b/lang/python/python-schedule/Makefile index 6d28bd0e4..fad04bd0c 100644 --- a/lang/python/python-schedule/Makefile +++ b/lang/python/python-schedule/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-schedule -PKG_VERSION:=0.6.0 -PKG_RELEASE:=2 +PKG_VERSION:=1.2.0 +PKG_RELEASE:=1 PYPI_NAME:=schedule -PKG_HASH:=f9fb5181283de4db6e701d476dd01b6a3dd81c38462a54991ddbb9d26db857c9 +PKG_HASH:=b4ad697aafba7184c9eb6a1e2ebc41f781547242acde8ceae9a0a25b04c0922d PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT @@ -32,9 +32,10 @@ define Package/python3-schedule endef define Package/python3-schedule/description - An in-process scheduler for periodic jobs that uses the builder pattern for configuration. - The Schedule lets you run Python functions (or any other callable) - periodically at predetermined intervals using a simple, human-friendly syntax. +An in-process scheduler for periodic jobs that uses the builder pattern +for configuration. The Schedule lets you run Python functions (or any +other callable) periodically at predetermined intervals using a simple, +human-friendly syntax. endef $(eval $(call Py3Package,python3-schedule)) From 8c7709b911df9f85189a9c71cfc196702f4cb338 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Fri, 25 Aug 2023 01:07:05 +0800 Subject: [PATCH 18/63] python-schema: Update to 0.7.5 Signed-off-by: Jeffery To --- lang/python/python-schema/Makefile | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lang/python/python-schema/Makefile b/lang/python/python-schema/Makefile index d62a515ca..fd1bb5860 100644 --- a/lang/python/python-schema/Makefile +++ b/lang/python/python-schema/Makefile @@ -5,12 +5,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-schema -PKG_VERSION:=0.7.2 +PKG_VERSION:=0.7.5 PKG_RELEASE:=1 PKG_MAINTAINER:=Karel Kočí PYPI_NAME:=schema -PKG_HASH:=b536f2375b49fdf56f36279addae98bd86a8afbd58b3c32ce363c464bed5fc1c +PKG_HASH:=f06717112c61895cabc4707752b88716e8420a8819d71404501e114f91043197 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE-MIT include ../pypi.mk include $(INCLUDE_DIR)/package.mk @@ -21,12 +24,15 @@ define Package/python3-schema CATEGORY:=Languages SUBMENU:=Python URL:=https://github.com/keleshev/schema - TITLE:=python3-schema + TITLE:=Simple data validation library DEPENDS:=+python3-light +python3-contextlib2 endef define Package/python3-schema/description - Schema validation just got Pythonic +schema is a library for validating Python data structures, such as those +obtained from config-files, forms, external services or command-line +parsing, converted from JSON/YAML (or something else) to Python +data-types. endef $(eval $(call Py3Package,python3-schema)) From f279ae9418fff4f83bd16b353ef008e548d82cd7 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Fri, 25 Aug 2023 01:13:17 +0800 Subject: [PATCH 19/63] python-sentry-sdk: Update to 1.29.2, update list of dependencies Signed-off-by: Jeffery To --- lang/python/python-sentry-sdk/Makefile | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lang/python/python-sentry-sdk/Makefile b/lang/python/python-sentry-sdk/Makefile index 81854826b..748d73432 100644 --- a/lang/python/python-sentry-sdk/Makefile +++ b/lang/python/python-sentry-sdk/Makefile @@ -8,14 +8,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-sentry-sdk -PKG_VERSION:=1.5.4 +PKG_VERSION:=1.29.2 PKG_RELEASE:=1 PYPI_NAME:=sentry-sdk -PKG_HASH:=f7e54567937ebcbe938c4df1075ec891587faeb7c74184b88cf2894e47c86116 +PKG_HASH:=a99ee105384788c3f228726a88baf515fe7b5f1d2d0f215a03d194369f158df7 PKG_MAINTAINER:=Josef Schlehofer -PKG_LICENSE:=BSD-2-Clause +PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE include ../pypi.mk @@ -26,17 +26,16 @@ define Package/python3-sentry-sdk SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=Python Client for Sentry + TITLE:=Client for Sentry URL:=https://github.com/getsentry/sentry-python DEPENDS:= \ + +python3 \ +python3-certifi \ - +python3-light \ - +python3-logging \ +python3-urllib3 endef define Package/python3-sentry-sdk/description - Python Sentry-Python is an SDK for Sentry. +This is the official Python SDK for Sentry. endef $(eval $(call Py3Package,python3-sentry-sdk)) From 1ec68a6e98ec0c1a7256023baee1f9b01ccbf5d2 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Fri, 25 Aug 2023 01:17:58 +0800 Subject: [PATCH 20/63] python-slugify: Update to 8.0.1, update list of dependencies Signed-off-by: Jeffery To --- lang/python/python-slugify/Makefile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lang/python/python-slugify/Makefile b/lang/python/python-slugify/Makefile index 3eb2c7afc..239ec6ad1 100644 --- a/lang/python/python-slugify/Makefile +++ b/lang/python/python-slugify/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-slugify -PKG_VERSION:=4.0.1 +PKG_VERSION:=8.0.1 PKG_RELEASE:=1 PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=69a517766e00c1268e5bbfc0d010a0a8508de0b18d30ad5a1ff357f8ae724270 +PKG_HASH:=ce0d46ddb668b3be82f4ed5e503dbc33dd815d83e2eb6824211310d3fb172a27 PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT @@ -31,7 +31,6 @@ define Package/python3-slugify DEPENDS:= \ +python3-light \ +python3-codecs \ - +python3-setuptools \ +python3-text-unidecode endef From 8b6a817af298364134f3ec37cbb8bfda48b2a35f Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Fri, 25 Aug 2023 01:20:57 +0800 Subject: [PATCH 21/63] python-sqlalchemy: Update to 2.0.20, update list of dependencies This also adds a build dependency on python-cython/host. Signed-off-by: Jeffery To --- lang/python/python-sqlalchemy/Makefile | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/lang/python/python-sqlalchemy/Makefile b/lang/python/python-sqlalchemy/Makefile index f15cbb3ff..403151ed2 100644 --- a/lang/python/python-sqlalchemy/Makefile +++ b/lang/python/python-sqlalchemy/Makefile @@ -8,17 +8,19 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-sqlalchemy -PKG_VERSION:=1.4.22 +PKG_VERSION:=2.0.20 PKG_RELEASE:=1 PYPI_NAME:=SQLAlchemy -PKG_HASH:=ec1be26cdccd60d180359a527d5980d959a26269a2c7b1b327a1eea0cab37ed8 +PKG_HASH:=ca8a5ff2aa7f3ade6c498aaafce25b1eaeabe4e42b73e25519183e4566a16fc6 PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE PKG_CPE_ID:=cpe:/a:sqlalchemy:sqlalchemy +PKG_BUILD_DEPENDS:=python-cython/host + include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk @@ -29,19 +31,15 @@ define Package/python3-sqlalchemy SUBMENU:=Python TITLE:=Database Abstraction Library URL:=https://www.sqlalchemy.org - DEPENDS:= \ - +python3-light \ - +python3-urllib \ - +python3-decimal \ - +python3-logging + DEPENDS:=+python3 +python3-typing-extensions endef define Package/python3-sqlalchemy/description - SQLAlchemy is the Python SQL toolkit and Object Relational Mapper - that gives application developers the full power and flexibility of SQL. - SQLAlchemy provides a full suite of well known enterprise-level persistence patterns, - designed for efficient and high-performing database access, - adapted into a simple and Pythonic domain language. +SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that +gives application developers the full power and flexibility of SQL. +SQLAlchemy provides a full suite of well known enterprise-level +persistence patterns, designed for efficient and high-performing +database access, adapted into a simple and Pythonic domain language. endef $(eval $(call Py3Package,python3-sqlalchemy)) From e7a8d18385e6d1de27d0501940259ab23e50be6f Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Fri, 25 Aug 2023 01:25:49 +0800 Subject: [PATCH 22/63] python-tornado: Update to 6.3.3, update list of dependencies Signed-off-by: Jeffery To --- lang/python/python-tornado/Makefile | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/lang/python/python-tornado/Makefile b/lang/python/python-tornado/Makefile index d2fb56b20..36007a844 100644 --- a/lang/python/python-tornado/Makefile +++ b/lang/python/python-tornado/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-tornado -PKG_VERSION:=6.1 +PKG_VERSION:=6.3.3 PKG_RELEASE:=1 PYPI_NAME:=tornado -PKG_HASH:=33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791 +PKG_HASH:=e7d8db41c0181c80d76c982aacc442c0783a2c54d6400fe028954201a2e032fe PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=Apache-2.0 @@ -27,17 +27,8 @@ define Package/python3-tornado CATEGORY:=Languages SUBMENU:=Python TITLE:=Web framework and asynchronous networking library - URL:=https://tornadoweb.org - DEPENDS:= \ - +python3-asyncio \ - +python3-codecs \ - +python3-email \ - +python3-light \ - +python3-logging \ - +python3-multiprocessing \ - +python3-openssl \ - +python3-unittest \ - +python3-urllib + URL:=https://www.tornadoweb.org + DEPENDS:=+python3 endef define Package/python3-tornado/description From 6b6ea7efe1c8e2584a0c788f06ef826f1030c6e9 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Fri, 25 Aug 2023 01:31:14 +0800 Subject: [PATCH 23/63] python-trio: Update to 0.22.2, update list of dependencies Signed-off-by: Jeffery To --- lang/python/python-trio/Makefile | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/lang/python/python-trio/Makefile b/lang/python/python-trio/Makefile index 8afd6b29a..d90f1b8f8 100644 --- a/lang/python/python-trio/Makefile +++ b/lang/python/python-trio/Makefile @@ -8,14 +8,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-trio -PKG_VERSION:=0.22.0 +PKG_VERSION:=0.22.2 PKG_RELEASE:=1 PYPI_NAME:=trio -PKG_HASH:=ce68f1c5400a47b137c5a4de72c7c901bd4e7a24fbdebfe9b41de8c6c04eaacf +PKG_HASH:=3887cf18c8bcc894433420305468388dac76932e9668afa1c49aa3806b6accb3 -PKG_LICENSE:=Apache-2.0|MIT -PKG_LICENSE_FILES:=LICENSE.APACHE2|LICENSE.MIT +PKG_LICENSE:=Apache-2.0 MIT +PKG_LICENSE_FILES:=LICENSE.APACHE2 LICENSE.MIT PKG_MAINTAINER:=Julien Malik include ../pypi.mk @@ -26,14 +26,11 @@ define Package/python3-trio SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=A friendly Python library for async concurrency and I/O - URL:=https://trio.readthedocs.io + TITLE:=Friendly library for async concurrency and I/O + URL:=https://github.com/python-trio/trio DEPENDS:= \ +python3-light \ +python3-attrs \ - +python3-async-generator \ - +python3-cffi \ - +python3-exceptiongroup \ +python3-idna \ +python3-outcome \ +python3-sniffio \ @@ -41,7 +38,8 @@ define Package/python3-trio endef define Package/python3-trio/description - The Trio project’s goal is to produce a production-quality, permissively licensed, async/await-native I/O library for Python +The Trio project’s goal is to produce a production-quality, permissively +licensed, async/await-native I/O library for Python. endef $(eval $(call Py3Package,python3-trio)) From 5c11c3717abdbcdab8bf56f33308e68492df0410 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Tue, 29 Aug 2023 00:23:19 +0800 Subject: [PATCH 24/63] mpfr: Update to 4.2.1 Signed-off-by: Jeffery To --- libs/mpfr/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/mpfr/Makefile b/libs/mpfr/Makefile index f4d2d64e5..39d6a035a 100644 --- a/libs/mpfr/Makefile +++ b/libs/mpfr/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mpfr -PKG_VERSION:=4.2.0 +PKG_VERSION:=4.2.1 PKG_RELEASE:=1 PKG_SOURCE_URL:=@GNU/mpfr http://www.mpfr.org/mpfr-$(PKG_VERSION) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz -PKG_HASH:=06a378df13501248c1b2db5aa977a2c8126ae849a9d9b7be2546fb4a9c26d993 +PKG_HASH:=277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2 PKG_LICENSE:=LGPL-3.0-or-later PKG_LICENSE_FILES:=COPYING.LESSER From 88632b7b64309fb18cdd83ddef5076bb66d4b21c Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Tue, 29 Aug 2023 00:33:44 +0800 Subject: [PATCH 25/63] python-pluggy: Update to 1.3.0 Signed-off-by: Jeffery To --- lang/python/python-pluggy/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/python/python-pluggy/Makefile b/lang/python/python-pluggy/Makefile index 8fcc74dc9..83ab84cf1 100644 --- a/lang/python/python-pluggy/Makefile +++ b/lang/python/python-pluggy/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pluggy -PKG_VERSION:=1.2.0 +PKG_VERSION:=1.3.0 PKG_RELEASE:=1 PYPI_NAME:=pluggy -PKG_HASH:=d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3 +PKG_HASH:=cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12 PKG_MAINTAINER:=Jan Pavlinec , Jeffery To PKG_LICENSE:=MIT From 0b99bec49b498443169d883cf7a3ee7df80d555a Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Tue, 29 Aug 2023 00:36:04 +0800 Subject: [PATCH 26/63] python-wheel: Update to 0.41.2 Signed-off-by: Jeffery To --- lang/python/python-wheel/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/python/python-wheel/Makefile b/lang/python/python-wheel/Makefile index 8f8b48a53..2b89d569e 100644 --- a/lang/python/python-wheel/Makefile +++ b/lang/python/python-wheel/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-wheel -PKG_VERSION:=0.41.1 +PKG_VERSION:=0.41.2 PKG_RELEASE:=1 PYPI_NAME:=wheel -PKG_HASH:=12b911f083e876e10c595779709f8a88a59f45aacc646492a67fe9ef796c1b47 +PKG_HASH:=0c5ac5ff2afb79ac23ab82bab027a0be7b5dbcf2e54dc50efe4bf507de1f7985 PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE.txt From f43e7a5067f5d594ffee9ad66fe50256b423c524 Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Thu, 31 Aug 2023 16:34:04 +0800 Subject: [PATCH 27/63] mpd: Update to 0.23.13 ver 0.23.13 (2023/05/22) * input - curl: fix busy loop after connection failed - curl: hide "404" log messages for non-existent ".mpdignore" files * archive - zzip: fix crash bug * database - simple: reveal hidden songs after deleting containing CUE * decoder - ffmpeg: reorder to a lower priority than "gme" - gme: require GME 0.6 or later * output - pipewire: fix corruption bug due to missing lock * Linux - shut down if parent process dies in --no-daemon mode - determine systemd unit directories via pkg-config * support libfmt 10 ver 0.23.12 (2023/01/17) * input - curl: require CURL 7.55.0 or later * decoder - mad: fix integer underflow with very small files * tags - fix crash bug due to race condition * output - pipewire: adjust to PipeWire 0.3.64 API change * fix build failures with GCC 13 Removed upstreamed patch. Signed-off-by: Tianling Shen --- sound/mpd/Makefile | 4 ++-- sound/mpd/patches/010-gcc12.patch | 30 ------------------------- sound/mpd/patches/030-no-avfilter.patch | 2 +- 3 files changed, 3 insertions(+), 33 deletions(-) delete mode 100644 sound/mpd/patches/010-gcc12.patch diff --git a/sound/mpd/Makefile b/sound/mpd/Makefile index c46ed1a61..fbbc69839 100644 --- a/sound/mpd/Makefile +++ b/sound/mpd/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mpd -PKG_VERSION:=0.23.11 +PKG_VERSION:=0.23.13 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://www.musicpd.org/download/mpd/0.23 -PKG_HASH:=edb4e7a8f9dff238b5610f9e2461940ea98c727a5462fafb1cdf836304dfdca9 +PKG_HASH:=a96b01e6fbbb7e8ab25eb7c15d5c811c62eb19b76d143a802f51674791f1d519 PKG_MAINTAINER:= PKG_LICENSE:=GPL-2.0-or-later diff --git a/sound/mpd/patches/010-gcc12.patch b/sound/mpd/patches/010-gcc12.patch deleted file mode 100644 index a3b83b5d5..000000000 --- a/sound/mpd/patches/010-gcc12.patch +++ /dev/null @@ -1,30 +0,0 @@ -From e4b055eb6d08c5c8f8d85828ce4005d410e462cb Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= - -Date: Thu, 1 Dec 2022 08:29:23 +0700 -Subject: [PATCH] v0.23.x: RemoteTagCache: add missing include - -Fix build with Boost 1.81.0. `` was included by one of those boost headers, -however, it's no longer included as of Boost 1.81.0. - -`master` doesn't use `std::array` in this file. - -While we're at it, add all necessary inclusion files. ---- - src/RemoteTagCache.hxx | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/src/RemoteTagCache.hxx -+++ b/src/RemoteTagCache.hxx -@@ -28,7 +28,11 @@ - #include - #include - -+#include -+#include -+#include - #include -+#include - - class RemoteTagCacheHandler; - diff --git a/sound/mpd/patches/030-no-avfilter.patch b/sound/mpd/patches/030-no-avfilter.patch index 233cf5077..c9652ba4e 100644 --- a/sound/mpd/patches/030-no-avfilter.patch +++ b/sound/mpd/patches/030-no-avfilter.patch @@ -11,4 +11,4 @@ -endif conf.set('HAVE_LIBAVFILTER', libavfilter_dep.found()) - if not enable_ffmpeg + if not libavutil_dep.found() From 5a1b878010217c0404483099b52e3cd30319ced2 Mon Sep 17 00:00:00 2001 From: Lucian Cristian Date: Thu, 31 Aug 2023 13:06:17 +0000 Subject: [PATCH 28/63] libreswan: update to 4.12 fix CVE-2023-38710, CVE-2023-38711, CVE-2023-38712 Signed-off-by: Lucian Cristian --- net/libreswan/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/libreswan/Makefile b/net/libreswan/Makefile index dae864a64..4ecc00a44 100644 --- a/net/libreswan/Makefile +++ b/net/libreswan/Makefile @@ -7,12 +7,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libreswan -PKG_VERSION:=4.11 +PKG_VERSION:=4.12 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://download.libreswan.org/ -PKG_HASH:=429a917fe4a55260f152cfb3188a587e5b12e94a14e240ac125319ff14b8c83d +PKG_HASH:=ae85abe415f7becf4b6a2b9897e1712f27e5aac9c35dfbdddbcce0ad7dfd99f7 PKG_MAINTAINER:=Lucian Cristian PKG_LICENSE:=GPL-2.0-or-later From 71e8d20f596cd3b34f900e59df0e91fd9c05bfe2 Mon Sep 17 00:00:00 2001 From: Lucian Cristian Date: Thu, 31 Aug 2023 13:09:01 +0000 Subject: [PATCH 29/63] nss: update to 3.93 Signed-off-by: Lucian Cristian --- libs/nss/Makefile | 4 ++-- libs/nss/patches/010-nanosleep.patch | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libs/nss/Makefile b/libs/nss/Makefile index b7dc8c2d6..5888e2294 100644 --- a/libs/nss/Makefile +++ b/libs/nss/Makefile @@ -7,14 +7,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nss -PKG_VERSION:=3.89.1 +PKG_VERSION:=3.93 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:= \ https://download.cdn.mozilla.net/pub/security/$(PKG_NAME)/releases/NSS_$(subst .,_,$(PKG_VERSION))_RTM/src \ https://archive.mozilla.org/pub/security/$(PKG_NAME)/releases/NSS_$(subst .,_,$(PKG_VERSION))_RTM/src -PKG_HASH:=3adaedb9e70c3c5f40603bf60a01e336190a6dbe01929d395f16b01fe84a0156 +PKG_HASH:=15f54bb72048eb105f8c0e936a04b899e74c3db9a19bbc1e00acee2af9476a8a PKG_MAINTAINER:=Lucian Cristian PKG_LICENCE:=MPL-2.0 diff --git a/libs/nss/patches/010-nanosleep.patch b/libs/nss/patches/010-nanosleep.patch index ed5bfd05d..414ebf3a3 100644 --- a/libs/nss/patches/010-nanosleep.patch +++ b/libs/nss/patches/010-nanosleep.patch @@ -1,6 +1,6 @@ --- a/nss/lib/freebl/stubs.c +++ b/nss/lib/freebl/stubs.c -@@ -501,7 +501,8 @@ extern PRStatus +@@ -506,7 +506,8 @@ extern PRStatus PR_Sleep_stub(PRIntervalTime ticks) { STUB_SAFE_CALL1(PR_Sleep, ticks); From cd548cea542a182f5e44a8f2666e3fca5fa7398a Mon Sep 17 00:00:00 2001 From: Jonas Jelonek Date: Thu, 6 Jul 2023 15:14:45 +0200 Subject: [PATCH 30/63] croc: new package croc is a tool written in Go for sending files from one device to another over the internet using a relay. It runs on multiple platforms, provides end-to-end encryption and works without port forwarding and fixed IP/DynDNS. Signed-off-by: Jonas Jelonek --- net/croc/Makefile | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 net/croc/Makefile diff --git a/net/croc/Makefile b/net/croc/Makefile new file mode 100644 index 000000000..eab3c8e70 --- /dev/null +++ b/net/croc/Makefile @@ -0,0 +1,45 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2023 Jonas Jelonek + +include $(TOPDIR)/rules.mk + +PKG_NAME:=croc +PKG_VERSION:=9.6.5 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://codeload.github.com/schollz/croc/tar.gz/v$(PKG_VERSION)? +PKG_HASH:=2d3ba7bae3c49e3870e2f8523c6be00e92fe6e46828269a8cea34d4034102cad + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jonas Jelonek + +PKG_BUILD_DEPENDS:=golang/host +PKG_BUILD_PARALLEL:=1 +PKG_BUILD_FLAGS:=no-mips16 + +GO_PKG:=github.com/schollz/croc/v9 +GO_PKG_BUILD_PKG:=$(GO_PKG) +GO_PKG_LDFLAGS_X:=$(GO_PKG)/src/cli.Version=v$(PKG_VERSION) + +include $(INCLUDE_DIR)/package.mk +include ../../lang/golang/golang-package.mk + +define Package/croc + SECTION:=net + CATEGORY:=Network + SUBMENU:=File Transfer + TITLE:=Easily and securely send things from one computer to another + URL:=https://github.com/schollz/croc + DEPENDS:=$(GO_ARCH_DEPENDS) +endef + +define Package/croc/description + croc is a tool that allows any two computers to simply and securely + transfer files and folders by using a relay. +endef + +$(eval $(call GoBinPackage,croc)) +$(eval $(call BuildPackage,croc)) From 4299e892def0812ba904aa8e662e3608f8198610 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Thu, 31 Aug 2023 19:36:21 -0700 Subject: [PATCH 31/63] libre2: fix pkgconfig paths Upstream broke them. Signed-off-by: Rosen Penev --- libs/libre2/Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libs/libre2/Makefile b/libs/libre2/Makefile index 1ce64f8cc..4599ae4a0 100644 --- a/libs/libre2/Makefile +++ b/libs/libre2/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=re2 PKG_VERSION:=2023-02-01 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/google/re2/tar.gz/$(PKG_VERSION)? @@ -38,6 +38,12 @@ CMAKE_OPTIONS += \ TARGET_LDFLAGS += \ -Wl,--as-needed,--gc-sections +define Build/InstallDev + $(call Build/InstallDev/cmake,$(1)) + $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/re2.pc + $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/re2.pc +endef + define Package/re2/install $(INSTALL_DIR) $(1)/usr/lib $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libre2.so $(1)/usr/lib/ From ac806e99212e43358816ccd733a5fdb7013ef234 Mon Sep 17 00:00:00 2001 From: Oliver Sedlbauer Date: Wed, 16 Aug 2023 17:24:56 +0200 Subject: [PATCH 32/63] modemmanager: Fix Permission Denied error The proto_send_update function is sending a notification to netifd during the teardown section. However, netifd filters link update notifications executed during teardown, as indicated here: https://git.openwrt.org/?p=project/netifd.git;a=blob;f=proto-shell.c#l515 This was leading to a Permission Denied error due to its behavior, making proto_send_update ineffective during teardown. To address the issue, the proto_send_update function has been removed from the teardown section. This prevents the Permission Denied error while ensuring proper operation during teardown. Additionally, in the 10-report-down helper script, a check has been implemented to determine if the interface is already down. This check is crucial to avoid triggering a Permission Denied error, especially in cases where netifd is already aware of a controlled ifdown operation. Signed-off-by: Oliver Sedlbauer --- net/modemmanager/Makefile | 2 +- net/modemmanager/files/10-report-down | 11 ++++++++--- net/modemmanager/files/modemmanager.proto | 13 ------------- 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/net/modemmanager/Makefile b/net/modemmanager/Makefile index 5017d3e25..5616cb676 100644 --- a/net/modemmanager/Makefile +++ b/net/modemmanager/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=modemmanager PKG_SOURCE_VERSION:=1.20.6 -PKG_RELEASE:=12 +PKG_RELEASE:=13 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git diff --git a/net/modemmanager/files/10-report-down b/net/modemmanager/files/10-report-down index a3e5fb4ba..88b010cf0 100755 --- a/net/modemmanager/files/10-report-down +++ b/net/modemmanager/files/10-report-down @@ -29,7 +29,12 @@ MODEM_DEVICE=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.device") CFG=$(mm_get_modem_config "${MODEM_DEVICE}") [ -n "${CFG}" ] || exit 3 -logger -t "modemmanager" "interface ${CFG} (network device ${INTERFACE}) ${STATE}" -proto_init_update $INTERFACE 0 -proto_send_update $CFG +IFUP=$(ifstatus "${CFG}" | jsonfilter -e "@.up") + +[ "${IFUP}" = "true" ] && { + logger -t "modemmanager" "interface ${CFG} (network device ${INTERFACE}) ${STATE}" + proto_init_update $INTERFACE 0 + proto_send_update $CFG +} + exit 0 diff --git a/net/modemmanager/files/modemmanager.proto b/net/modemmanager/files/modemmanager.proto index e97b768d0..a4d837c1e 100755 --- a/net/modemmanager/files/modemmanager.proto +++ b/net/modemmanager/files/modemmanager.proto @@ -323,15 +323,6 @@ modemmanager_connected_method_static_ipv6() { proto_send_update "${interface}" } -modemmanager_disconnected_method_common() { - local interface="$1" - - echo "running disconnection (common)" - - proto_init_update "*" 0 - proto_send_update "${interface}" -} - proto_modemmanager_init_config() { available=1 no_device=1 @@ -628,7 +619,6 @@ proto_modemmanager_teardown() { # disconnection handling only requires special treatment in IPv4/PPP [ "${bearermethod_ipv4}" = "ppp" ] && modemmanager_disconnected_method_ppp_ipv4 "${interface}" - modemmanager_disconnected_method_common "${interface}" # disconnect mmcli --modem="${device}" --simple-disconnect || @@ -640,9 +630,6 @@ proto_modemmanager_teardown() { # low power, only if requested [ "${lowpower:-0}" -lt 1 ] || mmcli --modem="${device}" --set-power-state-low - - proto_init_update "*" 0 - proto_send_update "$interface" } [ -n "$INCLUDE_ONLY" ] || { From b5bf5927f70231683262de36276ead1029f524e6 Mon Sep 17 00:00:00 2001 From: Alex Shumsky Date: Fri, 1 Sep 2023 20:51:40 +0300 Subject: [PATCH 33/63] collectd-mod-ipstatistics: fix handling of long `/proc` lines `/proc/net/netstat` `TcpExt:` line is 2064 chars long on linux 6.1 Signed-off-by: Alex Shumsky [PKG_RELEASE bump added] --- utils/collectd/Makefile | 2 +- utils/collectd/patches/932-add-ipstatistics.patch | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/utils/collectd/Makefile b/utils/collectd/Makefile index 5b7d88a48..875307c17 100644 --- a/utils/collectd/Makefile +++ b/utils/collectd/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=collectd PKG_VERSION:=5.12.0 -PKG_RELEASE:=47 +PKG_RELEASE:=48 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://collectd.org/files/ \ diff --git a/utils/collectd/patches/932-add-ipstatistics.patch b/utils/collectd/patches/932-add-ipstatistics.patch index e8dd6c5e0..a51a1cb28 100644 --- a/utils/collectd/patches/932-add-ipstatistics.patch +++ b/utils/collectd/patches/932-add-ipstatistics.patch @@ -41,7 +41,7 @@ + +int ipstatistics_read() { + FILE *fh; -+ char buffer[1024]; ++ char buffer[4096]; + char *fields[19]; + int numfields; + @@ -56,7 +56,7 @@ + return -1; + } + -+ while (fgets(buffer, 1024, fh) != NULL) { ++ while (fgets(buffer, 4096, fh) != NULL) { + numfields = strsplit(buffer, fields, 2); + + if (numfields < 2) @@ -80,7 +80,7 @@ + } + + int count_ipext = 0; -+ while (fgets(buffer, 1024, fh) != NULL) { ++ while (fgets(buffer, 4096, fh) != NULL) { + numfields = strsplit(buffer, fields, 19); + + if (numfields < 8) From ef4fa6709309dfe7a48389ab884cb173a506e287 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Fri, 1 Sep 2023 15:42:38 -0700 Subject: [PATCH 34/63] libre2: fix install Need the suffixed library too. Signed-off-by: Rosen Penev --- libs/libre2/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/libre2/Makefile b/libs/libre2/Makefile index 4599ae4a0..1868f146e 100644 --- a/libs/libre2/Makefile +++ b/libs/libre2/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=re2 PKG_VERSION:=2023-02-01 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/google/re2/tar.gz/$(PKG_VERSION)? @@ -46,7 +46,7 @@ endef define Package/re2/install $(INSTALL_DIR) $(1)/usr/lib - $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libre2.so $(1)/usr/lib/ + $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libre2.so* $(1)/usr/lib/ endef $(eval $(call BuildPackage,re2)) From f8082bebbe1a53115231cc5ce2f2863ce2881be2 Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Sat, 2 Sep 2023 08:39:39 +0800 Subject: [PATCH 35/63] v2raya: Update to 2.2.2 Signed-off-by: Tianling Shen --- net/v2raya/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/v2raya/Makefile b/net/v2raya/Makefile index f290183e8..9c512debd 100644 --- a/net/v2raya/Makefile +++ b/net/v2raya/Makefile @@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=v2rayA -PKG_VERSION:=2.2.1 +PKG_VERSION:=2.2.2 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/v2rayA/v2rayA/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=97ae3d41ddd649dd07cfecf2bbe06a513d71186ef2620ca44af12e7956be5650 +PKG_HASH:=fc32ac028efdd3cac0f482a765ee6e7383b4a8d9be7a343898e64235536cb235 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/service PKG_LICENSE:=AGPL-3.0-only @@ -59,7 +59,7 @@ define Download/v2raya-web URL:=https://github.com/v2rayA/v2rayA/releases/download/v$(PKG_VERSION)/ URL_FILE:=web.zip FILE:=$(WEB_FILE) - HASH:=b7769b287b6e2ecdf8823142d126bf9b981a8d3af4cb73c8f798ed483bcc988c + HASH:=24e5b61aedb6439f16264be55f50802e1198b87be2d456fc08c44945b67d736b endef define Build/Prepare From 1cd4324a0f4d1d9cd37753c04b3d37100638a775 Mon Sep 17 00:00:00 2001 From: Jianhui Zhao Date: Sat, 2 Sep 2023 11:37:34 +0800 Subject: [PATCH 36/63] lua-eco: update to 2.5.0 Signed-off-by: Jianhui Zhao --- lang/lua-eco/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/lua-eco/Makefile b/lang/lua-eco/Makefile index efcc87ca2..02e382137 100644 --- a/lang/lua-eco/Makefile +++ b/lang/lua-eco/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=lua-eco -PKG_VERSION:=2.4.0 +PKG_VERSION:=2.5.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL=https://github.com/zhaojh329/lua-eco/releases/download/v$(PKG_VERSION) -PKG_HASH:=7dd3ae8c9548ad9f0bfcc9a95e77c6f24ef868d3dd21983c5b940f738360ff9b +PKG_HASH:=d41668d137780f2655ebfec88276249bb9cd5c53f758c3e2103eb001ed9b5d02 PKG_MAINTAINER:=Jianhui Zhao PKG_LICENSE:=MIT From 26bf35bb4338caaefad3b1be4ee2c99d8e618618 Mon Sep 17 00:00:00 2001 From: Tiago Gaspar Date: Fri, 1 Sep 2023 18:46:15 +0100 Subject: [PATCH 37/63] jool: update package to version 4.1.10 Update jool to version 4.1.10 and remove a no longer needed patch. There was also a need to backport a patch to fix compile in some archs. Signed-off-by: Tiago Gaspar --- net/jool/Makefile | 8 +++--- ...000-include-csum_tcpudp_magic-header.patch | 26 +++++++++++++++++++ .../patches/001-libtool-reduce-version.patch | 21 --------------- ...0-fix-compilation-warning-simple-fix.patch | 6 ++--- 4 files changed, 33 insertions(+), 28 deletions(-) create mode 100644 net/jool/patches/000-include-csum_tcpudp_magic-header.patch delete mode 100644 net/jool/patches/001-libtool-reduce-version.patch diff --git a/net/jool/Makefile b/net/jool/Makefile index fbefb3949..6d5069d81 100644 --- a/net/jool/Makefile +++ b/net/jool/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=jool -PKG_VERSION:=4.1.8 +PKG_VERSION:=4.1.10 PKG_RELEASE:=1 PKG_LICENSE:=GPL-2.0-only @@ -16,8 +16,8 @@ PKG_LICENSE_FILES:=COPYING PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/NICMx/Jool.git -PKG_SOURCE_VERSION:=6822bdee4ec63467e82d723a3381b3116c1853d9 -PKG_MIRROR_HASH:=6ef000459858a87e206c903828f428d469c18221789cb65fec91a8d822b0178f +PKG_SOURCE_VERSION:=47334c9124b7a2e3253fb279e6c33acb9c2b09a6 +PKG_MIRROR_HASH:=ef34f68eb911c97016180ed09e852625a3c0fe49f7d7574382a03db75c23b60e PKG_BUILD_DIR=$(KERNEL_BUILD_DIR)/$(PKG_SOURCE_SUBDIR) PKG_BUILD_PARALLEL:=1 @@ -67,7 +67,7 @@ endef define Package/jool/Default SECTION:=net CATEGORY:=Network - URL:=https://www.jool.mx + URL:=https://nicmx.github.io/Jool/ endef define Package/jool/Default/description diff --git a/net/jool/patches/000-include-csum_tcpudp_magic-header.patch b/net/jool/patches/000-include-csum_tcpudp_magic-header.patch new file mode 100644 index 000000000..4d004b865 --- /dev/null +++ b/net/jool/patches/000-include-csum_tcpudp_magic-header.patch @@ -0,0 +1,26 @@ +From aa511f8856b4a437de005f23c6932948fffd8768 Mon Sep 17 00:00:00 2001 +From: Alberto Leiva Popper +Date: Sat, 1 Jul 2023 09:52:09 -0600 +Subject: [PATCH] Include csum_tcpudp_magic's header + +Fixes build in some kernels. +In fact, I'm not sure why I'm not getting the warning. It looks as +though I should. + +Thanks to Charles Hardin for this patch. + +Fixes #407. +--- + src/mod/common/rfc7915/6to4.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/src/mod/common/rfc7915/6to4.c ++++ b/src/mod/common/rfc7915/6to4.c +@@ -1,6 +1,7 @@ + #include "mod/common/rfc7915/6to4.h" + + #include ++#include + #include + #include + diff --git a/net/jool/patches/001-libtool-reduce-version.patch b/net/jool/patches/001-libtool-reduce-version.patch deleted file mode 100644 index 94f3e7586..000000000 --- a/net/jool/patches/001-libtool-reduce-version.patch +++ /dev/null @@ -1,21 +0,0 @@ -From: Tiago Gaspar -Date: Fri, 21 Jan 2022 13:39:30 +0000 -Subject: [PATCH] libtool: Reduce the required version - -Current Openwrt's libtool verion is 2.4.2, yet, jool had the requirement -set to 2.4.6 in source. -Change that to Openwrt's version. - -Signed-off-by: Tiago Gaspar - ---- a/configure.ac -+++ b/configure.ac -@@ -5,7 +5,7 @@ AC_PREREQ([2.68]) - AC_INIT([Jool], [4.1.8], [jool@nic.mx]) - AC_CONFIG_SRCDIR([src/common/xlat.h]) - AM_INIT_AUTOMAKE([subdir-objects]) --LT_PREREQ([2.4.6]) -+LT_PREREQ([2.4.2]) - - # Checks for programs. - AC_PROG_CC diff --git a/net/jool/patches/100-fix-compilation-warning-simple-fix.patch b/net/jool/patches/100-fix-compilation-warning-simple-fix.patch index b695d19bb..dccd70f09 100644 --- a/net/jool/patches/100-fix-compilation-warning-simple-fix.patch +++ b/net/jool/patches/100-fix-compilation-warning-simple-fix.patch @@ -1,6 +1,6 @@ --- a/src/mod/common/skbuff.c +++ b/src/mod/common/skbuff.c -@@ -109,9 +109,9 @@ static void print_skb_fields(struct sk_buff *skb, unsigned int tabs) +@@ -109,9 +109,9 @@ static void print_skb_fields(struct sk_b print(tabs, "network_header:%u", skb->network_header); print(tabs, "mac_header:%u", skb->mac_header); print(tabs, "head:%p", skb->head); @@ -15,7 +15,7 @@ static int truncated(unsigned int tabs) --- a/src/mod/common/xlator.c +++ b/src/mod/common/xlator.c -@@ -875,7 +875,7 @@ void xlator_put(struct xlator *jool) +@@ -889,7 +889,7 @@ void xlator_put(struct xlator *jool) static bool offset_equals(struct instance_entry_usr *offset, struct jool_instance *instance) { @@ -26,7 +26,7 @@ --- a/src/mod/common/nl/instance.c +++ b/src/mod/common/nl/instance.c -@@ -37,7 +37,7 @@ static int serialize_instance(struct xlator *entry, void *arg) +@@ -37,7 +37,7 @@ static int serialize_instance(struct xla if (!root) return 1; From 0feea716bd6a39ebccc94ef638881f5548709aaa Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Mon, 15 May 2023 13:54:50 +0200 Subject: [PATCH 38/63] dmx_usb_module: use upstream commit to fix compilation with kernel 6.2+ Recently, there was pushed patch, which fixed only part to get it working with Linux kernel 6.2+, but it was only local change and it did not use the changes, which are going to be included in the upcoming dmx_usb_module release. This commit use the commit from the upstream repository: https://github.com/lowlander/dmx_usb_module/commit/eeecf40c3eb3dbdf1981c508080ab3aa61e105e2 Fixes: e15d9f75dac2888b9d863c6f2d1c19637631c1fb ("dmx_usb_module: fix compilation warning") Signed-off-by: Josef Schlehofer --- ...0-fix-compilation-warning-wrong-cast.patch | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/libs/dmx_usb_module/patches/100-fix-compilation-warning-wrong-cast.patch b/libs/dmx_usb_module/patches/100-fix-compilation-warning-wrong-cast.patch index 413cb63ea..9d9767d1b 100644 --- a/libs/dmx_usb_module/patches/100-fix-compilation-warning-wrong-cast.patch +++ b/libs/dmx_usb_module/patches/100-fix-compilation-warning-wrong-cast.patch @@ -1,6 +1,23 @@ +From eeecf40c3eb3dbdf1981c508080ab3aa61e105e2 Mon Sep 17 00:00:00 2001 +From: Erwin Rol +Date: Fri, 13 Jan 2023 17:57:36 +0100 +Subject: [PATCH] Fix format warnings +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fix the following warning + +warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘size_t’ {aka ‘long unsigned int’} + +Signed-off-by: Erwin Rol +--- + dmx_usb.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + --- a/dmx_usb.c +++ b/dmx_usb.c -@@ -406,7 +406,7 @@ static ssize_t dmx_usb_write (struct file *file, const char *buffer, size_t coun +@@ -406,7 +406,7 @@ static ssize_t dmx_usb_write (struct fil dev = (struct dmx_usb_device *)file->private_data; @@ -9,3 +26,12 @@ /* lock this object */ down (&dev->sem); +@@ -500,7 +500,7 @@ static long dmx_usb_ioctl (struct file * + return -ENODEV; + } + +- dbg("%s - minor %d, cmd 0x%.4x, arg %ld", __FUNCTION__, ++ dbg("%s - minor %d, cmd 0x%.4x, arg %lu", __FUNCTION__, + dev->minor, cmd, arg); + + /* fill in your device specific stuff here */ From 1b2c1ddbb2a693aca87fae96beff3b1741951c90 Mon Sep 17 00:00:00 2001 From: Rui Salvaterra Date: Wed, 26 Jul 2023 23:32:34 +0100 Subject: [PATCH 39/63] tor: update to 0.4.8.4 stable First release of the 0.4.8.x series, see the changelog [1] for what's new. [1] https://gitlab.torproject.org/tpo/core/tor/-/raw/tor-0.4.8.4/ChangeLog Signed-off-by: Rui Salvaterra --- net/tor/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/tor/Makefile b/net/tor/Makefile index a8edb3227..756d2785c 100644 --- a/net/tor/Makefile +++ b/net/tor/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tor -PKG_VERSION:=0.4.7.13 +PKG_VERSION:=0.4.8.4 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://dist.torproject.org/ \ https://archive.torproject.org/tor-package-archive -PKG_HASH:=2079172cce034556f110048e26083ce9bea751f3154b0ad2809751815b11ea9d +PKG_HASH:=09c1ce74a25fc3b48c81ff146cbd0dd538cbbb8fe4e2964fc2fb2b192f6a1d2b PKG_MAINTAINER:=Hauke Mehrtens \ Peter Wagner PKG_LICENSE_FILES:=LICENSE From a5314681149259827c1eec074ae11fe6b7a80961 Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Sat, 2 Sep 2023 17:23:37 +0200 Subject: [PATCH 40/63] knot-resolver: update to version 5.7.0 Changelog: https://www.knot-resolver.cz/2023-01-26-knot-resolver-5.6.0.html https://www.knot-resolver.cz/2023-08-22-knot-resolver-5.7.0.html Signed-off-by: Josef Schlehofer --- net/knot-resolver/Makefile | 4 ++-- net/knot-resolver/patches/010-fix-lmdb.patch | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/net/knot-resolver/Makefile b/net/knot-resolver/Makefile index 31cb3654c..8732ff7f3 100644 --- a/net/knot-resolver/Makefile +++ b/net/knot-resolver/Makefile @@ -10,12 +10,12 @@ PKG_RELRO_FULL:=0 include $(TOPDIR)/rules.mk PKG_NAME:=knot-resolver -PKG_VERSION:=5.5.3 +PKG_VERSION:=5.7.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-resolver -PKG_HASH:=a38f57c68b7d237d662784d8406e6098aad66a148f44dcf498d1e9664c5fed2d +PKG_HASH:=383ef6db1cccabd2dd788ea9385f05e98a2bafdfeb7f0eda57ff9d572f4fad71 PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=GPL-3.0-later diff --git a/net/knot-resolver/patches/010-fix-lmdb.patch b/net/knot-resolver/patches/010-fix-lmdb.patch index 416822646..2b0f0c030 100644 --- a/net/knot-resolver/patches/010-fix-lmdb.patch +++ b/net/knot-resolver/patches/010-fix-lmdb.patch @@ -17,4 +17,4 @@ which is now not propagated in OpenWrt meson host package. +##endif gnutls = dependency('gnutls') luajit = dependency('luajit') - # NOTE avoid using link_args for luajit due to a macOS issue + message('------------------------------') From 635a702255e77b211c77e4a5bcd513abe6041721 Mon Sep 17 00:00:00 2001 From: Volker Christian Date: Fri, 1 Sep 2023 16:53:28 +0200 Subject: [PATCH 41/63] libucontext: Add package Description (from libucontext github page): libucontext (https://https://github.com/kaniini/libucontext) is a library which provides the ucontext.h C API. Unlike other implementations, it faithfully follows the kernel process ABI when doing context swaps. libucontext is used on almost all musl distributions to provide the legacy ucontext.h API. This package is meant as a development package. There is no need to install a package on the router if an application or library is linked against the static libraries. Though, shared libraries are provided also. It is used to link libraries/applications against it which need the system calls * makecontext * swapcontext * getcontext * setcontext E.g. the asynchronous API of libmariadb (c-connector) uses this system calls. Because libmusl didn't provide that system calls this synchronous API is currently (without libucontexe) not working - it segfaults. Co-developed-by: Tianling Shen Signed-off-by: Tianling Shen Signed-off-by: Volker Christian --- libs/libucontext/Makefile | 62 +++++++++ .../patches/010-return_values_fix.patch | 17 +++ .../patches/020-honor_return_values_fix.patch | 122 ++++++++++++++++++ 3 files changed, 201 insertions(+) create mode 100644 libs/libucontext/Makefile create mode 100644 libs/libucontext/patches/010-return_values_fix.patch create mode 100644 libs/libucontext/patches/020-honor_return_values_fix.patch diff --git a/libs/libucontext/Makefile b/libs/libucontext/Makefile new file mode 100644 index 000000000..fd3b0f562 --- /dev/null +++ b/libs/libucontext/Makefile @@ -0,0 +1,62 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=libucontext +PKG_VERSION:=1.2 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://codeload.github.com/kaniini/libucontext/tar.gz/v$(PKG_VERSION)? +PKG_HASH:=2657e087c493263e7bbbde152a5bc08ce22dc5a7970887ac4fd251b90b58401f + +PKG_MAINTAINER:=Volker Christian +PKG_LICENSE:=ISC +PKG_LICENSE_FILES:=LICENSE + +PKG_BUILD_FLAGS:=no-mips16 +PKG_BUILD_PARALLEL:=1 +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/meson.mk + +define Package/libucontext + SECTION:=libs + CATEGORY:=Libraries + TITLE:=libucontext is a library which provides the ucontext.h C API + URL:=https://github.com/kaniini/libucontext + DEPENDS:=@USE_MUSL +endef + +define Package/libucontext-tests + SECTION:=utils + CATEGORY:=Utilities + TITLE:=Test applications for libucontext + URL:=https://github.com/kaniini/libucontext + DEPENDS:=libucontext +endef + +define Package/libucontext/description + Thie package is a development package aimed to be linked to + libraries/applications which need the SYS-V ucontext API. +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/include/libucontext $(1)/usr/include/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libucontext* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libucontext.pc $(1)/usr/lib/pkgconfig/ +endef + +define Package/libucontext/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libucontext*.so.* $(1)/usr/lib/ +endef + +define Package/libucontext-tests/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(MESON_BUILD_DIR)/test_libucontext_posix $(1)/usr/bin/ + $(INSTALL_BIN) $(MESON_BUILD_DIR)/test_libucontext $(1)/usr/bin/ +endef + +$(eval $(call BuildPackage,libucontext)) +$(eval $(call BuildPackage,libucontext-tests)) diff --git a/libs/libucontext/patches/010-return_values_fix.patch b/libs/libucontext/patches/010-return_values_fix.patch new file mode 100644 index 000000000..43bc87d0c --- /dev/null +++ b/libs/libucontext/patches/010-return_values_fix.patch @@ -0,0 +1,17 @@ +--- a/arch/arm/swapcontext.S ++++ b/arch/arm/swapcontext.S +@@ -17,10 +17,12 @@ ALIAS(__swapcontext, libucontext_swapcon + + FUNC(libucontext_swapcontext) + /* copy all of the current registers into the ucontext structure */ +- add r2, r0, #REG_OFFSET(0) +- stmia r2, {r0-r12} + str r13, [r0,#REG_OFFSET(13)] + str r14, [r0,#REG_OFFSET(15)] ++ add r2, r0, #REG_OFFSET(0) ++ /* copy r0 with value 0 to indicate success (return value 0) */ ++ mov r0, #0 ++ stmia r2, {r0-r12} + + /* load new registers from the second ucontext structure */ + add r14, r1, #REG_OFFSET(0) diff --git a/libs/libucontext/patches/020-honor_return_values_fix.patch b/libs/libucontext/patches/020-honor_return_values_fix.patch new file mode 100644 index 000000000..4769dcdd7 --- /dev/null +++ b/libs/libucontext/patches/020-honor_return_values_fix.patch @@ -0,0 +1,122 @@ +--- a/test_libucontext.c ++++ b/test_libucontext.c +@@ -9,6 +9,9 @@ + #include + #include + ++#define handle_error(msg) \ ++ do { perror(msg); exit(EXIT_FAILURE); } while (0) ++ + static libucontext_ucontext_t ctx[3]; + + +@@ -36,7 +39,8 @@ static void f1 (int a, int b, int c, int + printf("looks like all arguments are passed correctly\n"); + + printf("swap back to f2\n"); +- libucontext_swapcontext(&ctx[1], &ctx[2]); ++ if (libucontext_swapcontext(&ctx[1], &ctx[2]) != 0) ++ handle_error("libucontext_swapcontext"); + printf("finish f1\n"); + } + +@@ -44,7 +48,8 @@ static void f1 (int a, int b, int c, int + static void f2 (void) { + printf("start f2\n"); + printf("swap to f1\n"); +- libucontext_swapcontext(&ctx[2], &ctx[1]); ++ if (libucontext_swapcontext(&ctx[2], &ctx[1]) != 0) ++ handle_error("libucontext_swapcontext"); + printf("finish f2, should swap to f1\n"); + } + +@@ -63,7 +68,8 @@ int main (int argc, const char *argv[]) + printf("setting up context 1\n"); + + +- libucontext_getcontext(&ctx[1]); ++ if (libucontext_getcontext(&ctx[1]) != 0) ++ handle_error("libucontext_getcontext"); + ctx[1].uc_stack.ss_sp = st1; + ctx[1].uc_stack.ss_size = sizeof st1; + ctx[1].uc_link = &ctx[0]; +@@ -83,16 +89,20 @@ int main (int argc, const char *argv[]) + printf("doing initial swapcontext\n"); + + +- libucontext_swapcontext(&ctx[0], &ctx[2]); ++ if (libucontext_swapcontext(&ctx[0], &ctx[2]) != 0) ++ handle_error("libucontext_swapcontext"); + + + printf("returned from initial swapcontext\n"); + + + /* test ability to use getcontext/setcontext without makecontext */ +- libucontext_getcontext(&ctx[1]); ++ if (libucontext_getcontext(&ctx[1]) != 0) ++ handle_error("libucontext_getcontext"); + printf("done = %d\n", done); +- if (done++ == 0) libucontext_setcontext(&ctx[1]); ++ if (done++ == 0) ++ if (libucontext_setcontext(&ctx[1]) != 0) ++ handle_error("libucontext_setcontext"); + if (done != 2) { + fprintf(stderr, "wrong value for done. got %d, expected 2\n", done); + abort(); +--- a/test_libucontext_posix.c ++++ b/test_libucontext_posix.c +@@ -9,6 +9,9 @@ + #include + #include + ++#define handle_error(msg) \ ++ do { perror(msg); exit(EXIT_FAILURE); } while (0) ++ + static ucontext_t ctx[3]; + + +@@ -36,7 +39,8 @@ static void f1 (int a, int b, int c, int + printf("looks like all arguments are passed correctly\n"); + + printf("swap back to f2\n"); +- swapcontext(&ctx[1], &ctx[2]); ++ if (swapcontext(&ctx[1], &ctx[2]) != 0) ++ handle_error("swapcontext"); + printf("finish f1\n"); + } + +@@ -44,7 +48,8 @@ static void f1 (int a, int b, int c, int + static void f2 (void) { + printf("start f2\n"); + printf("swap to f1\n"); +- swapcontext(&ctx[2], &ctx[1]); ++ if (swapcontext(&ctx[2], &ctx[1]) != 0) ++ handle_error("swapcontext"); + printf("finish f2, should swap to f1\n"); + } + +@@ -83,16 +88,19 @@ int main (int argc, const char *argv[]) + printf("doing initial swapcontext\n"); + + +- swapcontext(&ctx[0], &ctx[2]); +- ++ if (swapcontext(&ctx[0], &ctx[2]) != 0) ++ handle_error("swapcontext"); + + printf("returned from initial swapcontext\n"); + + + /* test ability to use getcontext/setcontext without makecontext */ +- getcontext(&ctx[1]); ++ if (getcontext(&ctx[1]) != 0) ++ handle_error("getcontext"); + printf("done = %d\n", done); +- if (done++ == 0) setcontext(&ctx[1]); ++ if (done++ == 0) ++ if (setcontext(&ctx[1]) != 0) ++ handle_error("setcontext"); + if (done != 2) { + fprintf(stderr, "wrong value for done. got %d, expected 2\n", done); + abort(); From 6c28f46f37d35dce06c320d9ac7f256c113aea22 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Sat, 2 Sep 2023 17:46:46 +0200 Subject: [PATCH 42/63] mhz: respect CC and CFLAGS passed by buildsystem It seems that the Makefile has both CC and CFLAGS hardcoded and does not allow overriding them by ones being passed by the buildsystem. This works fine until CONFIG_PKG_ASLR_PIE_ALL is selected, then building will fail with: arm-openwrt-linux-muslgnueabi/bin/ld.bfd: mhz.o: relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC arm-openwrt-linux-muslgnueabi/bin/ld.bfd: mhz.o(.text+0x75c): unresolvable R_ARM_CALL relocation against symbol `__aeabi_l2d@@GCC_3.5 So, lets add a patch pending upstream that allows both CC and CFLAGS to be overriden so that ones passed by the buildsystem are actually respected. Fixes: 89123b308f98 ("mhz: add new package") Signed-off-by: Robert Marko --- utils/mhz/Makefile | 2 +- ...efile-allow-overriding-CC-and-CFLAGS.patch | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 utils/mhz/patches/0001-Makefile-allow-overriding-CC-and-CFLAGS.patch diff --git a/utils/mhz/Makefile b/utils/mhz/Makefile index fa8108917..ac874a068 100644 --- a/utils/mhz/Makefile +++ b/utils/mhz/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mhz -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=https://github.com/wtarreau/mhz.git diff --git a/utils/mhz/patches/0001-Makefile-allow-overriding-CC-and-CFLAGS.patch b/utils/mhz/patches/0001-Makefile-allow-overriding-CC-and-CFLAGS.patch new file mode 100644 index 000000000..569bc998b --- /dev/null +++ b/utils/mhz/patches/0001-Makefile-allow-overriding-CC-and-CFLAGS.patch @@ -0,0 +1,29 @@ +From d55f7b578eb2126d2e4a7f045321f6ba7df3800a Mon Sep 17 00:00:00 2001 +From: Robert Marko +Date: Wed, 30 Aug 2023 20:31:07 +0200 +Subject: [PATCH] Makefile: allow overriding CC and CFLAGS + +For OpenWrt and Buildroot which support really large amount of different +architectures and cores it is sometimes required to pass our own CFLAGS. +This is especially true if hardening options are to be respected. + +Also, for cross-compiling CC should be respected as currently it is +working since both OpenWrt and Buildroot symlink gcc to the cross compiler. + +So, lets set the current values as defaults but allow them to be overriden. + +Signed-off-by: Robert Marko +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/Makefile ++++ b/Makefile +@@ -1,5 +1,5 @@ +-CC := gcc +-CFLAGS := -O3 -Wall -fomit-frame-pointer ++CC ?= gcc ++CFLAGS ?= -O3 -Wall -fomit-frame-pointer + + all: mhz + From 922057212964049ac837924e448369f7a718f2d5 Mon Sep 17 00:00:00 2001 From: John Audia Date: Tue, 29 Aug 2023 14:21:58 -0400 Subject: [PATCH 43/63] snort3: update to 3.1.69.0 Upstream bump Build system: x86/64 Build-tested: x86/64/AMD Cezanne Run-tested: x86/64/AMD Cezanne Signed-off-by: John Audia --- net/snort3/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/snort3/Makefile b/net/snort3/Makefile index acfdc1e17..59492862c 100644 --- a/net/snort3/Makefile +++ b/net/snort3/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=snort3 -PKG_VERSION:=3.1.67.0 +PKG_VERSION:=3.1.69.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/snort3/snort3/archive/refs/tags/ -PKG_HASH:=fed8ea7cf00d69c10e5750a6507392730552594f4f4a0dd5d1bf259a691b9a54 +PKG_HASH:=97083cd33a6ba33bdaa133bf19138a3f6a24ce93b2a9e285dcbd89858534cb72 PKG_MAINTAINER:=W. Michael Petullo PKG_LICENSE:=GPL-2.0-only From ac1c95d1894430c7e78fb5f57c08ee9b7e5617ef Mon Sep 17 00:00:00 2001 From: Quintin Hill Date: Wed, 30 Aug 2023 22:57:35 +0100 Subject: [PATCH 44/63] python-dbus-fast: update to 1.94.1 Signed-off-by: Quintin Hill --- lang/python/python-dbus-fast/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/python/python-dbus-fast/Makefile b/lang/python/python-dbus-fast/Makefile index 055e9ef21..0e3619c59 100644 --- a/lang/python/python-dbus-fast/Makefile +++ b/lang/python/python-dbus-fast/Makefile @@ -7,12 +7,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-dbus-fast -PKG_VERSION:=1.93.0 +PKG_VERSION:=1.94.1 PKG_RELEASE:=1 PYPI_NAME:=dbus-fast PYPI_SOURCE_NAME:=dbus_fast -PKG_HASH:=4a86346d2fd26b589cf8f98a5467ecb363fce3b8b0d9cef3b5127c9408129428 +PKG_HASH:=9514e4abf586c656fb70cf9dab323a019131a032765997972045059717b7537c PKG_MAINTAINER:=Quintin Hill PKG_LICENSE:=MIT From 71c04c46ee16db53d2d88fe28194c7823b59cfb1 Mon Sep 17 00:00:00 2001 From: Quintin Hill Date: Wed, 30 Aug 2023 22:58:12 +0100 Subject: [PATCH 45/63] python-ble2mqtt: update to 0.2.0 Signed-off-by: Quintin Hill --- lang/python/python-ble2mqtt/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/python/python-ble2mqtt/Makefile b/lang/python/python-ble2mqtt/Makefile index 9ee591d60..65abc231c 100644 --- a/lang/python/python-ble2mqtt/Makefile +++ b/lang/python/python-ble2mqtt/Makefile @@ -7,11 +7,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-ble2mqtt -PKG_VERSION:=0.1.9 +PKG_VERSION:=0.2.0 PKG_RELEASE:=1 PYPI_NAME:=ble2mqtt -PKG_HASH:=4b7c9ea747d04687a7e57d47a7d847870e4d9f474967906e9e1e06b7bce5a5b9 +PKG_HASH:=cd45b5fb382a71d441470899e01be50482d26e2d86e3012e1f5a9ab633248383 PKG_MAINTAINER:=Quintin Hill PKG_LICENSE:=MIT From 5a26feb44b38751a0d0a8db19738f673fcf8bee6 Mon Sep 17 00:00:00 2001 From: Javier Marcet Date: Thu, 31 Aug 2023 15:28:01 +0200 Subject: [PATCH 46/63] docker-compose: Update to version 2.21.0 Signed-off-by: Javier Marcet --- utils/docker-compose/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/docker-compose/Makefile b/utils/docker-compose/Makefile index e4f5fe0d4..139148a8c 100644 --- a/utils/docker-compose/Makefile +++ b/utils/docker-compose/Makefile @@ -1,14 +1,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=compose -PKG_VERSION:=2.20.3 +PKG_VERSION:=2.21.0 PKG_RELEASE:=1 PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE PKG_SOURCE:=v$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/docker/compose/tar.gz/v${PKG_VERSION}? -PKG_HASH:=af8025623de3991a15a89575ae4fc4f3f38a17311af9641815500c01f0775950 +PKG_HASH:=0014b23382a50c90f91849e491500568366052882e22011822ca2d8a3b2976f2 PKG_MAINTAINER:=Javier Marcet From 49ea9e04122cf4bfc177a257023a585aa5f0aca0 Mon Sep 17 00:00:00 2001 From: Javier Marcet Date: Thu, 31 Aug 2023 15:32:10 +0200 Subject: [PATCH 47/63] python-websocket-client: update to 1.6.2 - Add support for SSLKEYLOGFILE environment variable - Add support for callable header arguments - Change handling of proxy environment variables, is_secure set to true now prevents http_proxy from getting used Signed-off-by: Javier Marcet --- lang/python/python-websocket-client/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/python/python-websocket-client/Makefile b/lang/python/python-websocket-client/Makefile index f84bd1844..3044b2eb5 100644 --- a/lang/python/python-websocket-client/Makefile +++ b/lang/python/python-websocket-client/Makefile @@ -1,11 +1,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-websocket-client -PKG_VERSION:=1.6.1 +PKG_VERSION:=1.6.2 PKG_RELEASE:=1 PYPI_NAME:=websocket-client -PKG_HASH:=c951af98631d24f8df89ab1019fc365f2227c0892f12fd150e935607c79dd0dd +PKG_HASH:=53e95c826bf800c4c465f50093a8c4ff091c7327023b10bfaff40cf1ef170eaa PKG_MAINTAINER:=Javier Marcet PKG_LICENSE:=Apache-2.0 From 9a2c5ae18c5a4bce20d1a8c572d1261b191701dc Mon Sep 17 00:00:00 2001 From: Stan Grishin Date: Sun, 3 Sep 2023 20:33:17 +0000 Subject: [PATCH 48/63] https-dns-proxy: fix dns resolution not working on boot * fix dns resolution not working on boot * add hotplug-online script * reorganizes files/ and Makefile to reflect files destinations Signed-off-by: Stan Grishin --- net/https-dns-proxy/Makefile | 17 ++++----- .../config/https-dns-proxy} | 0 .../etc/hotplug.d/online/30-https-dns-proxy | 2 ++ .../init.d/https-dns-proxy} | 36 ++++++++++++------- .../50-https-dns-proxy-migrate-options.sh} | 0 .../files/https-dns-proxy.hotplug.iface | 6 ---- 6 files changed, 35 insertions(+), 26 deletions(-) rename net/https-dns-proxy/files/{https-dns-proxy.config => etc/config/https-dns-proxy} (100%) create mode 100644 net/https-dns-proxy/files/etc/hotplug.d/online/30-https-dns-proxy rename net/https-dns-proxy/files/{https-dns-proxy.init => etc/init.d/https-dns-proxy} (92%) rename net/https-dns-proxy/files/{https-dns-proxy.defaults => etc/uci-defaults/50-https-dns-proxy-migrate-options.sh} (100%) delete mode 100644 net/https-dns-proxy/files/https-dns-proxy.hotplug.iface diff --git a/net/https-dns-proxy/Makefile b/net/https-dns-proxy/Makefile index ddc43a892..3319cbfe5 100644 --- a/net/https-dns-proxy/Makefile +++ b/net/https-dns-proxy/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=https-dns-proxy PKG_VERSION:=2023-05-25 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy/ @@ -39,15 +39,16 @@ endef define Package/https-dns-proxy/install $(INSTALL_DIR) $(1)/usr/sbin - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_DIR) $(1)/etc/config - $(INSTALL_DIR) $(1)/etc/hotplug.d/iface - $(INSTALL_DIR) $(1)/etc/uci-defaults/ $(INSTALL_BIN) $(PKG_BUILD_DIR)/https_dns_proxy $(1)/usr/sbin/https-dns-proxy - $(INSTALL_BIN) ./files/https-dns-proxy.init $(1)/etc/init.d/https-dns-proxy + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/etc/init.d/https-dns-proxy $(1)/etc/init.d/https-dns-proxy $(SED) "s|^\(readonly PKG_VERSION\).*|\1='$(PKG_VERSION)-$(PKG_RELEASE)'|" $(1)/etc/init.d/https-dns-proxy - $(INSTALL_CONF) ./files/https-dns-proxy.config $(1)/etc/config/https-dns-proxy - $(INSTALL_BIN) ./files/https-dns-proxy.defaults $(1)/etc/uci-defaults/50-https-dns-proxy-migrate-options.sh + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_CONF) ./files/etc/config/https-dns-proxy $(1)/etc/config/https-dns-proxy + $(INSTALL_DIR) $(1)/etc/hotplug.d/online + $(INSTALL_DATA) ./files/etc/hotplug.d/online/30-https-dns-proxy $(1)/etc/hotplug.d/online/30-https-dns-proxy + $(INSTALL_DIR) $(1)/etc/uci-defaults/ + $(INSTALL_BIN) ./files/etc/uci-defaults/50-https-dns-proxy-migrate-options.sh $(1)/etc/uci-defaults/50-https-dns-proxy-migrate-options.sh endef $(eval $(call BuildPackage,https-dns-proxy)) diff --git a/net/https-dns-proxy/files/https-dns-proxy.config b/net/https-dns-proxy/files/etc/config/https-dns-proxy similarity index 100% rename from net/https-dns-proxy/files/https-dns-proxy.config rename to net/https-dns-proxy/files/etc/config/https-dns-proxy diff --git a/net/https-dns-proxy/files/etc/hotplug.d/online/30-https-dns-proxy b/net/https-dns-proxy/files/etc/hotplug.d/online/30-https-dns-proxy new file mode 100644 index 000000000..0ff3ca28f --- /dev/null +++ b/net/https-dns-proxy/files/etc/hotplug.d/online/30-https-dns-proxy @@ -0,0 +1,2 @@ +#!/bin/sh +/etc/init.d/https-dns-proxy start 'on_hotplug' diff --git a/net/https-dns-proxy/files/https-dns-proxy.init b/net/https-dns-proxy/files/etc/init.d/https-dns-proxy similarity index 92% rename from net/https-dns-proxy/files/https-dns-proxy.init rename to net/https-dns-proxy/files/etc/init.d/https-dns-proxy index e403686a6..6529bf3e3 100755 --- a/net/https-dns-proxy/files/https-dns-proxy.init +++ b/net/https-dns-proxy/files/etc/init.d/https-dns-proxy @@ -1,9 +1,9 @@ #!/bin/sh /etc/rc.common -# Copyright 2019-2022 Stan Grishin (stangri@melmac.ca) +# Copyright 2019-2023 Stan Grishin (stangri@melmac.ca) # shellcheck disable=SC1091,SC3043,SC3060 # shellcheck disable=SC2034 -START=95 +START=90 # shellcheck disable=SC2034 USE_PROCD=1 @@ -71,7 +71,7 @@ dnsmasq_restart() { [ -x /etc/init.d/dnsmasq ] || return 1; /etc/init.d/dnsmasq version() { echo "$PKG_VERSION"; } -xappend() { param="$param $1"; } +xappend() { PROG_param="$PROG_param $1"; } append_bool() { local section="$1" @@ -127,13 +127,18 @@ append_bootstrap() { [ "$ipv6_resolvers_only" -eq 0 ] && xappend '-4' } +resolver_health_check() { resolveip -t 3 one.one.one.one >/dev/null 2>&1; } + boot() { ubus -t 30 wait_for network.interface 2>/dev/null rc_procd start_service 'on_boot' + resolver_health_check || rc_procd stop_service 'on_boot' } start_instance() { - local cfg="$1" param listen_addr listen_port ipv6_resolvers_only p url iface + local cfg="$1" param="$2" + local PROG_param + local listen_addr listen_port ipv6_resolvers_only p url iface config_get url "$cfg" 'resolver_url' config_get_bool ipv6_resolvers_only "$cfg" 'use_ipv6_resolvers_only' '0' @@ -153,7 +158,7 @@ start_instance() { procd_open_instance # shellcheck disable=SC2086 - procd_set_param command $PROG $param + procd_set_param command $PROG $PROG_param procd_set_param stderr 1 procd_set_param stdout 1 procd_set_param respawn @@ -161,7 +166,6 @@ start_instance() { json_add_object mdns procd_add_mdns_service "$packageName" 'udp' "$port" "DNS over HTTPS proxy" json_close_object - json_add_string url "$url" if [ "$force_dns" -ne 0 ]; then json_add_array firewall for iface in $procd_fw_src_interfaces; do @@ -218,12 +222,13 @@ start_instance() { } start_service() { + local param="$1" local canaryDomains canary_domains_icloud canary_domains_mozilla local dnsmasq_config_update force_dns force_dns_port local procd_fw_src_interfaces local port=5053 - output "Starting $serviceName instances " + output "Starting $serviceName instances ${param:+$param }" config_load "$packageName" config_get_bool canary_domains_icloud 'config' 'canary_domains_icloud' '1' config_get_bool canary_domains_mozilla 'config' 'canary_domains_mozilla' '1' @@ -239,7 +244,7 @@ start_service() { fi dhcp_backup 'create' config_load "$packageName" - config_foreach start_instance "$packageName" + config_foreach start_instance "$packageName" "$param" output "\\n" if [ -n "$(uci_changes dhcp)" ]; then output "Updating dnsmasq config " @@ -248,6 +253,10 @@ start_service() { else output_failn fi + param='dnsmasq_restart' + fi + if [ "$param" = 'on_hotplug' ] || [ "$param" = 'on_boot' ] || \ + [ "$param" = 'dnsmasq_restart' ] ; then output "Restarting dnsmasq " if dnsmasq_restart; then output_okn @@ -258,10 +267,11 @@ start_service() { } stop_service() { + local param="$1" local canaryDomains canary_domains_icloud canary_domains_mozilla local dnsmasq_config_update local s=0 - output "Stopping $serviceName " + output "Stopping $serviceName ${param:+$param }" config_load "$packageName" config_get dnsmasq_config_update 'config' 'dnsmasq_config_update' '*' config_get_bool canary_domains_icloud 'config' 'canary_domains_icloud' '1' @@ -278,7 +288,7 @@ stop_service() { dnsmasq_restart || s=1 fi # shellcheck disable=SC2015 - [ "$s" -eq 0 ] && output_okn || output_failn + [ "$s" = '0' ] && output_okn || output_failn } # shellcheck disable=SC1091 @@ -319,14 +329,16 @@ dnsmasq_doh_server() { ::) address='::1';; esac uci_add_list_if_new 'dhcp' "$cfg" 'server' "${address}#${port}" + uci_add_list_if_new 'dhcp' "$cfg" 'doh_server' "${address}#${port}" ;; remove) - eval "$(ubus call service list "{ 'verbose': true, 'name': '$packageName' }" | jsonfilter -F '# ' -e 'TUPLES=@[*].instances[*].command[4,6]')" - for i in $TUPLES; do + for i in $(uci -q get "dhcp.$cfg.doh_server"); do uci_remove_list 'dhcp' "$cfg" 'server' "$i" + uci_remove_list 'dhcp' "$cfg" 'doh_server' "$i" done for i in $canaryDomains; do uci_remove_list 'dhcp' "$cfg" 'server' "/${i}/" + uci_remove_list 'dhcp' "$cfg" 'doh_server' "/${i}/" done ;; esac diff --git a/net/https-dns-proxy/files/https-dns-proxy.defaults b/net/https-dns-proxy/files/etc/uci-defaults/50-https-dns-proxy-migrate-options.sh similarity index 100% rename from net/https-dns-proxy/files/https-dns-proxy.defaults rename to net/https-dns-proxy/files/etc/uci-defaults/50-https-dns-proxy-migrate-options.sh diff --git a/net/https-dns-proxy/files/https-dns-proxy.hotplug.iface b/net/https-dns-proxy/files/https-dns-proxy.hotplug.iface deleted file mode 100644 index c25b9e26d..000000000 --- a/net/https-dns-proxy/files/https-dns-proxy.hotplug.iface +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -if [ "$ACTION" = 'ifup' ] && [ "$INTERFACE" = 'wan' ] && /etc/init.d/https-dns-proxy enabled; then - logger -t "https-dns-proxy" "Restarting https-dns-proxy due to $ACTION of $INTERFACE" - /etc/init.d/https-dns-proxy restart -fi From 99d8554bcd1a16e2276ffb706c3f1e823ece65f3 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Tue, 29 Aug 2023 11:41:21 +0800 Subject: [PATCH 49/63] python-ubus: Update to 0.1.2 Signed-off-by: Jeffery To --- lang/python/python-ubus/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lang/python/python-ubus/Makefile b/lang/python/python-ubus/Makefile index 0e96da20c..794714610 100644 --- a/lang/python/python-ubus/Makefile +++ b/lang/python/python-ubus/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-ubus -PKG_VERSION:=0.1.1 -PKG_RELEASE:=2 +PKG_VERSION:=0.1.2 +PKG_RELEASE:=1 PYPI_NAME:=ubus -PKG_HASH:=7e57bda989bc35b48c7075d03ec2818226e722bbf1bde138d7e7ea26d462682a +PKG_HASH:=4dc4ef0fbcc8abb7a2354691475a58ff3eb015f1bab3150750729f7f657dd440 PKG_MAINTAINER:=Erik Larsson PKG_LICENSE:=LGPL-2.1-or-later @@ -28,7 +28,7 @@ define Package/python3-ubus SUBMENU:=Python SECTION:=lang CATEGORY:=Languages - TITLE:=Python3 ubus + TITLE:=libubus bindings URL:=https://gitlab.nic.cz/turris/python-ubus/ DEPENDS:=+libubus +libblobmsg-json +python3-light endef From 1b2811920a5c6b02963a449bed51fb7b92d01fcc Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Tue, 29 Aug 2023 11:46:35 +0800 Subject: [PATCH 50/63] python-urllib3: Update to 2.0.4 The package changed to the hatchling build backend. Signed-off-by: Jeffery To --- lang/python/python-urllib3/Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lang/python/python-urllib3/Makefile b/lang/python/python-urllib3/Makefile index 8812c0e43..a31cc8ffb 100644 --- a/lang/python/python-urllib3/Makefile +++ b/lang/python/python-urllib3/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-urllib3 -PKG_VERSION:=1.25.11 +PKG_VERSION:=2.0.4 PKG_RELEASE:=1 PKG_MAINTAINER:=Josef Schlehofer @@ -17,7 +17,9 @@ PKG_LICENSE_FILES:=LICENSE.txt PKG_CPE_ID:=cpe:/a:urllib3_project:urllib3 PYPI_NAME:=urllib3 -PKG_HASH:=8d7eaa5a82a1cac232164990f04874c594c9453ec55eef02eab885aa02fc17a2 +PKG_HASH:=8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11 + +PKG_BUILD_DEPENDS:=python-hatchling/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk From 6c7a53bd7da4d8eeb49429f0321bfa0ce59a311c Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Tue, 29 Aug 2023 11:55:38 +0800 Subject: [PATCH 51/63] python-voluptuous: Update to 0.13.1, update list of dependencies Signed-off-by: Jeffery To --- lang/python/python-voluptuous/Makefile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lang/python/python-voluptuous/Makefile b/lang/python/python-voluptuous/Makefile index c5f04a2a5..75e58e6a5 100644 --- a/lang/python/python-voluptuous/Makefile +++ b/lang/python/python-voluptuous/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-voluptuous -PKG_VERSION:=0.12.1 +PKG_VERSION:=0.13.1 PKG_RELEASE:=1 PYPI_NAME:=voluptuous -PKG_HASH:=663572419281ddfaf4b4197fd4942d181630120fb39b333e3adad70aeb56444b +PKG_HASH:=e8d31c20601d6773cb14d4c0f42aee29c6821bbd1018039aac7ac5605b489723 PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=COPYING @@ -28,12 +28,12 @@ define Package/python3-voluptuous SUBMENU:=Python TITLE:=Data validation library URL:=https://github.com/alecthomas/voluptuous - DEPENDS:= \ - +python3-light + DEPENDS:=+python3-light +python3-decimal +python3-urllib endef define Package/python3-voluptuous/description -It is primarily intended for validating data coming into Python as JSON, YAML, etc. +It is primarily intended for validating data coming into Python as JSON, +YAML, etc. endef $(eval $(call Py3Package,python3-voluptuous)) From 92d49899e448efb1e362568184a5dab82c171542 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Tue, 29 Aug 2023 12:02:25 +0800 Subject: [PATCH 52/63] python-voluptuous-serialize: Update to 2.6.0 Signed-off-by: Jeffery To --- lang/python/python-voluptuous-serialize/Makefile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lang/python/python-voluptuous-serialize/Makefile b/lang/python/python-voluptuous-serialize/Makefile index 3865dfe3c..07f9dff0b 100644 --- a/lang/python/python-voluptuous-serialize/Makefile +++ b/lang/python/python-voluptuous-serialize/Makefile @@ -7,16 +7,16 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=voluptuous-serialize -PKG_VERSION:=2.5.0 +PKG_NAME:=python-voluptuous-serialize +PKG_VERSION:=2.6.0 PKG_RELEASE:=1 -PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=5359f2e0a4f972ae03066e0777b4f0755c9226b2af099ca4fc55432efd1a447b +PYPI_NAME:=voluptuous-serialize +PKG_HASH:=79acdc58239582a393144402d827fa8efd6df0f5350cdc606d9242f6f9bca7c4 PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=Apache-2.0 -PKG_LICENSE_FILES:=COPYING +PKG_LICENSE_FILES:=LICENSE include ../pypi.mk include $(INCLUDE_DIR)/package.mk From 3684df0dc356a9c5b1e7c51cc43e203c7254c8e5 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Tue, 29 Aug 2023 12:06:09 +0800 Subject: [PATCH 53/63] python-wcwidth: Update to 0.2.6 Signed-off-by: Jeffery To --- lang/python/python-wcwidth/Makefile | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lang/python/python-wcwidth/Makefile b/lang/python/python-wcwidth/Makefile index 6ded8e065..03af3f5f8 100644 --- a/lang/python/python-wcwidth/Makefile +++ b/lang/python/python-wcwidth/Makefile @@ -9,15 +9,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-wcwidth -PKG_VERSION:=0.2.5 +PKG_VERSION:=0.2.6 PKG_RELEASE:=1 PYPI_NAME:=wcwidth -PKG_HASH:=c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83 +PKG_HASH:=a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0 PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=MIT -PKG_LICENSE_FILES:=LICENSE.txt +PKG_LICENSE_FILES:=LICENSE include ../pypi.mk include $(INCLUDE_DIR)/package.mk @@ -33,7 +33,8 @@ define Package/python3-wcwidth endef define Package/python3-wcwidth/description - Python library that measures the width of unicode strings rendered to a terminal +Python library that measures the width of unicode strings rendered to a +terminal endef $(eval $(call Py3Package,python3-wcwidth)) From 98453732e2b7f74234776445844609f3b4dc70d0 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Tue, 29 Aug 2023 12:10:08 +0800 Subject: [PATCH 54/63] python-websockets: Update to 11.0.3, update list of dependencies Signed-off-by: Jeffery To --- lang/python/python-websockets/Makefile | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lang/python/python-websockets/Makefile b/lang/python/python-websockets/Makefile index 737ea39f4..fac0d741b 100644 --- a/lang/python/python-websockets/Makefile +++ b/lang/python/python-websockets/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-websockets -PKG_VERSION:=10.3 +PKG_VERSION:=11.0.3 PKG_RELEASE:=1 PYPI_NAME:=websockets -PKG_HASH:=fc06cc8073c8e87072138ba1e431300e2d408f054b27047d047b549455066ff4 +PKG_HASH:=88fc51d9a26b10fc331be344f1781224a375b78488fc343620184e95a4b27016 PKG_MAINTAINER:=Michal Vasilek PKG_LICENSE:=BSD-3-Clause @@ -26,18 +26,18 @@ define Package/python3-websockets SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=Library for developing WebSocket servers and clients - URL:=https://websockets.readthedocs.io/ - DEPENDS:=+python3-light +python3-asyncio +python3-ctypes +python3-email \ - +python3-logging +python3-urllib + TITLE:=Implementation of the WebSocket Protocol + URL:=https://github.com/aaugustin/websockets + DEPENDS:=+python3 endef define Package/python3-websockets/description - websockets is a library for building WebSocket servers and clients - in Python with a focus on correctness and simplicity. +websockets is a library for building WebSocket servers and clients in +Python with a focus on correctness, simplicity, robustness, and +performance. - Built on top of asyncio, Python’s standard asynchronous I/O framework. - It provides an elegant coroutine-based API. +Built on top of asyncio, Python's standard asynchronous I/O framework, +the default implementation provides an elegant coroutine-based API. endef $(eval $(call Py3Package,python3-websockets)) From 1e1b2051db47a82513f4eb4e9da892207785b7e2 Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Mon, 4 Sep 2023 11:00:32 +0200 Subject: [PATCH 55/63] treewide: change my no longer used email Since February 2023, I decided to no longer work with Turris, I mean CZ.NIC company due to some reasons how the development goes and since that day my work address is not available and not sure if there is some redirect to someone else, but if anyone wants to reach me, use my email address, where they can find me. Signed-off-by: Josef Schlehofer --- admin/syslog-ng/Makefile | 2 +- lang/python/python-astral/Makefile | 2 +- lang/python/python-awesomeversion/Makefile | 2 +- lang/python/python-babel/Makefile | 2 +- lang/python/python-cachetools/Makefile | 2 +- lang/python/python-flask-babel/Makefile | 2 +- lang/python/python-flask-seasurf/Makefile | 2 +- lang/python/python-flask-session/Makefile | 2 +- lang/python/python-markdown/Makefile | 2 +- lang/python/python-paho-mqtt/Makefile | 2 +- lang/python/python-pyotp/Makefile | 2 +- lang/python/python-pyrsistent/Makefile | 2 +- lang/python/python-requests/Makefile | 2 +- lang/python/python-schedule/Makefile | 2 +- lang/python/python-sentry-sdk/Makefile | 2 +- lang/python/python-slugify/Makefile | 2 +- lang/python/python-sqlalchemy/Makefile | 2 +- lang/python/python-tornado/Makefile | 2 +- lang/python/python-uci/Makefile | 2 +- lang/python/python-unidecode/Makefile | 2 +- lang/python/python-voluptuous-serialize/Makefile | 2 +- lang/python/python-voluptuous/Makefile | 2 +- lang/python/python-yaml/Makefile | 2 +- lang/python/python3-bottle/Makefile | 2 +- lang/python/ruamel-yaml/Makefile | 2 +- lang/python/text-unidecode/Makefile | 2 +- net/dnscrypt-proxy2/Makefile | 2 +- utils/reptyr/Makefile | 2 +- utils/sshpass/Makefile | 2 +- 29 files changed, 29 insertions(+), 29 deletions(-) diff --git a/admin/syslog-ng/Makefile b/admin/syslog-ng/Makefile index 2f2cdc663..a6edb205e 100644 --- a/admin/syslog-ng/Makefile +++ b/admin/syslog-ng/Makefile @@ -4,7 +4,7 @@ PKG_NAME:=syslog-ng PKG_VERSION:=4.2.0 PKG_RELEASE:=1 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=LGPL-2.1-or-later GPL-2.0-or-later PKG_LICENSE_FILES:=COPYING LGPL.txt GPL.txt PKG_CPE_ID:=cpe:/a:balabit:syslog-ng diff --git a/lang/python/python-astral/Makefile b/lang/python/python-astral/Makefile index 9d24576cc..cbabdea89 100644 --- a/lang/python/python-astral/Makefile +++ b/lang/python/python-astral/Makefile @@ -16,7 +16,7 @@ PKG_HASH:=9b7c3b412e9e69d172cfb24be0e6addcc9f1bd01a28db8bebe66d75ccc533d88 PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_BUILD_DEPENDS:=python-poetry-core/host diff --git a/lang/python/python-awesomeversion/Makefile b/lang/python/python-awesomeversion/Makefile index ef60418e4..8b09ce6fa 100644 --- a/lang/python/python-awesomeversion/Makefile +++ b/lang/python/python-awesomeversion/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=awesomeversion PKG_HASH:=a505558316010d2d10d487226f79c1157204af00fa462fdcf948e347011dd491 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENCE.md diff --git a/lang/python/python-babel/Makefile b/lang/python/python-babel/Makefile index 084ee491d..8968abb75 100644 --- a/lang/python/python-babel/Makefile +++ b/lang/python/python-babel/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=Babel PKG_HASH:=cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-cachetools/Makefile b/lang/python/python-cachetools/Makefile index 62bd760cf..fbe2dff94 100644 --- a/lang/python/python-cachetools/Makefile +++ b/lang/python/python-cachetools/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=cachetools PKG_HASH:=dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-flask-babel/Makefile b/lang/python/python-flask-babel/Makefile index f381cfcfa..c23fb4764 100644 --- a/lang/python/python-flask-babel/Makefile +++ b/lang/python/python-flask-babel/Makefile @@ -15,7 +15,7 @@ PYPI_NAME:=flask-babel PYPI_SOURCE_NAME:=flask_babel PKG_HASH:=be015772c5d7f046f3b99c508dcf618636eb93d21b713b356db79f3e79f69f39 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-flask-seasurf/Makefile b/lang/python/python-flask-seasurf/Makefile index dd10c8e0d..245182693 100644 --- a/lang/python/python-flask-seasurf/Makefile +++ b/lang/python/python-flask-seasurf/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=Flask-SeaSurf PKG_HASH:=54537008c769ac0ada8237877327c3e7ed74dcd8b01e74a9120ee0232c5951a9 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-flask-session/Makefile b/lang/python/python-flask-session/Makefile index a27e95bff..c5f7800f2 100644 --- a/lang/python/python-flask-session/Makefile +++ b/lang/python/python-flask-session/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=Flask-Session PKG_HASH:=0768e2bbf06f963ec1aa711bde7aa32dc39ff70f89b495d6db687d899eae4423 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-markdown/Makefile b/lang/python/python-markdown/Makefile index c8eba9044..1ab6bda3e 100644 --- a/lang/python/python-markdown/Makefile +++ b/lang/python/python-markdown/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=Markdown PKG_HASH:=225c6123522495d4119a90b3a3ba31a1e87a70369e03f14799ea9c0d7183a3d6 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE.md diff --git a/lang/python/python-paho-mqtt/Makefile b/lang/python/python-paho-mqtt/Makefile index c8aea07de..20554631b 100644 --- a/lang/python/python-paho-mqtt/Makefile +++ b/lang/python/python-paho-mqtt/Makefile @@ -8,7 +8,7 @@ PKG_NAME:=python-paho-mqtt PKG_VERSION:=1.6.1 PKG_RELEASE:=2 -PKG_MAINTAINER:=Josef Schlehofer , Alexandru Ardelean +PKG_MAINTAINER:=Josef Schlehofer , Alexandru Ardelean PKG_LICENSE:=EPL-1.0 Eclipse Distribution License v1.0 PKG_LICENSE_FILES:=epl-v10 edl-v10 diff --git a/lang/python/python-pyotp/Makefile b/lang/python/python-pyotp/Makefile index 7fbda1c0f..468d74797 100644 --- a/lang/python/python-pyotp/Makefile +++ b/lang/python/python-pyotp/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=pyotp PKG_HASH:=346b6642e0dbdde3b4ff5a930b664ca82abfa116356ed48cc42c7d6590d36f63 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-pyrsistent/Makefile b/lang/python/python-pyrsistent/Makefile index 64d687399..5f8294e69 100644 --- a/lang/python/python-pyrsistent/Makefile +++ b/lang/python/python-pyrsistent/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=pyrsistent PKG_HASH:=1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE.mit diff --git a/lang/python/python-requests/Makefile b/lang/python/python-requests/Makefile index c6b156f16..e16cd201b 100644 --- a/lang/python/python-requests/Makefile +++ b/lang/python/python-requests/Makefile @@ -11,7 +11,7 @@ PKG_NAME:=python-requests PKG_VERSION:=2.31.0 PKG_RELEASE:=1 -PKG_MAINTAINER:=Josef Schlehofer , Alexandru Ardelean +PKG_MAINTAINER:=Josef Schlehofer , Alexandru Ardelean PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE PKG_CPE_ID:=cpe:/a:python-requests:requests diff --git a/lang/python/python-schedule/Makefile b/lang/python/python-schedule/Makefile index fad04bd0c..134a2c576 100644 --- a/lang/python/python-schedule/Makefile +++ b/lang/python/python-schedule/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=schedule PKG_HASH:=b4ad697aafba7184c9eb6a1e2ebc41f781547242acde8ceae9a0a25b04c0922d -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE.txt diff --git a/lang/python/python-sentry-sdk/Makefile b/lang/python/python-sentry-sdk/Makefile index 748d73432..c65bda308 100644 --- a/lang/python/python-sentry-sdk/Makefile +++ b/lang/python/python-sentry-sdk/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=sentry-sdk PKG_HASH:=a99ee105384788c3f228726a88baf515fe7b5f1d2d0f215a03d194369f158df7 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-slugify/Makefile b/lang/python/python-slugify/Makefile index 239ec6ad1..2c7b82e70 100644 --- a/lang/python/python-slugify/Makefile +++ b/lang/python/python-slugify/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=$(PKG_NAME) PKG_HASH:=ce0d46ddb668b3be82f4ed5e503dbc33dd815d83e2eb6824211310d3fb172a27 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-sqlalchemy/Makefile b/lang/python/python-sqlalchemy/Makefile index 403151ed2..39279f258 100644 --- a/lang/python/python-sqlalchemy/Makefile +++ b/lang/python/python-sqlalchemy/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=SQLAlchemy PKG_HASH:=ca8a5ff2aa7f3ade6c498aaafce25b1eaeabe4e42b73e25519183e4566a16fc6 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE PKG_CPE_ID:=cpe:/a:sqlalchemy:sqlalchemy diff --git a/lang/python/python-tornado/Makefile b/lang/python/python-tornado/Makefile index 36007a844..ade9302bf 100644 --- a/lang/python/python-tornado/Makefile +++ b/lang/python/python-tornado/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=tornado PKG_HASH:=e7d8db41c0181c80d76c982aacc442c0783a2c54d6400fe028954201a2e032fe -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-uci/Makefile b/lang/python/python-uci/Makefile index 46fbd79a9..5d834d0d7 100644 --- a/lang/python/python-uci/Makefile +++ b/lang/python/python-uci/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=pyuci PKG_HASH:=865a45d48fb5d363f1230e94fa2c5b01ae6487f02f2180b0a6f78193a70166e2 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=GPL-3.0-or-later PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-unidecode/Makefile b/lang/python/python-unidecode/Makefile index d8c150ac2..424f361a1 100644 --- a/lang/python/python-unidecode/Makefile +++ b/lang/python/python-unidecode/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=Unidecode PKG_HASH:=fed09cf0be8cf415b391642c2a5addfc72194407caee4f98719e40ec2a72b830 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=GPL-2.0-or-later PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-voluptuous-serialize/Makefile b/lang/python/python-voluptuous-serialize/Makefile index 07f9dff0b..28204ede9 100644 --- a/lang/python/python-voluptuous-serialize/Makefile +++ b/lang/python/python-voluptuous-serialize/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=voluptuous-serialize PKG_HASH:=79acdc58239582a393144402d827fa8efd6df0f5350cdc606d9242f6f9bca7c4 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-voluptuous/Makefile b/lang/python/python-voluptuous/Makefile index 75e58e6a5..ceb6a85f7 100644 --- a/lang/python/python-voluptuous/Makefile +++ b/lang/python/python-voluptuous/Makefile @@ -16,7 +16,7 @@ PKG_HASH:=e8d31c20601d6773cb14d4c0f42aee29c6821bbd1018039aac7ac5605b489723 PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=COPYING -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-yaml/Makefile b/lang/python/python-yaml/Makefile index 1731b33fc..26326d660 100644 --- a/lang/python/python-yaml/Makefile +++ b/lang/python/python-yaml/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=4 PYPI_NAME:=PyYAML PKG_HASH:=68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE PKG_CPE_ID:=cpe:/a:pyyaml_project:pyyaml diff --git a/lang/python/python3-bottle/Makefile b/lang/python/python3-bottle/Makefile index f094d81b6..1a6913d2b 100644 --- a/lang/python/python3-bottle/Makefile +++ b/lang/python/python3-bottle/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=bottle PKG_HASH:=e1a9c94970ae6d710b3fb4526294dfeb86f2cb4a81eff3a4b98dc40fb0e5e021 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE PKG_CPE_ID:=cpe:/a:bottlepy:bottle diff --git a/lang/python/ruamel-yaml/Makefile b/lang/python/ruamel-yaml/Makefile index 5863f4ab1..fd8f17a7f 100644 --- a/lang/python/ruamel-yaml/Makefile +++ b/lang/python/ruamel-yaml/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=ruamel.yaml PKG_HASH:=9751de4cbb57d4bfbf8fc394e125ed4a2f170fbff3dc3d78abf50be85924f8be -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/text-unidecode/Makefile b/lang/python/text-unidecode/Makefile index e77108f45..89f7ef7cd 100644 --- a/lang/python/text-unidecode/Makefile +++ b/lang/python/text-unidecode/Makefile @@ -16,7 +16,7 @@ PKG_HASH:=bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93 PKG_LICENSE:=Artistic-1.0-cl8 PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/net/dnscrypt-proxy2/Makefile b/net/dnscrypt-proxy2/Makefile index 5e1226892..7a5d82b15 100644 --- a/net/dnscrypt-proxy2/Makefile +++ b/net/dnscrypt-proxy2/Makefile @@ -16,7 +16,7 @@ PKG_SOURCE_URL:=https://codeload.github.com/DNSCrypt/dnscrypt-proxy/tar.gz/$(PKG PKG_HASH:=05f0a3e8c8f489caf95919e2a75a1ec4598edd3428d2b9dd357caba6adb2607d PKG_BUILD_DIR:=$(BUILD_DIR)/dnscrypt-proxy-$(PKG_VERSION) -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=ISC PKG_LICENSE_FILES:=LICENSE diff --git a/utils/reptyr/Makefile b/utils/reptyr/Makefile index 6bf94b535..e94c9bc00 100644 --- a/utils/reptyr/Makefile +++ b/utils/reptyr/Makefile @@ -9,7 +9,7 @@ PKG_SOURCE_URL:=https://github.com/nelhage/reptyr/archive/ PKG_HASH:=c6ffbc34a511ac00d072219bda30699e51f2f4eb483cbae9e32e981d49e8b380 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION) -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=COPYING diff --git a/utils/sshpass/Makefile b/utils/sshpass/Makefile index 064331455..052c70599 100644 --- a/utils/sshpass/Makefile +++ b/utils/sshpass/Makefile @@ -8,7 +8,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@SF/sshpass PKG_HASH:=71746e5e057ffe9b00b44ac40453bf47091930cba96bbea8dc48717dedc49fb7 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=GPL-2.0-or-later PKG_LICENSE_FILES:=COPYING From f425e37fb04cd5d0d83e713dbb994a859cf9663d Mon Sep 17 00:00:00 2001 From: danielpinto8zz6 Date: Fri, 1 Sep 2023 13:19:42 +0100 Subject: [PATCH 56/63] ddns-scripts: desec.io - update url to https Signed-off-by: Daniel Pinto desec.io ddns update is not working, after testing the endpoint I got a 301, after a bit of search I found out we are supposed to use https instead of http more info here: https://talk.desec.io/t/301-from-update-dedyn-io/644/2 bump PKG_RELEASE --- net/ddns-scripts/Makefile | 2 +- net/ddns-scripts/files/usr/share/ddns/default/desec.io.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/net/ddns-scripts/Makefile b/net/ddns-scripts/Makefile index 1512fa31b..a4c79b06b 100644 --- a/net/ddns-scripts/Makefile +++ b/net/ddns-scripts/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ddns-scripts PKG_VERSION:=2.8.2 -PKG_RELEASE:=38 +PKG_RELEASE:=39 PKG_LICENSE:=GPL-2.0 diff --git a/net/ddns-scripts/files/usr/share/ddns/default/desec.io.json b/net/ddns-scripts/files/usr/share/ddns/default/desec.io.json index 4d3d21720..c28458fee 100644 --- a/net/ddns-scripts/files/usr/share/ddns/default/desec.io.json +++ b/net/ddns-scripts/files/usr/share/ddns/default/desec.io.json @@ -1,11 +1,11 @@ { "name": "desec.io", "ipv4": { - "url": "http://update.dedyn.io/update?username=[USERNAME]&password=[PASSWORD]&hostname=[DOMAIN]&myipv4=[IP]&myipv6=preserve", + "url": "https://update.dedyn.io/update?username=[USERNAME]&password=[PASSWORD]&hostname=[DOMAIN]&myipv4=[IP]&myipv6=preserve", "answer": "good|nochg" }, "ipv6": { - "url": "http://update.dedyn.io/update?username=[USERNAME]&password=[PASSWORD]&hostname=[DOMAIN]&myipv6=[IP]&myipv4=preserve", + "url": "https://update.dedyn.io/update?username=[USERNAME]&password=[PASSWORD]&hostname=[DOMAIN]&myipv6=[IP]&myipv4=preserve", "answer": "good|nochg" } } From 4af428ec71af88470903d3459b720727714cde16 Mon Sep 17 00:00:00 2001 From: Jianhui Zhao Date: Mon, 4 Sep 2023 13:06:50 +0800 Subject: [PATCH 57/63] lua-eco: update to 2.5.1 Signed-off-by: Jianhui Zhao --- lang/lua-eco/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/lua-eco/Makefile b/lang/lua-eco/Makefile index 02e382137..e4f3ab188 100644 --- a/lang/lua-eco/Makefile +++ b/lang/lua-eco/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=lua-eco -PKG_VERSION:=2.5.0 +PKG_VERSION:=2.5.1 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL=https://github.com/zhaojh329/lua-eco/releases/download/v$(PKG_VERSION) -PKG_HASH:=d41668d137780f2655ebfec88276249bb9cd5c53f758c3e2103eb001ed9b5d02 +PKG_HASH:=436c09dd7dbc88ab651ae7696f2102b5635628ab420cc550bc237ecb04cade5d PKG_MAINTAINER:=Jianhui Zhao PKG_LICENSE:=MIT From 104bfa71a9e44a4214291fadfb8078e47d60c28c Mon Sep 17 00:00:00 2001 From: Gerard Ryan Date: Wed, 12 Apr 2023 21:53:45 +1000 Subject: [PATCH 58/63] cache-domains: Fixed config files being outside of jail This fix dnsmasq failing to startup once configured since the cache-domains config files are not included in the jail that dnsmasq runs inside. Signed-off-by: Gerard Ryan --- utils/cache-domains/Makefile | 7 +++- utils/cache-domains/files/cache-domains | 31 +++++++++------ utils/cache-domains/files/test.sh | 51 +++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 13 deletions(-) create mode 100644 utils/cache-domains/files/test.sh diff --git a/utils/cache-domains/Makefile b/utils/cache-domains/Makefile index 0e12ec32c..21e712fd3 100644 --- a/utils/cache-domains/Makefile +++ b/utils/cache-domains/Makefile @@ -1,8 +1,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=cache-domains -PKG_VERSION:=2.3.1 -PKG_RELEASE:=2 +PKG_VERSION:=2.4.0 +PKG_RELEASE:=1 PKG_MAINTAINER:=Gerard Ryan @@ -27,6 +27,9 @@ define Package/cache-domains/install/default $(INSTALL_DIR) $(1)/etc/hotplug.d/iface/ $(INSTALL_BIN) ./files/30-cache-domains $(1)/etc/hotplug.d/iface/ + + $(INSTALL_DIR) $(1)/usr/share/cache-domains/ + $(INSTALL_BIN) ./files/test.sh $(1)/usr/share/cache-domains/ endef Build/Compile=# Nothing to compile, just install the scripts diff --git a/utils/cache-domains/files/cache-domains b/utils/cache-domains/files/cache-domains index 585aef7e9..9ac5d6716 100644 --- a/utils/cache-domains/files/cache-domains +++ b/utils/cache-domains/files/cache-domains @@ -6,31 +6,42 @@ set -e CACHE_DOMAINS_SRC="https://api.github.com/repos/uklans/cache-domains/tarball/master" CACHE_DOMAINS_DIR="/var/cache-domains" -CACHE_DOMAINS_CONF_FILE="${CACHE_DOMAINS_DIR}/lancache.conf" CONFIG_FILE="/etc/cache-domains.json" dnsmasq_conf() { + local ACTION="${1}" + local ADDN_CONF_DIR="${2}" local I=0 local DNSMASQ_CONF_DIR local DNSMASQ_CONF_FILE while uci_get "dhcp" "@dnsmasq[${I}]" > /dev/null; do DNSMASQ_CONF_DIR="$(uci_get "dhcp" "@dnsmasq[${I}]" "confdir" "/tmp/dnsmasq.d" || :)" - DNSMASQ_CONF_FILE="${DNSMASQ_CONF_DIR}/$(basename "${CACHE_DOMAINS_CONF_FILE}")" + uci_remove_list "dhcp" "@dnsmasq[${I}]" "addnmount" "${ADDN_CONF_DIR}" - case ${1} in + mkdir -p "${DNSMASQ_CONF_DIR}" + case "${ACTION}" in add) - ln -sf "${CACHE_DOMAINS_CONF_FILE}" "${DNSMASQ_CONF_FILE}" + ln -s "${ADDN_CONF_DIR}/"* "${DNSMASQ_CONF_DIR}" 2> /dev/null || : + uci_add_list "dhcp" "@dnsmasq[${I}]" "addnmount" "${ADDN_CONF_DIR}" ;; remove) - rm -f "${DNSMASQ_CONF_FILE}" + for DNSMASQ_CONF_FILE in "${DNSMASQ_CONF_DIR}/"*; do + case "$(readlink "${DNSMASQ_CONF_FILE}" || echo "${DNSMASQ_CONF_FILE}")" in + "${ADDN_CONF_DIR}"*) + rm -f "${DNSMASQ_CONF_FILE}" + ;; + esac + done ;; *) - echo "ERROR: Invalid action '${1}' for dnsmasq_conf()" + echo "ERROR: Invalid action '${ACTION}' for dnsmasq_conf()" return 1 ;; esac + uci_commit "dhcp" + I=$((${I} + 1)) done @@ -59,18 +70,16 @@ configure() { cd "${SOURCE_DIR}/scripts/" cp "${CONFIG_FILE}" "config.json" ./create-dnsmasq.sh > /dev/null - cat "./output/dnsmasq/"*".conf" > "${CACHE_DOMAINS_CONF_FILE}" cd "${INITIAL_DIR}" - rm -fr "${SOURCE_DIR}" - dnsmasq_conf add + dnsmasq_conf add "${SOURCE_DIR}/scripts/output/dnsmasq" } cleanup() { - dnsmasq_conf remove + dnsmasq_conf remove "${CACHE_DOMAINS_DIR}/$(ls "${CACHE_DOMAINS_DIR}")/scripts/output/dnsmasq" } -case ${1} in +case "${1}" in config*) configure ;; diff --git a/utils/cache-domains/files/test.sh b/utils/cache-domains/files/test.sh new file mode 100644 index 000000000..7963fc0de --- /dev/null +++ b/utils/cache-domains/files/test.sh @@ -0,0 +1,51 @@ +#! /bin/sh + +set -o errexit + +test_url() { + echo "INFO: Testing '${2}' has ${1} addresses" >&2 + + case "${1}" in + IPv4) + nslookup -type=a "${2}" + ;; + IPv6) + nslookup -type=aaaa "${2}" + ;; + *) + echo "ERROR: Unknown IP version: ${1}" >&2 + exit 1 + ;; + esac +} + +cache_domains() { + echo "INFO: cache-domains ${1}" >&2 + cache-domains "${1}" + sleep 5 +} + +cache_domains cleanup + +test_url IPv4 lancache.steamcontent.com | grep -q 'canonical name =' +test_url IPv6 lancache.steamcontent.com | grep -q 'canonical name =' + +test_url IPv4 dist.blizzard.com | grep -q 'canonical name =' +test_url IPv6 dist.blizzard.com | grep -q 'canonical name =' + +cache_domains configure + +test_url IPv4 lancache.steamcontent.com | grep -q '10.10.3.10' +test_url IPv4 lancache.steamcontent.com | grep -q '10.10.3.11' +test_url IPv6 lancache.steamcontent.com > /dev/null # None configured + +test_url IPv4 dist.blizzard.com | grep -q '10.10.3.13' +test_url IPv6 dist.blizzard.com > /dev/null # None configured + +cache_domains cleanup + +test_url IPv4 lancache.steamcontent.com | grep -q 'canonical name =' +test_url IPv6 lancache.steamcontent.com | grep -q 'canonical name =' + +test_url IPv4 dist.blizzard.com | grep -q 'canonical name =' +test_url IPv6 dist.blizzard.com | grep -q 'canonical name =' From 6efd4d1e8801ba29a857d38432db10a0bc335a9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20H=C3=A1k?= Date: Mon, 4 Sep 2023 10:44:29 +0200 Subject: [PATCH 59/63] libedit: update to version 20230828-3.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jan Hák --- libs/libedit/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/libedit/Makefile b/libs/libedit/Makefile index 9192ff26a..bc60c53f8 100644 --- a/libs/libedit/Makefile +++ b/libs/libedit/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libedit -PKG_VERSION:=20221030-3.1 +PKG_VERSION:=20230828-3.1 PKG_RELEASE:=1 PKG_MAINTAINER:=Daniel Salzman @@ -16,7 +16,7 @@ PKG_LICENSE:=BSD-3-Clause PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://thrysoee.dk/editline/ -PKG_HASH:=f0925a5adf4b1bf116ee19766b7daa766917aec198747943b1c4edf67a4be2bb +PKG_HASH:=4ee8182b6e569290e7d1f44f0f78dac8716b35f656b76528f699c69c98814dad PKG_INSTALL:=1 From 058413daa4b810b04b7f4cdbdc2dbcaf4c7b38a9 Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Wed, 6 Sep 2023 11:08:39 +0800 Subject: [PATCH 60/63] v2raya: Update to 2.2.4 Signed-off-by: Tianling Shen --- net/v2raya/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/v2raya/Makefile b/net/v2raya/Makefile index 9c512debd..eec759a7b 100644 --- a/net/v2raya/Makefile +++ b/net/v2raya/Makefile @@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=v2rayA -PKG_VERSION:=2.2.2 +PKG_VERSION:=2.2.4 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/v2rayA/v2rayA/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=fc32ac028efdd3cac0f482a765ee6e7383b4a8d9be7a343898e64235536cb235 +PKG_HASH:=844da2a4c1ac1f7eae02519a0833255a63938f08a554cbea043606b28ee6ebed PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/service PKG_LICENSE:=AGPL-3.0-only @@ -59,7 +59,7 @@ define Download/v2raya-web URL:=https://github.com/v2rayA/v2rayA/releases/download/v$(PKG_VERSION)/ URL_FILE:=web.zip FILE:=$(WEB_FILE) - HASH:=24e5b61aedb6439f16264be55f50802e1198b87be2d456fc08c44945b67d736b + HASH:=2699dacdf39137af408a9ffcb91734e5af487bef4dccaa51f1bb3de6c4d3e8fe endef define Build/Prepare From a0c6ba40d9ad56b050dd01761ef6a526e472185c Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Wed, 6 Sep 2023 11:09:05 +0800 Subject: [PATCH 61/63] v2ray-geodata: Update to latest version Signed-off-by: Tianling Shen --- net/v2ray-geodata/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/v2ray-geodata/Makefile b/net/v2ray-geodata/Makefile index 3eb1fef6a..9cc4d3265 100644 --- a/net/v2ray-geodata/Makefile +++ b/net/v2ray-geodata/Makefile @@ -12,22 +12,22 @@ PKG_MAINTAINER:=Tianling Shen include $(INCLUDE_DIR)/package.mk -GEOIP_VER:=202308030045 +GEOIP_VER:=202308310037 GEOIP_FILE:=geoip.dat.$(GEOIP_VER) define Download/geoip URL:=https://github.com/v2fly/geoip/releases/download/$(GEOIP_VER)/ URL_FILE:=geoip.dat FILE:=$(GEOIP_FILE) - HASH:=9b7fa7407f35e3087f3b052d12ed40974182c6e1864570b848c1ec901292ea82 + HASH:=536d7aa9f54af747153d4f982adaa3181025dd72faaba8f532b3f514b467eff8 endef -GEOSITE_VER:=20230803193133 +GEOSITE_VER:=20230905081311 GEOSITE_FILE:=dlc.dat.$(GEOSITE_VER) define Download/geosite URL:=https://github.com/v2fly/domain-list-community/releases/download/$(GEOSITE_VER)/ URL_FILE:=dlc.dat FILE:=$(GEOSITE_FILE) - HASH:=3d335d493f168eace5414ca1ff54e4f255f8e5b1a90261d2debb1cbefa0666a0 + HASH:=d393deda756a446ec5247730ef09fed80ba9fb8d9204d1263c45a3604435fe57 endef define Package/v2ray-geodata/template From aa03634cbcd837d25bc33c64aa9054cdd096e46d Mon Sep 17 00:00:00 2001 From: Philip Prindeville Date: Tue, 5 Sep 2023 21:38:27 -0600 Subject: [PATCH 62/63] modemmanager: handle no *.conf files being installed To begin with, there are only a couple of .conf files, and one of them is for testing, and the other is only installed when MBIM is enabled, so if you build without MBIM you'll have a failing install: install -m0644 /home/pprindeville/work/openwrt/build_dir/target-x86_64_musl/modemmanager-1.20.6/ipkg-install/usr/share/ModemManager/*.conf /home/pprindeville/work/openwrt/build_dir/target-x86_64_musl/modemmanager-1.20.6/.pkgdir/modemmanager/usr/share/ModemManager install: cannot stat '/home/pprindeville/work/openwrt/build_dir/target-x86_64_musl/modemmanager-1.20.6/ipkg-install/usr/share/ModemManager/*.conf': No such file or directory make[2]: *** [Makefile:161: /home/pprindeville/work/openwrt/build_dir/target-x86_64_musl/modemmanager-1.20.6/.pkgdir/modemmanager.installed] Error 1 make[2]: Leaving directory '/home/pprindeville/work/openwrt/feeds/packages/net/modemmanager' So make sure there's anything there to copy over first. Signed-off-by: Philip Prindeville --- net/modemmanager/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/modemmanager/Makefile b/net/modemmanager/Makefile index 5017d3e25..0069eaae9 100644 --- a/net/modemmanager/Makefile +++ b/net/modemmanager/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=modemmanager PKG_SOURCE_VERSION:=1.20.6 -PKG_RELEASE:=12 +PKG_RELEASE:=13 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git @@ -112,7 +112,7 @@ define Package/modemmanager/install $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/dbus-1/system-services/org.freedesktop.ModemManager1.service $(1)/usr/share/dbus-1/system-services $(INSTALL_DIR) $(1)/usr/share/ModemManager - $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/ModemManager/*.conf $(1)/usr/share/ModemManager + $$(if $$(wildcard $(PKG_INSTALL_DIR)/usr/share/ModemManager/*.conf),$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/ModemManager/*.conf $(1)/usr/share/ModemManager,) $(INSTALL_DATA) ./files/modemmanager.common $(1)/usr/share/ModemManager $(INSTALL_DIR) $(1)/usr/share/ModemManager/fcc-unlock.available.d From 86522d77f1ccf7ed80ef556e0d6621efbd190275 Mon Sep 17 00:00:00 2001 From: Van Waholtz Date: Tue, 5 Sep 2023 23:13:03 +0800 Subject: [PATCH 63/63] syncthing: update to 1.24.0 This package can be built with Go 1.21 and QUIC can be enabled. Signed-off-by: Van Waholtz --- utils/syncthing/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utils/syncthing/Makefile b/utils/syncthing/Makefile index 1696a01cd..e8b744a46 100644 --- a/utils/syncthing/Makefile +++ b/utils/syncthing/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=syncthing -PKG_VERSION:=1.23.7 +PKG_VERSION:=1.24.0 PKG_RELEASE:=1 PKG_SOURCE:=syncthing-source-v$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/syncthing/syncthing/releases/download/v$(PKG_VERSION) -PKG_HASH:=18d8dd74d8077f500a139752261b78217ef0b0a912a7c017192097a7196e21a1 +PKG_HASH:=4a9459667f9b70a7d1e7d572c7c9d02431ef8f055679eef368300ce1a826608f PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/$(PKG_NAME) @@ -26,7 +26,7 @@ GO_PKG_BUILD_PKG:=\ $(if $(CONFIG_PACKAGE_strelaysrv),$(GO_PKG)/cmd/strelaysrv/) GO_PKG_INSTALL_EXTRA:=^gui/ -GO_PKG_TAGS:=noupgrade,noquic +GO_PKG_TAGS:=noupgrade GO_PKG_LDFLAGS_X:=\ $(GO_PKG)/lib/build.Version=v$(PKG_VERSION) \ $(GO_PKG)/lib/build.Stamp=$(SOURCE_DATE_EPOCH) \