Merge pull request #9224 from BKPepe/markdown
authorJosef Schlehofer <pepe.schlehofer@gmail.com>
Wed, 19 Jun 2019 10:25:24 +0000 (12:25 +0200)
committerGitHub <noreply@github.com>
Wed, 19 Jun 2019 10:25:24 +0000 (12:25 +0200)
python-markdown: add a new package

108 files changed:
devel/diffutils/Makefile
lang/golang/golang-version.mk
lang/golang/golang/Makefile
lang/php7-pecl-http/Makefile
lang/python/django-appconf/Makefile
lang/python/django-compressor/Makefile
lang/python/django-constance/Makefile
lang/python/django-formtools/Makefile
lang/python/django-jsonfield/Makefile
lang/python/django-picklefield/Makefile
lang/python/django-postoffice/Makefile
lang/python/django-ranged-response/Makefile
lang/python/django-restframework/Makefile
lang/python/django-simple-captcha/Makefile
lang/python/django-statici18n/Makefile
lang/python/django-webpack-loader/Makefile
lang/python/django/Makefile
lang/python/python-certifi/Makefile
lang/python/python-curl/Makefile
lang/python/python-curl/patches/0001-support-for-mbedTLS.patch [deleted file]
lang/python/python-pytz/Makefile
libs/boost/Makefile
libs/fbthrift/Makefile
libs/fbzmq/Makefile [new file with mode: 0644]
libs/ibrcommon/Makefile
libs/ibrdtn/Makefile
libs/ibrdtn/patches/010-Add-operator-to-Bundle-block_elem.patch [new file with mode: 0644]
libs/ibrdtn/patches/020-Use-const-iterator-in-const-function-of-MemoryBundle.patch [new file with mode: 0644]
libs/ibrdtn/patches/030-Use-std-streamoff-instead-of-std-streampos.patch [new file with mode: 0644]
libs/ibrdtn/patches/040-Add-operator-to-BundleID-and-MetaBundle.patch [new file with mode: 0644]
libs/libfizz/Makefile
libs/libfolly/Makefile
libs/libfolly/patches/102-uclibc-patches.patch [new file with mode: 0644]
libs/libfolly/patches/103-arm-yield.patch [new file with mode: 0644]
libs/libgabe/Makefile
libs/libgabe/patches/010-shared-library.patch [new file with mode: 0644]
libs/libgphoto2/Makefile
libs/liblz4/Config.in [new file with mode: 0644]
libs/liblz4/Makefile
libs/libmstch/Makefile
libs/libnatpmp/Makefile
libs/libnatpmp/patches/001-install_declspec.patch [deleted file]
libs/libnatpmp/patches/010-cmake.patch [new file with mode: 0644]
libs/librsocket-cpp/Makefile
libs/librsocket-cpp/patches/100-fix-momit-leaf-frame-pointer-error.patch [deleted file]
libs/librsocket-cpp/patches/102-gcc9.patch [new file with mode: 0644]
libs/libuhttpd/Makefile
libs/libupm/Makefile
libs/libupm/patches/001-version.patch
libs/libupm/patches/004-uint8_t.patch [new file with mode: 0644]
libs/libwangle/Makefile
libs/libxml2/Makefile
libs/poco/Makefile
multimedia/gphoto2/Makefile
multimedia/graphicsmagick/Makefile
multimedia/imagemagick/Makefile [new file with mode: 0644]
net/apfree-wifidog/Makefile
net/apfree-wifidog/files/wifidogx.conf
net/apfree-wifidog/files/wifidogx.init
net/banip/Makefile
net/banip/files/banip.conf
net/banip/files/banip.init
net/banip/files/banip.sh
net/ibrdtn-tools/Makefile
net/ibrdtnd/Makefile
net/ibrdtnd/patches/030-openssl-deprecated.patch [new file with mode: 0644]
net/knot/Makefile
net/libreswan/Makefile
net/libreswan/patches/000-dh31-auto-detect.patch [new file with mode: 0644]
net/libreswan/patches/001-move_kernel_klips_to_mk_kernel.mk.patch [deleted file]
net/libreswan/patches/002-cripple_klips_klips_kernel_rules.patch [deleted file]
net/mdnsresponder/Makefile
net/mdnsresponder/patches/001-cross_compile.patch [deleted file]
net/mdnsresponder/patches/100-linux_fixes.patch [deleted file]
net/mdnsresponder/patches/120-reproducible-builds.patch [deleted file]
net/mosquitto/Makefile
net/mosquitto/patches/901-fix-openssl-ui.patch [deleted file]
net/mosquitto/patches/902-fix-engine-guards.patch [deleted file]
net/ostiary/Makefile [new file with mode: 0644]
net/ostiary/files/ostiaryd.init [new file with mode: 0755]
net/seafile-seahub/Makefile
net/seafile-seahub/patches/020-Makefile-fixes.patch
utils/btrfs-progs/Makefile
utils/byobu/Makefile
utils/byobu/patches/002-fix-missing-tty-arm-serial-autolaunch.patch [deleted file]
utils/byobu/patches/002-fix-missing-tty.patch [new file with mode: 0644]
utils/byobu/patches/003-fix-missing-install.patch [deleted file]
utils/byobu/patches/005-monitor-overlay.patch
utils/byobu/patches/006-only-pgrep-services.patch [new file with mode: 0644]
utils/byobu/patches/006-pgrep-services.patch [deleted file]
utils/byobu/patches/007-count-dropbear-users.patch
utils/byobu/patches/008-no-gettext.patch [deleted file]
utils/byobu/patches/100-check-if-bashrc-exists.patch [deleted file]
utils/byobu/patches/101-fix-tmux-2.8-new-window.patch [deleted file]
utils/byobu/patches/102-ensure-disk-exists.patch [deleted file]
utils/byobu/patches/103-add-hostname-fallback.patch [deleted file]
utils/byobu/patches/104-add-custom-logo.patch [deleted file]
utils/byobu/patches/105-handle-processes-stderr.patch [deleted file]
utils/byobu/patches/106-fix-release-typo.patch [deleted file]
utils/byobu/patches/107-fix-SERVICES.patch [deleted file]
utils/byobu/patches/108-custom-updates-available.patch [deleted file]
utils/byobu/patches/109-add-whoami-fallback.patch [deleted file]
utils/byobu/patches/110-wifi-quality.patch [deleted file]
utils/byobu/patches/111-ensure-proc-mdstat-exists.patch [deleted file]
utils/byobu/patches/112-fix-session-regex.patch [deleted file]
utils/lm-sensors/Makefile
utils/pigz/Makefile [new file with mode: 0644]
utils/pigz/patches/001.patch [new file with mode: 0644]

index 3f93ef67eb14aaa303bbb69acc071ba15d6a6790..65a41f8ebb775c0ffe61b20ab347714e3dab42de 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=diffutils
 PKG_VERSION:=3.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNU/diffutils
@@ -30,6 +30,10 @@ define Package/diffutils
   DEPENDS:=+USE_GLIBC:librt
   TITLE:=diffutils
   URL:=http://www.gnu.org/software/diffutils/
+  ALTERNATIVES:=\
+    200:/usr/bin/cmp:/usr/bin/gnu-cmp \
+    200:/usr/bin/diff:/usr/bin/gnu-diff \
+
 endef
 
 define Package/diffutils/description
@@ -43,23 +47,9 @@ CONFIGURE_VARS += \
 
 define Package/diffutils/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{sdiff,diff3,diff,cmp} $(1)/usr/bin/
-endef
-
-define Package/diffutils/preinst
-#!/bin/sh
-for x in sdiff diff3 diff cmp; do
-  [ -L "$${IPKG_INSTROOT}/usr/bin/$$x" ] && rm -f "$${IPKG_INSTROOT}/usr/bin/$$x"
-done
-exit 0
-endef
-
-define Package/diffutils/postrm
-#!/bin/sh
-for x in sdiff diff3 diff cmp; do
-  /bin/busybox $$x -h 2>&1 | grep -q BusyBox && ln -sf ../../bin/busybox /usr/bin/$$x
-done
-exit 0
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{sdiff,diff3} $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/diff $(1)/usr/bin/gnu-diff
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/cmp $(1)/usr/bin/gnu-cmp
 endef
 
 $(eval $(call BuildPackage,diffutils))
index 5c6ce3b4d00e75dd7d8bdc160485a9e3632759bb..fdf8b6bd51f054339bb59f1fbe4c83aee58d4d86 100644 (file)
@@ -11,4 +11,4 @@ endif
 
 
 GO_VERSION_MAJOR_MINOR:=1.12
-GO_VERSION_PATCH:=5
+GO_VERSION_PATCH:=6
index 484abd51978b780f20960433505190b29a5fe90a..0e8910fd749970aa1f8b9c2348bdf452ad42de46 100644 (file)
@@ -18,7 +18,7 @@ GO_SOURCE_URLS:=https://dl.google.com/go/ \
 
 PKG_SOURCE:=go$(PKG_VERSION).src.tar.gz
 PKG_SOURCE_URL:=$(GO_SOURCE_URLS)
-PKG_HASH:=2aa5f088cbb332e73fc3def546800616b38d3bfe6b8713b8a6404060f22503e8
+PKG_HASH:=c96c5ccc7455638ae1a8b7498a030fe653731c8391c5f8e79590bce72f92b4ca
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE
index 68079048ba2e3162d9ef785ec5b1845334e5d63f..f14310af2dc4d4812ba8e7258051d8dcf9bb53b5 100644 (file)
@@ -9,7 +9,7 @@ PECL_NAME:=pecl_http
 PECL_LONGNAME:=Extended HTTP Support
 
 PKG_VERSION:=3.2.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_HASH:=6fb7f038365fb1f3302f1b7e7d6b55d5c422bdea36057b1efe02bbe6ad3cc01b
 
 PKG_NAME:=php7-pecl-http
@@ -41,7 +41,7 @@ CONFIGURE_VARS+= \
        PECL_cv_HAVE_LIBCURL_SecureTransport=no \
        PECL_cv_HAVE_LIBCURL_GSKit=no \
        PECL_cv_HAVE_LIBCURL_PolarSSL=no \
-       PECL_cv_HAVE_LIBCURL_WolfSSL=$(if $(CONFIG_LIBCURL_CYASSL),yes,no) \
+       PECL_cv_HAVE_LIBCURL_WolfSSL=$(if $(CONFIG_LIBCURL_WOLFSSL),yes,no) \
        PECL_cv_HAVE_LIBCURL_mbedTLS=$(if $(CONFIG_LIBCURL_MBEDTLS),yes,no) \
        PECL_cv_HAVE_LIBCURL_axTLS=no \
        PECL_cv_LIBCURL_TLSAUTH_SRP=$(if $(CONFIG_LIBCURL_TLS_SRP),yes,no) \
index 0f61551f9ce3c59faab86edf6f530bbbd6645bfc..a5de29bbe5df89fbe6ff4b45665add810bff97fc 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-appconf
 PKG_VERSION:=1.0.2
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_LICENSE:=BSD-3-Clause
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
@@ -26,7 +26,7 @@ define Package/django-appconf
   CATEGORY:=Languages
   TITLE:=A helper class for handling configuration defaults of packaged apps gracefully.
   URL:=http://django-appconf.readthedocs.org/
-  DEPENDS:=+python +django
+  DEPENDS:=+python +python-django
 endef
 
 define Package/django-appconf/description
index 52018abd75a368ca749ed404770956e4324da6ac..f015d5dd28117c3665057cc6a7ef182c0228fb99 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-compressor
 PKG_VERSION:=2.2
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
 PKG_LICENSE:=MIT
@@ -30,7 +30,7 @@ define Package/django-compressor
   CATEGORY:=Languages
   TITLE:=Compress CSS/JS into single cached files
   URL:=http://django-compressor.readthedocs.org/
-  DEPENDS:=+python +django +django-appconf +python-rcssmin
+  DEPENDS:=+python +python-django +django-appconf +python-rcssmin
   VARIANT:=python
 endef
 
index cefb9167e40ff90beac472bd33a6265da4edc4eb..7a225acb7a5a442a2b0e952e9434a72197a7bd59 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-constance
 PKG_VERSION:=2.3.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_LICENSE:=BSD-3-Clause
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
@@ -17,31 +17,49 @@ PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/django-constanc
 PKG_HASH:=a49735063b2c30015d2e52a90609ea9798da722ed070f091de51714758a5d018
 PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
 
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-django-constance-$(PKG_VERSION)
+
 include $(INCLUDE_DIR)/package.mk
 include ../python-package.mk
+include ../python3-package.mk
+
+PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
 
-define Package/django-constance
+define Package/python-django-constance/Default
   SUBMENU:=Python
   SECTION:=lang
   CATEGORY:=Languages
   TITLE:=Django live settings with pluggable backends, including Redis.
   URL:=https://github.com/jazzband/django-constance
-  DEPENDS:=+python +django
 endef
 
-define Package/django-constance/description
+define Package/python-django-constance
+$(call Package/python-django-constance/Default)
+  DEPENDS:= \
+       +PACKAGE_python-django-constance:python \
+       +PACKAGE_python-django-constance:python-django
+  VARIANT:=python
+endef
+
+define Package/python-django-constance/description
   Django live settings with pluggable backends, including Redis.
 endef
 
-define Build/Compile
-       $(call Build/Compile/PyMod,,install --prefix=/usr --root=$(PKG_INSTALL_DIR))
+define Package/python3-django-constance
+$(call Package/python-django-constance/Default)
+  DEPENDS:= \
+       +PACKAGE_python3-django-constance:python3 \
+       +PACKAGE_python3-django-constance:python3-django
+  VARIANT:=python3
 endef
 
-define Package/django-constance/install
-       $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
-       $(CP) \
-           $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
-           $(1)$(PYTHON_PKG_DIR)
+define Package/python3-django-constance/description
+$(call define Package/python-django-constance/description)
+.
+(Variant for Python3)
 endef
 
-$(eval $(call BuildPackage,django-constance))
+$(eval $(call PyPackage,python-django-constance))
+$(eval $(call BuildPackage,python-django-constance))
+$(eval $(call Py3Package,python3-django-constance))
+$(eval $(call BuildPackage,python3-django-constance))
index e6c4db533ef2a01d9ece68ada9306fe9d2d883bd..dbc4d2305c10bc153a01810603b3c9a5f3736b30 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-formtools
 PKG_VERSION:=2.1
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
 PKG_LICENSE:=BSD-3-Clause
@@ -26,7 +26,7 @@ define Package/django-formtools
   CATEGORY:=Languages
   TITLE:=High-level abstractions for Django forms
   URL:=https://django-formtools.readthedocs.io/en/latest/
-  DEPENDS:=+python +django
+  DEPENDS:=+python +python-django
   VARIANT:=python
 endef
 
index cd0117adfcf566a6859840372f2c6f1e3ad1806d..8ec80f32f1cb2ba5c59a95af02b5789a2217f7ed 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-jsonfield
 PKG_VERSION:=1.0.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_LICENSE:=BSD-3-Clause
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
@@ -26,7 +26,7 @@ define Package/django-jsonfield
   CATEGORY:=Languages
   TITLE:=JSONField for django models
   URL:=https://github.com/bradjasper/django-jsonfield
-  DEPENDS:=+python +django
+  DEPENDS:=+python +python-django
 endef
 
 define Package/django-jsonfield/description
index c9517201fabf9503256ecf49d029a2dcbac34301..fe6e2c5c7fbfc960ffdf896b7d4df3d7598a263a 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-picklefield
 PKG_VERSION:=1.1.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_LICENSE:=MIT
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
@@ -26,7 +26,7 @@ define Package/django-picklefield
   CATEGORY:=Languages
   TITLE:=Pickled object field for Django
   URL:=https://github.com/gintas/django-picklefield
-  DEPENDS:=+python +django
+  DEPENDS:=+python +python-django
 endef
 
 define Package/django-picklefield/description
index 8d94e9e977826f4a4ba1f662ed1473b75debdc09..1f1876db211ec82c1cf4e0b6e414675149e3b6d2 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-postoffice
 PKG_VERSION:=3.1.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_LICENSE:=MIT
 
 PKG_SOURCE:=django-post_office-$(PKG_VERSION).tar.gz
@@ -27,7 +27,7 @@ define Package/django-postoffice
   CATEGORY:=Languages
   TITLE:=A Django app to monitor and send mail asynchronously, complete with template support.
   URL:=https://github.com/ui/django-postoffice
-  DEPENDS:=+python +django +django-jsonfield
+  DEPENDS:=+python +python-django +django-jsonfield
 endef
 
 define Package/django-postoffice/description
index 5733d311b95d804d566b299b23dfbf4250b9178b..09d1579264d48edb4fda3be2ae47458cfcc999c2 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-ranged-response
 PKG_VERSION:=0.2.0
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
 PKG_LICENSE:=MIT
@@ -25,7 +25,7 @@ define Package/django-ranged-response
   CATEGORY:=Languages
   TITLE:=Add Content-Range: to FileResponse
   URL:=https://github.com/wearespindle/django-ranged-fileresponse
-  DEPENDS:=+python +django
+  DEPENDS:=+python +python-django
   VARIANT:=python
 endef
 
index 1fd3281a01b19c97ce2a3ea12a30cb8c51f9c401..27b604a1f1a164147a1d558c4d55b4ecb40d51e4 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-restframework
 PKG_VERSION:=3.9.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_LICENSE:=BSD-3-Clause
 
 PKG_SOURCE:=djangorestframework-$(PKG_VERSION).tar.gz
@@ -27,7 +27,7 @@ define Package/django-restframework
   CATEGORY:=Languages
   TITLE:=Web APIs for Django, made easy.
   URL:=https://www.django-rest-framework.org
-  DEPENDS:=+python +django
+  DEPENDS:=+python +python-django
 endef
 
 define Package/django-restframework/description
index 449ad8749fc9580a839db1b872bd6e634cab230e..96da70712ab7b5a1edb4ba00b793e040a63c6408 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-simple-captcha
 PKG_VERSION:=0.5.11
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
 PKG_LICENSE:=MIT
@@ -28,7 +28,7 @@ define Package/django-simple-captcha
   CATEGORY:=Languages
   TITLE:=Simple Django captcha application
   URL:=https://github.com/mbi/django-simple-captcha
-  DEPENDS:=+python +python-six +django +pillow +django-ranged-response
+  DEPENDS:=+python +python-six +python-django +pillow +django-ranged-response
   VARIANT:=python
 endef
 
index 1c4c918916f6cc8bd8be85748014e2d3d7242c4d..b4a3898dcbfd9cac570c7e22cbd5a68317771543 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-statici18n
 PKG_VERSION:=1.8.2
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_LICENSE:=BSD-3-Clause
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
@@ -26,7 +26,7 @@ define Package/django-statici18n
   CATEGORY:=Languages
   TITLE:=A Django app that provides helper for generating JavaScript catalog to static files.
   URL:=https://django-statici18n.readthedocs.org/
-  DEPENDS:=+python +django
+  DEPENDS:=+python +python-django
 endef
 
 define Package/django-statici18n/description
index 6b7df37a4e0438719a3e745577dc0ee4caa44622..fe1d88e8b42605a87603e23bff32b217141c25b8 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-webpack-loader
 PKG_VERSION:=0.6.0
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
 PKG_LICENSE:=MIT
@@ -26,7 +26,7 @@ define Package/django-webpack-loader
   CATEGORY:=Languages
   TITLE:=Transparently use webpack in django
   URL:=https://github.com/owais/django-webpack-loader
-  DEPENDS:=+python +django
+  DEPENDS:=+python +python-django
   VARIANT:=python
 endef
 
index 23a07585ab568cfe1b5766020c70495576a1eeef..f280d3fca718df6d4696b16517ec635482d02b8d 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django
 PKG_VERSION:=1.11.17
-PKG_RELEASE=3
+PKG_RELEASE=4
 
 PKG_SOURCE:=Django-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/D/Django
@@ -21,46 +21,50 @@ PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE LICENSE.python
 PKG_CPE_ID:=cpe:/a:djangoproject:django
 
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-django-$(PKG_VERSION)
+
 include $(INCLUDE_DIR)/package.mk
 include ../python-package.mk
+include ../python3-package.mk
+
+PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
 
-define Package/django
-    SUBMENU:=Python
-    SECTION:=lang
-    CATEGORY:=Languages
-    TITLE:=The web framework for perfectionists with deadlines.
-    URL:=https://www.djangoproject.com/
-    DEPENDS:=+python +python-pytz
+define Package/django/Default
+  SUBMENU:=Python
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=The web framework for perfectionists with deadlines.
+  URL:=https://www.djangoproject.com/
 endef
 
-define Package/django/description
-    The web framework for perfectionists with deadlines.
+define Package/python-django
+$(call Package/django/Default)
+  DEPENDS:= \
+       +PACKAGE_python-django:python \
+       +PACKAGE_python-django:python-pytz
+  VARIANT:=python
 endef
 
-define Build/Compile
-       $(call Build/Compile/PyMod,,install --prefix=/usr --root=$(PKG_INSTALL_DIR))
+define Package/python-django/description
+    The web framework for perfectionists with deadlines.
 endef
 
-define Build/InstallDev
-       $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
-       $(INSTALL_DIR) $(1)/usr/bin
-       $(CP) \
-           $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
-           $(1)$(PYTHON_PKG_DIR)
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/django-admin.py \
-           $(1)/usr/bin
+define Package/python3-django
+$(call Package/django/Default)
+  DEPENDS:= \
+       +PACKAGE_python3-django:python3 \
+       +PACKAGE_python3-django:python3-pytz
+  VARIANT:=python3
 endef
 
-define Package/django/install
-       $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
-       $(INSTALL_DIR) $(1)/usr/bin
-       $(CP) \
-           $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
-           $(1)$(PYTHON_PKG_DIR)
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/django-admin.py \
-           $(1)/usr/bin
-       # fix python exec path
-       sed -i 's/#!.*/#!\/usr\/bin\/python/g' $(1)/usr/bin/django-admin.py
+define Package/python3-django/description
+$(call Package/python-django/description)
+.
+(Variant for Python3)
 endef
 
-$(eval $(call BuildPackage,django))
+$(eval $(call PyPackage,python-django))
+$(eval $(call BuildPackage,python-django))
+
+$(eval $(call Py3Package,python3-django))
+$(eval $(call BuildPackage,python3-django))
index d9d9d64a7166f1103ecd67e2c98eab92a73a5a60..5ee031944d39baadbdd29e98dadc536342c7bd60 100644 (file)
@@ -6,8 +6,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-certifi
-PKG_VERSION:=2019.3.9
-PKG_RELEASE:=2
+PKG_VERSION:=2019.6.16
+PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
 PKG_LICENSE:=MPL-2.0
@@ -15,7 +15,7 @@ PKG_LICENSE_FILES:=LICENSE
 
 PKG_SOURCE:=certifi-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/c/certifi
-PKG_HASH:=b26104d6835d1f5e49452a26eb2ff87fe7090b89dfcaee5ea2212697e1e1d7ae
+PKG_HASH:=945e3ba63a0b9f577b1395204e13c3a231f9bc0223888be653286534e5873695
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-certifi-$(PKG_VERSION)
 
index ec364aa8820c59a06d9d76d3c79751681f970ed4..a7b2b92ae463529a4c2eac8201860e8633c65ba6 100644 (file)
@@ -5,12 +5,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pycurl
-PKG_VERSION:=7.43.0.2
-PKG_RELEASE:=2
+PKG_VERSION:=7.43.0.3
+PKG_RELEASE:=1
 
 PKG_SOURCE:=pycurl-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pycurl
-PKG_HASH:=0f0cdfc7a92d4f2a5c44226162434e34f7d6967d3af416a6f1448649c09a25a4
+PKG_HASH:=6f08330c5cf79fa8ef68b9912b9901db7ffd34b63e225dce74db56bb21deda8e
 
 PKG_MAINTAINER:=Waldemar Konik <informatyk74@interia.pl>
 PKG_LICENSE:=LGPL-2.1
diff --git a/lang/python/python-curl/patches/0001-support-for-mbedTLS.patch b/lang/python/python-curl/patches/0001-support-for-mbedTLS.patch
deleted file mode 100644 (file)
index 58112ee..0000000
+++ /dev/null
@@ -1,263 +0,0 @@
-From bb7d7a803665005cc72ad68a388e9e937ff3d2f6 Mon Sep 17 00:00:00 2001
-From: Josef Schlehofer <pepe.schlehofer@gmail.com>
-Date: Sat, 23 Mar 2019 21:02:17 +0100
-Subject: [PATCH] support for mbedTLS
-
----
- INSTALL.rst           |  4 ++--
- doc/thread-safety.rst |  2 +-
- setup.py              | 28 +++++++++++++++++++++-------
- src/module.c          |  6 ++++--
- src/pycurl.h          |  7 ++++++-
- src/threadsupport.c   | 39 +++++++++++++++++++++++++++++++++++++++
- 6 files changed, 73 insertions(+), 13 deletions(-)
-
-diff --git a/INSTALL.rst b/INSTALL.rst
-index 8ad8b4f..da70d25 100644
---- a/INSTALL.rst
-+++ b/INSTALL.rst
-@@ -53,7 +53,7 @@ It will then fail at runtime as follows::
- To fix this, you need to tell ``setup.py`` what SSL backend is used::
--    python setup.py --with-[openssl|gnutls|nss] install
-+    python setup.py --with-[openssl|gnutls|nss|mbedtls] install
- Note: as of PycURL 7.21.5, setup.py accepts ``--with-openssl`` option to
- indicate that libcurl is built against OpenSSL. ``--with-ssl`` is an alias
-@@ -85,7 +85,7 @@ environment variable::
- The same applies to the SSL backend, if you need to specify it (see the SSL
- note above)::
--    export PYCURL_SSL_LIBRARY=[openssl|gnutls|nss]
-+    export PYCURL_SSL_LIBRARY=[openssl|gnutls|nss|mbedtls]
-     easy_install pycurl
-diff --git a/doc/thread-safety.rst b/doc/thread-safety.rst
-index 5ba3f3e..ae2b9e5 100644
---- a/doc/thread-safety.rst
-+++ b/doc/thread-safety.rst
-@@ -21,7 +21,7 @@ For Python programs using PycURL, this means:
-   Python code *outside of a libcurl callback for the PycURL object in question*
-   is unsafe.
--PycURL handles the necessary SSL locks for OpenSSL/LibreSSL, GnuTLS and NSS.
-+PycURL handles the necessary SSL locks for OpenSSL/LibreSSL, GnuTLS, NSS and mbedTLS.
- A special situation exists when libcurl uses the standard C library
- name resolver (i.e., not threaded nor c-ares resolver). By default libcurl
-diff --git a/setup.py b/setup.py
-index e1e6925..5ab437f 100644
---- a/setup.py
-+++ b/setup.py
-@@ -143,6 +143,7 @@ class ExtensionConfiguration(object):
-             '--with-ssl': self.using_openssl,
-             '--with-gnutls': self.using_gnutls,
-             '--with-nss': self.using_nss,
-+            '--with-mbedtls': self.using_mbedtls,
-         }
-     def detect_ssl_option(self):
-@@ -152,20 +153,20 @@ class ExtensionConfiguration(object):
-                     if option != other_option:
-                         if scan_argv(self.argv, other_option) is not None:
-                             raise ConfigurationError('Cannot give both %s and %s' % (option, other_option))
--                
-+
-                 return option
-     def detect_ssl_backend(self):
-         ssl_lib_detected = False
--        
-+
-         if 'PYCURL_SSL_LIBRARY' in os.environ:
-             ssl_lib = os.environ['PYCURL_SSL_LIBRARY']
--            if ssl_lib in ['openssl', 'gnutls', 'nss']:
-+            if ssl_lib in ['openssl', 'gnutls', 'nss', 'mbedtls']:
-                 ssl_lib_detected = True
-                 getattr(self, 'using_%s' % ssl_lib)()
-             else:
-                 raise ConfigurationError('Invalid value "%s" for PYCURL_SSL_LIBRARY' % ssl_lib)
--        
-+
-         option = self.detect_ssl_option()
-         if option:
-             ssl_lib_detected = True
-@@ -194,6 +195,10 @@ class ExtensionConfiguration(object):
-                         self.using_nss()
-                         ssl_lib_detected = True
-                         break
-+                    if arg[2:] == 'mbedtls':
-+                        self.using_nss()
-+                        ssl_lib_detected = True
-+                        break
-         if not ssl_lib_detected and len(self.argv) == len(self.original_argv) \
-                 and not os.environ.get('PYCURL_CURL_CONFIG') \
-@@ -201,7 +206,7 @@ class ExtensionConfiguration(object):
-             # this path should only be taken when no options or
-             # configuration environment variables are given to setup.py
-             ssl_lib_detected = self.detect_ssl_lib_on_centos6()
--            
-+
-         self.ssl_lib_detected = ssl_lib_detected
-     def curl_config(self):
-@@ -301,7 +306,7 @@ class ExtensionConfiguration(object):
-             if errtext:
-                 msg += ":\n" + errtext
-             raise ConfigurationError(msg)
--            
-+
-         # hack
-         self.sslhintbuf = sslhintbuf
-@@ -327,7 +332,7 @@ specify the SSL backend manually.''')
-                 self.library_dirs.append(arg[2:])
-             else:
-                 self.extra_link_args.append(arg)
--            
-+
-         if not self.libraries:
-             self.libraries.append("curl")
-@@ -354,6 +359,9 @@ specify the SSL backend manually.''')
-         elif ssl_version.startswith('NSS/'):
-             self.using_nss()
-             ssl_lib_detected = True
-+        elif ssl_version.startswith('mbedTLS/'):
-+            self.using_mbedtls()
-+            ssl_lib_detected = 'mbedtls'
-         return ssl_lib_detected
-     def detect_ssl_lib_on_centos6(self):
-@@ -505,6 +513,11 @@ specify the SSL backend manually.''')
-         self.libraries.append('ssl3')
-         self.define_macros.append(('HAVE_CURL_SSL', 1))
-+    def using_mbedtls(self):
-+        self.define_macros.append(('HAVE_CURL_MBEDTLS', 1))
-+        self.libraries.append('mbedtls')
-+        self.define_macros.append(('HAVE_CURL_SSL', 1))
-+
- def get_bdist_msi_version_hack():
-     # workaround for distutils/msi version requirement per
-     # epydoc.sourceforge.net/stdlib/distutils.version.StrictVersion-class.html -
-@@ -871,6 +884,7 @@ PycURL Unix options:
-  --with-ssl                          legacy alias for --with-openssl
-  --with-gnutls                       libcurl is linked against GnuTLS
-  --with-nss                          libcurl is linked against NSS
-+ --with-mbedtls                      libcurl is linked against mbedTLS
- '''
- windows_help = '''\
-diff --git a/src/module.c b/src/module.c
-index 2331ae8..7fdb25a 100644
---- a/src/module.c
-+++ b/src/module.c
-@@ -328,7 +328,7 @@ initpycurl(void)
-     PyObject *collections_module = NULL;
-     PyObject *named_tuple = NULL;
-     PyObject *arglist = NULL;
--    
-+
-     assert(Curl_Type.tp_weaklistoffset > 0);
-     assert(CurlMulti_Type.tp_weaklistoffset > 0);
-     assert(CurlShare_Type.tp_weaklistoffset > 0);
-@@ -355,6 +355,8 @@ initpycurl(void)
-         runtime_ssl_lib = "gnutls";
-     } else if (!strncmp(vi->ssl_version, "NSS/", 4)) {
-         runtime_ssl_lib = "nss";
-+    } else if (!strncmp(vi->ssl_version, "mbedTLS/", 2)) {
-+        runtime_ssl_lib = "mbedtls";
-     } else {
-         runtime_ssl_lib = "none/other";
-     }
-@@ -461,7 +463,7 @@ initpycurl(void)
-     /* constants for ioctl callback argument values */
-     insint_c(d, "IOCMD_NOP", CURLIOCMD_NOP);
-     insint_c(d, "IOCMD_RESTARTREAD", CURLIOCMD_RESTARTREAD);
--    
-+
-     /* opensocketfunction return value */
-     insint_c(d, "SOCKET_BAD", CURL_SOCKET_BAD);
-diff --git a/src/pycurl.h b/src/pycurl.h
-index 65290f7..2294cb8 100644
---- a/src/pycurl.h
-+++ b/src/pycurl.h
-@@ -174,6 +174,11 @@ pycurl_inet_ntop (int family, void *addr, char *string, size_t string_size);
- #   define COMPILE_SSL_LIB "gnutls"
- # elif defined(HAVE_CURL_NSS)
- #   define COMPILE_SSL_LIB "nss"
-+# elif defined(HAVE_CURL_MBEDTLS)
-+#   include <mbedtls/ssl.h>
-+#   define PYCURL_NEED_SSL_TSL
-+#   define PYCURL_NEED_MBEDTLS_TSL
-+#   define COMPILE_SSL_LIB "mbedtls"
- # else
- #  ifdef _MSC_VER
-     /* sigh */
-@@ -190,7 +195,7 @@ pycurl_inet_ntop (int family, void *addr, char *string, size_t string_size);
-    /* since we have no crypto callbacks for other ssl backends,
-     * no reason to require users match those */
- #  define COMPILE_SSL_LIB "none/other"
--# endif /* HAVE_CURL_OPENSSL || HAVE_CURL_GNUTLS || HAVE_CURL_NSS */
-+# endif /* HAVE_CURL_OPENSSL || HAVE_CURL_GNUTLS || HAVE_CURL_NSS || HAVE_CURL_MBEDTLS */
- #else
- # define COMPILE_SSL_LIB "none/other"
- #endif /* HAVE_CURL_SSL */
-diff --git a/src/threadsupport.c b/src/threadsupport.c
-index 6ca07f5..51abffd 100644
---- a/src/threadsupport.c
-+++ b/src/threadsupport.c
-@@ -232,6 +232,45 @@ pycurl_ssl_cleanup(void)
- }
- #endif
-+/* mbedTLS */
-+
-+#ifdef PYCURL_NEED_MBEDTLS_TSL
-+static int
-+pycurl_ssl_mutex_create(void **m)
-+{
-+    if ((*((PyThread_type_lock *) m) = PyThread_allocate_lock()) == NULL) {
-+        return -1;
-+    } else {
-+        return 0;
-+    }
-+}
-+
-+static int
-+pycurl_ssl_mutex_destroy(void **m)
-+{
-+    PyThread_free_lock(*((PyThread_type_lock *) m));
-+    return 0;
-+}
-+
-+static int
-+pycurl_ssl_mutex_lock(void **m)
-+{
-+    return !PyThread_acquire_lock(*((PyThread_type_lock *) m), 1);
-+}
-+
-+PYCURL_INTERNAL int
-+pycurl_ssl_init(void)
-+{
-+    return 0;
-+}
-+
-+PYCURL_INTERNAL void
-+pycurl_ssl_cleanup(void)
-+{
-+    return;
-+}
-+#endif
-+
- /*************************************************************************
- // CurlShareObject
- **************************************************************************/
--- 
-2.17.0.windows.1
-
index 1fec0d5492984729018ce8999bfc4c11dc70380b..b3acbd104c1a297779983e1ebfd85406483728d7 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-pytz
 PKG_VERSION:=2019.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=pytz-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pytz
@@ -21,15 +21,11 @@ PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE.txt
 
-HOST_BUILD_DEPENDS:=python/host
-
-include $(INCLUDE_DIR)/host-build.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python-package.mk
 include ../python3-package.mk
 
 PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
-HOST_UNPACK:=$(HOST_TAR) -C $(HOST_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
 
 define Package/python-pytz/Default
   SUBMENU:=Python
@@ -62,14 +58,6 @@ $(call Package/python-pytz/description)
 (Variant for Python3)
 endef
 
-define Host/Compile
-       $(call Build/Compile/HostPyMod,,install --prefix="" --root="$(STAGING_DIR_HOSTPKG)")
-endef
-
-Host/Install:=
-
-$(eval $(call HostBuild))
-
 $(eval $(call PyPackage,python-pytz))
 $(eval $(call BuildPackage,python-pytz))
 $(eval $(call BuildPackage,python-pytz-src))
index b858822cddd79602a92341f874ab5e78ce96d588..9f0c0b473891f6c606e693228b5a207409f972c6 100644 (file)
@@ -13,7 +13,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=boost
 PKG_VERSION:=1.70.0
 PKG_SOURCE_VERSION:=1_70_0
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 
 PKG_SOURCE:=$(PKG_NAME)_$(PKG_SOURCE_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/$(PKG_NAME)/$(PKG_NAME)/$(PKG_VERSION) https://dl.bintray.com/boostorg/release/$(PKG_VERSION)/source/
@@ -294,16 +294,6 @@ define Package/boost/config
                )
        endmenu
 
-       menu "Select Boost libraries for Host build"
-               comment  "Libraries for Host build"
-
-               $(foreach lib,$(BOOST_LIBS), \
-               config boost-host-build-$(lib)
-                       bool "Boost $(lib) $(if $(findstring python,$(lib)),$(paren_left)v$(if $(findstring 3,$(lib)),$(BOOST_PYTHON3_VER),$(BOOST_PYTHON_VER))$(paren_right) ,)library."
-                       default n
-               )
-       endmenu
-
 endef
 
 PKG_CONFIG_DEPENDS:= CONFIG_PACKAGE_boost-test
@@ -326,7 +316,6 @@ define DefineBoostLibrary
 
   BOOST_DEPENDS+= +$(if $(4),$(4):boost-$(1),boost-$(1))
   PKG_CONFIG_DEPENDS+= CONFIG_PACKAGE_boost-$(1)
-  HOST_CONFIG_DEPENDS+= CONFIG_boost-host-build-$(1)
 
   BOOST_LIBS+= $(1)
 
@@ -379,11 +368,8 @@ define Host/Compile
        ( cd $(HOST_BUILD_DIR)/tools/build/src/engine ; ./build.sh gcc )
 
        ( cd $(HOST_BUILD_DIR) ; \
-               ./bootstrap.sh --prefix=$(STAGING_DIR_HOST) \
-                       --with-libraries=$(subst $() $(),$(comma),$(strip \
-                               headers \
-                               $(foreach lib,$(BOOST_LIBS), \
-                                       $(if $(findstring python,$(lib)),,$(if $(CONFIG_boost-host-build-$(lib)),$(lib)))))) ; \
+               ./bootstrap.sh --prefix=$(STAGING_DIR_HOSTPKG) \
+                       --with-libraries=atomic,chrono,date_time,filesystem,headers,thread,system ;\
                ./b2 --ignore-site-config install )
 endef
 
index 5bd4e1965e13433b4eeecce1dbcac7ef83a4849c..823436fd8e38991f61d3310ab5f0cda198487b32 100644 (file)
@@ -1,49 +1,53 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fbthrift
-PKG_VERSION:=2019.05.27.00
-PKG_RELEASE:=1
-PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com>
+PKG_VERSION:=2019.06.10.00
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/facebook/fbthrift/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=7c56dae532e60844520cef4ce03abd4911323fe340fdee0cc3a6a3e8adb09e3f
+PKG_HASH:=0897c66564a2742b24dd6ae77812b42987c3493944d1d5d40d4005d71deb7cb5
 
+PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com>
+PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 
+HOST_BUILD_DEPENDS:=libmstch/host
 PKG_BUILD_DEPENDS:=fbthrift/host
-HOST_BUILD_DEPENDS:=boost/host libmstch/host
+
+HOST_BUILD_PARALLEL:=1
+PKG_BUILD_PARALLEL:=1
+CMAKE_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/host-build.mk
 include $(INCLUDE_DIR)/cmake.mk
 
-HOST_BUILD_PREFIX:=$(STAGING_DIR_HOST)
-
-PKG_BUILD_PARALLEL:=1
-HOST_BUILD_PARALLEL:=1
-CMAKE_OPTIONS:= \
-       -DBoost_NO_BOOST_CMAKE=ON \
-       -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-       -DBUILD_SHARED_LIBS=ON
-CMAKE_HOST_OPTIONS:= \
-       -DBoost_NO_BOOST_CMAKE=ON \
-       -Dcompiler_only=ON
-HOST_LDFLAGS:=-Wl,-rpath=$(STAGING_DIR_HOST)/lib
-CMAKE_INSTALL:=1
-
 define Package/fbthrift
        SECTION:=libs
        CATEGORY:=Libraries
        TITLE:=Facebook's branch of Apache Thrift, including a new C++ server.
-       DEPENDS:=+libwangle +libfmt +libmstch +librsocket-cpp +@boost-host-build-filesystem \
-               +@boost-host-build-thread +@boost-host-build-system
+       DEPENDS:=+libwangle +libfmt +librsocket-cpp
 endef
 
 define Package/fbthrift/description
        Facebook's branch of Apache Thrift, including a new C++ server.
 endef
 
+CMAKE_HOST_OPTIONS += \
+       -DBoost_NO_BOOST_CMAKE=ON \
+       -DCMAKE_SKIP_RPATH=FALSE \
+       -DCMAKE_INSTALL_RPATH="${STAGING_DIR_HOSTPKG}/lib" \
+       -Dcompiler_only=ON
+
+CMAKE_OPTIONS += \
+       -DBoost_NO_BOOST_CMAKE=ON \
+       -DBUILD_SHARED_LIBS=ON \
+       -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
+       -Dlib_only=ON \
+       -DTHRIFT1="$(STAGING_DIR_HOSTPKG)/bin/thrift1" \
+       -DTHRIFT_COMPILER_INCLUDE="$(STAGING_DIR_HOSTPKG)/include/"
+
 define Package/fbthrift/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib/
diff --git a/libs/fbzmq/Makefile b/libs/fbzmq/Makefile
new file mode 100644 (file)
index 0000000..f25ed7c
--- /dev/null
@@ -0,0 +1,45 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=fbzmq
+PKG_VERSION:=2019.06.10.00
+PKG_RELEASE:=2
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/facebook/fbzmq/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=9bb9b2bd42951fa3458b5d6d25f3364c14a7efa3b78bef68a6c00ee6fcba5813
+
+PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+CMAKE_SOURCE_SUBDIR:=fbzmq
+PKG_BUILD_PARALLEL:=1
+CMAKE_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/fbzmq
+       SECTION:=libs
+       CATEGORY:=Libraries
+       TITLE:=Facebook ZeroMQ wrappers.
+       DEPENDS:=+fbthrift +libzmq +libsigar
+endef
+
+define Package/fbzmq/description
+       Facebook ZeroMQ wrappers.
+endef
+
+CMAKE_OPTIONS += \
+       -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
+       -DBUILD_TESTS=OFF \
+       -DBUILD_SHARED_LIBS=ON \
+       -DTHRIFT1="$(STAGING_DIR_HOSTPKG)/bin/thrift1" \
+       -DTHRIFT_COMPILER_INCLUDE="$(STAGING_DIR_HOSTPKG)/include/"
+
+define Package/fbzmq/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfbzmq.so* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,fbzmq))
index 3c50d3acff87765724b4da47387677185b70900f..dfa2e591038728a8fb24b15fcac6747753564a9d 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ibrcommon
 PKG_VERSION:=1.0.1
-PKG_RELEASE:=6
+PKG_RELEASE:=7
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases
@@ -20,12 +20,13 @@ PKG_LICENSE:=Apache-2.0
 PKG_INSTALL:=1
 PKG_FIXUP:=libtool
 
+include $(INCLUDE_DIR)/uclibc++.mk
 include $(INCLUDE_DIR)/package.mk
 
 define Package/ibrcommon
   SECTION:=libs
   CATEGORY:=Libraries
-  DEPENDS:=+libstdcpp +libpthread +librt +libnl +libopenssl
+  DEPENDS:=$(CXX_DEPENDS) +librt +libnl +libopenssl
   TITLE:=IBR Common C++ Library
 endef
 
index a510c78619919a241455fe3ed4db62659f806c30..c4aceba12c29bc09d7aa8bc8be000bb0cb3a0792 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ibrdtn
 PKG_VERSION:=1.0.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases
@@ -20,6 +20,7 @@ PKG_LICENSE:=Apache-2.0
 PKG_INSTALL:=1
 PKG_FIXUP:=libtool
 
+include $(INCLUDE_DIR)/uclibc++.mk
 include $(INCLUDE_DIR)/package.mk
 
 define Package/ibrdtn
diff --git a/libs/ibrdtn/patches/010-Add-operator-to-Bundle-block_elem.patch b/libs/ibrdtn/patches/010-Add-operator-to-Bundle-block_elem.patch
new file mode 100644 (file)
index 0000000..fe53508
--- /dev/null
@@ -0,0 +1,25 @@
+From 199c86591edc7e82b92903efecadc4f69ea63370 Mon Sep 17 00:00:00 2001
+From: Johannes Morgenroth <jm@m-network.de>
+Date: Tue, 1 Jan 2019 11:25:50 +0100
+Subject: [PATCH] Add operator!=() to Bundle::block_elem
+
+Alternative implementations of libstdcpp as uclibc++ use it in
+the algorithm implemenetations.
+---
+ ibrdtn/data/Bundle.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/ibrdtn/data/Bundle.h b/ibrdtn/data/Bundle.h
+index 036a2a6fb..9bbc066d7 100644
+--- a/ibrdtn/data/Bundle.h
++++ b/ibrdtn/data/Bundle.h
+@@ -69,6 +69,9 @@ namespace dtn
+                               bool operator==(const dtn::data::block_t &type) const {
+                                       return (**this) == type;
+                               }
++                              bool operator!=(const dtn::data::block_t &type) const {
++                                      return !((**this) == type);
++                              }
+                       };
+                       typedef std::list<block_elem> block_list;
diff --git a/libs/ibrdtn/patches/020-Use-const-iterator-in-const-function-of-MemoryBundle.patch b/libs/ibrdtn/patches/020-Use-const-iterator-in-const-function-of-MemoryBundle.patch
new file mode 100644 (file)
index 0000000..d1e2c58
--- /dev/null
@@ -0,0 +1,22 @@
+From 6945698778caf7cdaace9ce8dae82162dbe2ee9f Mon Sep 17 00:00:00 2001
+From: Johannes Morgenroth <jm@m-network.de>
+Date: Thu, 3 Jan 2019 07:26:51 +0100
+Subject: [PATCH] Use const iterator in const function of MemoryBundleSet
+
+---
+ ibrdtn/data/MemoryBundleSet.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ibrdtn/data/MemoryBundleSet.cpp b/ibrdtn/data/MemoryBundleSet.cpp
+index 987342e6d..b67fdd393 100644
+--- a/ibrdtn/data/MemoryBundleSet.cpp
++++ b/ibrdtn/data/MemoryBundleSet.cpp
+@@ -134,7 +134,7 @@ namespace dtn
+                               // the bundles set. This happen if the MemoryBundleSet gets deserialized.
+                               if (!_consistent) return true;
+-                              bundle_set::iterator iter = _bundles.find(dtn::data::MetaBundle::create(bundle));
++                              bundle_set::const_iterator iter = _bundles.find(dtn::data::MetaBundle::create(bundle));
+                               return (iter != _bundles.end());
+                       }
diff --git a/libs/ibrdtn/patches/030-Use-std-streamoff-instead-of-std-streampos.patch b/libs/ibrdtn/patches/030-Use-std-streamoff-instead-of-std-streampos.patch
new file mode 100644 (file)
index 0000000..0e29a13
--- /dev/null
@@ -0,0 +1,41 @@
+From 1395d849d73147319ee422d2ce34de0bcb90e6f8 Mon Sep 17 00:00:00 2001
+From: Johannes Morgenroth <jm@m-network.de>
+Date: Thu, 3 Jan 2019 07:34:14 +0100
+Subject: [PATCH] Use std::streamoff instead of std::streampos
+
+---
+ ibrdtn/data/BundleMerger.cpp | 2 +-
+ ibrdtn/data/Dictionary.cpp   | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/ibrdtn/data/BundleMerger.cpp b/ibrdtn/data/BundleMerger.cpp
+index 1cd20c522..b71a0849b 100644
+--- a/ibrdtn/data/BundleMerger.cpp
++++ b/ibrdtn/data/BundleMerger.cpp
+@@ -119,7 +119,7 @@ namespace dtn
+                       }
+                       ibrcommon::BLOB::iostream stream = c._blob.iostream();
+-                      (*stream).seekp(obj.fragmentoffset.get<std::streampos>());
++                      (*stream).seekp(obj.fragmentoffset.get<std::streamoff>());
+                       const dtn::data::PayloadBlock &p = obj.find<dtn::data::PayloadBlock>();
+                       const Length plength = p.getLength();
+diff --git a/ibrdtn/data/Dictionary.cpp b/ibrdtn/data/Dictionary.cpp
+index 6299e66f3..208f90488 100644
+--- a/ibrdtn/data/Dictionary.cpp
++++ b/ibrdtn/data/Dictionary.cpp
+@@ -154,11 +154,11 @@ namespace dtn
+               {
+                       char buffer[1024];
+-                      _bytestream.seekg(scheme.get<std::streampos>());
++                      _bytestream.seekg(scheme.get<std::streamoff>());
+                       _bytestream.get(buffer, 1024, '\0');
+                       std::string scheme_str(buffer);
+-                      _bytestream.seekg(ssp.get<std::streampos>());
++                      _bytestream.seekg(ssp.get<std::streamoff>());
+                       _bytestream.get(buffer, 1024, '\0');
+                       std::string ssp_str(buffer);
diff --git a/libs/ibrdtn/patches/040-Add-operator-to-BundleID-and-MetaBundle.patch b/libs/ibrdtn/patches/040-Add-operator-to-BundleID-and-MetaBundle.patch
new file mode 100644 (file)
index 0000000..df9f27f
--- /dev/null
@@ -0,0 +1,53 @@
+From a5b9c2feeaabbd90c9734c5d865d471eed0d5e3a Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Thu, 28 Mar 2019 01:55:15 -0700
+Subject: [PATCH] Add operator!=() to BundleID and MetaBundle
+
+Needed for uClibc++.
+
+Signed-off-by: Rosen Penev <rosenp@gmail.com>
+---
+ ibrdtn/data/Bundle.cpp | 10 ++++++++++
+ ibrdtn/data/Bundle.h   |  2 ++
+ 2 files changed, 12 insertions(+)
+
+diff --git a/ibrdtn/data/Bundle.cpp b/ibrdtn/data/Bundle.cpp
+index f515860..943544e 100644
+--- a/ibrdtn/data/Bundle.cpp
++++ b/ibrdtn/data/Bundle.cpp
+@@ -71,11 +71,21 @@ namespace dtn
+                       return other == (const PrimaryBlock&)(*this);
+               }
++              bool Bundle::operator!=(const BundleID& other) const
++              {
++                      return other != (const PrimaryBlock&)(*this);
++              }
++
+               bool Bundle::operator==(const MetaBundle& other) const
+               {
+                       return other == (const PrimaryBlock&)(*this);
+               }
++              bool Bundle::operator!=(const MetaBundle& other) const
++              {
++                      return other != (const PrimaryBlock&)(*this);
++              }
++
+               bool Bundle::operator!=(const Bundle& other) const
+               {
+                       return (const PrimaryBlock&)(*this) != (const PrimaryBlock&)other;
+diff --git a/ibrdtn/data/Bundle.h b/ibrdtn/data/Bundle.h
+index 9bbc066..6a4ea47 100644
+--- a/ibrdtn/data/Bundle.h
++++ b/ibrdtn/data/Bundle.h
+@@ -97,7 +97,9 @@ namespace dtn
+                       virtual ~Bundle();
+                       bool operator==(const BundleID& other) const;
++                      bool operator!=(const BundleID& other) const;
+                       bool operator==(const MetaBundle& other) const;
++                      bool operator!=(const MetaBundle& other) const;
+                       bool operator==(const Bundle& other) const;
+                       bool operator!=(const Bundle& other) const;
index 3f5681fdc8fbe978479003485f12afc8563fd37a..1052cac32fad94516d7ac6dcf5c2eea66444f2d4 100644 (file)
@@ -1,27 +1,25 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libfizz
-PKG_VERSION:=2019.05.27.00
+PKG_VERSION:=2019.06.10.00
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/facebookincubator/fizz/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=d3f5325717a2af3684a41889d45b19e975cfff177faffdfaab8cb63df4e0318c
+PKG_HASH:=29a9b2d020b70b83bf27fa6332c07c4ae9cca3b82c5ac9214220a815d7f1fe7f
 PKG_BUILD_DIR:=$(BUILD_DIR)/fizz-$(PKG_VERSION)
 
+PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com>
 PKG_LICENSE:=BSD
 PKG_LICENSE_FILES:=LICENSE
 
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
-
 PKG_BUILD_PARALLEL:=1
 CMAKE_SOURCE_SUBDIR:=fizz
-CMAKE_OPTIONS:= \
-       -DBUILD_EXAMPLES=OFF \
-       -DBUILD_SHARED_LIBS=ON
 CMAKE_INSTALL:=1
 
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
 define Package/libfizz
        SECTION:=libs
        CATEGORY:=Libraries
@@ -35,6 +33,10 @@ define Package/libfizz/description
        Fizz currently supports TLS 1.3 drafts 28, 26 (both wire-compatible with the final specification), and 23.
 endef
 
+CMAKE_OPTIONS += \
+       -DBUILD_EXAMPLES=OFF \
+       -DBUILD_SHARED_LIBS=ON
+
 define Package/libfizz/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfizz.so* $(1)/usr/lib/
index 73df0725f73d3943fce3f3eee167e8558ae4d221..b731a7d695513a38e18282779aac6d211bd72070 100644 (file)
@@ -1,40 +1,32 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libfolly
-PKG_VERSION:=2019.05.27.00
-PKG_RELEASE:=1
+PKG_VERSION:=2019.06.10.00
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/facebook/folly/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=7535937e4b4bde14e6c854dc55a5fe9f290ccf1918621f20678ebecd0c1239e1
+PKG_HASH:=afecd68815a83865d95a3a6b861abe8096beefae45c89566e0d510279b631b57
 PKG_BUILD_DIR:=$(BUILD_DIR)/folly-$(PKG_VERSION)
 
+PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com>
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
-
 PKG_BUILD_PARALLEL:=1
-CMAKE_OPTIONS:= \
-       -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-       -DCXX_STD=gnu++14 \
-       -DFOLLY_HAVE_UNALIGNED_ACCESS_EXITCODE=OFF \
-       -DFOLLY_HAVE_LINUX_VDSO_EXITCODE=OFF \
-       -DFOLLY_HAVE_WCHAR_SUPPORT_EXITCODE=OFF \
-       -DHAVE_VSNPRINTF_ERRORS_EXITCODE=OFF \
-       -DFOLLY_HAVE_XSI_STRERROR_R_EXITCODE=0 \
-       -DBUILD_SHARED_LIBS=ON
 CMAKE_INSTALL:=1
 
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
 define Package/libfolly
        SECTION:=libs
        CATEGORY:=Libraries
        TITLE:=An open-source C++ library developed and used at Facebook.
        URL:=https://github.com/facebook/folly
        DEPENDS:=+boost +boost-context +boost-date_time +boost-filesystem +boost-program_options +boost-regex \
-               +libopenssl +libdouble-conversion +libevent2 +glog +libsodium +libaio +libunwind +libatomic \
-               +libbz2 +zlib +libzstd +liblzma +liblz4
+               +libopenssl +libdouble-conversion +libevent2 +glog +libsodium +libaio +libatomic \
+               +libbz2 +zlib +libzstd +liblzma +liblz4 +PACKAGE_libunwind:libunwind
 endef
 
 define Package/libfolly/description
@@ -45,6 +37,16 @@ define Package/libfolly/description
        This package includes the shared library.
 endef
 
+CMAKE_OPTIONS += \
+       -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
+       -DCXX_STD=gnu++14 \
+       -DFOLLY_HAVE_UNALIGNED_ACCESS_EXITCODE=OFF \
+       -DFOLLY_HAVE_LINUX_VDSO_EXITCODE=OFF \
+       -DFOLLY_HAVE_WCHAR_SUPPORT_EXITCODE=OFF \
+       -DHAVE_VSNPRINTF_ERRORS_EXITCODE=OFF \
+       -DFOLLY_HAVE_XSI_STRERROR_R_EXITCODE=0 \
+       -DBUILD_SHARED_LIBS=ON
+
 define Package/libfolly/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfolly*.so* $(1)/usr/lib/
diff --git a/libs/libfolly/patches/102-uclibc-patches.patch b/libs/libfolly/patches/102-uclibc-patches.patch
new file mode 100644 (file)
index 0000000..7a68fb9
--- /dev/null
@@ -0,0 +1,23 @@
+--- a/folly/CachelinePadded.h
++++ b/folly/CachelinePadded.h
+@@ -35,10 +35,6 @@ namespace folly {
+  */
+ template <typename T>
+ class CachelinePadded {
+-  static_assert(
+-      alignof(T) <= max_align_v,
+-      "CachelinePadded does not support over-aligned types.");
+-
+  public:
+   template <typename... Args>
+   explicit CachelinePadded(Args&&... args)
+--- a/folly/external/farmhash/farmhash.cpp
++++ b/folly/external/farmhash/farmhash.cpp
+@@ -181,6 +181,7 @@
+ #undef bswap_32
+ #undef bswap_64
++#undef _BYTESWAP_H
+ #include <byteswap.h>
+ #endif
diff --git a/libs/libfolly/patches/103-arm-yield.patch b/libs/libfolly/patches/103-arm-yield.patch
new file mode 100644 (file)
index 0000000..f869526
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/folly/portability/Asm.h
++++ b/folly/portability/Asm.h
+@@ -38,7 +38,7 @@ inline void asm_volatile_pause() {
+   ::_mm_pause();
+ #elif defined(__i386__) || FOLLY_X64
+   asm volatile("pause");
+-#elif FOLLY_AARCH64 || defined(__arm__)
++#elif FOLLY_AARCH64 || (defined(__arm__) && !(__ARM_ARCH < 7))
+   asm volatile("yield");
+ #elif FOLLY_PPC64
+   asm volatile("or 27,27,27");
index 5f2a7520b35dddd7967c106388ab5bd7b34a6fba..9c748811e84eb47f4a1cb18a6b58e116e7171c57 100644 (file)
@@ -1,23 +1,20 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libgabe
-PKG_VERSION:=0.99
-PKG_RELEASE:=2
+PKG_VERSION:=1.0
+PKG_RELEASE:=1
 
-PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/schanzen/libgabe/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=2a8c151a90c9ad8eaad073c8ad1482d66875e3433b0b4fd1e08424c0fc89e877
 
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 PKG_LICENSE:=GPLv2
 PKG_LICENSE_FILES:=COPYING
 
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_URL:=https://github.com/schanzen/libgabe.git
-PKG_SOURCE_VERSION:=a082729326155207312a5fc280d17844b69450f2
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.xz
-PKG_MIRROR_HASH:=74046e8c5657d2e5bcdc0e806983ad4e205a0ed0945f8ab802d7fe564c32e9bd
-
 PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
diff --git a/libs/libgabe/patches/010-shared-library.patch b/libs/libgabe/patches/010-shared-library.patch
new file mode 100644 (file)
index 0000000..4524756
--- /dev/null
@@ -0,0 +1,51 @@
+From 9a0e73c5f6cbcf825eced89d26273a24f7266522 Mon Sep 17 00:00:00 2001
+From: "Schanzenbach, Martin" <martin.schanzenbach@aisec.fraunhofer.de>
+Date: Sun, 30 Sep 2018 20:38:37 +0200
+Subject: [PATCH] shared library
+
+---
+ Makefile.in | 13 ++++++-------
+ 1 file changed, 6 insertions(+), 7 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index f23bf90..c8c19fa 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -18,13 +18,12 @@ LDFLAGS = @LDFLAGS@ \
+ DISTNAME = @PACKAGE_TARNAME@-@PACKAGE_VERSION@
+-all: libgabe.a TAGS
++all: libgabe.so TAGS
+ # compilation and library making
+-libgabe.a: core.o misc.o
+-      rm -f $@
+-      ar rc $@ $^
++libgabe.so: core.o misc.o
++      $(CC) -shared -o $@ $^
+ # test: test.o libgabe.a
+ #     $(CC) -o $@ $(LDFLAGS) $^
+@@ -44,14 +43,14 @@ dist: AUTHORS COPYING INSTALL NEWS README \
+       tar zc $(DISTNAME) > $(DISTNAME).tar.gz
+       rm -rf $(DISTNAME)
+-install: libgabe.a gabe.h
++install: libgabe.so gabe.h
+       $(top_srcdir)/mkinstalldirs -m 755 $(DESTDIR)$(libdir)
+       $(top_srcdir)/mkinstalldirs -m 755 $(DESTDIR)$(includedir)
+-      $(top_srcdir)/install-sh -m 755 libgabe.a $(DESTDIR)$(libdir)
++      $(top_srcdir)/install-sh -m 755 libgabe.so $(DESTDIR)$(libdir)
+       $(top_srcdir)/install-sh -m 644 gabe.h $(DESTDIR)$(includedir)
+ uninstall:
+-      /bin/rm -f $(DESTDIR)$(libdir)/libgabe.a
++      /bin/rm -f $(DESTDIR)$(libdir)/libgabe.so
+       /bin/rm -f $(DESTDIR)$(includedir)/gabe.h
+ # development and meta stuff
+-- 
+2.17.1
+
index c0d3d88e3ce9d9a52210c38c26685e568e6f2e62..cb741f2005fcdc57f7e0095faab74ae75d17a708 100644 (file)
@@ -9,14 +9,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libgphoto2
-PKG_VERSION:=2.5.22
+PKG_VERSION:=2.5.23
 PKG_RELEASE:=1
 PORT_VERSION:=0.12.0
 PKG_MAINTAINER:=Leonardo Medici <leonardo_medici@me.com>
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/gphoto
-PKG_HASH:=15d7327aa9a986af1e1dbfd8f15ba81352b67450d30e44562ce768ff9435ce58
+PKG_HASH:=d8af23364aa40fd8607f7e073df74e7ace05582f4ba13f1724d12d3c97e8852d
 PKG_LICENSE:=LGPL-2.1
 PKG_LICENSE_FILES:=COPYING
 
@@ -434,7 +434,7 @@ CONFIGURE_ARGS += \
        --enable-shared \
        --enable-static \
        --disable-rpath \
-       --with-camlibs="all" \
+       --with-camlibs="all,outdated" \
        --with-gdlib=no \
        --with-libexif=no \
        --with-libusb=no \
diff --git a/libs/liblz4/Config.in b/libs/liblz4/Config.in
new file mode 100644 (file)
index 0000000..d66fb7d
--- /dev/null
@@ -0,0 +1,7 @@
+config LZ4_OPTIMIZE_SPEED
+       bool "Optimize for speed"
+       depends on PACKAGE_liblz4
+       help
+               This enables additional optimization and
+               increases performance considerably at
+               the expense of binary size.
index 9112a1bc606c41d7182272edf9e822cade1676e5..dd4c848e7df8fd817b58da9360421a11402423e0 100644 (file)
@@ -7,30 +7,38 @@
 
 include $(TOPDIR)/rules.mk
 
-# Although liblz4 exports a major.minor.patch version, it isn't always
-# incremented for new releases. Check the NEWS file and instead use a
-# release tag when appropriate. (eg: PKG_VERSION:=r131)
 PKG_NAME:=liblz4
-PKG_VERSION:=v1.7.5
+PKG_VERSION:=1.9.1
 PKG_RELEASE:=1
 
-PKG_LICENSE:=BSD-2-Clause
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/lz4/lz4/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=f8377c89dad5c9f266edc0be9b73595296ecafd5bfa1000de148096c50052dc4
+PKG_BUILD_DIR:=$(BUILD_DIR)/lz4-$(PKG_VERSION)
+
 PKG_MAINTAINER:=Darik Horn <dajhorn@vanadac.com>
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_MIRROR_HASH:=afb362b970816e06dac4997d26dd7d2cdb83168510228d174d25b1044b271e18
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_URL:=https://github.com/lz4/lz4.git
-PKG_SOURCE_VERSION:=$(PKG_VERSION)
+PKG_BUILD_PARALLEL:=1
+CMAKE_INSTALL:=1
+CMAKE_SOURCE_SUBDIR:=contrib/cmake_unofficial
 
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/lz4/Default
+  SUBMENU:=Compression
+  URL:=https://www.lz4.org/
+endef
 
 define Package/liblz4
-       SECTION:=libs
-       CATEGORY:=Libraries
-       TITLE:=Extremely fast compression
-       URL:=http://www.lz4.org/
+$(call Package/lz4/Default)
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=Extremely fast compression
+  LICENSE:=BSD-2-Clause
+  LICENSE_FILES:=LICENSE lib/LICENSE
+  ABI_VERSION:=$(firstword $(subst .,$(space),$(PKG_VERSION)))
+  MENU:=1
 endef
 
 define Package/liblz4/description
@@ -38,23 +46,45 @@ define Package/liblz4/description
   even faster decoder. This package provides the liblz4 shared library.
 endef
 
-TARGET_CFLAGS += $(FPIC)
+define Package/liblz4/config
+       source "$(SOURCE)/Config.in"
+endef
 
-define Build/Compile
-       $(MAKE) -C "$(PKG_BUILD_DIR)/lib" $(MAKE_INSTALL_FLAGS) \
-         CC="$(TARGET_CC)" \
-         CFLAGS="$(TARGET_CFLAGS)" \
-         PREFIX="$(CONFIGURE_PREFIX)" \
-         install
+define Package/lz4
+$(call Package/lz4/Default)
+  SECTION:=utils
+  CATEGORY:=Utilities
+  TITLE:=Extremely fast compression
+  LICENSE:=GPL-2.0-or-later
+  LICENSE_FILES:=LICENSE programs/COPYING
+  DEPENDS:=+liblz4
 endef
 
-define Build/InstallDev
-       $(CP) $(PKG_INSTALL_DIR)/* $(1)/
+define Package/lz4/description
+  LZ4 - Fast real-time compression algorithm.
+  This package provides the lz4 binaries.
 endef
 
+CMAKE_OPTIONS += \
+       -DCMAKE_INSTALL_MANDIR=/dev/null \
+       -DLZ4_BUILD_LEGACY_LZ4C=OFF
+
+ifeq ($(CONFIG_LZ4_OPTIMIZE_SPEED),y)
+       TARGET_CFLAGS := $(filter-out -O%,$(TARGET_CFLAGS)) -O3
+endif
+
+TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections -flto
+TARGET_LDFLAGS += -Wl,--gc-sections
+
 define Package/liblz4/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblz4.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblz4.so.$(ABI_VERSION)* $(1)/usr/lib/
+endef
+
+define Package/lz4/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/{lz4,lz4cat,unlz4} $(1)/usr/bin/
 endef
 
 $(eval $(call BuildPackage,liblz4))
+$(eval $(call BuildPackage,lz4))
index a5d128552ca8bccfea84563d72e4efbb297ef739..bff939a4e52a34ea986d94b0ed3505dcef76f3f2 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libmstch
 PKG_VERSION:=1.0.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/no1msd/mstch/tar.gz/$(PKG_VERSION)?
@@ -10,36 +10,32 @@ PKG_HASH:=811ed61400d4e9d4f9ae0f7679a2ffd590f0b3c06b16f2798e1f89ab917cba6c
 PKG_BUILD_DIR:=$(BUILD_DIR)/mstch-$(PKG_VERSION)
 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/mstch-$(PKG_VERSION)
 
+PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com>
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE
 
-HOST_BUILD_DEPENDS:=boost boost/host
-
-PKG_BUILD_DEPENDS:=boost
+HOST_BUILD_DEPENDS:=boost/host
+PKG_BUILD_PARALLEL:=1
+CMAKE_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/host-build.mk
 include $(INCLUDE_DIR)/cmake.mk
 
-HOST_BUILD_PREFIX:=$(STAGING_DIR_HOST)
-
-PKG_BUILD_PARALLEL:=1
-CMAKE_INSTALL:=1
-CMAKE_OPTIONS:= \
-       -DCMAKE_POSITION_INDEPENDENT_CODE=True
-
 define Package/libmstch
        SECTION:=libs
        CATEGORY:=Libraries
        TITLE:=Complete implementation of {{mustache}} templates using modern C++
        DEPENDS:=+boost +boost-container
        URL:=https://github.com/no1msd/mstch
-       MAINTAINER:=Amol Bhave <ambhave@fb.com>
 endef
 
 define Package/libmstch/description
        mstch is a complete implementation of {{mustache}} templates using modern C++
 endef
 
+CMAKE_OPTIONS += \
+       -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE
+
 $(eval $(call BuildPackage,libmstch))
 $(eval $(call HostBuild))
index b7b52b4a60a98fbaaa4077a2009a689267328550..6e2dce29d38426412e5282efaa5296c407332d9c 100644 (file)
@@ -9,22 +9,25 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libnatpmp
 PKG_VERSION:=20150609
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://miniupnp.tuxfamily.org/files
 PKG_HASH:=e1aa9c4c4219bc06943d6b2130f664daee213fb262fcb94dd355815b8f4536b0
-PKG_MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de>
-PKG_LICENSE:=BSD-3c
+
+PKG_MAINTAINER:=Rosen Penev <rosenp@gmail.com>
+PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE
 
-PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+CMAKE_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
 
 define Package/libnatpmp/Default
   TITLE:=NAT Port Mapping Protocol (NAT-PMP)
-  URL:=http://miniupnp.free.fr/libnatpmp.html
+  URL:=https://miniupnp.tuxfamily.org/libnatpmp.html
 endef
 
 define Package/libnatpmp/Default/description
@@ -39,6 +42,7 @@ define Package/libnatpmp
   SECTION:=libs
   CATEGORY:=Libraries
   TITLE+= library
+  ABI_VERSION:=1
 endef
 
 define Package/libnatpmp/description
@@ -60,22 +64,9 @@ define Package/natpmpc/description
   This package contains the natpmp client.
 endef
 
-MAKE_FLAGS += \
-       COPTS="$(TARGET_CFLAGS)" \
-       PREFIX="$(PKG_INSTALL_DIR)" \
-       OS="Linux"
-
-define Build/InstallDev
-       $(INSTALL_DIR) $(1)/usr/include
-       $(CP) $(PKG_INSTALL_DIR)/usr/include/declspec.h $(1)/usr/include/
-       $(CP) $(PKG_INSTALL_DIR)/usr/include/natpmp.h $(1)/usr/include/
-       $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnatpmp*.{so*,a} $(1)/usr/lib/
-endef
-
 define Package/libnatpmp/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libnatpmp.so.* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnatpmp.so.* $(1)/usr/lib/
 endef
 
 define Package/natpmpc/install
diff --git a/libs/libnatpmp/patches/001-install_declspec.patch b/libs/libnatpmp/patches/001-install_declspec.patch
deleted file mode 100644 (file)
index d79dd3f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -56,7 +56,7 @@ else
- endif
- endif
--HEADERS = natpmp.h
-+HEADERS = natpmp.h declspec.h
- EXECUTABLES = testgetgateway natpmpc-shared natpmpc-static
diff --git a/libs/libnatpmp/patches/010-cmake.patch b/libs/libnatpmp/patches/010-cmake.patch
new file mode 100644 (file)
index 0000000..c3909ed
--- /dev/null
@@ -0,0 +1,53 @@
+--- /dev/null
++++ b/CMakeLists.txt
+@@ -0,0 +1,50 @@
++cmake_minimum_required(VERSION 2.8.12)
++
++if(POLICY CMP0048)
++      cmake_policy(SET CMP0048 NEW)
++endif()
++
++project(natpmp C)
++
++set (NATPMP_VERSION 20150609)
++set (NATPMP_API_VERSION 1)
++
++set (NATPMP_SOURCES
++        natpmp.c
++        getgateway.c
++)
++
++if (WIN32)
++    set (NATPMP_SOURCES ${NATPMP_SOURCES} wingettimeofday.c)
++endif (WIN32)
++
++# Library itself
++add_library(natpmp SHARED ${NATPMP_SOURCES})
++set_target_properties (natpmp PROPERTIES OUTPUT_NAME "natpmp")
++set_target_properties (natpmp PROPERTIES VERSION ${NATPMP_VERSION})
++set_target_properties (natpmp PROPERTIES SOVERSION ${NATPMP_API_VERSION})
++target_compile_definitions(natpmp PRIVATE -DENABLE_STRNATPMPERR)
++target_include_directories(natpmp PUBLIC ${CMAKE_CURRENT_LIST_DIR})
++
++if (WIN32)
++      target_link_libraries(natpmp PUBLIC ws2_32 Iphlpapi)
++      target_compile_definitions(natpmp PUBLIC -DNATPMP_STATICLIB)
++endif (WIN32)
++
++install(TARGETS natpmp
++      RUNTIME DESTINATION bin
++      LIBRARY DESTINATION lib${LIB_SUFFIX}
++      ARCHIVE DESTINATION lib${LIB_SUFFIX})
++
++# Executables
++add_executable(natpmpc natpmpc.c)
++target_link_libraries(natpmpc natpmp)
++
++install(FILES natpmpc DESTINATION bin)
++
++add_executable(testgetgateway
++      testgetgateway.c
++      getgateway.c)
++target_link_libraries(testgetgateway natpmp)
++
++install(FILES natpmp.h DESTINATION include)
index 775ca72fc8bb228c062b4a90d059a44c4f704703..e34b93a18d4cf30f28fa4aea230e0d22dc98fc6b 100644 (file)
@@ -1,30 +1,26 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=librsocket-cpp
-PKG_SOURCE_DATE:=2019-05-08
-PKG_SOURCE_VERSION:=ddc80392b17a3fadcbea09f82ea5f6936f0fd459
+PKG_SOURCE_DATE:=2019-06-11
+PKG_SOURCE_VERSION:=741f817fd519e0610cddb5783aae812355e19435
 PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_DATE).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/rsocket/rsocket-cpp/tar.gz/$(PKG_SOURCE_VERSION)?
-PKG_HASH:=b9b5177be57f6cd23ff3592845b11209167f679b683cb73acbf351e7a3550a76
+PKG_HASH:=56886deba0f3594b4a430b1f515c90a138800b8e387440e6b8bf728d660f457a
 PKG_BUILD_DIR:=$(BUILD_DIR)/rsocket-cpp-$(PKG_SOURCE_VERSION)
 
+PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com>
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
-
 PKG_BUILD_PARALLEL:=1
 CMAKE_BINARY_SUBDIR:=builddir
-CMAKE_OPTIONS:= \
-       -DBUILD_BENCHMARKS=OFF \
-       -DBUILD_EXAMPLES=OFF \
-       -DBUILD_TESTS=OFF \
-       -DBUILD_SHARED_LIBS=ON
 CMAKE_INSTALL:=1
 
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
 define Package/librsocket-cpp
        SECTION:=libs
        CATEGORY:=Libraries
@@ -47,6 +43,12 @@ define Package/libyarpl/description
        C++ implementation of reactive functional programming including both Observable and Flowable types.
 endef
 
+CMAKE_OPTIONS += \
+       -DBUILD_BENCHMARKS=OFF \
+       -DBUILD_EXAMPLES=OFF \
+       -DBUILD_TESTS=OFF \
+       -DBUILD_SHARED_LIBS=ON
+
 define Package/librsocket-cpp/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libReactiveSocket.so* $(1)/usr/lib/
diff --git a/libs/librsocket-cpp/patches/100-fix-momit-leaf-frame-pointer-error.patch b/libs/librsocket-cpp/patches/100-fix-momit-leaf-frame-pointer-error.patch
deleted file mode 100644 (file)
index 24dfe4b..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/yarpl/CMakeLists.txt b/yarpl/CMakeLists.txt
---- a/yarpl/CMakeLists.txt       Fri May 03 07:45:18 2019 -0700
-+++ b/yarpl/CMakeLists.txt       Tue May 07 02:03:23 2019 -0700
-@@ -21,7 +21,11 @@
-   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-unused-parameter")
-   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-weak-vtables -Wno-padded")
-   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer")
--  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -momit-leaf-frame-pointer")
-+  include(CheckCXXCompilerFlag)
-+  CHECK_CXX_COMPILER_FLAG("-momit-leaf-frame-pointer" HAVE_OMIT_LEAF_FRAME_POINTER)
-+  if(HAVE_OMIT_LEAF_FRAME_POINTER)
-+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -momit-leaf-frame-pointer")
-+  endif()
- endif()
-
- if(YARPL_WRAP_SHARED_IN_LOCK)
diff --git a/libs/librsocket-cpp/patches/102-gcc9.patch b/libs/librsocket-cpp/patches/102-gcc9.patch
new file mode 100644 (file)
index 0000000..1a5910a
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/yarpl/Refcounted.h
++++ b/yarpl/Refcounted.h
+@@ -42,7 +42,7 @@ std::shared_ptr<T> atomic_exchange(
+   auto refptr = ar->ref.lock();
+   auto old = std::move(*refptr);
+   *refptr = std::move(r);
+-  return std::move(old);
++  return old;
+ }
+ template <typename T>
index 9b1aff24f1952964934de15105eb37fd5badfb47..1d719b98049e6e10cc63bbcfeaf744b57d1c9fba 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libuhttpd
-PKG_VERSION:=2.2.1
-PKG_RELEASE:=2
+PKG_VERSION:=2.2.2
+PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_VERSION:=v$(PKG_VERSION)
 PKG_SOURCE_URL=https://github.com/zhaojh329/libuhttpd.git
-PKG_MIRROR_HASH:=e6b3d540a0d32a77739ab6b028ded46fbf4997d241fabb578ef1f212581eea33
+PKG_MIRROR_HASH:=98f217238160489468fafe8c643b7f96f168c80000ee07d3ca808d54f4c6a608
 CMAKE_INSTALL:=1
 
 PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_SOURCE_SUBDIR)
index 384ab1816cc8c271d6d4ad38006c0db66c4799f8..d9b809e2d96690cfdb85daf3b5faf57265679c5e 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libupm
-PKG_VERSION:=1.7.1
+PKG_VERSION:=2.0.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/intel-iot-devkit/upm/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=b253742b01146f4b86e20714aa24e75ca1e9d46629eab9aa8db070ce94cf3619
+PKG_HASH:=7dd2f4165b71e071d100b58d6a392f3cf57b0f257c82ffabf49e931b5ed6bc23
 PKG_BUILD_DIR:=$(BUILD_DIR)/upm-$(PKG_VERSION)
 
 PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>, Hirokazu MORIKAWA <morikw2@gmail.com>
@@ -21,7 +21,9 @@ PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE
 
 CMAKE_INSTALL:=1
+CMAKE_BINARY_SUBDIR:=build
 PKG_USE_MIPS16:=0
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/cmake.mk
@@ -33,9 +35,7 @@ UPM_MODULES:= \
        adxrs610 am2315 apa102 apds9002 apds9930 at42qt1070 bh1749 bh1750 bh1792 biss0001 bma220 \
        bma250e bmg160 bmi160 bmm150 bmp280 bmpx8x bmx055 bno055 button buzzer cjq4435 collision \
        cwlsxxa dfrec dfrorp dfrph ds1307 ds1808lc ds18b20 ds2413 ecezo ecs1030 \
-       ehr eldriver electromagnet emg enc03r flex gas gp2y0a gprs grove grovecollision groveehr \
-       groveeldriver groveelectromagnet groveemg grovegprs grovegsr grovelinefinder grovemd \
-       grovemoisture groveo2 grovescam grovespeaker groveultrasonic grovevdiv grovewater grovewfs \
+       ehr eldriver electromagnet emg enc03r flex gas gp2y0a gprs \
        gsr guvas12d h3lis331dl hcsr04 hdc1000 hdxxvxta hka5 hlg150h hm11 hmc5883l hmtrp hp20x \
        ht9170 htu21d hx711 ili9341 ims ina132 interfaces isd1820 itg3200 jhd1313m1 joystick12 kx122 \
        kxcjk1013 kxtj3 l298 l3gd20 lcd lcdks lcm1602 ldt0028 led lidarlitev3 light linefinder lis2ds12 \
@@ -51,6 +51,7 @@ UPM_MODULES:= \
        veml6070 water waterlevel wfs wheelencoder wt5001 xbee yg1006 zfm20 \
        vcap t3311 hwxpxx h803x ozw curieimu
 # (require libbacnet) tb7300 t8100 e50hx bacnetmstp
+# (require libtinyb) 2jciebu01_ble 2jciebu01_usb
 
 define Package/libupm/Default
   SECTION:=libs
@@ -96,7 +97,7 @@ endef
 
 define Package/libupm/install/Default-python
        $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON_VERSION)/site-packages/upm
-       $(CP) $(PKG_BUILD_DIR)/src/$(2)/python$(PYTHON_VERSION)/pyupm_$(2).py \
+       $(CP) $(CMAKE_BINARY_DIR)/$(if $(filter interfaces, $(2)),,src/)$(2)/python$(PYTHON_VERSION)/pyupm_$(2).py \
                $(1)/usr/lib/python$(PYTHON_VERSION)/site-packages/upm/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON_VERSION)/site-packages/upm/_pyupm_$(2).so \
                $(1)/usr/lib/python$(PYTHON_VERSION)/site-packages/upm/ ;
@@ -104,7 +105,7 @@ endef
 
 define Package/libupm/install/Default-python3
        $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/upm
-       $(CP) $(PKG_BUILD_DIR)/src/$(2)/python$(PYTHON3_VERSION)/pyupm_$(2).py \
+       $(CP) $(CMAKE_BINARY_DIR)/$(if $(filter interfaces, $(2)),,src/)$(2)/python$(PYTHON3_VERSION)/pyupm_$(2).py \
                $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/upm/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/site-packages/upm/_pyupm_$(2).so \
                $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/upm/ ;
index ef07c25dc34cd5fab022140b7a54f06d0b48b06c..49147e6e2940516078e07c3cf8363acb5c671f0a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -225,14 +225,7 @@ include(GNUInstallDirs)
+@@ -231,14 +231,7 @@
  set (LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}" CACHE PATH "Installation path for libraries")
  
  # Make a version file containing the current version from git.
@@ -9,10 +9,10 @@
 -# If git_describe fails, use a dirty version
 -if (${VERSION} MATCHES -NOTFOUND)
 -  set (VERSION "v1.7.1")
++  set (VERSION "v2.0.0")
 -  message (WARNING "Failed to retrieve UPM version with 'git describe' (using "
 -      "${VERSION}). Check that git is installed and this is a valid git repo.")
 -endif ()
-+set (VERSION "v1.7.1")
  
  message (STATUS "UPM Version ${VERSION}")
  
diff --git a/libs/libupm/patches/004-uint8_t.patch b/libs/libupm/patches/004-uint8_t.patch
new file mode 100644 (file)
index 0000000..4f975b0
--- /dev/null
@@ -0,0 +1,106 @@
+diff -urN a/src/bma250e/bma250e.cxx b/src/bma250e/bma250e.cxx
+--- a/src/bma250e/bma250e.cxx  2019-05-09 00:06:25.000000000 +0900
++++ b/src/bma250e/bma250e.cxx  2019-05-13 16:43:04.344536227 +0900
+@@ -195,35 +195,35 @@
+             fifoConfig(mode, axes);
+         }
+         if(tok.substr(0, 20) == "setInterruptEnable0:") {
+-            u_int8_t bits = (u_int8_t)std::stoul(tok.substr(20), nullptr, 0);
++            uint8_t bits = (uint8_t)std::stoul(tok.substr(20), nullptr, 0);
+             setInterruptEnable0(bits);
+         }
+         if(tok.substr(0, 20) == "setInterruptEnable1:") {
+-            u_int8_t bits = (u_int8_t)std::stoul(tok.substr(20), nullptr, 0);
++            uint8_t bits = (uint8_t)std::stoul(tok.substr(20), nullptr, 0);
+             setInterruptEnable1(bits);
+         }
+         if(tok.substr(0, 20) == "setInterruptEnable2:") {
+-            u_int8_t bits = (u_int8_t)std::stoul(tok.substr(20), nullptr, 0);
++            uint8_t bits = (uint8_t)std::stoul(tok.substr(20), nullptr, 0);
+             setInterruptEnable2(bits);
+         }
+         if(tok.substr(0, 17) == "setInterruptMap0:") {
+-            u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++            uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+             setInterruptMap0(bits);
+         }
+         if(tok.substr(0, 17) == "setInterruptMap1:") {
+-            u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++            uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+             setInterruptMap1(bits);
+         }
+         if(tok.substr(0, 17) == "setInterruptMap2:") {
+-            u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++            uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+             setInterruptMap2(bits);
+         }
+         if(tok.substr(0, 16) == "setInterruptSrc:") {
+-            u_int8_t bits = (u_int8_t)std::stoul(tok.substr(16), nullptr, 0);
++            uint8_t bits = (uint8_t)std::stoul(tok.substr(16), nullptr, 0);
+             setInterruptSrc(bits);
+         }
+         if(tok.substr(0, 26) == "setInterruptOutputControl:") {
+-            u_int8_t bits = (u_int8_t)std::stoul(tok.substr(26), nullptr, 0);
++            uint8_t bits = (uint8_t)std::stoul(tok.substr(26), nullptr, 0);
+             setInterruptOutputControl(bits);
+         }
+         if(tok.substr(0, 26) == "setInterruptLatchBehavior:") {
+diff -urN a/src/bmg160/bmg160.cxx b/src/bmg160/bmg160.cxx
+--- a/src/bmg160/bmg160.cxx    2019-05-09 00:06:25.000000000 +0900
++++ b/src/bmg160/bmg160.cxx    2019-05-13 16:44:25.516304666 +0900
+@@ -173,23 +173,23 @@
+             fifoConfig(mode, axes);
+         }
+         if(tok.substr(0, 20) == "setInterruptEnable0:") {
+-            u_int8_t bits = (u_int8_t)std::stoul(tok.substr(20), nullptr, 0);
++            uint8_t bits = (uint8_t)std::stoul(tok.substr(20), nullptr, 0);
+             setInterruptEnable0(bits);
+         }
+         if(tok.substr(0, 17) == "setInterruptMap0:") {
+-            u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++            uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+             setInterruptMap0(bits);
+         }
+         if(tok.substr(0, 17) == "setInterruptMap1:") {
+-            u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++            uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+             setInterruptMap1(bits);
+         }
+         if(tok.substr(0, 16) == "setInterruptSrc:") {
+-            u_int8_t bits = (u_int8_t)std::stoul(tok.substr(16), nullptr, 0);
++            uint8_t bits = (uint8_t)std::stoul(tok.substr(16), nullptr, 0);
+             setInterruptSrc(bits);
+         }
+         if(tok.substr(0, 26) == "setInterruptOutputControl:") {
+-            u_int8_t bits = (u_int8_t)std::stoul(tok.substr(26), nullptr, 0);
++            uint8_t bits = (uint8_t)std::stoul(tok.substr(26), nullptr, 0);
+             setInterruptOutputControl(bits);
+         }
+         if(tok.substr(0, 26) == "setInterruptLatchBehavior:") {
+diff -urN a/src/bmm150/bmm150.cxx b/src/bmm150/bmm150.cxx
+--- a/src/bmm150/bmm150.cxx    2019-05-09 00:06:25.000000000 +0900
++++ b/src/bmm150/bmm150.cxx    2019-05-13 16:45:03.228197100 +0900
+@@ -170,19 +170,19 @@
+             setOpmode(opmode);
+         }
+         if(tok.substr(0, 19) == "setInterruptEnable:") {
+-            u_int8_t bits = (u_int8_t)std::stoul(tok.substr(19), nullptr, 0);
++            uint8_t bits = (uint8_t)std::stoul(tok.substr(19), nullptr, 0);
+             setInterruptEnable(bits);
+         }
+         if(tok.substr(0, 19) == "setInterruptConfig:") {
+-            u_int8_t bits = (u_int8_t)std::stoul(tok.substr(19), nullptr, 0);
++            uint8_t bits = (uint8_t)std::stoul(tok.substr(19), nullptr, 0);
+             setInterruptConfig(bits);
+         }
+         if(tok.substr(0, 17) == "setRepetitionsXY:") {
+-            u_int8_t reps = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++            uint8_t reps = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+             setRepetitionsXY(reps);
+         }
+         if(tok.substr(0, 16) == "setRepetitionsZ:") {
+-            u_int8_t reps = (u_int8_t)std::stoul(tok.substr(16), nullptr, 0);
++            uint8_t reps = (uint8_t)std::stoul(tok.substr(16), nullptr, 0);
+             setRepetitionsZ(reps);
+         }
+         if(tok.substr(0, 14) == "setPresetMode:") {
index ace8e2c878f23de96e4070196a35db26de4ea8e2..96ab3f2ccff5a4cf6abc151a6f1733c816a2e5af 100644 (file)
@@ -1,26 +1,25 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libwangle
-PKG_VERSION:=2019.05.27.00
+PKG_VERSION:=2019.06.10.00
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/facebook/wangle/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=935d94658133279d98de27ab7c78801c87f16414b8eec43766798acc5b14f549
+PKG_HASH:=3721c003aa5fce889699b0301705eced7a0ea4ab2e7e12af543dab3493ba8be9
 PKG_BUILD_DIR:=$(BUILD_DIR)/wangle-$(PKG_VERSION)
 
+PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com>
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
-
 PKG_BUILD_PARALLEL:=1
 CMAKE_SOURCE_SUBDIR:=wangle
-CMAKE_OPTIONS:= \
-       -DBUILD_SHARED_LIBS=ON
 CMAKE_INSTALL:=1
 
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
 define Package/libwangle
        SECTION:=libs
        CATEGORY:=Libraries
@@ -33,6 +32,9 @@ define Package/libwangle/description
        This package includes the shared library.
 endef
 
+CMAKE_OPTIONS:= \
+       -DBUILD_SHARED_LIBS=ON
+
 define Package/libwangle/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libwangle.so* $(1)/usr/lib/
index 445044e10ac5a292f6c86bdac407a330e04c9cd1..e0b4af6d1ec3890c1aa36e0cc404cfd10b4fb77d 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libxml2
 PKG_VERSION:=2.9.9
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://xmlsoft.org/sources/
@@ -40,6 +40,34 @@ define Package/libxml2/description
   A library for manipulating XML and HTML resources.
 endef
 
+define Package/libxml2-dev
+  SECTION:=devel
+  CATEGORY:=Development
+  SUBMENU:=Libraries
+  TITLE:=Development files for libxml2
+  URL:=http://xmlsoft.org/
+  DEPENDS:=+libxml2
+endef
+
+define Package/libxml2-dev/description
+  A library for manipulating XML and HTML resources.
+
+  This package contains the headers and xml2-config binary.
+endef
+
+define Package/libxml2-utils
+  SECTION:=utils
+  CATEGORY:=Utilities
+  TITLE:=XML command line utilities (xmllint...)
+  URL:=http://xmlsoft.org/
+  DEPENDS:=+libxml2
+endef
+
+define Package/libxml2-utils/description
+  This package contains the binaries xmllint and xmlcatalog
+  from libxml2, a library for manipulating XML and HTML resources.
+endef
+
 TARGET_CFLAGS += $(FPIC)
 
 CONFIGURE_ARGS += \
@@ -130,7 +158,32 @@ endef
 
 define Package/libxml2/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxml2.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxml2.so.* $(1)/usr/lib/
+endef
+
+define Package/libxml2-dev/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/xml2-config $(1)/usr/bin/
+       $(SED) "s,$(STAGING_DIR),,g" $(1)/usr/bin/xml2-config
+
+       $(INSTALL_DIR) $(1)/usr/include/
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
+
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxml2.so $(1)/usr/lib/
+
+       $(INSTALL_DIR) $(1)/usr/lib/{cmake,pkgconfig}
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/{cmake,pkgconfig} $(1)/usr/lib/
+       $(SED) "s,$(STAGING_DIR),,g" $(1)/usr/lib/pkgconfig/*.pc
+
+       $(INSTALL_DIR) $(1)/usr/share/aclocal
+       $(CP) $(PKG_INSTALL_DIR)/usr/share/aclocal/* $(1)/usr/share/aclocal
+endef
+
+define Package/libxml2-utils/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/xmllint $(1)/usr/bin/
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/xmlcatalog $(1)/usr/bin/
 endef
 
 define Host/Install
@@ -140,3 +193,5 @@ endef
 
 $(eval $(call HostBuild))
 $(eval $(call BuildPackage,libxml2))
+$(eval $(call BuildPackage,libxml2-dev))
+$(eval $(call BuildPackage,libxml2-utils))
index b74845a3c24124dffad64d39a230250d2179cab4..f71ee3e803e7662eba5052cd46c2d1f6b5b985c5 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=poco
 PKG_VERSION:=1.9.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://pocoproject.org/releases/$(PKG_NAME)-$(PKG_VERSION)
@@ -29,7 +29,7 @@ define Package/poco
   CATEGORY:=Libraries
   TITLE:=Poco C++ libraries
   URL:=https://www.pocoproject.org/
-  DEPENDS:=+libstdcpp +libpthread +librt
+  DEPENDS:=+libstdcpp +libpthread +librt @!arc
   MAINTAINER:=Jean-Michel Julien <jean-michel.julien@trilliantinc.com>
 endef
 
index 16887854257cc1571d58ad2256df3bfc7dcc814b..a5c9e11474161c47ba9e6814a808ea78e6abda1e 100644 (file)
@@ -9,13 +9,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gphoto2
-PKG_VERSION:=2.5.20
+PKG_VERSION:=2.5.23
 PKG_RELEASE:=1
 PKG_MAINTAINER:=Leonardo Medici <leonardo_medici@me.com>
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/gphoto
-PKG_HASH:=a36f03b50a8f040f185cbc757f957f03dc05a9210907199e6919ef3f970248f6
+PKG_HASH:=df87092100e7766c9d0a4323217c91908a9c891c0d3670ebf40b76903be458d1
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=COPYING
 
index 47a650667d3bcdfd1c556e9fd15b5dd696f626d8..85ce602218d63064aadb280d1f454aff63706193 100644 (file)
@@ -5,13 +5,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=graphicsmagick
-PKG_VERSION:=1.3.31
-PKG_RELEASE:=2
+PKG_VERSION:=1.3.32
+PKG_RELEASE:=1
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/GraphicsMagick-$(PKG_VERSION)
 PKG_SOURCE:=GraphicsMagick-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/graphicsmagick
-PKG_HASH:=69ee4ac6a49a818098f47f51c4f430ca9bb2493cb3594f322eb211b8aeb71f41
+PKG_HASH:=d1f70bc6d41de922199ce6b0a04af7b3492b2fc4a2be6ee24e0af4e15250db0a
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=Copyright.txt
diff --git a/multimedia/imagemagick/Makefile b/multimedia/imagemagick/Makefile
new file mode 100644 (file)
index 0000000..fd2fc24
--- /dev/null
@@ -0,0 +1,140 @@
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=imagemagick
+PKG_VERSION:=7.0.8
+PKG_REVISION:=49
+PKG_RELEASE:=1
+PKG_MAINTAINER:=Val Kulkov <val.kulkov@gmail.com>
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_REVISION).tar.gz
+PKG_SOURCE_URL:=http://github.com/ImageMagick/ImageMagick/archive/$(PKG_VERSION)-$(PKG_REVISION)
+PKG_HASH:=53f7963bbe81520e799e9e178a13757890ed43bc9faf2e86fae1cf58aea28575
+PKG_BUILD_DIR:=$(BUILD_DIR)/ImageMagick-$(PKG_VERSION)-$(PKG_REVISION)
+
+PKG_LICENSE:=Apache-2.0
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_USE_MIPS16:=0
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/imagemagick/Default
+  SECTION:=multimedia
+  CATEGORY:=Multimedia
+  TITLE:=Image manipulation tools
+  URL:=https://www.imagemagick.org/
+endef
+
+define Package/imagemagick
+  $(call Package/imagemagick/Default)
+  DEPENDS:=+libltdl +libpthread +zlib +libfreetype +libpng +libjpeg +libtiff
+endef
+
+define Package/imagemagick/description
+ImageMagick is a free and open-source software suite for displaying,
+converting, and editing raster image and vector image files.
+NOTE: this package may not be suitable for many embedded devices because
+of its large size. Consider using extroot or alternatively consider
+graphicsmagick which is smaller but similar in functionality.
+endef
+
+define Package/imagemagick/conffiles
+/etc/ImageMagick-7/colors.xml
+/etc/ImageMagick-7/delegates.xml
+/etc/ImageMagick-7/log.xml
+/etc/ImageMagick-7/mime.xml
+/etc/ImageMagick-7/policy.xml
+/etc/ImageMagick-7/quantization-table.xml
+/etc/ImageMagick-7/thresholds.xml
+/etc/ImageMagick-7/type-apple.xml
+/etc/ImageMagick-7/type-dejavu.xml
+/etc/ImageMagick-7/type-ghostscript.xml
+/etc/ImageMagick-7/type-urw-base35.xml
+/etc/ImageMagick-7/type-windows.xml
+/etc/ImageMagick-7/type.xml
+endef
+
+CONFIGURE_ARGS += \
+       --enable-shared \
+       --disable-static \
+       --disable-docs \
+       --enable-dependency-tracking \
+       --with-modules \
+       --with-threads \
+       --with-ltdl \
+       --with-zlib \
+       --disable-hdri \
+       --with-quantum-depth=8 \
+       --disable-deprecated \
+       --disable-cipher \
+       --without-bzlib \
+       --without-autotrace \
+       --without-djvu \
+       --without-dps \
+       --without-fftw \
+       --without-flif \
+       --without-fpx \
+       --without-fontconfig \
+       --without-gslib \
+       --without-gvc \
+       --without-heic \
+       --without-jbig \
+       --without-lcms \
+       --without-lqr \
+       --without-lzma \
+       --without-magick-plus-plus \
+       --without-openexr \
+       --without-openjp2 \
+       --without-raqm \
+       --without-raw \
+       --without-webp \
+       --without-x \
+       --without-zstd \
+       --without-gslib \
+       --without-gvc \
+       --without-pango \
+       --without-perl \
+       --without-rsvg \
+       --without-wmf \
+       --without-xml \
+       --with-freetype \
+       --with-jpeg \
+       --with-png \
+       --with-tiff
+
+TARGET_CFLAGS += -flto
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/include/* \
+               $(1)/usr/include/
+
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/*.so* \
+               $(1)/usr/lib/
+
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+       $(INSTALL_DATA) \
+               $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* \
+               $(1)/usr/lib/pkgconfig/
+endef
+
+IMlibdir:=usr/lib/ImageMagick-$(PKG_VERSION)
+define Package/imagemagick/install
+       $(INSTALL_DIR) $(1)/etc $(1)/usr/bin $(1)/$(IMlibdir)
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so.* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
+       $(RM) $(1)/usr/bin/*-config
+       $(CP) $(PKG_INSTALL_DIR)/etc/ImageMagick-* $(1)/etc/
+       $(CP) $(PKG_INSTALL_DIR)/$(IMlibdir)/* $(1)/$(IMlibdir)/
+endef
+
+$(eval $(call BuildPackage,imagemagick))
index 0972d91ea72b1ead8787e6a78bba70f7c82b45c1..f1435d7739975de954005df7442dfb9334d24a9c 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=apfree-wifidog
-PKG_VERSION:=3.8.1588
+PKG_VERSION:=3.11.1716
 PKG_RELEASE=1
 
 PKG_LICENSE:=GPL-3.0-or-later
@@ -19,9 +19,7 @@ PKG_MAINTAINER:=Dengfeng Liu <liudf0716@gmail.com>
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/liudf0716/apfree_wifidog.git
 PKG_SOURCE_VERSION:=$(PKG_VERSION)
-PKG_MIRROR_HASH:=0d10ad5a29358a7124ba75570894f48998af841519b0f295e3fcbed66ee7bccc
-
-PKG_INSTALL:=1
+PKG_MIRROR_HASH:=76eda57e40b919091281305344bc57fc732a779d7944f57bd5de87914ba127d1
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/cmake.mk
@@ -31,8 +29,7 @@ define Package/apfree-wifidog
   SECTION:=net
   CATEGORY:=Network
   DEPENDS:=+zlib +iptables-mod-extra +iptables-mod-ipopt +kmod-ipt-nat +iptables-mod-nat-extra \
-           +libjson-c +ipset +libip4tc +libevent2 +libevent2-openssl \
-           +fping +libmosquitto +libuci +px5g
+           +libjson-c +ipset +libip4tc +libevent2 +libevent2-openssl +libuci +px5g 
   TITLE:=Apfree's wireless captive portal solution
   URL:=https://github.com/liudf0716/apfree_wifidog
 endef
@@ -41,16 +38,13 @@ define Package/apfree-wifidog/description
   The ApFree Wifidog project is a complete and embeddable captive portal
   solution for wireless community groups or individuals who wish to open a free
   Hotspot while still preventing abuse of their Internet connection.
-
   It's enhanced wifidog
 endef
 
 define Package/apfree-wifidog/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/wifidog $(1)/usr/bin/wifidogx
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/wdctl $(1)/usr/bin/wdctlx
-       $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libhttpd.so* $(1)/usr/lib/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/wifidogx $(1)/usr/bin/wifidogx
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/wdctlx $(1)/usr/bin/wdctlx
        $(INSTALL_DIR) $(1)/usr/sbin
        $(INSTALL_BIN) ./files/wdping $(1)/usr/sbin/
        $(INSTALL_DIR) $(1)/etc
index 7ade3291051edc7b722d69501c5b41802aead8da..b9cff56742d0fb1130670c220d690150aff3bfc1 100644 (file)
@@ -1,13 +1,9 @@
 config wifidog
-       option  gateway_interface       'br-lan'
-       option  auth_server_hostname    'change wifidog.kunteng.org.cn to your auth server domain or ip'
-       option  auth_server_port        8001
-       option  auth_server_path        '/wifidog/'
-       option  check_interval          60
-       option  client_timeout          5
-       option  httpd_max_conn          200
-       option  pool_mode                       1
-       option  thread_number           5
-       option  queue_size                      20
-       option  wired_passed            0
-       option  enable          0
+       option gateway_interface 'br-lan'
+       option auth_server_hostname 'change wifidog.kunteng.org.cn to your auth server domain or ip'
+       option auth_server_port 443
+       option auth_server_path '/wifidog/'
+       option check_interval 60
+       option client_timeout 5
+       option wired_passed 0
+       option disabled 1
index bc8e68151e5cd4d6e854acd5b1a986c216f4c8b2..4dbbcf6bf6076380d451761e8f307ad982adc670 100644 (file)
@@ -7,7 +7,7 @@ START=99
 
 USE_PROCD=1
 PROG=/usr/bin/wifidogx
-CONFIGFILE=/tmp/wifidog.conf
+CONFIGFILE=/tmp/wifidogx.conf
 
 EXTRA_COMMANDS="status"
 EXTRA_HELP="        status Print the status of the service"
@@ -75,7 +75,6 @@ prepare_wifidog_conf() {
        local delta_traffic
        local check_interval
        local client_timeout
-       local httpd_max_conn
        local trusted_domains
        local js_filter
        local trusted_maclist
@@ -97,8 +96,11 @@ prepare_wifidog_conf() {
 
        [ -f ${CONFIGFILE} ] && rm -f ${CONFIGFILE}
 
-       config_get enable "${cfg}" "enable" 0
-       [ "${enable}" = "1" ] || return
+       config_get enable "${cfg}" "disabled" 0
+       [ "${enable}" = "0" ] || {
+               echo "wifidogx disabled in /etc/config/wifidogx file, please set disabled to 0 to enable it" >&2
+               return
+       }
 
        default_gateway_id=$(sed -e 's/://g' /sys/class/net/br-lan/address)
 
@@ -118,7 +120,6 @@ prepare_wifidog_conf() {
        config_get check_interval "${cfg}" "check_interval" "60"
        config_get js_filter "${cfg}" "js_filter" 1
        config_get client_timeout "${cfg}" "client_timeout"     "5"
-       config_get httpd_max_conn "${cfg}" "httpd_max_conn"     "200"
        config_get trusted_domains "${cfg}" "trusted_domains"
        config_get trusted_maclist "${cfg}" "trusted_maclist"
        config_get untrusted_maclist "${cfg}" "untrusted_maclist"
@@ -201,31 +202,15 @@ prepare_wifidog_conf() {
                ClientTimeout $client_timeout
                JsFilter $js_filter
                WiredPassed $wired_passed
-
-               HTTPDMaxConn $httpd_max_conn
-
-               PoolMode $pool_mode
-               ThreadNumber $thread_number
-               QueueSize $queue_size
-
                $set_trusted_domains
-
                $set_untrusted_maclist
-
                $set_trusted_maclist
-
                $set_trusted_iplist
-
                $set_trusted_pan_domains
-
                $set_proxy_port
-
                $set_no_auth
-
                $set_apple_cna
-
                $set_update_domain_interval
-
                $set_dns_timeout
 
                FirewallRuleSet global {
@@ -266,8 +251,7 @@ init_config() {
        config_foreach prepare_wifidog_conf wifidog
 
        [ ! -f ${CONFIGFILE} ] && {
-               echo "no wifidog.conf, exit..."
-               stop
+               echo "no wifidogx.conf, exit..." >&2
                exit
        }
 
@@ -276,8 +260,7 @@ init_config() {
        }
 
        [ -s ${APFREE_KEY} -a -s ${APFREE_CERT} ] || {
-               echo "no cert or key, exit..."
-               stop
+               echo "no cert or key, exit..." >&2
                exit
        }
 
index b553b633666a54b42d671fd7f316e43522236ae5..fbc23ef29e0274189cd77426c53c4cf9a3dea5f4 100644 (file)
@@ -6,7 +6,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=banip
-PKG_VERSION:=0.1.3
+PKG_VERSION:=0.1.4
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-3.0+
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
index f658c445ba2e38db04dd98dbcd5b4ea186628b14..4843fc2b082fadd8279884fee43d816d91c900a6 100644 (file)
@@ -103,7 +103,7 @@ config source 'zeus'
 config source 'sslbl'
        option ban_src 'https://sslbl.abuse.ch/blacklist/sslipblacklist.csv'
        option ban_src_desc 'SSL Blacklist by abuse.ch (IPv4)'
-       option ban_src_rset 'BEGIN{FS=\",\"}/^(([0-9]{1,3}\.){3}[0-9]{1,3},).*/{print \"add sslbl \"\$1}'
+       option ban_src_rset 'BEGIN{FS=\",\"}/(([0-9]{1,3}\.){3}[0-9]{1,3},).*/{print \"add sslbl \"\$2}'
        option ban_src_settype 'ip'
        option ban_src_ruletype 'src'
        option ban_src_on '0'
index a0b58366875c2c42cfdcb21bccbbb47812195374..9356c4df02abdc384fb1f1b612873346aad4ade6 100755 (executable)
@@ -84,5 +84,5 @@ service_triggers()
        do
                procd_add_interface_trigger "interface.*.up" "${iface}" "${ban_init}" start
        done
-       procd_add_reload_trigger "banip" "firewall"
+       procd_add_reload_trigger "banip"
 }
index c86f74d70eb4cd1558cd9cbb7fb2fa2ea6ba51bb..8d1ae1e2a8385c2013f76d4c66745a084681ea1b 100755 (executable)
@@ -10,7 +10,7 @@
 #
 LC_ALL=C
 PATH="/usr/sbin:/usr/bin:/sbin:/bin"
-ban_ver="0.1.3"
+ban_ver="0.1.4"
 ban_sysver="unknown"
 ban_enabled=0
 ban_automatic="1"
@@ -326,9 +326,9 @@ f_iptadd()
                        done
                fi
        else
-               if [ -x "${ban_ipset}" ] && [ -n "$("${ban_ipset}" -n list "${src_name}" 2>/dev/null)" ]
+               if [ -x "${ban_ipset}" ] && [ -n "$("${ban_ipset}" -q -n list "${src_name}")" ]
                then
-                       "${ban_ipset}" destroy "${src_name}"
+                       "${ban_ipset}" -q destroy "${src_name}"
                fi
        fi
 }
@@ -408,27 +408,28 @@ f_ipset()
 
                        if [ "${cnt}" -gt 0 ]
                        then
-                               if [ -x "${ban_ipset}" ] && [ -z "$("${ban_ipset}" -n list "${src_name}" 2>/dev/null)" ]
+                               if [ -x "${ban_ipset}" ] && [ -z "$("${ban_ipset}" -q -n list "${src_name}")" ]
                                then
-                                       "${ban_ipset}" create "${src_name}" hash:"${src_settype}" hashsize "${size}" maxelem 262144 family "${src_setipv}" counters
+                                       "${ban_ipset}" -q create "${src_name}" hash:"${src_settype}" hashsize "${size}" maxelem 262144 family "${src_setipv}" counters
                                else
-                                       "${ban_ipset}" flush "${src_name}"
+                                       "${ban_ipset}" -q flush "${src_name}"
                                fi
-
                                "${ban_ipset}" -! restore < "${tmp_file}"
                                printf "%s\n" "1" > "${tmp_set}"
                                printf "%s\n" "${cnt}" > "${tmp_cnt}"
                        fi
                        f_iptadd
                        end_ts="$(date +%s)"
-                       f_log "debug" "f_ipset ::: name: ${src_name:-"-"}, mode: ${mode:-"-"}, settype: ${src_settype:-"-"}, setipv: ${src_setipv:-"-"}, ruletype: ${src_ruletype:-"-"}, count(sum/ip/cidr): ${cnt:-0}/${cnt_ip:-0}/${cnt_cidr:-0}, time(s): $((end_ts-start_ts))"
+                       f_log "debug" "f_ipset ::: name: ${src_name:-"-"}, mode: ${mode:-"-"}, settype: ${src_settype:-"-"}, setipv: ${src_setipv:-"-"}, ruletype: ${src_ruletype:-"-"}, count(sum/ip/cidr): ${cnt:-0}/${cnt_ip:-0}/${cnt_cidr:-0}, time: $((end_ts-start_ts))"
                ;;
                refresh)
-                       if [ -x "${ban_ipset}" ] && [ -n "$("${ban_ipset}" -n list "${src_name}" 2>/dev/null)" ]
+                       ban_rc=4
+                       if [ -x "${ban_ipset}" ] && [ -n "$("${ban_ipset}" -q -n list "${src_name}")" ]
                        then
-                               "${ban_ipset}" save "${src_name}" > "${tmp_file}"
+                               "${ban_ipset}" -q save "${src_name}" > "${tmp_file}"
                                if [ -s "${tmp_file}" ]
                                then
+                                       ban_rc=0
                                        cnt="$(($(wc -l 2>/dev/null < "${tmp_file}")-1))"
                                        cnt_cidr="$(grep -cF "/" "${tmp_file}")"
                                        cnt_ip="$((cnt-cnt_cidr))"
@@ -438,15 +439,15 @@ f_ipset()
                                f_iptadd
                        fi
                        end_ts="$(date +%s)"
-                       f_log "debug" "f_ipset ::: name: ${src_name:-"-"}, mode: ${mode:-"-"}, count: ${cnt:-0}/${cnt_ip:-0}/${cnt_cidr:-0}, time(s): $((end_ts-start_ts))"
+                       f_log "debug" "f_ipset ::: name: ${src_name:-"-"}, mode: ${mode:-"-"}, count: ${cnt:-0}/${cnt_ip:-0}/${cnt_cidr:-0}, time: $((end_ts-start_ts)), rc: ${ban_rc}"
                ;;
                flush)
                        f_iptadd "remove"
 
-                       if [ -x "${ban_ipset}" ] && [ -n "$("${ban_ipset}" -n list "${src_name}" 2>/dev/null)" ]
+                       if [ -x "${ban_ipset}" ] && [ -n "$("${ban_ipset}" -q -n list "${src_name}")" ]
                        then
-                               "${ban_ipset}" flush "${src_name}"
-                               "${ban_ipset}" destroy "${src_name}"
+                               "${ban_ipset}" -q flush "${src_name}"
+                               "${ban_ipset}" -q destroy "${src_name}"
                        fi
                        f_log "debug" "f_ipset ::: name: ${src_name:-"-"}, mode: ${mode:-"-"}"
                ;;
@@ -469,9 +470,9 @@ f_ipset()
 
                        for source in ${ban_sources}
                        do
-                               if [ -x "${ban_ipset}" ] && [ -n "$("${ban_ipset}" -n list "${source}" 2>/dev/null)" ]
+                               if [ -x "${ban_ipset}" ] && [ -n "$("${ban_ipset}" -q -n list "${source}")" ]
                                then
-                                       "${ban_ipset}" destroy "${source}"
+                                       "${ban_ipset}" -q destroy "${source}"
                                fi
                        done
                        f_log "debug" "f_ipset ::: name: ${src_name:-"-"}, mode: ${mode:-"-"}"
@@ -572,8 +573,12 @@ f_main()
                        continue
                elif [ "${ban_action}" = "refresh" ]
                then
+                       start_ts="$(date +%s)"
                        f_ipset refresh
-                       continue
+                       if [ ${ban_rc} -eq 0 ]
+                       then
+                               continue
+                       fi
                fi
 
                # download queue processing
index 3ef388136710f0e1c8cebfd47c3edd0a34fd561b..6112c993da8c08f28c59094ad7ed76c477597ec4 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ibrdtn-tools
 PKG_VERSION:=1.0.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases
@@ -19,6 +19,7 @@ PKG_LICENSE:=Apache-2.0
 
 PKG_INSTALL:=1
 
+include $(INCLUDE_DIR)/uclibc++.mk
 include $(INCLUDE_DIR)/package.mk
 
 define Package/ibrdtn-tools
index 0a2a5ee815ae3eb7fc58b488c0bfadecc9b76cd0..d83bc2cc14f0a15a3093b78024bd21104976df8b 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ibrdtnd
 PKG_VERSION:=1.0.1
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases
@@ -20,6 +20,7 @@ PKG_LICENSE:=Apache-2.0
 PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
 
+include $(INCLUDE_DIR)/uclibc++.mk
 include $(INCLUDE_DIR)/package.mk
 
 define Package/ibrdtnd
diff --git a/net/ibrdtnd/patches/030-openssl-deprecated.patch b/net/ibrdtnd/patches/030-openssl-deprecated.patch
new file mode 100644 (file)
index 0000000..a793da8
--- /dev/null
@@ -0,0 +1,20 @@
+--- a/src/security/SecurityKeyManager.cpp
++++ b/src/security/SecurityKeyManager.cpp
+@@ -29,6 +29,7 @@
+ #include <fstream>
+ #include <fcntl.h>
++#include <openssl/bn.h>
+ #include <openssl/pem.h>
+ #include <openssl/rsa.h>
+ #include <openssl/err.h>
+--- a/src/security/exchange/DHProtocol.cpp
++++ b/src/security/exchange/DHProtocol.cpp
+@@ -28,6 +28,7 @@
+ #include <ibrcommon/ssl/HMacStream.h>
+ #include <ibrcommon/Logger.h>
++#include <openssl/dh.h>
+ #include <openssl/rand.h>
+ #include <openssl/pem.h>
+ #include "openssl_compat.h"
index 0d74f6868f9d620bd4dac87c96b757e24b60b58d..ade9bc0f960fae6f8349e3202c85c830732bf247 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=knot
-PKG_VERSION:=2.8.1
+PKG_VERSION:=2.8.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-dns/
-PKG_HASH:=b21bf03e5cb6804df4e0e8b3898446349e86ddae5bf110edaf240d0ad1e2a2c6
+PKG_HASH:=00d24361a2406392c508904fad943536bae6369981686b4951378fc1c9a5a137
 
 PKG_MAINTAINER:=Daniel Salzman <daniel.salzman@nic.cz>
 PKG_LICENSE:=GPL-3.0 LGPL-2.0 0BSD BSD-3-Clause OLDAP-2.8
index 606e4c1c91e908aae729a7664969713539e90fe6..5b71685e120b3e0992dcecaca96e16761c990beb 100644 (file)
@@ -7,12 +7,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libreswan
-PKG_VERSION:=3.27
-PKG_RELEASE:=3
+PKG_VERSION:=3.29
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://download.libreswan.org/
-PKG_HASH:=ead07dd701116094b483dc57e54e2a5ee9a06d3982bb142260bcbf3d1faf7b82
+PKG_HASH:=d60e4160f43272b6307b697a13f79f56b5ec2bca61d83097ddadd8586a58ab3e
 
 PKG_LICENSE:=GPL-2.0
 PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
@@ -39,9 +39,11 @@ $(call Package/libreswan/Default)
   SUBMENU:=VPN
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:= +libnss +librt +libevent2 +libevent2-pthreads +kmod-crypto-authenc \
-       +kmod-crypto-hash +kmod-ipt-ipsec +iptables-mod-ipsec +ip-full +kmod-ip-vti \
-       +kmod-ipsec +kmod-ipsec4 +kmod-crypto-rng +IPV6:kmod-ipsec6 +IPV6:kmod-ip6-vti
+  DEPENDS:= +IPV6:kmod-ip6-vti +IPV6:kmod-ipsec6 +ip-full +iptables-mod-ipsec \
+       +kmod-crypto-aead +kmod-crypto-authenc +kmod-crypto-gcm \
+       +kmod-crypto-hash +kmod-crypto-rng +kmod-ip-vti +kmod-ipsec \
+       +kmod-ipsec4 +kmod-ipt-ipsec +libevent2 +libevent2-pthreads \
+       +libldns +librt +libunbound-heavy +nss-utils +nspr
   PROVIDES:=openswan
   CONFLICTS:=strongswan
   TITLE+= IPsec Server
@@ -61,10 +63,8 @@ define Package/libreswan/conffiles
 /etc/ipsec.secrets
 endef
 
-TARGET_CFLAGS+= -Wno-error=format-nonliteral
 MAKE_FLAGS+= \
     WERROR_CFLAGS=" " \
-    USE_DNSSEC=false \
     USE_LINUX_AUDIT=false \
     USE_LABELED_IPSEC=false \
     USE_NM=false \
@@ -74,10 +74,10 @@ MAKE_FLAGS+= \
     USE_FIPSCHECK=false \
     USE_LIBCAP_NG=false \
     USE_SYSTEMD_WATCHDOG=false \
+    USE_SECCOMP=false\
     INC_USRLOCAL="/usr" \
     FINALRUNDIR="/var/run/pluto" \
     ARCH="$(LINUX_KARCH)" \
-    KERNELSRC="$(LINUX_DIR)"
 
 define Build/Prepare
        $(call Build/Prepare/Default)
diff --git a/net/libreswan/patches/000-dh31-auto-detect.patch b/net/libreswan/patches/000-dh31-auto-detect.patch
new file mode 100644 (file)
index 0000000..301e87a
--- /dev/null
@@ -0,0 +1,34 @@
+From 9126ec99ca9e136666cbba5b48a8a02cb11350e0 Mon Sep 17 00:00:00 2001
+From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+Date: Mon, 15 Oct 2018 11:16:54 -0400
+Subject: [PATCH] Automatically detect whether Curve25519 is available in NSS
+ for USE_DH31
+
+currently, USE_DH31 defaults to true.
+
+On some platforms, where older versions of NSS are in use, this should
+default to false.
+
+This patch automatically detects such systems and disables USE_DH31 on
+those platforms.
+
+It produces some amount of noise on stderr about CURVE_25519 during
+the build on those older platforms, but that seems ok to me, since
+those platforms should know that they're missing a modern feature.
+
+If you prefer less noise, i'd be happy with any modification that does
+a similar sort of autodetection.
+
+diff --git a/mk/userland-cflags.mk b/mk/userland-cflags.mk
+index d0a88b1aa1..7d88874b1c 100644
+--- a/mk/userland-cflags.mk
++++ b/mk/userland-cflags.mk
+@@ -240,7 +240,7 @@ ifeq ($(USE_DH24),true)
+ USERLAND_CFLAGS += -DUSE_DH24
+ endif
+-USE_DH31 ?= true
++USE_DH31 ?= $(shell if printf '\#include <secoidt.h>\nint main() { return SEC_OID_CURVE25519; }\n'| $(CC) -x c $$(pkg-config --cflags nss) -o /dev/null -; then echo true; else echo false; fi )
+ ifeq ($(USE_DH31),true)
+ USERLAND_CFLAGS += -DUSE_DH31
+ endif
diff --git a/net/libreswan/patches/001-move_kernel_klips_to_mk_kernel.mk.patch b/net/libreswan/patches/001-move_kernel_klips_to_mk_kernel.mk.patch
deleted file mode 100644 (file)
index 0cca6c3..0000000
+++ /dev/null
@@ -1,973 +0,0 @@
-From 010a9f2bbdaa97024933be04eff1a48ff1f9b657 Mon Sep 17 00:00:00 2001
-From: Andrew Cagney <cagney@gnu.org>
-Date: Thu, 25 Oct 2018 21:00:59 -0400
-Subject: [PATCH] building: move kernel (klips) rules to mk/kernel.mk
-
----
- Makefile     | 448 +-----------------------------------------------
- mk/kernel.mk | 468 +++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 474 insertions(+), 442 deletions(-)
- create mode 100644 mk/kernel.mk
-
-diff --git a/Makefile b/Makefile
-index b706defd0f..0b070966e6 100644
---- a/Makefile
-+++ b/Makefile
-@@ -97,119 +97,14 @@ KERNELREL=$(shell ${KVSHORTUTIL} ${KERNELSRC}/Makefile)
- # directories visited by all recursion
--# declaration for make's benefit
--.PHONY:       def insert kpatch patches _patches _patches2.4 \
--      klipsdefaults programs man install \
--      precheck verset confcheck kernel \
--      module module24 module26 kinstall minstall minstall24 minstall26 \
--      moduleclean mod24clean module24clean mod26clean module26clean \
--      backup unpatch uninstall \
--      check \
--
--kpatch: unapplypatch applypatch klipsdefaults
--npatch: unapplynpatch applynpatch
--sarefpatch: unapplysarefpatch applysarefpatch
--
--unapplypatch:
--      @echo "info: making unapplypatch in `pwd` and KERNELSRC=\"${KERNELSRC}\";"
--      -@if [ -f ${KERNELSRC}/libreswan.patch ]; then \
--              echo Undoing previous patches; \
--              cat ${KERNELSRC}/libreswan.patch | (cd ${KERNELSRC} && patch -p1 -R --force -E -z .preipsec --reverse --ignore-whitespace ); \
--      fi
--
--applypatch:
--      @echo "info: Now performing forward patches in `pwd`";
--      ${MAKE} kernelpatch${KERNELREL} | tee ${KERNELSRC}/libreswan.patch | (cd ${KERNELSRC} && patch -p1 -b -z .preipsec --forward --ignore-whitespace )
--
--unapplynpatch:
--      @echo "info: making unapplynpatch (note the second N) in `pwd`";
--      -@if [ -f ${KERNELSRC}/natt.patch ]; then \
--              echo Undoing previous NAT patches; \
--              cat ${KERNELSRC}/natt.patch | (cd ${KERNELSRC} && patch -p1 -R --force -E -z .preipsec --reverse --ignore-whitespace ); \
--      fi
--
--applynpatch:
--      @echo "info: Now performing forward NAT patches in `pwd`";
--      ${MAKE} nattpatch${KERNELREL} | tee ${KERNELSRC}/natt.patch | (cd ${KERNELSRC} && patch -p1 -b -z .preipsec --forward --ignore-whitespace )
--
--unapplysarefpatch:
--      @echo "info: making unapplysarefpatch in `pwd`";
--      -@if [ -f ${KERNELSRC}/saref.patch ]; then \
--              echo Undoing previous saref patches; \
--              cat ${KERNELSRC}/saref.patch | (cd ${KERNELSRC} && patch -p1 -R --force -E -z .preng --reverse --ignore-whitespace ); \
--      fi
--
--applysarefpatch:
--      @echo "info: Now performing SAref patches in `pwd`";
--      ${MAKE} sarefpatch${KERNELREL} | tee ${KERNELSRC}/klipsng.patch | (cd ${KERNELSRC} && patch -p1 -b -z .preng --forward --ignore-whitespace )
--
--# patch kernel
--PATCHER=packaging/utils/patcher
--
--_patches:
--      echo "===============" >>out.kpatch
--      echo "`date` `cd $(KERNELSRC) ; pwd`" >>out.kpatch
--      $(MAKE) __patches$(KERNELREL) >>out.kpatch
--
--# Linux-2.4.0 version
--__patches2.4:
--      @$(PATCHER) -v -c $(KERNELSRC) Documentation/Configure.help \
--              'CONFIG_KLIPS' $(PATCHES)/Documentation/Configure.help.fs2_2.patch
--      @$(PATCHER) -v $(KERNELSRC) net/Config.in \
--              'CONFIG_KLIPS' $(PATCHES)/net/Config.in.fs2_4.patch
--      @$(PATCHER) -v $(KERNELSRC) net/Makefile \
--              'CONFIG_KLIPS' $(PATCHES)/net/Makefile.fs2_4.patch
--      @$(PATCHER) -v $(KERNELSRC) net/ipv4/af_inet.c \
--              'CONFIG_KLIPS' $(PATCHES)/net/ipv4/af_inet.c.fs2_4.patch
--      @$(PATCHER) -v $(KERNELSRC) net/ipv4/udp.c \
--              'CONFIG_KLIPS' $(PATCHES)/net/ipv4/udp.c.fs2_4.patch
--      @$(PATCHER) -v $(KERNELSRC) include/net/sock.h \
--              'CONFIG_KLIPS' $(PATCHES)/include/net/sock.h.fs2_4.patch
--# Removed patches, will unpatch automatically.
--      @$(PATCHER) -v $(KERNELSRC) include/linux/proc_fs.h
--      @$(PATCHER) -v $(KERNELSRC) net/core/dev.c
--      @$(PATCHER) -v $(KERNELSRC) net/ipv4/protocol.c
--      @$(PATCHER) -v $(KERNELSRC) drivers/net/Space.c
--      @$(PATCHER) -v $(KERNELSRC) include/linux/netlink.h
--      @$(PATCHER) -v $(KERNELSRC) net/netlink/af_netlink.c
--      @$(PATCHER) -v $(KERNELSRC) net/netlink/netlink_dev.c
--      @$(PATCHER) -v $(KERNELSRC) drivers/isdn/isdn_net.c
--
--klipsdefaults:
--      @KERNELDEFCONFIG=$(KERNELSRC)/arch/$(ARCH)/defconfig ; \
--      KERNELCONFIG=$(KCFILE) ; \
--      if ! egrep -q 'CONFIG_KLIPS' $$KERNELDEFCONFIG ; \
--      then \
--              set -x ; \
--              cp -a $$KERNELDEFCONFIG $$KERNELDEFCONFIG.orig ; \
--              chmod u+w $$KERNELDEFCONFIG ; \
--              cat $$KERNELDEFCONFIG $(KERNELKLIPS)/defconfig \
--                      >$$KERNELDEFCONFIG.tmp ; \
--              rm -f $$KERNELDEFCONFIG ; \
--              cp -a $$KERNELDEFCONFIG.tmp $$KERNELDEFCONFIG ; \
--              rm -f $$KERNELDEFCONFIG.tmp ; \
--      fi ; \
--      if ! egrep -q 'CONFIG_KLIPS' $$KERNELCONFIG ; \
--      then \
--              set -x ; \
--              cp -a $$KERNELCONFIG $$KERNELCONFIG.orig ; \
--              chmod u+w $$KERNELCONFIG ; \
--              cat $$KERNELCONFIG $(KERNELKLIPS)/defconfig \
--                      >$$KERNELCONFIG.tmp ; \
--              rm -f $$KERNELCONFIG ; \
--              cp -a $$KERNELCONFIG.tmp $$KERNELCONFIG ; \
--              rm -f $$KERNELCONFIG.tmp ; \
--      fi
--
--
--
- # programs
- ABSOBJDIR:=$(shell mkdir -p ${OBJDIR}; cd ${OBJDIR} && pwd)
- OBJDIRTOP=${ABSOBJDIR}
- # Recursive clean dealt with elsewhere.
--local-clean-base: moduleclean
-+.PHONY: local-clean-base
-+local-clean-base:
-       $(foreach file,$(RPMTMPDIR) $(RPMDEST) out.*build out.*install, \
-               rm -rf $(file) ; )      # but leave out.kpatch
-@@ -219,339 +114,13 @@ local-clean-base: moduleclean
- # $(OBJDIR), "distclean" does not depend on it.  If it did, "make
- # distclean" would have the quirky behaviour of first creating
- # $(OBJDIR) only to then delete it.
--distclean: moduleclean module24clean module26clean clean-kvm-keys
-+.PHONY: distclean
-+distclean: clean-kvm-keys
-       rm -f $(RPMTMPDIR) $(RPMDEST) out.*
-       rm -rf testing/pluto/*/OUTPUT*
-       rm -rf OBJ.* $(OBJDIR)
-       rm -rf BACKUP
--# proxies for major kernel make operations
--
--# do-everything entries
--KINSERT_PRE=precheck verset insert
--PRE=precheck verset kpatch
--POST=confcheck programs kernel install
--MPOST=confcheck programs module install
--
--# preliminaries
--precheck:
--      @if test ! -d $(KERNELSRC) -a ! -L $(KERNELSRC) ; \
--      then \
--              echo '*** cannot find directory "$(KERNELSRC)"!!' ; \
--              echo '*** may be necessary to add symlink to kernel source' ; \
--              exit 1 ; \
--      fi
--      @if ! cd $(KERNELSRC) ; \
--      then \
--              echo '*** cannot "cd $(KERNELSRC)"!!' ; \
--              echo '*** may be necessary to add symlink to kernel source' ; \
--              exit 1 ; \
--      fi
--      @if test ! -f $(KCFILE) ; \
--      then \
--              echo '*** cannot find "$(KCFILE)"!!' ; \
--              echo '*** perhaps kernel has never been configured?' ; \
--              echo '*** please do that first; the results are necessary.' ; \
--              exit 1 ; \
--      fi
--      @if test ! -f $(VERFILE) ; \
--      then \
--              echo '*** cannot find "$(VERFILE)"!!' ; \
--              echo '*** perhaps kernel has never been compiled?' ; \
--              echo '*** please do that first; the results are necessary.' ; \
--              exit 1 ; \
--      fi
--
--# configuring (exit statuses disregarded, something fishy here sometimes)
--xcf:
--      -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) xconfig
--mcf:
--      -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) menuconfig
--pcf:
--      -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) config
--
--ocf:
--      -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) oldconfig
--
--rcf:
--      cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) ${NONINTCONFIG} </dev/null
--      cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) dep >/dev/null
--
--kclean:
--      -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) clean
--
--confcheck:
--      @if test ! -f $(KCFILE) ; \
--      then echo '*** no kernel configuration file written!!' ; exit 1 ; \
--      fi
--      @if ! egrep -q '^CONFIG_KLIPS=[my]' $(KCFILE) ; \
--      then echo '*** IPsec not in kernel config ($(KCFILE))!!' ; exit 1 ; \
--      fi
--      @if ! egrep -q 'CONFIG_KLIPS[   ]+1' $(ACFILE) && \
--              ! egrep -q 'CONFIG_KLIPS_MODULE[        ]+1' $(ACFILE) ; \
--      then echo '*** IPsec in kernel config ($(KCFILE)),' ; \
--              echo '***       but not in config header file ($(ACFILE))!!' ; \
--              exit 1 ; \
--      fi
--      @if egrep -q '^CONFIG_KLIPS=m' $(KCFILE) && \
--              ! egrep -q '^CONFIG_MODULES=y' $(KCFILE) ; \
--      then echo '*** IPsec configured as module in kernel with no module support!!' ; exit 1 ; \
--      fi
--      @if ! egrep -q 'CONFIG_KLIPS_AH[        ]+1' $(ACFILE) && \
--              ! egrep -q 'CONFIG_KLIPS_ESP[   ]+1' $(ACFILE) ; \
--      then echo '*** IPsec configuration must include AH or ESP!!' ; exit 1 ; \
--      fi
--
--# kernel building, with error checks
--kernel:
--      rm -f out.kbuild out.kinstall
--      # undocumented kernel folklore: clean BEFORE dep.
--      # we run make dep separately, because there is no point in running ERRCHECK
--      # on the make dep output.
--      # see LKML thread "clean before or after dep?"
--      ( cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) $(KERNCLEAN) $(KERNDEP) )
--      ( cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) $(KERNEL) ) 2>&1 | tee out.kbuild
--      @if egrep -q '^CONFIG_MODULES=y' $(KCFILE) ; \
--      then set -x ; \
--              ( cd $(KERNELSRC) ; \
--              $(MAKE) $(KERNMAKEOPTS) modules 2>&1 ) | tee -a out.kbuild ; \
--      fi
--      ${ERRCHECK} out.kbuild
--
--# module-only building, with error checks
--ifneq ($(strip $(MOD24BUILDDIR)),)
--${MOD24BUILDDIR}/Makefile : ${LIBRESWANSRCDIR}/packaging/makefiles/module24.make
--      mkdir -p ${MOD24BUILDDIR}
--      cp ${LIBRESWANSRCDIR}/packaging/makefiles/module24.make ${MOD24BUILDDIR}/Makefile
--
--module:
--      @if [ -f ${KERNELSRC}/README.libreswan-2 ] ; then \
--                echo "WARNING: Kernel source ${KERNELSRC} has already been patched with libreswan-2, out of tree build might fail!"; \
--        fi;
--      @if [ -f ${KERNELSRC}/README.openswan ] ; then \
--                echo "WARNING: Kernel source ${KERNELSRC} has already been patched with openswan, out of tree build might fail!"; \
--        fi;
--      @if [ -f ${KERNELSRC}/README.openswan-2 ] ; then \
--                echo "WARNING: Kernel source ${KERNELSRC} has already been patched with openswan-2, out of tree build might fail!"; \
--        fi;
--      @if [ -f ${KERNELSRC}/README.freeswan ] ; then \
--                echo "ERROR: Kernel source ${KERNELSRC} has already been patched with freeswan, out of tree build will fail!"; \
--        fi;
--      @if [ -f ${KERNELSRC}/Rules.make ] ; then \
--                echo "Building module for a 2.4 kernel"; ${MAKE} module24 ; \
--        else echo "Building module for a 2.6 kernel"; ${MAKE} module26; \
--        fi;
--
--modclean moduleclean:
--      @if [ -f ${KERNELSRC}/Rules.make ] ; then \
--              echo "Cleaning module for a 2.4 kernel"; ${MAKE} module24clean ; \
--      else echo "Cleaning module for a 2.6 kernel"; ${MAKE} module26clean; \
--      fi;
--
--module24:
--      @if [ ! -f ${KERNELSRC}/Rules.make ] ; then \
--                echo "Warning: Building for a 2.4 kernel in what looks like a 2.6 tree"; \
--        fi ; \
--        ${MAKE} ${MOD24BUILDDIR}/Makefile
--      ${MAKE} -C ${MOD24BUILDDIR}  LIBRESWANSRCDIR=${LIBRESWANSRCDIR} ARCH=${ARCH} V=${V} ${MODULE_FLAGS} MODULE_DEF_INCLUDE=${MODULE_DEF_INCLUDE} TOPDIR=${KERNELSRC} -f Makefile ipsec.o
--      @echo
--      @echo '========================================================='
--      @echo
--      @echo 'KLIPS24 module built successfully. '
--      @echo ipsec.o is in ${MOD24BUILDDIR}
--      @echo
--      @(cd ${MOD24BUILDDIR}; ls -l ipsec.o)
--      @(cd ${MOD24BUILDDIR}; size ipsec.o)
--      @echo
--      @echo 'use make minstall as root to install it'
--      @echo
--      @echo '========================================================='
--      @echo
--
--mod24clean module24clean:
--      rm -rf ${MOD24BUILDDIR}
--
--#autoodetect 2.4 and 2.6
--module_install minstall install-module:
--      @if [ -f $(KERNELSRC)/Rules.make ] ; then \
--                $(MAKE) minstall24 ; \
--      else \
--              $(MAKE) minstall26 ; \
--        fi;
--
--# Extract the value of MODLIB from the output of $(MAKE).  Also hide
--# the sup-process $(MAKE) so that GNU Make doesn't always invoke the
--# target ("make -n" ignored).
--#
--# If $(MAKE) directly appears in a target (for instance in minstall26)
--# then GNU Make will assume that it is a recursive make invocation and
--# invoke the target regardless of -n.
--#
--# XXX: minstall24 should also use this.
--
--osmodlib-from-make = \
--      OSMODLIB=$$($(MAKE) $(1) 2>/dev/null | sed -n -e 's/^MODLIB[ :=]*\([^;]*\).*/\1/p' | head -1) ; \
--      test -z "$$OSMODLIB" || echo "OSMODLIB=$$OSMODLIB ($(MAKE) $(1))"
--
--# module-only install, with error checks
--minstall24:
--      ( OSMODLIB=`${MAKE} -C $(KERNELSRC) -p dummy | ( sed -n -e '/^MODLIB/p' -e '/^MODLIB/q' ; cat > /dev/null ) | sed -e 's/^MODLIB[ :=]*\([^;]*\).*/\1/'` ; \
--      if [ -z "$$OSMODLIB" ] ; then \
--              OSMODLIB=`${MAKE} -C $(KERNELSRC) -n -p modules_install | ( sed -n -e '/^MODLIB/p' -e '/^MODLIB/q' ; cat > /dev/null ) | sed -e 's/^MODLIB[ :=]*\([^;]*\).*/\1/'` ; \
--      fi ; \
--      if [ -z "$$OSMODLIB" ] ; then \
--              echo "No known place to install module. Aborting." ; \
--              exit 93 ; \
--      fi ; \
--      set -x ; \
--      mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
--      cp $(MOD24BUILDDIR)/ipsec.o $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
--      if [ -f /sbin/depmod ] ; then /sbin/depmod -a ; fi; \
--      if [ -n "$(OSMOD_DESTDIR)" ] ; then \
--        mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
--                if [ -f $$OSMODLIB/kernel/ipsec.o -a -f $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.o ] ; then \
--                        echo "WARNING: two ipsec.o modules found in $$OSMODLIB/kernel:" ; \
--                        ls -l $$OSMODLIB/kernel/ipsec.o $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.o ; \
--                        exit 1; \
--                fi ; \
--        fi ; \
--        set -x ) ;
--
--
--else
--module:
--      echo 'Building in place is no longer supported. Please set MOD24BUILDDIR='
--      exit 1
--
--endif
--
--# module-only building, with error checks
--ifneq ($(strip $(MODBUILDDIR)),)
--${MODBUILDDIR}/Makefile : ${LIBRESWANSRCDIR}/packaging/makefiles/module.make
--      mkdir -p ${MODBUILDDIR}
--      echo ln -s -f ${LIBRESWANSRCDIR}/linux/net/ipsec/des/*.S ${MODBUILDDIR}
--      (rm -f ${MODBUILDDIR}/des; mkdir -p ${MODBUILDDIR}/des && cd ${MODBUILDDIR}/des && ln -s -f ${LIBRESWANSRCDIR}/linux/net/ipsec/des/* . && ln -s -f Makefile.fs2_6 Makefile)
--      (rm -f ${MODBUILDDIR}/aes; mkdir -p ${MODBUILDDIR}/aes && cd ${MODBUILDDIR}/aes && ln -s -f ${LIBRESWANSRCDIR}/linux/net/ipsec/aes/* . && ln -s -f Makefile.fs2_6 Makefile)
--      mkdir -p ${MODBUILDDIR}/aes
--      cp ${LIBRESWANSRCDIR}/packaging/makefiles/module.make ${MODBUILDDIR}/Makefile
--      ln -s -f ${LIBRESWANSRCDIR}/linux/net/ipsec/match*.S ${MODBUILDDIR}
--
--module26:
--      @if [ -f ${KERNELSRC}/Rules.make ] ; then \                 echo "Warning: Building for a 2.6+ kernel in what looks like a 2.4 tree"; \
--        fi ; \
--        ${MAKE}  ${MODBUILDDIR}/Makefile
--      ${MAKE} -C ${KERNELSRC} ${KERNELBUILDMFLAGS} BUILDDIR=${MODBUILDDIR} SUBDIRS=${MODBUILDDIR} INITSYSTEM=$(INITSYSTEM) MODULE_DEF_INCLUDE=${MODULE_DEF_INCLUDE} MODULE_DEFCONFIG=${MODULE_DEFCONFIG}  MODULE_EXTRA_INCLUDE=${MODULE_EXTRA_INCLUDE} ARCH=${ARCH} V=${V} modules
--      @echo
--      @echo '========================================================='
--      @echo
--      @echo 'KLIPS module built successfully. '
--      @echo ipsec.ko is in ${MODBUILDDIR}
--      @echo
--      @(cd ${MODBUILDDIR}; ls -l ipsec.ko)
--      @(cd ${MODBUILDDIR}; size ipsec.ko)
--      @echo
--      @echo 'use make minstall as root to install it'
--      @echo
--      @echo '========================================================='
--      @echo
--
--mod26clean module26clean:
--      rm -rf ${MODBUILDDIR}
--
--# module-only install, with error checks
--minstall26:
--      $(call osmodlib-from-make,-C $(KERNELSRC) -p help) ; \
--      if [ -z "$$OSMODLIB" ] ; then \
--              $(call osmodlib-from-make,-C $(KERNELSRC) -n -p modules_install) ; \
--      fi ; \
--      if [ -z "$$OSMODLIB" ] ; then \
--              echo "No known place to install module. Aborting." ; \
--              exit 93 ; \
--      fi ; \
--      set -x ; \
--      mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
--      cp $(MODBUILDDIR)/ipsec.ko $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
--      if [ -f /sbin/depmod ] ; then \
--              /sbin/depmod -a ; \
--      fi ; \
--      if [ -n "$(OSMOD_DESTDIR)" ] ; then \
--              mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
--              if [ -f $$OSMODLIB/kernel/ipsec.ko -a -f $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.ko ] ; then \
--                      echo "WARNING: two ipsec.ko modules found in $$OSMODLIB/kernel:" ; \
--                      ls -l $$OSMODLIB/kernel/ipsec.ko $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.ko ; \
--                      exit 1; \
--              fi ; \
--      fi
--
--
--else
--module26:
--      echo 'Building in place is no longer supported. Please set MODBUILDDIR='
--      exit 1
--
--endif
--
--# kernel install, with error checks
--kinstall:
--      rm -f out.kinstall
--      >out.kinstall
--      # undocumented kernel folklore: modules_install must precede install (observed on RHL8.0)
--      @if egrep -q '^CONFIG_MODULES=y' $(KCFILE) ; \
--      then set -x ; \
--              ( cd $(KERNELSRC) ; \
--              $(MAKE) $(KERNMAKEOPTS) modules_install 2>&1 ) | tee -a out.kinstall ; \
--      fi
--      ( cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) install ) 2>&1 | tee -a out.kinstall
--      ${ERRCHECK} out.kinstall
--
--kernelpatch3 kernelpatch3.5 kernelpatch2.6 kernelpatch:
--      packaging/utils/kernelpatch 2.6
--
--kernelpatch2.4:
--      packaging/utils/kernelpatch 2.4
--
--nattpatch:
--      if [ -f ${KERNELSRC}/Makefile ]; then \
--              ${MAKE} nattpatch${KERNELREL}; \
--      else    echo "Cannot determine Linux kernel version. Perhaps you need to set KERNELSRC? (eg: export KERNELSRC=/usr/src/linux-`uname -r`/)"; exit 1; \
--      fi;
--
--sarefpatch2.6:
--      #cat patches/kernel/2.6.38/0001-SAREF-add-support-for-SA-selection-through-sendmsg.patch
--      #packaging/utils/sarefpatch 2.6
--      echo ""
--
--nattpatch2.6:
--      packaging/utils/nattpatch 2.6
--
--nattpatch2.4:
--      packaging/utils/nattpatch 2.4
--
--nattupdate:
--      (cd UMLPOOL && diff -u plain26/net/ipv4/udp.c.orig plain26/net/ipv4/udp.c; exit 0) >nat-t/net/ipv4/udp.c.os2_6.patch
--
--# take all the patches out of the kernel
--# (Note, a couple of files are modified by non-patch means; they are
--# included in "make backup".)
--unpatch:
--      @echo \"make unpatch\" is obsolete. See make unapplypatch.
--      exit 1
--
--_unpatch:
--      for f in `find $(KERNELSRC)/. -name '*.preipsec' -print` ; \
--      do \
--              echo "restoring $$f:" ; \
--              dir=`dirname $$f` ; \
--              core=`basename $$f .preipsec` ; \
--              cd $$dir ; \
--              mv -f $$core.preipsec $$core ; \
--              rm -f $$core.wipsec $$core.ipsecmd5 ; \
--      done
--
--# at the moment there is no difference between snapshot and release build
--snapready:    buildready
--relready:     buildready
--ready:                devready
- # set up for build
- buildready:
-@@ -604,13 +173,6 @@ deb:
-       #debuild -S -sa
-       @echo "to build optional KLIPS kernel module, run make deb-klips"
--deb-klips:
--      sudo module-assistant prepare -u .
--      sudo dpkg -i ../libreswan-modules-source_`make -s showdebversion`_all.deb
--      sudo module-assistant -u . prepare
--      sudo module-assistant -u . build libreswan
--
--
- release:
-       packaging/utils/makerelease
-@@ -654,3 +216,5 @@ install-fipshmac:
- include ${LIBRESWANSRCDIR}/mk/docker-targets.mk
- include ${LIBRESWANSRCDIR}/mk/kvm-targets.mk
- include ${LIBRESWANSRCDIR}/mk/web-targets.mk
-+include ${LIBRESWANSRCDIR}/mk/kernel.mk
-+
-diff --git a/mk/kernel.mk b/mk/kernel.mk
-new file mode 100644
-index 0000000000..187167d440
---- /dev/null
-+++ b/mk/kernel.mk
-@@ -0,0 +1,468 @@
-+# Libreswan master makefile
-+#
-+# Copyright (C) 1998-2002  Henry Spencer.
-+# Copyright (C) 2003-2004  Xelerance Corporation
-+# Copyright (C) 2017, Richard Guy Briggs <rgb@tricolour.ca>
-+# Copyright (C) 2015-2018  Andrew Cagney
-+#
-+# This program is free software; you can redistribute it and/or modify it
-+# under the terms of the GNU General Public License as published by the
-+# Free Software Foundation; either version 2 of the License, or (at your
-+# option) any later version.  See <https://www.gnu.org/licenses/gpl2.txt>.
-+#
-+# This program is distributed in the hope that it will be useful, but
-+# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-+# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+# for more details.
-+#
-+
-+PATCHES=linux
-+# where KLIPS goes in the kernel
-+# note, some of the patches know the last part of this path
-+KERNELKLIPS=$(KERNELSRC)/net/ipsec
-+KERNELCRYPTODES=$(KERNELSRC)/crypto/ciphers/des
-+KERNELLIBFREESWAN=$(KERNELSRC)/lib/libfreeswan
-+KERNELLIBZLIB=$(KERNELSRC)/lib/zlib
-+KERNELINCLUDE=$(KERNELSRC)/include
-+
-+MAKEUTILS=packaging/utils
-+ERRCHECK=${MAKEUTILS}/errcheck
-+KVUTIL=${MAKEUTILS}/kernelversion
-+KVSHORTUTIL=${MAKEUTILS}/kernelversion-short
-+
-+# kernel details
-+# what variant of our patches should we use, and where is it
-+KERNELREL=$(shell ${KVSHORTUTIL} ${KERNELSRC}/Makefile)
-+
-+# directories visited by all recursion
-+
-+# declaration for make's benefit
-+.PHONY:       def insert kpatch patches _patches _patches2.4 \
-+      klipsdefaults programs man install \
-+      precheck verset confcheck kernel \
-+      module module24 module26 kinstall minstall minstall24 minstall26 \
-+      moduleclean mod24clean module24clean mod26clean module26clean \
-+      backup unpatch uninstall \
-+      check \
-+
-+kpatch: unapplypatch applypatch klipsdefaults
-+npatch: unapplynpatch applynpatch
-+sarefpatch: unapplysarefpatch applysarefpatch
-+
-+unapplypatch:
-+      @echo "info: making unapplypatch in `pwd` and KERNELSRC=\"${KERNELSRC}\";"
-+      -@if [ -f ${KERNELSRC}/libreswan.patch ]; then \
-+              echo Undoing previous patches; \
-+              cat ${KERNELSRC}/libreswan.patch | (cd ${KERNELSRC} && patch -p1 -R --force -E -z .preipsec --reverse --ignore-whitespace ); \
-+      fi
-+
-+applypatch:
-+      @echo "info: Now performing forward patches in `pwd`";
-+      ${MAKE} kernelpatch${KERNELREL} | tee ${KERNELSRC}/libreswan.patch | (cd ${KERNELSRC} && patch -p1 -b -z .preipsec --forward --ignore-whitespace )
-+
-+unapplynpatch:
-+      @echo "info: making unapplynpatch (note the second N) in `pwd`";
-+      -@if [ -f ${KERNELSRC}/natt.patch ]; then \
-+              echo Undoing previous NAT patches; \
-+              cat ${KERNELSRC}/natt.patch | (cd ${KERNELSRC} && patch -p1 -R --force -E -z .preipsec --reverse --ignore-whitespace ); \
-+      fi
-+
-+applynpatch:
-+      @echo "info: Now performing forward NAT patches in `pwd`";
-+      ${MAKE} nattpatch${KERNELREL} | tee ${KERNELSRC}/natt.patch | (cd ${KERNELSRC} && patch -p1 -b -z .preipsec --forward --ignore-whitespace )
-+
-+unapplysarefpatch:
-+      @echo "info: making unapplysarefpatch in `pwd`";
-+      -@if [ -f ${KERNELSRC}/saref.patch ]; then \
-+              echo Undoing previous saref patches; \
-+              cat ${KERNELSRC}/saref.patch | (cd ${KERNELSRC} && patch -p1 -R --force -E -z .preng --reverse --ignore-whitespace ); \
-+      fi
-+
-+applysarefpatch:
-+      @echo "info: Now performing SAref patches in `pwd`";
-+      ${MAKE} sarefpatch${KERNELREL} | tee ${KERNELSRC}/klipsng.patch | (cd ${KERNELSRC} && patch -p1 -b -z .preng --forward --ignore-whitespace )
-+
-+# patch kernel
-+PATCHER=packaging/utils/patcher
-+
-+_patches:
-+      echo "===============" >>out.kpatch
-+      echo "`date` `cd $(KERNELSRC) ; pwd`" >>out.kpatch
-+      $(MAKE) __patches$(KERNELREL) >>out.kpatch
-+
-+# Linux-2.4.0 version
-+__patches2.4:
-+      @$(PATCHER) -v -c $(KERNELSRC) Documentation/Configure.help \
-+              'CONFIG_KLIPS' $(PATCHES)/Documentation/Configure.help.fs2_2.patch
-+      @$(PATCHER) -v $(KERNELSRC) net/Config.in \
-+              'CONFIG_KLIPS' $(PATCHES)/net/Config.in.fs2_4.patch
-+      @$(PATCHER) -v $(KERNELSRC) net/Makefile \
-+              'CONFIG_KLIPS' $(PATCHES)/net/Makefile.fs2_4.patch
-+      @$(PATCHER) -v $(KERNELSRC) net/ipv4/af_inet.c \
-+              'CONFIG_KLIPS' $(PATCHES)/net/ipv4/af_inet.c.fs2_4.patch
-+      @$(PATCHER) -v $(KERNELSRC) net/ipv4/udp.c \
-+              'CONFIG_KLIPS' $(PATCHES)/net/ipv4/udp.c.fs2_4.patch
-+      @$(PATCHER) -v $(KERNELSRC) include/net/sock.h \
-+              'CONFIG_KLIPS' $(PATCHES)/include/net/sock.h.fs2_4.patch
-+# Removed patches, will unpatch automatically.
-+      @$(PATCHER) -v $(KERNELSRC) include/linux/proc_fs.h
-+      @$(PATCHER) -v $(KERNELSRC) net/core/dev.c
-+      @$(PATCHER) -v $(KERNELSRC) net/ipv4/protocol.c
-+      @$(PATCHER) -v $(KERNELSRC) drivers/net/Space.c
-+      @$(PATCHER) -v $(KERNELSRC) include/linux/netlink.h
-+      @$(PATCHER) -v $(KERNELSRC) net/netlink/af_netlink.c
-+      @$(PATCHER) -v $(KERNELSRC) net/netlink/netlink_dev.c
-+      @$(PATCHER) -v $(KERNELSRC) drivers/isdn/isdn_net.c
-+
-+klipsdefaults:
-+      @KERNELDEFCONFIG=$(KERNELSRC)/arch/$(ARCH)/defconfig ; \
-+      KERNELCONFIG=$(KCFILE) ; \
-+      if ! egrep -q 'CONFIG_KLIPS' $$KERNELDEFCONFIG ; \
-+      then \
-+              set -x ; \
-+              cp -a $$KERNELDEFCONFIG $$KERNELDEFCONFIG.orig ; \
-+              chmod u+w $$KERNELDEFCONFIG ; \
-+              cat $$KERNELDEFCONFIG $(KERNELKLIPS)/defconfig \
-+                      >$$KERNELDEFCONFIG.tmp ; \
-+              rm -f $$KERNELDEFCONFIG ; \
-+              cp -a $$KERNELDEFCONFIG.tmp $$KERNELDEFCONFIG ; \
-+              rm -f $$KERNELDEFCONFIG.tmp ; \
-+      fi ; \
-+      if ! egrep -q 'CONFIG_KLIPS' $$KERNELCONFIG ; \
-+      then \
-+              set -x ; \
-+              cp -a $$KERNELCONFIG $$KERNELCONFIG.orig ; \
-+              chmod u+w $$KERNELCONFIG ; \
-+              cat $$KERNELCONFIG $(KERNELKLIPS)/defconfig \
-+                      >$$KERNELCONFIG.tmp ; \
-+              rm -f $$KERNELCONFIG ; \
-+              cp -a $$KERNELCONFIG.tmp $$KERNELCONFIG ; \
-+              rm -f $$KERNELCONFIG.tmp ; \
-+      fi
-+
-+
-+local-clean-base: moduleclean
-+distclean: moduleclean module24clean module26clean clean-kvm-keys
-+
-+# proxies for major kernel make operations
-+
-+# do-everything entries
-+KINSERT_PRE=precheck verset insert
-+PRE=precheck verset kpatch
-+POST=confcheck programs kernel install
-+MPOST=confcheck programs module install
-+
-+# preliminaries
-+precheck:
-+      @if test ! -d $(KERNELSRC) -a ! -L $(KERNELSRC) ; \
-+      then \
-+              echo '*** cannot find directory "$(KERNELSRC)"!!' ; \
-+              echo '*** may be necessary to add symlink to kernel source' ; \
-+              exit 1 ; \
-+      fi
-+      @if ! cd $(KERNELSRC) ; \
-+      then \
-+              echo '*** cannot "cd $(KERNELSRC)"!!' ; \
-+              echo '*** may be necessary to add symlink to kernel source' ; \
-+              exit 1 ; \
-+      fi
-+      @if test ! -f $(KCFILE) ; \
-+      then \
-+              echo '*** cannot find "$(KCFILE)"!!' ; \
-+              echo '*** perhaps kernel has never been configured?' ; \
-+              echo '*** please do that first; the results are necessary.' ; \
-+              exit 1 ; \
-+      fi
-+      @if test ! -f $(VERFILE) ; \
-+      then \
-+              echo '*** cannot find "$(VERFILE)"!!' ; \
-+              echo '*** perhaps kernel has never been compiled?' ; \
-+              echo '*** please do that first; the results are necessary.' ; \
-+              exit 1 ; \
-+      fi
-+
-+# configuring (exit statuses disregarded, something fishy here sometimes)
-+xcf:
-+      -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) xconfig
-+mcf:
-+      -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) menuconfig
-+pcf:
-+      -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) config
-+
-+ocf:
-+      -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) oldconfig
-+
-+rcf:
-+      cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) ${NONINTCONFIG} </dev/null
-+      cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) dep >/dev/null
-+
-+kclean:
-+      -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) clean
-+
-+confcheck:
-+      @if test ! -f $(KCFILE) ; \
-+      then echo '*** no kernel configuration file written!!' ; exit 1 ; \
-+      fi
-+      @if ! egrep -q '^CONFIG_KLIPS=[my]' $(KCFILE) ; \
-+      then echo '*** IPsec not in kernel config ($(KCFILE))!!' ; exit 1 ; \
-+      fi
-+      @if ! egrep -q 'CONFIG_KLIPS[   ]+1' $(ACFILE) && \
-+              ! egrep -q 'CONFIG_KLIPS_MODULE[        ]+1' $(ACFILE) ; \
-+      then echo '*** IPsec in kernel config ($(KCFILE)),' ; \
-+              echo '***       but not in config header file ($(ACFILE))!!' ; \
-+              exit 1 ; \
-+      fi
-+      @if egrep -q '^CONFIG_KLIPS=m' $(KCFILE) && \
-+              ! egrep -q '^CONFIG_MODULES=y' $(KCFILE) ; \
-+      then echo '*** IPsec configured as module in kernel with no module support!!' ; exit 1 ; \
-+      fi
-+      @if ! egrep -q 'CONFIG_KLIPS_AH[        ]+1' $(ACFILE) && \
-+              ! egrep -q 'CONFIG_KLIPS_ESP[   ]+1' $(ACFILE) ; \
-+      then echo '*** IPsec configuration must include AH or ESP!!' ; exit 1 ; \
-+      fi
-+
-+# kernel building, with error checks
-+kernel:
-+      rm -f out.kbuild out.kinstall
-+      # undocumented kernel folklore: clean BEFORE dep.
-+      # we run make dep separately, because there is no point in running ERRCHECK
-+      # on the make dep output.
-+      # see LKML thread "clean before or after dep?"
-+      ( cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) $(KERNCLEAN) $(KERNDEP) )
-+      ( cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) $(KERNEL) ) 2>&1 | tee out.kbuild
-+      @if egrep -q '^CONFIG_MODULES=y' $(KCFILE) ; \
-+      then set -x ; \
-+              ( cd $(KERNELSRC) ; \
-+              $(MAKE) $(KERNMAKEOPTS) modules 2>&1 ) | tee -a out.kbuild ; \
-+      fi
-+      ${ERRCHECK} out.kbuild
-+
-+# module-only building, with error checks
-+ifneq ($(strip $(MOD24BUILDDIR)),)
-+${MOD24BUILDDIR}/Makefile : ${LIBRESWANSRCDIR}/packaging/makefiles/module24.make
-+      mkdir -p ${MOD24BUILDDIR}
-+      cp ${LIBRESWANSRCDIR}/packaging/makefiles/module24.make ${MOD24BUILDDIR}/Makefile
-+
-+module:
-+      @if [ -f ${KERNELSRC}/README.libreswan-2 ] ; then \
-+                echo "WARNING: Kernel source ${KERNELSRC} has already been patched with libreswan-2, out of tree build might fail!"; \
-+        fi;
-+      @if [ -f ${KERNELSRC}/README.openswan ] ; then \
-+                echo "WARNING: Kernel source ${KERNELSRC} has already been patched with openswan, out of tree build might fail!"; \
-+        fi;
-+      @if [ -f ${KERNELSRC}/README.openswan-2 ] ; then \
-+                echo "WARNING: Kernel source ${KERNELSRC} has already been patched with openswan-2, out of tree build might fail!"; \
-+        fi;
-+      @if [ -f ${KERNELSRC}/README.freeswan ] ; then \
-+                echo "ERROR: Kernel source ${KERNELSRC} has already been patched with freeswan, out of tree build will fail!"; \
-+        fi;
-+      @if [ -f ${KERNELSRC}/Rules.make ] ; then \
-+                echo "Building module for a 2.4 kernel"; ${MAKE} module24 ; \
-+        else echo "Building module for a 2.6 kernel"; ${MAKE} module26; \
-+        fi;
-+
-+modclean moduleclean:
-+      @if [ -f ${KERNELSRC}/Rules.make ] ; then \
-+              echo "Cleaning module for a 2.4 kernel"; ${MAKE} module24clean ; \
-+      else echo "Cleaning module for a 2.6 kernel"; ${MAKE} module26clean; \
-+      fi;
-+
-+module24:
-+      @if [ ! -f ${KERNELSRC}/Rules.make ] ; then \
-+                echo "Warning: Building for a 2.4 kernel in what looks like a 2.6 tree"; \
-+        fi ; \
-+        ${MAKE} ${MOD24BUILDDIR}/Makefile
-+      ${MAKE} -C ${MOD24BUILDDIR}  LIBRESWANSRCDIR=${LIBRESWANSRCDIR} ARCH=${ARCH} V=${V} ${MODULE_FLAGS} MODULE_DEF_INCLUDE=${MODULE_DEF_INCLUDE} TOPDIR=${KERNELSRC} -f Makefile ipsec.o
-+      @echo
-+      @echo '========================================================='
-+      @echo
-+      @echo 'KLIPS24 module built successfully. '
-+      @echo ipsec.o is in ${MOD24BUILDDIR}
-+      @echo
-+      @(cd ${MOD24BUILDDIR}; ls -l ipsec.o)
-+      @(cd ${MOD24BUILDDIR}; size ipsec.o)
-+      @echo
-+      @echo 'use make minstall as root to install it'
-+      @echo
-+      @echo '========================================================='
-+      @echo
-+
-+mod24clean module24clean:
-+      rm -rf ${MOD24BUILDDIR}
-+
-+#autoodetect 2.4 and 2.6
-+module_install minstall install-module:
-+      @if [ -f $(KERNELSRC)/Rules.make ] ; then \
-+                $(MAKE) minstall24 ; \
-+      else \
-+              $(MAKE) minstall26 ; \
-+        fi;
-+
-+# Extract the value of MODLIB from the output of $(MAKE).  Also hide
-+# the sup-process $(MAKE) so that GNU Make doesn't always invoke the
-+# target ("make -n" ignored).
-+#
-+# If $(MAKE) directly appears in a target (for instance in minstall26)
-+# then GNU Make will assume that it is a recursive make invocation and
-+# invoke the target regardless of -n.
-+#
-+# XXX: minstall24 should also use this.
-+
-+osmodlib-from-make = \
-+      OSMODLIB=$$($(MAKE) $(1) 2>/dev/null | sed -n -e 's/^MODLIB[ :=]*\([^;]*\).*/\1/p' | head -1) ; \
-+      test -z "$$OSMODLIB" || echo "OSMODLIB=$$OSMODLIB ($(MAKE) $(1))"
-+
-+# module-only install, with error checks
-+minstall24:
-+      ( OSMODLIB=`${MAKE} -C $(KERNELSRC) -p dummy | ( sed -n -e '/^MODLIB/p' -e '/^MODLIB/q' ; cat > /dev/null ) | sed -e 's/^MODLIB[ :=]*\([^;]*\).*/\1/'` ; \
-+      if [ -z "$$OSMODLIB" ] ; then \
-+              OSMODLIB=`${MAKE} -C $(KERNELSRC) -n -p modules_install | ( sed -n -e '/^MODLIB/p' -e '/^MODLIB/q' ; cat > /dev/null ) | sed -e 's/^MODLIB[ :=]*\([^;]*\).*/\1/'` ; \
-+      fi ; \
-+      if [ -z "$$OSMODLIB" ] ; then \
-+              echo "No known place to install module. Aborting." ; \
-+              exit 93 ; \
-+      fi ; \
-+      set -x ; \
-+      mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
-+      cp $(MOD24BUILDDIR)/ipsec.o $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
-+      if [ -f /sbin/depmod ] ; then /sbin/depmod -a ; fi; \
-+      if [ -n "$(OSMOD_DESTDIR)" ] ; then \
-+        mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
-+                if [ -f $$OSMODLIB/kernel/ipsec.o -a -f $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.o ] ; then \
-+                        echo "WARNING: two ipsec.o modules found in $$OSMODLIB/kernel:" ; \
-+                        ls -l $$OSMODLIB/kernel/ipsec.o $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.o ; \
-+                        exit 1; \
-+                fi ; \
-+        fi ; \
-+        set -x ) ;
-+
-+
-+else
-+module:
-+      echo 'Building in place is no longer supported. Please set MOD24BUILDDIR='
-+      exit 1
-+
-+endif
-+
-+# module-only building, with error checks
-+ifneq ($(strip $(MODBUILDDIR)),)
-+${MODBUILDDIR}/Makefile : ${LIBRESWANSRCDIR}/packaging/makefiles/module.make
-+      mkdir -p ${MODBUILDDIR}
-+      echo ln -s -f ${LIBRESWANSRCDIR}/linux/net/ipsec/des/*.S ${MODBUILDDIR}
-+      (rm -f ${MODBUILDDIR}/des; mkdir -p ${MODBUILDDIR}/des && cd ${MODBUILDDIR}/des && ln -s -f ${LIBRESWANSRCDIR}/linux/net/ipsec/des/* . && ln -s -f Makefile.fs2_6 Makefile)
-+      (rm -f ${MODBUILDDIR}/aes; mkdir -p ${MODBUILDDIR}/aes && cd ${MODBUILDDIR}/aes && ln -s -f ${LIBRESWANSRCDIR}/linux/net/ipsec/aes/* . && ln -s -f Makefile.fs2_6 Makefile)
-+      mkdir -p ${MODBUILDDIR}/aes
-+      cp ${LIBRESWANSRCDIR}/packaging/makefiles/module.make ${MODBUILDDIR}/Makefile
-+      ln -s -f ${LIBRESWANSRCDIR}/linux/net/ipsec/match*.S ${MODBUILDDIR}
-+
-+module26:
-+      @if [ -f ${KERNELSRC}/Rules.make ] ; then \                 echo "Warning: Building for a 2.6+ kernel in what looks like a 2.4 tree"; \
-+        fi ; \
-+        ${MAKE}  ${MODBUILDDIR}/Makefile
-+      ${MAKE} -C ${KERNELSRC} ${KERNELBUILDMFLAGS} BUILDDIR=${MODBUILDDIR} SUBDIRS=${MODBUILDDIR} INITSYSTEM=$(INITSYSTEM) MODULE_DEF_INCLUDE=${MODULE_DEF_INCLUDE} MODULE_DEFCONFIG=${MODULE_DEFCONFIG}  MODULE_EXTRA_INCLUDE=${MODULE_EXTRA_INCLUDE} ARCH=${ARCH} V=${V} modules
-+      @echo
-+      @echo '========================================================='
-+      @echo
-+      @echo 'KLIPS module built successfully. '
-+      @echo ipsec.ko is in ${MODBUILDDIR}
-+      @echo
-+      @(cd ${MODBUILDDIR}; ls -l ipsec.ko)
-+      @(cd ${MODBUILDDIR}; size ipsec.ko)
-+      @echo
-+      @echo 'use make minstall as root to install it'
-+      @echo
-+      @echo '========================================================='
-+      @echo
-+
-+mod26clean module26clean:
-+      rm -rf ${MODBUILDDIR}
-+
-+# module-only install, with error checks
-+minstall26:
-+      $(call osmodlib-from-make,-C $(KERNELSRC) -p help) ; \
-+      if [ -z "$$OSMODLIB" ] ; then \
-+              $(call osmodlib-from-make,-C $(KERNELSRC) -n -p modules_install) ; \
-+      fi ; \
-+      if [ -z "$$OSMODLIB" ] ; then \
-+              echo "No known place to install module. Aborting." ; \
-+              exit 93 ; \
-+      fi ; \
-+      set -x ; \
-+      mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
-+      cp $(MODBUILDDIR)/ipsec.ko $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
-+      if [ -f /sbin/depmod ] ; then \
-+              /sbin/depmod -a ; \
-+      fi ; \
-+      if [ -n "$(OSMOD_DESTDIR)" ] ; then \
-+              mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
-+              if [ -f $$OSMODLIB/kernel/ipsec.ko -a -f $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.ko ] ; then \
-+                      echo "WARNING: two ipsec.ko modules found in $$OSMODLIB/kernel:" ; \
-+                      ls -l $$OSMODLIB/kernel/ipsec.ko $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.ko ; \
-+                      exit 1; \
-+              fi ; \
-+      fi
-+
-+
-+else
-+module26:
-+      echo 'Building in place is no longer supported. Please set MODBUILDDIR='
-+      exit 1
-+
-+endif
-+
-+# kernel install, with error checks
-+kinstall:
-+      rm -f out.kinstall
-+      >out.kinstall
-+      # undocumented kernel folklore: modules_install must precede install (observed on RHL8.0)
-+      @if egrep -q '^CONFIG_MODULES=y' $(KCFILE) ; \
-+      then set -x ; \
-+              ( cd $(KERNELSRC) ; \
-+              $(MAKE) $(KERNMAKEOPTS) modules_install 2>&1 ) | tee -a out.kinstall ; \
-+      fi
-+      ( cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) install ) 2>&1 | tee -a out.kinstall
-+      ${ERRCHECK} out.kinstall
-+
-+kernelpatch3 kernelpatch3.5 kernelpatch2.6 kernelpatch:
-+      packaging/utils/kernelpatch 2.6
-+
-+kernelpatch2.4:
-+      packaging/utils/kernelpatch 2.4
-+
-+nattpatch:
-+      if [ -f ${KERNELSRC}/Makefile ]; then \
-+              ${MAKE} nattpatch${KERNELREL}; \
-+      else    echo "Cannot determine Linux kernel version. Perhaps you need to set KERNELSRC? (eg: export KERNELSRC=/usr/src/linux-`uname -r`/)"; exit 1; \
-+      fi;
-+
-+sarefpatch2.6:
-+      #cat patches/kernel/2.6.38/0001-SAREF-add-support-for-SA-selection-through-sendmsg.patch
-+      #packaging/utils/sarefpatch 2.6
-+      echo ""
-+
-+nattpatch2.6:
-+      packaging/utils/nattpatch 2.6
-+
-+nattpatch2.4:
-+      packaging/utils/nattpatch 2.4
-+
-+nattupdate:
-+      (cd UMLPOOL && diff -u plain26/net/ipv4/udp.c.orig plain26/net/ipv4/udp.c; exit 0) >nat-t/net/ipv4/udp.c.os2_6.patch
-+
-+# take all the patches out of the kernel
-+# (Note, a couple of files are modified by non-patch means; they are
-+# included in "make backup".)
-+unpatch:
-+      @echo \"make unpatch\" is obsolete. See make unapplypatch.
-+      exit 1
-+
-+_unpatch:
-+      for f in `find $(KERNELSRC)/. -name '*.preipsec' -print` ; \
-+      do \
-+              echo "restoring $$f:" ; \
-+              dir=`dirname $$f` ; \
-+              core=`basename $$f .preipsec` ; \
-+              cd $$dir ; \
-+              mv -f $$core.preipsec $$core ; \
-+              rm -f $$core.wipsec $$core.ipsecmd5 ; \
-+      done
diff --git a/net/libreswan/patches/002-cripple_klips_klips_kernel_rules.patch b/net/libreswan/patches/002-cripple_klips_klips_kernel_rules.patch
deleted file mode 100644 (file)
index f07f0ed..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-From fa00316e8c5151747f3e80895e6afd9ee1a9c0cd Mon Sep 17 00:00:00 2001
-From: Andrew Cagney <cagney@gnu.org>
-Date: Thu, 25 Oct 2018 21:02:45 -0400
-Subject: [PATCH] building: when !USE_KLIPS=true cripple klips kernel module
- rules
-
----
- Makefile | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 0b070966e6..2fcf0229fd 100644
---- a/Makefile
-+++ b/Makefile
-@@ -216,5 +216,6 @@ install-fipshmac:
- include ${LIBRESWANSRCDIR}/mk/docker-targets.mk
- include ${LIBRESWANSRCDIR}/mk/kvm-targets.mk
- include ${LIBRESWANSRCDIR}/mk/web-targets.mk
-+ifeq ($(USE_KLIPS),true)
- include ${LIBRESWANSRCDIR}/mk/kernel.mk
--
-+endif
index 5072a45b6e370ffe41faa7ed4ff2953d120b8924..e209b8ff7eba9fe92e3456b4bd3fc52256cb50f9 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mDNSResponder
-PKG_VERSION:=878.200.35
+PKG_VERSION:=IETF104
 PKG_RELEASE:=1
 
 PKG_SOURCE:=mDNSResponder-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://opensource.apple.com/tarballs/mDNSResponder/
-PKG_HASH:=e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0
+PKG_SOURCE_URL:=https://opensource.apple.com/tarballs/mDNSResponder/IETF/
+PKG_HASH:=b3a76fd35cf2d561546c2fbeaea1e5998b7e04b8330afb918ea5fbdeb202162c
 PKG_MAINTAINER:=
 PKG_LICENSE:=Apache-2.0
 
diff --git a/net/mdnsresponder/patches/001-cross_compile.patch b/net/mdnsresponder/patches/001-cross_compile.patch
deleted file mode 100644 (file)
index aa90eb9..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
---- a/Clients/Makefile
-+++ b/Clients/Makefile
-@@ -27,6 +27,8 @@
- #############################################################################
-+CC = @cc
-+
- # On OS X the dns_sd library functions are included in libSystem, which is implicitly linked with every executable
- # If /usr/lib/libSystem.dylib exists, then we're on OS X, so we don't need also to link the "dns_sd" shared library
- ifneq "$(wildcard /usr/lib/libSystem.dylib)" ""
-@@ -46,10 +48,10 @@ build:
-       mkdir build
- build/dns-sd: build dns-sd.c ClientCommon.c
--      $(CC) $(filter %.c %.o, $+) $(LIBS) -I../mDNSShared -Wall -o $@
-+      $(CC) $(CFLAGS) $(filter %.c %.o, $+) $(LIBS) -I../mDNSShared -Wall -o $@
- build/dns-sd64: build dns-sd.c ClientCommon.c
--      $(CC) $(filter %.c %.o, $+) $(LIBS) -I../mDNSShared -Wall -o $@ -m64
-+      $(CC) $(CFLAGS) $(filter %.c %.o, $+) $(LIBS) -I../mDNSShared -Wall -o $@ -m64
- # Note, we can make a 'fat' version of dns-sd using 'lipo', as shown below, but we
- # don't, because we don't want or need a 'fat' version of dns-sd, because it will
---- a/mDNSPosix/Makefile
-+++ b/mDNSPosix/Makefile
-@@ -54,11 +54,12 @@ COREDIR = ../mDNSCore
- SHAREDDIR ?= ../mDNSShared
- JDK = /usr/jdk
--CC = @cc
-+CC = @gcc
- BISON = @bison
- FLEX = @flex
- ST = @strip
--LD = ld -shared
-+LD = @ld
-+SOOPTS = -shared
- CP = cp
- RM = rm
- LN = ln -s -f
-@@ -92,7 +93,7 @@ CFLAGS_DEBUG = -O0 -DMDNS_DEBUGMSGS=0
- CFLAGS_OS = -DNOT_HAVE_DAEMON -DNOT_HAVE_SA_LEN -DNOT_HAVE_SOCKLEN_T -DNOT_HAVE_IF_NAMETOINDEX \
-        -DLOG_PERROR=0 -D_XPG4_2 -D__EXTENSIONS__ -DHAVE_BROKEN_RECVIF_NAME -DTARGET_OS_SOLARIS
- CC = gcc
--LD = gcc -shared
-+LD = gcc
- LINKOPTS = -lsocket -lnsl -lresolv
- JAVACFLAGS_OS += -I$(JDK)/include/solaris
- ifneq ($(DEBUG),1)
-@@ -149,7 +150,8 @@    -D__MAC_OS_X_VERSION_MIN_REQUIRED=__MAC_OS_X_VERSION_10_4 \
-       -DHAVE_STRLCPY=1 \
-       -D__APPLE_USE_RFC_2292 #-Wunreachable-code
- CC = gcc
--LD = $(CC) -dynamiclib
-+LD = $(CC)
-+SOOPTS= -dynamiclib
- LINKOPTS = -lSystem
- LDSUFFIX = dylib
- JDK = /System/Library/Frameworks/JavaVM.framework/Home
-@@ -172,8 +174,9 @@ NSSLIBFILE  := $(NSSLIBNAME)-$(NSSVERSIO
- NSSLINKNAME := $(NSSLIBNAME).so.2
- NSSINSTPATH := /lib
--# If not otherwise defined, we install into /usr/lib and /usr/include
-+# If not otherwise defined, we install into /usr/lib, /usr/include and /etc
- # and our startup script is called mdns (e.g. /etc/init.d/mdns)
-+ETCBASE?=/etc
- INSTBASE?=/usr
- STARTUPSCRIPTNAME?=mdns
-@@ -259,7 +262,7 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$
- CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o
- $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS)
--      @$(LD) $(LINKOPTS) -o $@ $+
-+      @$(LD) $(SOOPTS) $(LINKOPTS) -o $@ $+
-       @$(STRIP) $@
- Clients: setup libdns_sd ../Clients/build/dns-sd
-@@ -294,7 +297,7 @@ InstalledManPages: $(MANPATH)/man8/mdnsd
- InstalledClients: $(INSTBASE)/bin/dns-sd
-       @echo $+ " installed"
--InstalledNSS: $(NSSINSTPATH)/$(NSSLINKNAME) /etc/nss_mdns.conf $(MANPATH)/man5/nss_mdns.conf.5 $(MANPATH)/man8/libnss_mdns.8
-+InstalledNSS: $(NSSINSTPATH)/$(NSSLINKNAME) $(ETCBASE)/nss_mdns.conf $(MANPATH)/man5/nss_mdns.conf.5 $(MANPATH)/man8/libnss_mdns.8
-       @echo $+ " installed"
- # Note: If daemon already installed, we make sure it's stopped before overwriting it
-@@ -347,19 +350,21 @@ $(INSTBASE)/bin/dns-sd: ../Clients/build
- $(NSSINSTPATH)/$(NSSLINKNAME): $(NSSINSTPATH)/$(NSSLIBFILE)
-       $(LN) $< $@
--      ldconfig
-+ifdef LDCONFIG
-+      $(LDCONFIG)
-+endif
- $(NSSINSTPATH)/$(NSSLIBFILE): $(BUILDDIR)/$(NSSLIBFILE)
-       $(CP) $< $@
-       chmod 444 $@
--/etc/nss_mdns.conf: nss_mdns.conf
-+$(ETCBASE)/nss_mdns.conf: nss_mdns.conf
-       $(CP) $< $@
-       chmod 444 $@
-       # Check the nsswitch.conf file.
-       # If 'mdns' does not already appear on the "hosts:" line, then add it right before 'dns'
--      cp -f /etc/nsswitch.conf /etc/nsswitch.conf.pre-mdns
--      sed -e '/mdns/!s/^\(hosts:.*\)dns\(.*\)/\1mdns dns\2/' /etc/nsswitch.conf.pre-mdns > /etc/nsswitch.conf
-+      -[ -f $(ETCBASE)/nsswitch.conf ] && cp -f $(ETCBASE)/nsswitch.conf $(ETCBASE)/nsswitch.conf.pre-mdns
-+      -[ -f $(ETCBASE)/nsswitch.conf ] && sed -e '/mdns/!s/^\(hosts:.*\)dns\(.*\)/\1mdns dns\2/' $(ETCBASE)/nsswitch.conf.pre-mdns > $(ETCBASE)/nsswitch.conf
- #############################################################################
diff --git a/net/mdnsresponder/patches/100-linux_fixes.patch b/net/mdnsresponder/patches/100-linux_fixes.patch
deleted file mode 100644 (file)
index cb62382..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-diff --git a/Clients/Makefile b/Clients/Makefile
-index 383af31..925c20e 100755
---- a/Clients/Makefile
-+++ b/Clients/Makefile
-@@ -36,7 +36,7 @@ TARGETS = build/dns-sd build/dns-sd64
- LIBS =
- else
- TARGETS = build/dns-sd
--LIBS = -L../mDNSPosix/build/prod/ -ldns_sd
-+LIBS ?= -L../mDNSPosix/build/prod/ -ldns_sd
- endif
- all: $(TARGETS)
-diff --git a/mDNSPosix/PosixDaemon.c b/mDNSPosix/PosixDaemon.c
-index 88b3292..e86a6c7 100644
---- a/mDNSPosix/PosixDaemon.c
-+++ b/mDNSPosix/PosixDaemon.c
-@@ -37,6 +37,11 @@
- #include <fcntl.h>
- #include <pwd.h>
- #include <sys/types.h>
-+#ifdef __linux__
-+#include <sys/capability.h> /* !!! We require libcap-dev for this. Oh well. */
-+/* prctl is required to enable inheriting of capabilities across setuid */
-+#include <sys/prctl.h>
-+#endif /* __linux__ */
- #if __APPLE__
- #undef daemon
-@@ -184,16 +189,50 @@ int main(int argc, char **argv)
-     Reconfigure(&mDNSStorage);
-+#ifdef __linux__
-+    /*
-+     * SO_BINDTODEVICE is privileged operation; however, we can get
-+     * around it using capabilities instead of remaining root.
-+     */
-+    if (mStatus_NoError == err)
-+      {
-+        if (prctl(PR_SET_KEEPCAPS, 1, 0, 0, 0) < 0)
-+          perror("prctl PR_SET_KEEPCAPS");
-+      }
-+#endif /* __linux__ */
-+
-     // Now that we're finished with anything privileged, switch over to running as "nobody"
-     if (mStatus_NoError == err)
-     {
-         const struct passwd *pw = getpwnam("nobody");
-         if (pw != NULL)
-+          {
-             setuid(pw->pw_uid);
-+#ifdef __linux__
-+            struct __user_cap_header_struct ch;
-+            struct __user_cap_data_struct cd[_LINUX_CAPABILITY_U32S_3];
-+
-+            memset(&ch, 0, sizeof(ch));
-+            ch.version = _LINUX_CAPABILITY_VERSION_3;
-+            ch.pid = getpid();
-+            memset(&cd[0], 0, sizeof(cd));
-+            /* CAP_NET_RAW is required to use SO_BINDTODEVICE */
-+            int caps = CAP_TO_MASK(CAP_NET_RAW);
-+            cd[0].permitted = caps;
-+            cd[0].effective = caps;
-+            if (capset(&ch, &cd[0]) < 0)
-+              perror("capset");
-+#endif /* __linux__ */
-+          }
-         else
-             LogMsg("WARNING: mdnsd continuing as root because user \"nobody\" does not exist");
-     }
-+#ifdef __linux__
-+    if (mStatus_NoError == err)
-+      err = mDNSPlatformPosixRefreshInterfaceList(&mDNSStorage);
-+#endif /* __linux__ */
-+
-     if (mStatus_NoError == err)
-         err = MainLoop(&mDNSStorage);
-diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
-index 6effa12..7c1d6eb 100755
---- a/mDNSPosix/mDNSPosix.c
-+++ b/mDNSPosix/mDNSPosix.c
-@@ -733,6 +741,29 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf
-             if (err < 0) { err = errno; perror("setsockopt - IP_MULTICAST_TTL"); }
-         }
-+#ifdef __linux__
-+#ifdef SO_BINDTODEVICE
-+        if (err == 0 && interfaceIndex)
-+        {
-+            char ifname[IFNAMSIZ];
-+            if (if_indextoname(interfaceIndex, ifname))
-+              {
-+                err = setsockopt(*sktPtr, SOL_SOCKET, SO_BINDTODEVICE, ifname, strlen(ifname));
-+                if (err < 0)
-+                  {
-+                    err = errno;
-+                    perror("setsockopt - SO_BINDTODEVICE");
-+                  }
-+              }
-+            else
-+              {
-+                err = errno;
-+                perror("if_indextoname");
-+              }
-+        }
-+#endif /* SO_BINDTODEVICE */
-+#endif /* __linux__ */
-+
-         // And start listening for packets
-         if (err == 0)
-         {
-@@ -814,6 +845,29 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf
-             if (err < 0) { err = errno; perror("setsockopt - IPV6_MULTICAST_HOPS"); }
-         }
-+#ifdef __linux__
-+#ifdef SO_BINDTODEVICE
-+        if (err == 0 && interfaceIndex)
-+        {
-+            char ifname[IFNAMSIZ];
-+            if (if_indextoname(interfaceIndex, ifname))
-+              {
-+                err = setsockopt(*sktPtr, SOL_SOCKET, SO_BINDTODEVICE, ifname, strlen(ifname));
-+                if (err < 0)
-+                  {
-+                    err = errno;
-+                    perror("setsockopt - SO_BINDTODEVICE");
-+                  }
-+              }
-+            else
-+              {
-+                err = errno;
-+                perror("if_indextoname");
-+              }
-+        }
-+#endif /* SO_BINDTODEVICE */
-+#endif /* __linux__ */
-+
-         // And start listening for packets
-         if (err == 0)
-         {
-@@ -958,19 +1017,14 @@ mDNSlocal int SetupInterfaceList(mDNS *const m)
-     int err            = 0;
-     struct ifi_info *intfList      = get_ifi_info(AF_INET, mDNStrue);
-     struct ifi_info *firstLoopback = NULL;
-+    struct ifi_info **p = &intfList;
-     assert(m != NULL);
-     debugf("SetupInterfaceList");
--    if (intfList == NULL) err = ENOENT;
--
- #if HAVE_IPV6
--    if (err == 0)       /* Link the IPv6 list to the end of the IPv4 list */
--    {
--        struct ifi_info **p = &intfList;
--        while (*p) p = &(*p)->ifi_next;
--        *p = get_ifi_info(AF_INET6, mDNStrue);
--    }
-+    while (*p) p = &(*p)->ifi_next;
-+    *p = get_ifi_info(AF_INET6, mDNStrue);
- #endif
-     if (err == 0)
-@@ -1046,7 +1100,7 @@ mDNSlocal mStatus OpenIfNotifySocket(int *pFD)
-     /* Subscribe the socket to Link & IP addr notifications. */
-     mDNSPlatformMemZero(&snl, sizeof snl);
-     snl.nl_family = AF_NETLINK;
--    snl.nl_groups = RTMGRP_LINK | RTMGRP_IPV4_IFADDR;
-+    snl.nl_groups = RTMGRP_LINK | RTMGRP_IPV4_IFADDR | RTMGRP_IPV6_IFADDR;
-     ret = bind(sock, (struct sockaddr *) &snl, sizeof snl);
-     if (0 == ret)
-         *pFD = sock;
-@@ -1124,11 +1178,18 @@ mDNSlocal mDNSu32       ProcessRoutingNotification(int sd)
-         PrintNetLinkMsg(pNLMsg);
- #endif
-+        // this result isn't used anywhere as a number, just as
-+        // non-zero - however, I have seen devices with more than 32
-+        // interfaces at some point..
-+        // (on Linux, every tunnel increases index for example)
-+
-         // Process the NetLink message
-         if (pNLMsg->nlmsg_type == RTM_GETLINK || pNLMsg->nlmsg_type == RTM_NEWLINK)
--            result |= 1 << ((struct ifinfomsg*) NLMSG_DATA(pNLMsg))->ifi_index;
-+          result |= 1;
-+        // << ((struct ifinfomsg*) NLMSG_DATA(pNLMsg))->ifi_index;
-         else if (pNLMsg->nlmsg_type == RTM_DELADDR || pNLMsg->nlmsg_type == RTM_NEWADDR)
--            result |= 1 << ((struct ifaddrmsg*) NLMSG_DATA(pNLMsg))->ifa_index;
-+          result |= 1;
-+        // << ((struct ifaddrmsg*) NLMSG_DATA(pNLMsg))->ifa_index;
-         // Advance pNLMsg to the next message in the buffer
-         if ((pNLMsg->nlmsg_flags & NLM_F_MULTI) != 0 && pNLMsg->nlmsg_type != NLMSG_DONE)
-@@ -1299,8 +1360,12 @@ mDNSexport mStatus mDNSPlatformInit(mDNS *const m)
-     if (err == mStatus_NoError) err = SetupSocket(&sa, zeroIPPort, 0, &m->p->unicastSocket6);
- #endif
-+    // In Linux case, we can't set up sockets with different owner -
-+    // it blows up SO_REUSEPORT. So we do this step bit later.
-+#ifndef __linux__
-     // Tell mDNS core about the network interfaces on this machine.
-     if (err == mStatus_NoError) err = SetupInterfaceList(m);
-+#endif /* !__linux__ */
-     // Tell mDNS core about DNS Servers
-     mDNS_Lock(m);
-diff --git a/mDNSPosix/mDNSUNP.c b/mDNSPosix/mDNSUNP.c
-index b392fc7..f551ad5 100755
---- a/mDNSPosix/mDNSUNP.c
-+++ b/mDNSPosix/mDNSUNP.c
-@@ -63,6 +63,7 @@
- #if defined(AF_INET6) && HAVE_IPV6 && HAVE_LINUX
- #include <netdb.h>
- #include <arpa/inet.h>
-+#include <linux/if_addr.h>
- /* Converts a prefix length to IPv6 network mask */
- void plen_to_mask(int plen, char *addr) {
-@@ -127,6 +128,8 @@
-             nitems = fscanf(fp, ifnameFmt, ifname);
-             if (nitems != 1) break;
-+            if (flags & IFA_F_DEPRECATED) continue;
-+
-             if (strcmp(lastname, ifname) == 0) {
-                 if (doaliases == 0)
-                     continue;   /* already processed this interface */
-diff --git a/mDNSShared/dnsextd_parser.y b/mDNSShared/dnsextd_parser.y
-index 18c5990..d4b63ce 100644
---- a/mDNSShared/dnsextd_parser.y
-+++ b/mDNSShared/dnsextd_parser.y
-@@ -15,6 +15,8 @@
-  * limitations under the License.
-  */
-+%parse-param { void *context }
-+
- %{
- #include <stdio.h>
- #include <stdlib.h>
-@@ -23,7 +25,7 @@
- #include "DebugServices.h"
- #include "dnsextd.h"
--void yyerror( const char* error );
-+void yyerror( void *context, const char* error );
- int  yylex(void);
-@@ -409,7 +419,7 @@ int yywrap(void);
- extern int yylineno;
--void yyerror( const char *str )
-+void yyerror( void *context, const char *str )
- {
-         fprintf( stderr,"%s:%d: error: %s\n", g_filename, yylineno, str );
- }
diff --git a/net/mdnsresponder/patches/120-reproducible-builds.patch b/net/mdnsresponder/patches/120-reproducible-builds.patch
deleted file mode 100644 (file)
index 16b2cc9..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
---- a/Clients/dns-sd.c
-+++ b/Clients/dns-sd.c
-@@ -2281,7 +2281,7 @@ Fail:
- // NOT static -- otherwise the compiler may optimize it out
- // The "@(#) " pattern is a special prefix the "what" command looks for
--const char VersionString_SCCS[] = "@(#) dns-sd " STRINGIFY(mDNSResponderVersion) " (" __DATE__ " " __TIME__ ")";
-+const char VersionString_SCCS[] = "@(#) dns-sd " STRINGIFY(mDNSResponderVersion);
- #if _BUILDING_XCODE_PROJECT_
- // If the process crashes, then this string will be magically included in the automatically-generated crash log
---- a/mDNSPosix/PosixDaemon.c
-+++ b/mDNSPosix/PosixDaemon.c
-@@ -290,9 +290,9 @@ asm (".desc ___crashreporter_info__, 0x1
- // For convenience when using the "strings" command, this is the last thing in the file
- #if mDNSResponderVersion > 1
--mDNSexport const char mDNSResponderVersionString_SCCS[] = "@(#) mDNSResponder-" STRINGIFY(mDNSResponderVersion) " (" __DATE__ " " __TIME__ ")";
-+mDNSexport const char mDNSResponderVersionString_SCCS[] = "@(#) mDNSResponder-" STRINGIFY(mDNSResponderVersion);
- #elif MDNS_VERSIONSTR_NODTS
- mDNSexport const char mDNSResponderVersionString_SCCS[] = "@(#) mDNSResponder (Engineering Build)";
- #else
--mDNSexport const char mDNSResponderVersionString_SCCS[] = "@(#) mDNSResponder (Engineering Build) (" __DATE__ " " __TIME__ ")";
-+mDNSexport const char mDNSResponderVersionString_SCCS[] = "@(#) mDNSResponder (Engineering Build)";
- #endif
---- a/mDNSShared/Java/JNISupport.c
-+++ b/mDNSShared/Java/JNISupport.c
-@@ -1069,4 +1069,4 @@ exit:
- // NOT static -- otherwise the compiler may optimize it out
- // The "@(#) " pattern is a special prefix the "what" command looks for
--const char VersionString_SCCS[] = "@(#) libjdns_sd " STRINGIFY(mDNSResponderVersion) " (" __DATE__ " " __TIME__ ")";
-+const char VersionString_SCCS[] = "@(#) libjdns_sd " STRINGIFY(mDNSResponderVersion);
---- a/mDNSShared/dnsextd.c
-+++ b/mDNSShared/dnsextd.c
-@@ -3136,7 +3136,7 @@ mDNS mDNSStorage;
- // For convenience when using the "strings" command, this is the last thing in the file
- // The "@(#) " pattern is a special prefix the "what" command looks for
--const char mDNSResponderVersionString_SCCS[] = "@(#) dnsextd " STRINGIFY(mDNSResponderVersion) " (" __DATE__ " " __TIME__ ")";
-+const char mDNSResponderVersionString_SCCS[] = "@(#) dnsextd " STRINGIFY(mDNSResponderVersion);
- #if _BUILDING_XCODE_PROJECT_
- // If the process crashes, then this string will be magically included in the automatically-generated crash log
---- a/mDNSShared/dnssd_clientlib.c
-+++ b/mDNSShared/dnssd_clientlib.c
-@@ -363,4 +363,4 @@ DNSServiceErrorType DNSSD_API TXTRecordG
- // NOT static -- otherwise the compiler may optimize it out
- // The "@(#) " pattern is a special prefix the "what" command looks for
--const char VersionString_SCCS_libdnssd[] DNSSD_USED = "@(#) libdns_sd " STRINGIFY(mDNSResponderVersion) " (" __DATE__ " " __TIME__ ")";
-+const char VersionString_SCCS_libdnssd[] DNSSD_USED = "@(#) libdns_sd " STRINGIFY(mDNSResponderVersion);
index 1cd2e92e4eea035d7c7c5c8c6e17271f212e46b5..37ee7198e4658c6f90f3499d346a40504d65cd12 100644 (file)
@@ -9,7 +9,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mosquitto
-PKG_VERSION:=1.6.2
+PKG_VERSION:=1.6.3
 PKG_RELEASE:=1
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE.txt
@@ -17,7 +17,7 @@ PKG_CPE_ID:=cpe:/a:eclipse:mosquitto
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://mosquitto.org/files/source/
-PKG_HASH:=33499e78dfa0ca1cb488fd196fde940a66305bdfd44ba763ce2001db2569a08b
+PKG_HASH:=9ef5cc75f4fe31d7bf50654ddf4728ad9e1ae2e5609a4b42ecbbcb4a209ed17e
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
 
 include $(INCLUDE_DIR)/package.mk
diff --git a/net/mosquitto/patches/901-fix-openssl-ui.patch b/net/mosquitto/patches/901-fix-openssl-ui.patch
deleted file mode 100644 (file)
index cfef42d..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/lib/net_mosq.c b/lib/net_mosq.c
-index 745b170..bdcaa19 100644
---- a/lib/net_mosq.c
-+++ b/lib/net_mosq.c
-@@ -50,6 +50,7 @@ Contributors:
- #include <openssl/conf.h>
- #include <openssl/engine.h>
- #include <openssl/err.h>
-+#include <openssl/ui.h>
- #include <tls_mosq.h>
- #endif
diff --git a/net/mosquitto/patches/902-fix-engine-guards.patch b/net/mosquitto/patches/902-fix-engine-guards.patch
deleted file mode 100644 (file)
index 48b3c42..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-diff --git a/lib/net_mosq.c b/lib/net_mosq.c
-index bdcaa19..f207e32 100644
---- a/lib/net_mosq.c
-+++ b/lib/net_mosq.c
-@@ -141,7 +141,9 @@ int net__init(void)
-                       | OPENSSL_INIT_ADD_ALL_DIGESTS \
-                       | OPENSSL_INIT_LOAD_CONFIG, NULL);
- #  endif
-+#if !defined(OPENSSL_NO_ENGINE)
-       ENGINE_load_builtin_engines();
-+#endif
-       setup_ui_method();
-       if(tls_ex_index_mosq == -1){
-               tls_ex_index_mosq = SSL_get_ex_new_index(0, "client context", NULL, NULL, NULL);
-@@ -599,6 +601,7 @@ static int net__init_ssl_ctx(struct mosquitto *mosq)
-                       SSL_CTX_set_mode(mosq->ssl_ctx, SSL_MODE_RELEASE_BUFFERS);
- #endif
-+#if !defined(OPENSSL_NO_ENGINE)
-               if(mosq->tls_engine){
-                       engine = ENGINE_by_id(mosq->tls_engine);
-                       if(!engine){
-@@ -615,12 +618,15 @@ static int net__init_ssl_ctx(struct mosquitto *mosq)
-                       ENGINE_set_default(engine, ENGINE_METHOD_ALL);
-                       ENGINE_free(engine); /* release the structural reference from ENGINE_by_id() */
-               }
-+#endif
-               if(mosq->tls_ciphers){
-                       ret = SSL_CTX_set_cipher_list(mosq->ssl_ctx, mosq->tls_ciphers);
-                       if(ret == 0){
-                               log__printf(mosq, MOSQ_LOG_ERR, "Error: Unable to set TLS ciphers. Check cipher list \"%s\".", mosq->tls_ciphers);
-+#if !defined(OPENSSL_NO_ENGINE)
-                               ENGINE_FINISH(engine);
-+#endif
-                               COMPAT_CLOSE(mosq->sock);
-                               mosq->sock = INVALID_SOCKET;
-                               net__print_ssl_error(mosq);
-@@ -647,7 +653,9 @@ static int net__init_ssl_ctx(struct mosquitto *mosq)
-                                       log__printf(mosq, MOSQ_LOG_ERR, "Error: Unable to load CA certificates, check capath \"%s\".", mosq->tls_capath);
-                               }
- #endif
-+#if !defined(OPENSSL_NO_ENGINE)
-                               ENGINE_FINISH(engine);
-+#endif
-                               COMPAT_CLOSE(mosq->sock);
-                               mosq->sock = INVALID_SOCKET;
-                               net__print_ssl_error(mosq);
-@@ -672,7 +680,9 @@ static int net__init_ssl_ctx(struct mosquitto *mosq)
- #else
-                                       log__printf(mosq, MOSQ_LOG_ERR, "Error: Unable to load client certificate \"%s\".", mosq->tls_certfile);
- #endif
-+#if !defined(OPENSSL_NO_ENGINE)
-                                       ENGINE_FINISH(engine);
-+#endif
-                                       COMPAT_CLOSE(mosq->sock);
-                                       mosq->sock = INVALID_SOCKET;
-                                       net__print_ssl_error(mosq);
-@@ -681,6 +691,7 @@ static int net__init_ssl_ctx(struct mosquitto *mosq)
-                       }
-                       if(mosq->tls_keyfile){
-                               if(mosq->tls_keyform == mosq_k_engine){
-+#if !defined(OPENSSL_NO_ENGINE)
-                                       UI_METHOD *ui_method = net__get_ui_method();
-                                       if(mosq->tls_engine_kpass_sha1){
-                                               if(!ENGINE_ctrl_cmd(engine, ENGINE_SECRET_MODE, ENGINE_SECRET_MODE_SHA, NULL, NULL, 0)){
-@@ -714,6 +725,7 @@ static int net__init_ssl_ctx(struct mosquitto *mosq)
-                                               net__print_ssl_error(mosq);
-                                               return MOSQ_ERR_TLS;
-                                       }
-+#endif
-                               }else{
-                                       ret = SSL_CTX_use_PrivateKey_file(mosq->ssl_ctx, mosq->tls_keyfile, SSL_FILETYPE_PEM);
-                                       if(ret != 1){
-@@ -722,7 +734,9 @@ static int net__init_ssl_ctx(struct mosquitto *mosq)
- #else
-                                               log__printf(mosq, MOSQ_LOG_ERR, "Error: Unable to load client key file \"%s\".", mosq->tls_keyfile);
- #endif
-+#if !defined(OPENSSL_NO_ENGINE)
-                                               ENGINE_FINISH(engine);
-+#endif
-                                               COMPAT_CLOSE(mosq->sock);
-                                               mosq->sock = INVALID_SOCKET;
-                                               net__print_ssl_error(mosq);
-@@ -732,7 +746,9 @@ static int net__init_ssl_ctx(struct mosquitto *mosq)
-                               ret = SSL_CTX_check_private_key(mosq->ssl_ctx);
-                               if(ret != 1){
-                                       log__printf(mosq, MOSQ_LOG_ERR, "Error: Client certificate/key are inconsistent.");
-+#if !defined(OPENSSL_NO_ENGINE)
-                                       ENGINE_FINISH(engine);
-+#endif
-                                       COMPAT_CLOSE(mosq->sock);
-                                       mosq->sock = INVALID_SOCKET;
-                                       net__print_ssl_error(mosq);
-diff --git a/lib/options.c b/lib/options.c
-index 005b781..6dc4262 100644
---- a/lib/options.c
-+++ b/lib/options.c
-@@ -255,6 +255,7 @@ int mosquitto_string_option(struct mosquitto *mosq, enum mosq_opt_t option, cons
-       switch(option){
-               case MOSQ_OPT_TLS_ENGINE:
- #ifdef WITH_TLS
-+#    if !defined(OPENSSL_NO_ENGINE)
-                       eng = ENGINE_by_id(value);
-                       if(!eng){
-                               return MOSQ_ERR_INVAL;
-@@ -265,6 +266,7 @@ int mosquitto_string_option(struct mosquitto *mosq, enum mosq_opt_t option, cons
-                               return MOSQ_ERR_NOMEM;
-                       }
-                       return MOSQ_ERR_SUCCESS;
-+#endif
- #else
-                       return MOSQ_ERR_NOT_SUPPORTED;
- #endif
-diff --git a/src/net.c b/src/net.c
-index 74b4ee8..495f8b2 100644
---- a/src/net.c
-+++ b/src/net.c
-@@ -534,6 +534,7 @@ int net__socket_listen(struct mosquitto__listener *listener)
-                               return 1;
-                       }
-                       if(listener->tls_engine){
-+#if !defined(OPENSSL_NO_ENGINE)
-                               engine = ENGINE_by_id(listener->tls_engine);
-                               if(!engine){
-                                       log__printf(NULL, MOSQ_LOG_ERR, "Error loading %s engine\n", listener->tls_engine);
-@@ -548,6 +549,7 @@ int net__socket_listen(struct mosquitto__listener *listener)
-                               }
-                               ENGINE_set_default(engine, ENGINE_METHOD_ALL);
-                               ENGINE_free(engine); /* release the structural reference from ENGINE_by_id() */
-+#endif
-                       }
-                       /* FIXME user data? */
-                       if(listener->require_certificate){
-@@ -560,10 +562,13 @@ int net__socket_listen(struct mosquitto__listener *listener)
-                               log__printf(NULL, MOSQ_LOG_ERR, "Error: Unable to load server certificate \"%s\". Check certfile.", listener->certfile);
-                               net__print_error(MOSQ_LOG_ERR, "Error: %s");
-                               COMPAT_CLOSE(sock);
-+#if !defined(OPENSSL_NO_ENGINE)
-                               ENGINE_FINISH(engine);
-+#endif
-                               return 1;
-                       }
-                       if(listener->tls_keyform == mosq_k_engine){
-+#if !defined(OPENSSL_NO_ENGINE)
-                               UI_METHOD *ui_method = net__get_ui_method();
-                               if(listener->tls_engine_kpass_sha1){
-                                       if(!ENGINE_ctrl_cmd(engine, ENGINE_SECRET_MODE, ENGINE_SECRET_MODE_SHA, NULL, NULL, 0)){
-@@ -593,13 +598,16 @@ int net__socket_listen(struct mosquitto__listener *listener)
-                                       ENGINE_FINISH(engine);
-                                       return 1;
-                               }
-+#endif
-                       }else{
-                               rc = SSL_CTX_use_PrivateKey_file(listener->ssl_ctx, listener->keyfile, SSL_FILETYPE_PEM);
-                               if(rc != 1){
-                                       log__printf(NULL, MOSQ_LOG_ERR, "Error: Unable to load server key file \"%s\". Check keyfile.", listener->keyfile);
-                                       net__print_error(MOSQ_LOG_ERR, "Error: %s");
-                                       COMPAT_CLOSE(sock);
-+#if !defined(OPENSSL_NO_ENGINE)
-                                       ENGINE_FINISH(engine);
-+#endif
-                                       return 1;
-                               }
-                       }
-@@ -608,7 +616,9 @@ int net__socket_listen(struct mosquitto__listener *listener)
-                               log__printf(NULL, MOSQ_LOG_ERR, "Error: Server certificate/key are inconsistent.");
-                               net__print_error(MOSQ_LOG_ERR, "Error: %s");
-                               COMPAT_CLOSE(sock);
-+#if !defined(OPENSSL_NO_ENGINE)
-                               ENGINE_FINISH(engine);
-+#endif
-                               return 1;
-                       }
-                       /* Load CRLs if they exist. */
-@@ -618,7 +628,9 @@ int net__socket_listen(struct mosquitto__listener *listener)
-                                       log__printf(NULL, MOSQ_LOG_ERR, "Error: Unable to obtain TLS store.");
-                                       net__print_error(MOSQ_LOG_ERR, "Error: %s");
-                                       COMPAT_CLOSE(sock);
-+#if !defined(OPENSSL_NO_ENGINE)
-                                       ENGINE_FINISH(engine);
-+#endif
-                                       return 1;
-                               }
-                               lookup = X509_STORE_add_lookup(store, X509_LOOKUP_file());
-@@ -627,7 +639,9 @@ int net__socket_listen(struct mosquitto__listener *listener)
-                                       log__printf(NULL, MOSQ_LOG_ERR, "Error: Unable to load certificate revocation file \"%s\". Check crlfile.", listener->crlfile);
-                                       net__print_error(MOSQ_LOG_ERR, "Error: %s");
-                                       COMPAT_CLOSE(sock);
-+#if !defined(OPENSSL_NO_ENGINE)
-                                       ENGINE_FINISH(engine);
-+#endif
-                                       return 1;
-                               }
-                               X509_STORE_set_flags(store, X509_V_FLAG_CRL_CHECK);
-@@ -644,7 +658,9 @@ int net__socket_listen(struct mosquitto__listener *listener)
-                       if(mosquitto__tls_server_ctx(listener)){
-                               COMPAT_CLOSE(sock);
-+#if !defined(OPENSSL_NO_ENGINE)
-                               ENGINE_FINISH(engine);
-+#endif
-                               return 1;
-                       }
-                       SSL_CTX_set_psk_server_callback(listener->ssl_ctx, psk_server_callback);
-@@ -654,7 +670,9 @@ int net__socket_listen(struct mosquitto__listener *listener)
-                                       log__printf(NULL, MOSQ_LOG_ERR, "Error: Unable to set TLS PSK hint.");
-                                       net__print_error(MOSQ_LOG_ERR, "Error: %s");
-                                       COMPAT_CLOSE(sock);
-+#if !defined(OPENSSL_NO_ENGINE)
-                                       ENGINE_FINISH(engine);
-+#endif
-                                       return 1;
-                               }
-                       }
diff --git a/net/ostiary/Makefile b/net/ostiary/Makefile
new file mode 100644 (file)
index 0000000..b7829fa
--- /dev/null
@@ -0,0 +1,47 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ostiary
+PKG_VERSION:=4.0
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://ingles.homeunix.net/software/ost/latest/
+PKG_HASH:=1b6a0a8a17fd3aa0f6511cdda81558d54f11023a0c953201ddaaef35f56a82c4
+
+PKG_MAINTAINER:=Chris Geraghty <cgretski@hotmail.com>
+PKG_LICENSE:=GPL-2.0-only
+PKG_LICENSE_FILES:=COPYING
+
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/ostiary
+  SECTION:=base
+  CATEGORY:=Network
+  TITLE:=Secure remote execution utility
+  URL:=http://ingles.homeunix.net/software/ost/index.html
+endef
+
+define Package/ostiary/description
+ Replay-resistent predefined remote-command trigger
+endef
+
+define Package/ostiary/conffiles
+/etc/ostiary.cfg
+endef
+
+MAKE_FLAGS += all
+
+define Package/ostiary/install
+        $(INSTALL_DIR) $(1)/usr/bin
+        $(INSTALL_BIN) $(PKG_BUILD_DIR)/ostiaryd $(1)/usr/bin/
+        $(INSTALL_BIN) $(PKG_BUILD_DIR)/ostclient $(1)/usr/bin/
+        $(INSTALL_DIR) $(1)/etc
+        $(INSTALL_CONF) $(PKG_BUILD_DIR)/tests/ostiary.cfg $(1)/etc/ostiary.cfg
+        $(INSTALL_DIR) $(1)/etc/init.d
+        $(INSTALL_BIN) ./files/ostiaryd.init $(1)/etc/init.d/ostiary
+endef
+
+
+$(eval $(call BuildPackage,ostiary))
diff --git a/net/ostiary/files/ostiaryd.init b/net/ostiary/files/ostiaryd.init
new file mode 100755 (executable)
index 0000000..da79a45
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh /etc/rc.common
+
+START=99
+STOP=85
+
+USE_PROCD=1
+
+start_service()
+{
+
+       procd_open_instance
+       procd_set_param command /usr/bin/ostiaryd -c /etc/ostiary.cfg 
+       procd_close_instance
+}
+
+
+reload_service() {
+         procd_send_signal ostiaryd
+}
index 0666d4944c41e5aed28854b5159c8de0c7dbd478..50a4dffeee6bb57a65167b4950b612a2a7d4a831 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=seafile-seahub
 PKG_VERSION:=6.3.4
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 PKG_LICENSE:=Apache-2.0
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
@@ -17,28 +17,37 @@ PKG_SOURCE_URL:=https://codeload.github.com/haiwen/seahub/tar.gz/v$(PKG_VERSION)
 PKG_HASH:=53a9efdb6791fd3a2a191e89cb0f133632056046ec08adbb2ad72088e6161430
 PKG_BUILD_DIR:=$(BUILD_DIR)/seahub-$(PKG_VERSION)-server
 
-PKG_BUILD_DEPENDS:=python-pytz/host
+HOST_PYTHON_PACKAGE_BUILD_DEPENDS:="django>=1.11"
 
 include $(INCLUDE_DIR)/package.mk
 include ../../lang/python/python-package.mk
 
+SEAFILE_PYTHON_DEPENDS:= \
+       simplejson chardet dateutil mysql pytz qrcode requests requests-oauthlib \
+       django django-constance
+
 define Package/seafile-seahub
-    SECTION:=net
-    CATEGORY:=Network
-    TITLE:=Seafile server - seahub component
-    URL:=https://seafile.com/
-    DEPENDS:=+python-simplejson +python +pillow +python-chardet +django +django-appconf \
-               +django-compressor +django-constance +django-formtools +django-jsonfield \
-               +django-picklefield +django-postoffice +django-restframework \
-               +django-simple-captcha +django-statici18n +django-webpack-loader \
-               +flup +gunicorn +openpyxl +python-dateutil +python-mysql \
-               +python-qrcode +python-requests +python-requests-oauthlib +python-pytz
+  SECTION:=net
+  CATEGORY:=Network
+  TITLE:=Seafile server - seahub component
+  URL:=https://seafile.com/
+  DEPENDS:=+python +pillow +django-appconf \
+       +django-compressor +django-formtools +django-jsonfield \
+       +django-picklefield +django-postoffice +django-restframework \
+       +django-simple-captcha +django-statici18n +django-webpack-loader \
+       +flup +gunicorn +openpyxl \
+       $(foreach dep,$(SEAFILE_PYTHON_DEPENDS),+python-$(dep))
 endef
 
 define Build/Configure
 endef
 
+MAKE_VARS += \
+       PYTHON="$(HOST_PYTHON_BIN)" \
+       DJANGO_ADMIN_PY="$(STAGING_DIR_HOSTPKG)/bin/django-admin"
+
 define Build/Compile
+       $(call Build/Compile/HostPyPipInstall,$(HOST_PYTHON_PACKAGE_BUILD_DEPENDS))
        $(call Build/Compile/Default,locale)
 endef
 
index 07180cbb492317cacbfa541621ce6cecf30b6397..36c808493f551b2afea799f56de10f73ec245372 100644 (file)
@@ -1,8 +1,8 @@
 --- a/Makefile
 +++ b/Makefile
 @@ -1,3 +1,6 @@
-+include $(TOPDIR)/rules.mk
-+include $(TOPDIR)/feeds/packages/lang/python/python-package.mk
++PYTHON ?= python
++DJANGO_ADMIN_PY ?= django-admin.py
 +
  PROJECT=seahub
  
@@ -12,7 +12,7 @@
  locale:
        @echo "--> Compile locales"
 -      django-admin.py compilemessages
-+      $(call HostPython,,$(STAGING_DIR)/usr/bin/django-admin.py compilemessages)
++      $(DJANGO_ADMIN_PY) compilemessages
        @echo ""
  
  uglify:
  statici18n:
        @echo "--> Generate JS locale files in static/scripts/i18n"
 -      python manage.py compilejsi18n
-+      $(call HostPython,,manage.py compilejsi18n)
++      $(PYTHON) manage.py compilejsi18n
  
  collectstatic:
        @echo "--> Collect django static files to media/assets"
        rm -rf media/assets 2> /dev/null
 -      python manage.py collectstatic --noinput -i admin -i termsandconditions -i app -i sysadmin-app -i build.js
-+      $(call HostPython,,manage.py collectstatic --noinput -i admin -i termsandconditions -i app -i sysadmin-app -i build.js)
++      $(PYTHON) manage.py collectstatic --noinput -i admin -i termsandconditions -i app -i sysadmin-app -i build.js
  
  compressstatic:
        @echo "--> Compress static files(css) to media/CACHE"
        rm -rf media/CACHE 2> /dev/null
 -      python manage.py compress
-+      $(call HostPython,,manage.py compress)
++      $(PYTHON) manage.py compress
  
  clean:
        @echo '--> Cleaning media/static cache & dist'
index 6da2bff6e141757bfce77bfced1fccca7173c3a7..0e72a87ef89932045a6cd32b8839da8c8c82f9d0 100644 (file)
@@ -6,12 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=btrfs-progs
-PKG_VERSION:=4.20.2
-PKG_RELEASE:=3
+PKG_VERSION:=5.1.1
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/linux/kernel/people/kdave/btrfs-progs
-PKG_HASH:=890f8b7e162f2bbfaa5c7b23e8b6f791fd3f325239a0510871fa4b45e4a80e7c
+PKG_HASH:=9cb91b7de9e10aa6bbf2b003f60bb3f5e5b1984a8008fad7c4b2d3978f5ebe1b
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION)
 
 PKG_MAINTAINER:=Karel Kočí <karel.koci@nic.cz>
@@ -28,9 +28,9 @@ define Package/btrfs-progs
   SECTION:=utils
   CATEGORY:=Utilities
   SUBMENU:=Filesystem
-  DEPENDS:=+libattr +libuuid +zlib +libblkid +liblzo +libpthread +BTRFS_PROGS_ZSTD:libzstd
   TITLE:=Btrfs filesystems utilities
   URL:=https://btrfs.wiki.kernel.org/
+  DEPENDS:=+libattr +libuuid +zlib +libblkid +liblzo +libpthread +BTRFS_PROGS_ZSTD:libzstd
 endef
 
 define Package/btrfs-progs/description
index d7860e85aec35b605a187a2cb2d3c935e2682fb2..3c0590a760cc662ac362e2e6cffa4f985bd119de 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=byobu
-PKG_VERSION:=5.127
+PKG_VERSION:=5.129
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
 PKG_SOURCE_URL:=https://launchpad.net/byobu/trunk/$(PKG_VERSION)/+download
-PKG_HASH:=4bafc7cb69ff5b0ab6998816d58cd1ef7175e5de75abc1dd7ffd6d5288a4f63b
+PKG_HASH:=e5135f20750c359b6371ee87cf2729c6038fbf3a6e66680e67f6a2125b07c2b9
 
 PKG_LICENSE:=GPL-3.0
 PKG_LICENSE_FILES:=COPYING
diff --git a/utils/byobu/patches/002-fix-missing-tty-arm-serial-autolaunch.patch b/utils/byobu/patches/002-fix-missing-tty-arm-serial-autolaunch.patch
deleted file mode 100644 (file)
index a22777b..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/usr/bin/byobu.in
-+++ b/usr/bin/byobu.in
-@@ -62,7 +62,7 @@ esac
- export BYOBU_BACKEND
- # Store the parent tty
--export BYOBU_TTY=$(tty)
-+export BYOBU_TTY=$(readlink /proc/$$/fd/0)
- # Get the default window name
- [ -n "$BYOBU_WINDOW_NAME" ] || BYOBU_WINDOW_NAME=-
---- a/usr/bin/byobu-launch.in
-+++ b/usr/bin/byobu-launch.in
-@@ -30,8 +30,8 @@
- #    or edit your sshd_config, ssh_config, and set:
- #      $HOME/.bashrc:  export BYOBU_DISABLE=1
--_tty=$(tty)
--if [ "${_tty#/dev/ttyS}" != "$_tty" ]; then
-+_tty=$(readlink /proc/$$/fd/0)
-+if [ "${_tty#/dev/ttyS}" != "$_tty" ] && [ "${_tty#/dev/ttyAMA}" != "$_tty" ]; then
-       # Don't autolaunch byobu on serial consoles
-       # You can certainly run 'byobu' manually, though
-       echo
diff --git a/utils/byobu/patches/002-fix-missing-tty.patch b/utils/byobu/patches/002-fix-missing-tty.patch
new file mode 100644 (file)
index 0000000..fe80ecf
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/usr/bin/byobu-launch.in
++++ b/usr/bin/byobu-launch.in
+@@ -30,7 +30,7 @@
+ #    or edit your sshd_config, ssh_config, and set:
+ #      $HOME/.bashrc:  export BYOBU_DISABLE=1
+-_tty=$(tty)
++_tty=$(readlink /proc/$$/fd/0)
+ if [ "${_tty#/dev/ttyS}" != "$_tty" ] && [ "${_tty#/dev/ttyAMA}" != "$_tty" ]; then
+       # Don't autolaunch byobu on serial consoles
+       # You can certainly run 'byobu' manually, though
diff --git a/utils/byobu/patches/003-fix-missing-install.patch b/utils/byobu/patches/003-fix-missing-install.patch
deleted file mode 100644 (file)
index 1af626f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/usr/bin/byobu-janitor.in
-+++ b/usr/bin/byobu-janitor.in
-@@ -41,7 +41,7 @@ DEFAULT_PROFILE="light"
- PROFILE="$BYOBU_CONFIG_DIR/profile"
- # Create byobu-exchange buffer file, with secure permissions, if it doesn't exist
--[ -e "$BYOBU_RUN_DIR/printscreen" ] || install -m 600 /dev/null "$BYOBU_RUN_DIR/printscreen"
-+[ -e "$BYOBU_RUN_DIR/printscreen" ] || { cp /dev/null "$BYOBU_RUN_DIR/printscreen"; chmod 600 "$BYOBU_RUN_DIR/printscreen"; }
- # Affects: users who launched using sudo, such that their config dir
- # is not writable by them
index fc4027a63bc7daa1712249d8d3d54761376cd349..0fbfb3bc0a659f1acaf9599ec28a43958d16dfbb 100644 (file)
        # By default, we won't bug the user with the display of network traffic
        # below DISK_IO_THRESHOLD in kB/s; override in $BYOBU_CONFIG_DIR/status
        [ -n "$DISK_IO_THRESHOLD" ] || DISK_IO_THRESHOLD=50
+--- a/usr/share/byobu/status/statusrc
++++ b/usr/share/byobu/status/statusrc
+@@ -36,8 +36,8 @@
+ # and your lsb_release is "precise", only "p" will be displayed
+ #RELEASE_ABBREVIATED=1
+-# Default: /
+-#MONITORED_DISK=/
++# Default: /overlay
++#MONITORED_DISK=/overlay
+ # Minimum disk throughput that triggers the notification (in kB/s)
+ # Default: 50
diff --git a/utils/byobu/patches/006-only-pgrep-services.patch b/utils/byobu/patches/006-only-pgrep-services.patch
new file mode 100644 (file)
index 0000000..be1b9a2
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/usr/lib/byobu/services
++++ b/usr/lib/byobu/services
+@@ -24,6 +24,8 @@ __services_detail() {
+ }
+ service_running() {
++      pgrep "$1" >/dev/null
++      return $?
+       if [ -f "/etc/init/$1.conf" ]; then
+               # Use upstart
+               case "$(status $1 2>/dev/null)" in
diff --git a/utils/byobu/patches/006-pgrep-services.patch b/utils/byobu/patches/006-pgrep-services.patch
deleted file mode 100644 (file)
index 762a1cb..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/usr/lib/byobu/services
-+++ b/usr/lib/byobu/services
-@@ -24,7 +24,9 @@ __services_detail() {
- }
- service_running() {
--      if [ -f "/etc/init/$1.conf" ]; then
-+      if pgrep "$1" >/dev/null; then
-+              true
-+      elif [ -f "/etc/init/$1.conf" ]; then
-               # Use upstart
-               case "$(status $1 2>/dev/null)" in
-                       *running*)
index 3d3ccb3bdb63d2b45a8c99b7c7cf778bfeb4f874..357270e2738ea08b2cc939842082592b684cbadf 100644 (file)
@@ -1,11 +1,6 @@
 --- a/usr/lib/byobu/users
 +++ b/usr/lib/byobu/users
-@@ -22,20 +22,26 @@
- #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
- __users_detail() {
--      ps -ef | grep "sshd:.*@" | grep -v grep
-+      ps -ef 2>/dev/null | grep "sshd:.*@" | grep -v grep
+@@ -26,7 +26,12 @@ __users_detail() {
  }
  
  __users() {
        if [ "$USERS_DISTINCT" = "1" ]; then
                count=$(pgrep -fl 'sshd:.*@' | cut -f3 -d\ | cut -f1 -d@ | sort -u | wc -l)
        else
-               # Note: we'd like to use pgrep -c, however, this isn't available in
+@@ -34,6 +39,7 @@ __users() {
                # busybox and some distro's pgrep (and it doesn't exit non-zero).
--              count=$(pgrep -f "^sshd:.*@|^/usr/sbin/sshd -i" | wc -l) || return
-+              count=$(pgrep -f "^sshd:.*@|^/usr/sbin/sshd -i" | wc -l)
-+      fi
+               count=$(pgrep -f "^sshd:.*@|^/usr/sbin/sshd -i" | wc -l) || return
        fi
++      fi
        if [ $count -gt 0 ]; then
--              color b w r; printf "%d" "$count"; color -; color w r; printf "#"; color --
-+              color b w r; printf "%d" "$count"; color -; color w r; printf "##"; color --
+               color b w r; printf "%d" "$count"; color -; color w r; printf "##"; color --
        else
-               rm -f "$BYOBU_RUN_DIR/status.$BYOBU_BACKEND/users"*
-       fi
diff --git a/utils/byobu/patches/008-no-gettext.patch b/utils/byobu/patches/008-no-gettext.patch
deleted file mode 100644 (file)
index 981eb67..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/usr/bin/byobu-export.in
-+++ b/usr/bin/byobu-export.in
-@@ -22,7 +22,7 @@ PKG="byobu"
- [ -z "${BYOBU_PREFIX}" ] && export BYOBU_PREFIX="@prefix@" || export BYOBU_PREFIX
- . "${BYOBU_PREFIX}/lib/${PKG}/include/common"
--gettext "
-+echo "
- The byobu-export utility is now deprecated.
- To install byobu on a system for which byobu is not packaged, or
---- a/usr/lib/byobu/menu
-+++ b/usr/lib/byobu/menu
-@@ -35,7 +35,7 @@ __menu() {
-       else
-               key="F9"
-       fi
--      text=$(gettext "Menu" 2>/dev/null) || text="Menu"
-+      text="Menu"
-       color k w; printf "%s:<" "$text"; color -; color b k w; printf "%s" "$key"; color k w; printf ">"
- }
diff --git a/utils/byobu/patches/100-check-if-bashrc-exists.patch b/utils/byobu/patches/100-check-if-bashrc-exists.patch
deleted file mode 100644 (file)
index 79906d4..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/usr/bin/byobu-disable-prompt.in
-+++ b/usr/bin/byobu-disable-prompt.in
-@@ -17,6 +17,8 @@
- #    You should have received a copy of the GNU General Public License
- #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+[ -w "$HOME/.bashrc" ] || exit 1
-+
- PKG="byobu"
- [ -r "$HOME/.byoburc" ] && . "$HOME/.byoburc"
- [ -z "${BYOBU_PREFIX}" ] && export BYOBU_PREFIX="@prefix@" || export BYOBU_PREFIX
---- a/usr/bin/byobu-janitor.in
-+++ b/usr/bin/byobu-janitor.in
-@@ -112,6 +112,7 @@ killall -u $USER byobu-statusd >/dev/nul
- rm -f "$FLAG" "/var/run/screen/S-$USER/$PKG.reload-required"
- # Affects: Upgrades from <= byobu 5.50, install byobu prompt if using stock bashrc
-+if [ -r /etc/skel/.bashrc ] && [ -r "$HOME/.bashrc" ] && [ -w "$HOME/.bashrc" ]; then
- if ! (grep -qs "#byobu-prompt#$" "$HOME/.bashrc") && ! [ -e "$BYOBU_CONFIG_DIR/prompt" ]; then
-       if eval $BYOBU_TEST diff >/dev/null 2>&1; then
-               if  diff /etc/skel/.bashrc "$HOME/.bashrc" >/dev/null 2>&1; then
-@@ -123,6 +124,7 @@ if ! (grep -qs "#byobu-prompt#$" "$HOME/
-               fi
-       fi
- fi
-+fi
- [ -r "$BYOBU_CONFIG_DIR/prompt" ] || printf "[ -r ${BYOBU_PREFIX}/share/${PKG}/profiles/bashrc ] && . ${BYOBU_PREFIX}/share/${PKG}/profiles/bashrc  #byobu-prompt#\n" > "$BYOBU_CONFIG_DIR/prompt"
- # Affects: Upgrades from <= byobu 5.126, clear out ec2/rcs cost statuses
diff --git a/utils/byobu/patches/101-fix-tmux-2.8-new-window.patch b/utils/byobu/patches/101-fix-tmux-2.8-new-window.patch
deleted file mode 100644 (file)
index 511f20e..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/usr/share/byobu/keybindings/f-keys.tmux
-+++ b/usr/share/byobu/keybindings/f-keys.tmux
-@@ -26,8 +26,8 @@ source $BYOBU_PREFIX/share/byobu/keybind
- # Byobu's Keybindings
- # Documented in: $BYOBU_PREFIX/share/doc/byobu/help.tmux.txt
--bind-key -n F1 new-window -k -n config byobu-config
--bind-key -n S-F1 new-window -k -n help "sh -c '$BYOBU_PAGER $BYOBU_PREFIX/share/doc/byobu/help.tmux.txt'"
-+bind-key -n F1 new-window -n config byobu-config
-+bind-key -n S-F1 new-window -n help "sh -c '$BYOBU_PAGER $BYOBU_PREFIX/share/doc/byobu/help.tmux.txt'"
- bind-key -n F2 new-window -c "#{pane_current_path}" \; rename-window "-"
- bind-key -n C-F2 display-panes \; split-window -h -c "#{pane_current_path}"
- bind-key -n S-F2 display-panes \; split-window -v -c "#{pane_current_path}"
-@@ -54,7 +54,7 @@ bind-key -n M-S-Left resize-pane -L
- bind-key -n M-S-Right resize-pane -R
- bind-key -n F5 source $BYOBU_PREFIX/share/byobu/profiles/tmuxrc
- bind-key -n M-F5 run-shell '$BYOBU_PREFIX/lib/byobu/include/toggle-utf8' \; source $BYOBU_PREFIX/share/byobu/profiles/tmuxrc
--bind-key -n S-F5 new-window -k "$BYOBU_PREFIX/lib/byobu/include/cycle-status" \; source $BYOBU_PREFIX/share/byobu/profiles/tmuxrc
-+bind-key -n S-F5 new-window "$BYOBU_PREFIX/lib/byobu/include/cycle-status" \; source $BYOBU_PREFIX/share/byobu/profiles/tmuxrc
- bind-key -n C-F5 send-keys ". $BYOBU_PREFIX/bin/byobu-reconnect-sockets" \; send-keys Enter
- bind-key -n C-S-F5 new-window -d "byobu-select-profile -r"
- bind-key -n F6 detach
-@@ -68,9 +68,9 @@ bind-key -n M-PPage copy-mode \; send-ke
- bind-key -n F8 command-prompt -p "(rename-window) " "rename-window '%%'"
- bind-key -n C-F8 command-prompt -p "(rename-session) " "rename-session '%%'"
- bind-key -n S-F8 next-layout
--bind-key -n M-S-F8 new-window -k "byobu-layout restore; clear; $SHELL"
-+bind-key -n M-S-F8 new-window "byobu-layout restore; clear; $SHELL"
- bind-key -n C-S-F8 command-prompt -p "Save byobu layout as:" "run-shell \"byobu-layout save '%%'\""
--bind-key -n F9 new-window -k -n config byobu-config
-+bind-key -n F9 new-window -n config byobu-config
- bind-key -n S-F9 command-prompt -p "Send command to all panes:" "run-shell \"$BYOBU_PREFIX/lib/byobu/include/tmux-send-command-to-all-panes '%%'\""
- bind-key -n C-F9 command-prompt -p "Send command to all windows:" "run-shell \"$BYOBU_PREFIX/lib/byobu/include/tmux-send-command-to-all-windows '%%'\""
- bind-key -n M-F9 display-panes \; setw synchronize-panes
diff --git a/utils/byobu/patches/102-ensure-disk-exists.patch b/utils/byobu/patches/102-ensure-disk-exists.patch
deleted file mode 100644 (file)
index 020a6ab..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/usr/lib/byobu/disk_io
-+++ b/usr/lib/byobu/disk_io
-@@ -53,6 +53,7 @@ __disk_io() {
-               /dev/*) part="${mount_point}";;
-               *) part=$(awk '$2 == mp { print $1 ; exit(0); }' "mp=$mount_point" /etc/mtab);;
-       esac
-+      [ -e "$part" ] || return
-       getdisk "$part"
-       local disk=${_RET}
-       local t2=$(date +%s) t1=
diff --git a/utils/byobu/patches/103-add-hostname-fallback.patch b/utils/byobu/patches/103-add-hostname-fallback.patch
deleted file mode 100644 (file)
index c17ab14..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/usr/lib/byobu/hostname
-+++ b/usr/lib/byobu/hostname
-@@ -20,12 +20,16 @@
- #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
- __hostname_detail() {
--      hostname -f
-+      hostname -f 2>/dev/null
- }
- __hostname() {
-       local h=
--      h=$(hostname -s 2>/dev/null || hostname)
-+      if eval $BYOBU_TEST hostname >/dev/null 2>&1; then
-+              h=$(hostname -s 2>/dev/null || hostname)
-+      elif [ -r /proc/sys/kernel/hostname ]; then
-+              read h < /proc/sys/kernel/hostname
-+      fi
-       if metadata_available; then
-               local cache="$BYOBU_RUN_DIR/cache.$BYOBU_BACKEND/hostname"
-               # Background a retrieval of our public hostname
diff --git a/utils/byobu/patches/104-add-custom-logo.patch b/utils/byobu/patches/104-add-custom-logo.patch
deleted file mode 100644 (file)
index 61400f0..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/usr/lib/byobu/logo
-+++ b/usr/lib/byobu/logo
-@@ -111,6 +111,10 @@ __logo() {
-                       logo=" lm "
-                       $MARKUP && printf "$(color g w)$logo$(color -)$(color g w)$(color -) " || printf "$logo"
-               ;;
-+              *openwrt*)
-+                      logo="OWrt"
-+                      $MARKUP && printf "$(color b colour66 W)%s$(color -)" "$logo" || printf "$logo"
-+              ;;
-               *red*hat*|*rhel*)
-                       logo=" RH "
-                       $MARKUP && printf "$(color R k)%s$(color -)" "$logo" || printf "$logo"
diff --git a/utils/byobu/patches/105-handle-processes-stderr.patch b/utils/byobu/patches/105-handle-processes-stderr.patch
deleted file mode 100644 (file)
index e83ecda..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/usr/lib/byobu/processes
-+++ b/usr/lib/byobu/processes
-@@ -20,15 +20,15 @@
- #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
- __processes_detail() {
--      ps -ej
-+      ps -ej 2>/dev/null
- }
- __processes() {
-       local count=
-       if [ -r /proc ]; then
--              count=$(ls -d /proc/[0-9]* 2>/dev/null| wc -l)
-+              count=$(ls -d /proc/[0-9]* 2>/dev/null | wc -l)
-       else
--              count=$(ps -ef | wc -l | awk '{print $1}')
-+              count=$(ps -ef | wc -l)
-       fi
-       [ -n "$count" ] || return
-       color b y w; printf "%s" "$count"; color -; color y w; printf "&"; color --
diff --git a/utils/byobu/patches/106-fix-release-typo.patch b/utils/byobu/patches/106-fix-release-typo.patch
deleted file mode 100644 (file)
index d4d5bc4..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/usr/lib/byobu/release
-+++ b/usr/lib/byobu/release
-@@ -30,7 +30,7 @@ __release() {
-               true
-       elif [ -r "/etc/os-release" ]; then
-               # lsb_release is *really* slow;  try to use /etc/os-release
--              release=$(. /etc/os-release && echo "$VERSION_ID")
-+              RELEASE=$(. /etc/os-release && echo "$VERSION_ID")
-       elif [ -r "/etc/issue" ]; then
-               # next try /etc/issue first
-               local issue
diff --git a/utils/byobu/patches/107-fix-SERVICES.patch b/utils/byobu/patches/107-fix-SERVICES.patch
deleted file mode 100644 (file)
index 5533566..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/usr/lib/byobu/services
-+++ b/usr/lib/byobu/services
-@@ -45,7 +45,7 @@ service_running() {
- }
- __services() {
--      local services=
-+      local services="$SERVICES"
-       # Users can define a list of services to monitor in $BYOBU_CONFIG_DIR/status
-       if [ -z "$services" ]; then
-               if [ -f "/etc/eucalyptus/eucalyptus.conf" ]; then
diff --git a/utils/byobu/patches/108-custom-updates-available.patch b/utils/byobu/patches/108-custom-updates-available.patch
deleted file mode 100644 (file)
index 1bdee58..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
---- a/usr/lib/byobu/updates_available
-+++ b/usr/lib/byobu/updates_available
-@@ -67,9 +67,16 @@ ___update_cache() {
-       elif eval $BYOBU_TEST pacman >/dev/null; then
-               # If pacman (Archlinux) exists, use it
-               LC_ALL=C flock -xn "$flock" pacman -Sup | grep -vc "^\(::\| \)" >$mycache 2>/dev/null &
-+      elif eval $BYOBU_TEST opkg >/dev/null; then
-+              # If opkg (OpenWrt) exists, use it, also background if flock exists
-+              if eval $BYOBU_TEST flock >/dev/null; then
-+                      flock -xn "$flock" opkg list-upgradable | wc -l >$mycache 2>/dev/null &
-+              else
-+                      opkg list-upgradable | wc -l >$mycache &
-+              fi
-       elif eval $BYOBU_TEST brew >/dev/null; then
-               # If homebrew (Mac OSX) exists, use it, also background if flock exists
--              if eval $BYOBU_TEST flock; then
-+              if eval $BYOBU_TEST flock >/dev/null; then
-                       flock -xn "$flock" brew outdated | wc -l >$mycache 2>/dev/null &
-               else
-                       brew outdated | wc -l >$mycache &
-@@ -106,6 +113,18 @@ ___update_needed() {
-                       [ "$db" -nt "$mycache" ] && return 0
-               done
-               return 1
-+      elif eval $BYOBU_TEST opkg >/dev/null; then
-+              # OpenWrt
-+              [ ! -e /var/lock/opkg.lock ] || return 1
-+              if [ -d /var/opkg-lists ]; then
-+                      [ /var/opkg-lists -nt "$mycache" ]
-+                      return $?
-+              else
-+                      local u s
-+                      read u s < "$mycache"
-+                      [ "$u" -gt 0 ]
-+                      return $?
-+              fi
-       elif eval $BYOBU_TEST brew >/dev/null; then
-               # Mac OSX
-               # check if any new versions have been installed since
diff --git a/utils/byobu/patches/109-add-whoami-fallback.patch b/utils/byobu/patches/109-add-whoami-fallback.patch
deleted file mode 100644 (file)
index 57d4263..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/usr/lib/byobu/whoami
-+++ b/usr/lib/byobu/whoami
-@@ -19,12 +19,28 @@
- #    You should have received a copy of the GNU General Public License
- #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+___get_user() {
-+      if eval $BYOBU_TEST whoami >/dev/null 2>&1; then
-+              whoami
-+      elif eval $BYOBU_TEST id >/dev/null 2>&1; then
-+              id -un
-+      fi
-+}
-+
- __whoami_detail() {
--      getent -- passwd "$USER"
-+      local user=$(___get_user)
-+      [ -n "$user" ] || return
-+      if eval $BYOBU_TEST getent >/dev/null 2>&1; then
-+              getent -- passwd "$user"
-+      else
-+              grep "^$user:" /etc/passwd
-+      fi
- }
- __whoami() {
--      color bold2; printf "%s@" "$(whoami)"; color -
-+      local user=$(___get_user)
-+      [ -n "$user" ] || return
-+      color bold2; printf "%s@" "$user"; color -
- }
- # vi: syntax=sh ts=4 noexpandtab
diff --git a/utils/byobu/patches/110-wifi-quality.patch b/utils/byobu/patches/110-wifi-quality.patch
deleted file mode 100644 (file)
index b814ab8..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
---- a/usr/lib/byobu/wifi_quality
-+++ b/usr/lib/byobu/wifi_quality
-@@ -19,32 +19,61 @@
- #    You should have received a copy of the GNU General Public License
- #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+___get_dev_list() {
-+      if [ -n "$MONITORED_NETWORK" ]; then
-+              echo "$MONITORED_NETWORK"
-+      else
-+              iw dev | grep Interface | cut -f2 -d\ 
-+      fi
-+}
-+
- __wifi_quality_detail() {
--      /sbin/iwconfig 2>/dev/null
-+      if eval $BYOBU_TEST iw >/dev/null 2>&1; then
-+              local dev
-+              for dev in $(___get_dev_list); do
-+                      iw dev "$dev" info
-+                      iw dev "$dev" link
-+                      echo
-+              done
-+      elif eval $BYOBU_TEST iwconfig >/dev/null 2>&1; then
-+              iwconfig 2>/dev/null
-+      fi
- }
- __wifi_quality() {
-       local out bitrate quality
--      # iwconfig is expected to output lines like:
--      #    Bit Rate=54 Mb/s   Tx-Power=15 dBm
--      #    Link Quality=60/70  Signal level=-50 dBm
--      # the awk below tokenizes the output and prints shell evalable results
--      out=`iwconfig $MONITORED_NETWORK 2>/dev/null |
--              awk '$0 ~ /[ ]*Link Quality./ {
--   sub(/.*=/,"",$2); split($2,a,"/");
--   printf "quality=%.0f\n", 100*a[1]/a[2] };
--   $0 ~ /[ ]*Bit Rate/ { sub(/.*[:=]/,"",$2); printf("bitrate=%s\n", $2); }
--   '`
--      eval "$out"
--      [ -z "$bitrate" ] && bitrate="0"
--      if [ -z "$quality" ] || [ "$quality" = "0" ]; then
--              quality="0"
-+      if eval $BYOBU_TEST iw >/dev/null 2>&1; then
-+              local dev
-+              for dev in $(___get_dev_list); do
-+                      # signal to quality: https://superuser.com/a/1360447
-+                      out=`iw dev "$dev" link 2>/dev/null |
-+                              awk '$0 ~ /^\s*signal:/ { a = 100 * ($2 + 110) / 70;
-+                                  printf "quality=%.0f\n", (a > 100) ? 100 : ((a < 0) ? 0 : a); }
-+                                  $0 ~ /^\s*tx bitrate:/ { printf "bitrate=%s\n", $3; }
-+                                  '`
-+                      eval "$out"
-+                      [ -z "$bitrate" ] || [ -z "$quality" ] || break
-+              done
-+      elif eval $BYOBU_TEST iwconfig >/dev/null 2>&1; then
-+              # iwconfig is expected to output lines like:
-+              #    Bit Rate=54 Mb/s   Tx-Power=15 dBm
-+              #    Link Quality=60/70  Signal level=-50 dBm
-+              # the awk below tokenizes the output and prints shell evalable results
-+              out=`iwconfig $MONITORED_NETWORK 2>/dev/null |
-+                      awk '$0 ~ /[ ]*Link Quality./ {
-+                          sub(/.*=/,"",$2); split($2,a,"/");
-+                          printf "quality=%.0f\n", 100*a[1]/a[2] };
-+                          $0 ~ /[ ]*Bit Rate/ { sub(/.*[:=]/,"",$2); printf("bitrate=%s\n", $2); }
-+                          '`
-+              eval "$out"
-       fi
--      if [ "$bitrate" = "0" ] || [ "$quality" = "0" ] || [ -z "$bitrate" ] || [ -z "$quality"]; then
-+      [ -n "$bitrate" ] || bitrate=0
-+      [ -n "$quality" ] || quality=0
-+      if [ "$bitrate" -gt 0 ] && [ "$quality" -gt 0 ]; then
-+              printf "${ICON_WIFI}"; color b C k; printf "%s" "$bitrate"; color -; color C k; printf "%s" "$ICON_MBPS"; color -; color b C k; printf "%s" "$quality"; color -; color C k; printf "%s" "$PCT"; color --
-+      else
-               rm -f "$BYOBU_RUN_DIR/status.$BYOBU_BACKEND/wifi_quality"*
--              return
-       fi
--      printf "${ICON_WIFI}"; color b C k; printf "%s" "$bitrate"; color -; color C k; printf "%s" "$ICON_MBPS"; color -; color b C k; printf "%s" "$quality"; color -; color C k; printf "%s" "$PCT"; color --
- }
- # vi: syntax=sh ts=4 noexpandtab
diff --git a/utils/byobu/patches/111-ensure-proc-mdstat-exists.patch b/utils/byobu/patches/111-ensure-proc-mdstat-exists.patch
deleted file mode 100644 (file)
index b190561..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/usr/lib/byobu/raid
-+++ b/usr/lib/byobu/raid
-@@ -24,6 +24,7 @@ __raid_detail() {
- }
- __raid() {
-+      [ -r /proc/mdstat ] || return
-       while read line; do
-               local p msg
-               # Errors in your raid
diff --git a/utils/byobu/patches/112-fix-session-regex.patch b/utils/byobu/patches/112-fix-session-regex.patch
deleted file mode 100644 (file)
index 3890d30..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/usr/lib/byobu/session
-+++ b/usr/lib/byobu/session
-@@ -34,7 +34,7 @@ __session() {
-                       fi
-               ;;
-               screen)
--                      local count=$(screen -ls | grep "^        .*\)$" | wc -l)
-+                      local count=$(screen -ls | grep "^\s\+.*)$" | wc -l)
-                       if [ $count -gt 1 ]; then
-                               color u W k; printf "${ICON_SESSION}%S"; color --
-                       else
index b75c7892ac70df46abffb6d1a17d8de057babbef..a9567b8dd9a20a645818d61b582556a5937c669c 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lm-sensors
 PKG_VERSION:=3.5.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_VERSION_SUBST=$(subst .,-,$(PKG_VERSION))
 PKG_SOURCE_URL:=https://codeload.github.com/lm-sensors/lm-sensors/tar.gz/V$(PKG_VERSION_SUBST)?
@@ -119,7 +119,7 @@ endef
 
 define Package/libsensors/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/lib/libsensors.so* $(1)/usr/lib
+       $(CP) $(PKG_BUILD_DIR)/lib/libsensors.so* $(1)/usr/lib
 endef
 
 $(eval $(call BuildPackage,lm-sensors))
diff --git a/utils/pigz/Makefile b/utils/pigz/Makefile
new file mode 100644 (file)
index 0000000..7f76a08
--- /dev/null
@@ -0,0 +1,35 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=pigz
+PKG_VERSION:=2.4
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://zlib.net/pigz/
+PKG_HASH:=a4f816222a7b4269bd232680590b579ccc72591f1bb5adafcd7208ca77e14f73
+
+PKG_MAINTAINER:=Ken Wong <xinxijishuwyq@gmail.com>
+PKG_LICENSE:=CUSTOM
+PKG_LICENSE_FILES:=README
+PKG_CPE_ID:=cpe:/a:zlib:pigz
+
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/pigz
+  SECTION:=utils
+  CATEGORY:=Utilities
+  SUBMENU:=Compression
+  TITLE:=pigz
+  URL:=https://zlib.net/pigz
+  DEPENDS:=+zlib
+endef
+
+define Package/pigz/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/pigz $(1)/usr/bin/pigz
+endef
+
+$(eval $(call BuildPackage,pigz))
+
diff --git a/utils/pigz/patches/001.patch b/utils/pigz/patches/001.patch
new file mode 100644 (file)
index 0000000..b75daa1
--- /dev/null
@@ -0,0 +1,14 @@
+--- a/Makefile 2019-05-22 19:54:23.980451289 +0800
++++ b/Makefile 2019-06-10 10:32:58.054675929 +0800
+@@ -1,7 +1,7 @@
+-CC=gcc
+-CFLAGS=-O3 -Wall -Wextra -Wno-unknown-pragmas
+-LDFLAGS=
+-LIBS=-lm -lpthread -lz
++CC?=gcc
++CFLAGS?=-O3 -Wall -Wextra -Wno-unknown-pragmas
++LDFLAGS?=
++LIBS?=-lm -lpthread -lz
+ ZOPFLI=zopfli/src/zopfli/
+ ZOP=deflate.o blocksplitter.o tree.o lz77.o cache.o hash.o util.o squeeze.o katajainen.o