Merge pull request #15328 from ja-pa/atlas-probe-v2
authorRosen Penev <rosenp@gmail.com>
Sat, 17 Apr 2021 01:23:17 +0000 (18:23 -0700)
committerGitHub <noreply@github.com>
Sat, 17 Apr 2021 01:23:17 +0000 (18:23 -0700)
atlas-sw-probe: add new package

150 files changed:
.travis.yml [deleted file]
.travis_do.sh [deleted file]
admin/netdata/Makefile
admin/netdata/files/netdata.conf
devel/meson/Makefile
devel/meson/meson.mk
kernel/ksmbd/Makefile
lang/lua-openssl/Makefile
lang/lua-openssl/patches/0001-Revise-Makefile.patch [deleted file]
lang/lua-openssl/patches/010-cmake.patch [new file with mode: 0644]
lang/lua-openssl/patches/020-no-luajit.patch [new file with mode: 0644]
lang/lua-openssl/patches/020-openssl-deprecated.patch [new file with mode: 0644]
lang/lualanes/Makefile
lang/lualanes/patches/100-musl-compat.patch
lang/luv/Makefile
lang/node/Makefile
lang/python/django/Makefile
lang/python/pillow/Makefile
lang/python/python-babel/Makefile
lang/python/python-bidict/Makefile [new file with mode: 0644]
lang/python/python-docker/Makefile
lang/python/python-dotenv/Makefile
lang/python/python-engineio/Makefile [new file with mode: 0644]
lang/python/python-eventlet/Makefile [new file with mode: 0644]
lang/python/python-flask-httpauth/Makefile [new file with mode: 0644]
lang/python/python-flask-socketio/Makefile [new file with mode: 0644]
lang/python/python-greenlet/Makefile [new file with mode: 0644]
lang/python/python-pysocks/Makefile [new file with mode: 0644]
lang/python/python-pytest/Makefile
lang/python/python-socketio/Makefile [new file with mode: 0644]
lang/python/python-zeroconf/Makefile
lang/python/python3-bottle/Makefile
lang/python/python3-version.mk
lang/python/python3/Makefile
lang/python/python3/patches/003-do-not-run-distutils-tests.patch
lang/python/python3/patches/014-remove-platform-so-suffix.patch
lang/python/python3/patches/016-adjust-config-paths.patch
lang/python/python3/patches/025-choose-python-config-version.patch
lang/ruby/Makefile
lang/vala/Makefile
libs/file/Makefile
libs/glib2/Makefile
libs/glib2/patches/001-no-libelf.patch [deleted file]
libs/glib2/patches/002-no-tests.patch [deleted file]
libs/glib2/patches/004-no-distutils.patch
libs/glib2/patches/005-uclibc.patch
libs/glib2/patches/006-c99.patch
libs/libcap/Makefile [deleted file]
libs/libcap/patches/300-disable-tests.patch [deleted file]
libs/libdvbcsa/Config.in [new file with mode: 0644]
libs/libdvbcsa/Makefile [new file with mode: 0644]
libs/libmaxminddb/Makefile
libs/libnpupnp/Makefile
libs/libseccomp/Makefile
libs/libuhttpd/Makefile
libs/libupnp/Makefile
libs/libupnpp/Makefile
libs/poco/Makefile
libs/poco/patches/200-strerror.patch
libs/spdlog/Makefile
libs/taglib/Makefile
libs/vips/Makefile
libs/yubico-pam/Makefile
mail/fdm/Makefile
mail/fdm/patches/040-remove_host_includes.patch [new file with mode: 0644]
multimedia/gerbera/Makefile
multimedia/minisatip/Makefile
multimedia/youtube-dl/Makefile
net/adblock/Makefile
net/adblock/files/adblock.sources
net/banip/Makefile
net/banip/files/banip.sh
net/bonding/Makefile
net/bonding/files/lib/netifd/proto/bonding.sh
net/clamav/Makefile
net/git-lfs/Makefile
net/haproxy/Makefile
net/haproxy/get-latest-patches.sh
net/hcxdumptool/Makefile
net/hcxdumptool/patches/010-openssl.patch [new file with mode: 0644]
net/hcxdumptool/patches/020-stdout.patch [new file with mode: 0644]
net/hcxtools/Makefile
net/hcxtools/patches/010-openssl.patch [new file with mode: 0644]
net/https-dns-proxy/Makefile
net/https-dns-proxy/files/https-dns-proxy.init
net/jool/Makefile
net/knot-resolver/Makefile
net/ksmbd-tools/Makefile
net/ksmbd-tools/files/ksmbd.init
net/mosquitto/Makefile
net/netifyd/Makefile
net/netifyd/files/netifyd.config
net/netifyd/files/netifyd.init
net/ngircd/Makefile
net/nut/Makefile
net/nut/files/nutshutdown
net/ocserv/Config.in
net/ocserv/Makefile
net/onionshare-cli/Makefile [new file with mode: 0644]
net/ooniprobe/Makefile
net/openvpn-easy-rsa/Makefile
net/overture/Makefile
net/overture/files/overture.init
net/overture/patches/001-fix-go-sum.patch [new file with mode: 0644]
net/ovsd/Makefile
net/ovsd/files/etc/init.d/ovsd
net/restic-rest-server/Makefile
net/restic-rest-server/files/etc/config/restic-rest-server
net/rp-pppoe/Makefile
net/safe-search/Makefile
net/simple-adblock/Makefile
net/simple-adblock/files/simple-adblock.init
net/squid/Makefile
net/strongswan/Makefile
net/strongswan/files/gencerts.sh [new file with mode: 0755]
net/strongswan/files/ipsec.init
net/strongswan/files/swanctl.init [new file with mode: 0644]
net/strongswan/patches/101-musl-fixes.patch
net/strongswan/patches/305-minimal_dh_plugin.patch
net/uacme/files/run.sh
net/xinetd/Makefile
net/xinetd/files/xinetd.init
net/xray-core/Makefile
net/xray-core/files/xray.conf
net/xray-core/files/xray.init
net/yggdrasil/Makefile
sound/pulseaudio/Makefile
sound/pulseaudio/patches/020-doxygen.patch [new file with mode: 0644]
sound/upmpdcli/Makefile
utils/atheepmgr/Makefile
utils/autopart/Makefile [deleted file]
utils/autopart/files/autopart [deleted file]
utils/bash/Makefile
utils/bash/patches/902-missing-params.patch [new file with mode: 0644]
utils/cache-domains/Makefile
utils/cache-domains/files/cache-domains
utils/collectd/Makefile
utils/collectd/patches/934-ubi-prepare-read-for-percent.patch [new file with mode: 0644]
utils/collectd/patches/935-ubi-add-percent.patch [new file with mode: 0644]
utils/crun/Makefile
utils/dbus/Makefile
utils/docker-compose/Makefile
utils/lvm2/Makefile
utils/stm32flash/Makefile
utils/stm32flash/patches/100-add_support_for_stm32g4.patch [deleted file]
utils/uvol/Makefile [new file with mode: 0644]
utils/uvol/files/autopart.defaults [new file with mode: 0644]
utils/uvol/files/lvm.sh [new file with mode: 0644]
utils/uvol/files/ubi.sh [new file with mode: 0644]
utils/uvol/files/uvol [new file with mode: 0644]

diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644 (file)
index 5f03189..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-git:
-  depth: 10
-  quiet: true
-
-language: c
-os: linux
-dist: focal
-cache:
-  directories:
-    - $HOME/sdk
-
-before_script:
-  - ./.travis_do.sh download_sdk
-
-script:
-  - ./.travis_do.sh test_packages
diff --git a/.travis_do.sh b/.travis_do.sh
deleted file mode 100755 (executable)
index af37fc3..0000000
+++ /dev/null
@@ -1,244 +0,0 @@
-#!/bin/bash
-#
-# MIT Alexander Couzens <lynxis@fe80.eu>
-
-set -e
-
-SDK_HOME="$HOME/sdk"
-SDK_PATH=https://downloads.openwrt.org/snapshots/targets/mpc85xx/p2020/
-SDK=-sdk-mpc85xx-p2020_
-PACKAGES_DIR="$PWD"
-
-echo_red()   { printf "\033[1;31m$*\033[m\n"; }
-echo_green() { printf "\033[1;32m$*\033[m\n"; }
-echo_blue()  { printf "\033[1;34m$*\033[m\n"; }
-
-exec_status() {
-       PATTERN="$1"
-       shift
-       while :;do sleep 590;echo "still running (please don't kill me Travis)";done &
-       ("$@" 2>&1) | tee logoutput
-       R=${PIPESTATUS[0]}
-       kill $! && wait $! 2>/dev/null
-       if [ $R -ne 0 ]; then
-               echo_red   "=> '$*' failed (return code $R)"
-               return 1
-       fi
-       if grep -qE "$PATTERN" logoutput; then
-               echo_red   "=> '$*' failed (log matched '$PATTERN')"
-               return 1
-       fi
-
-       echo_green "=> '$*' successful"
-       return 0
-}
-
-get_sdk_file() {
-       if [ -e "$SDK_HOME/sha256sums" ] ; then
-               grep -- "$SDK" "$SDK_HOME/sha256sums" | awk '{print $2}' | sed 's/*//g'
-       else
-               false
-       fi
-}
-
-# download will run on the `before_script` step
-# The travis cache will be used (all files under $HOME/sdk/). Meaning
-# We don't have to download the file again
-download_sdk() {
-       mkdir -p "$SDK_HOME"
-       cd "$SDK_HOME"
-
-       echo_blue "=== download SDK"
-       wget "$SDK_PATH/sha256sums" -O sha256sums
-       wget "$SDK_PATH/sha256sums.gpg" -O sha256sums.asc
-
-       # LEDE Build System (LEDE GnuPG key for unattended build jobs)
-       gpg --import $PACKAGES_DIR/.keys/626471F1.asc
-       echo '54CC74307A2C6DC9CE618269CD84BCED626471F1:6:' | gpg --import-ownertrust
-       # LEDE Release Builder (17.01 "Reboot" Signing Key)
-       gpg --import $PACKAGES_DIR/.keys/D52BBB6B.asc
-       echo 'B09BE781AE8A0CD4702FDCD3833C6010D52BBB6B:6:' | gpg --import-ownertrust
-
-       echo_blue "=== Verifying sha256sums signature"
-       gpg --verify sha256sums.asc
-       echo_blue "=== Verified sha256sums signature."
-       if ! grep -- "$SDK" sha256sums > sha256sums.small ; then
-               echo_red "=== Can not find $SDK file in sha256sums."
-               echo_red "=== Is \$SDK out of date?"
-               false
-       fi
-
-       # if missing, outdated or invalid, download again
-       if ! sha256sum -c ./sha256sums.small ; then
-               local sdk_file
-               sdk_file="$(get_sdk_file)"
-               echo_blue "=== sha256 doesn't match or SDK file wasn't downloaded yet."
-               echo_blue "=== Downloading a fresh version"
-               wget "$SDK_PATH/$sdk_file" -O "$sdk_file"
-       fi
-
-       # check again and fail here if the file is still bad
-       echo_blue "Checking sha256sum a second time"
-       if ! sha256sum -c ./sha256sums.small ; then
-               echo_red "=== SDK can not be verified!"
-               false
-       fi
-       echo_blue "=== SDK is up-to-date"
-}
-
-# test_package will run on the `script` step.
-# test_package call make download check for very new/modified package
-test_packages2() {
-       local commit_range=$TRAVIS_COMMIT_RANGE
-       if [ -z "$TRAVIS_PULL_REQUEST_SHA" ]; then
-               echo_blue "Using only the latest commit, since we're not in a Pull Request"
-               commit_range=HEAD~1
-       fi
-
-       # search for new or modified packages. PKGS will hold a list of package like 'admin/muninlite admin/monit ...'
-       PKGS=$(git diff --diff-filter=d --name-only "$commit_range" | grep 'Makefile$' | grep -v '/files/' | awk -F'/Makefile' '{ print $1 }')
-
-       if [ -z "$PKGS" ] ; then
-               echo_blue "No new or modified packages found!"
-               return 0
-       fi
-
-       echo_blue "=== Found new/modified packages:"
-       for pkg in $PKGS ; do
-               echo "===+ $pkg"
-       done
-
-       echo_blue "=== Setting up SDK"
-       tmp_path=$(mktemp -d)
-       cd "$tmp_path"
-       tar Jxf "$SDK_HOME/$(get_sdk_file)" --strip=1
-
-       # use github mirrors to spare lede servers
-       cat > feeds.conf <<EOF
-src-git base https://github.com/lede-project/source.git
-src-link packages $PACKAGES_DIR
-src-git luci https://github.com/openwrt/luci.git
-EOF
-
-       # enable BUILD_LOG
-       sed -i '1s/^/config BUILD_LOG\n\tbool\n\tdefault y\n\n/' Config-build.in
-
-       ./scripts/feeds update -a > /dev/null
-       ./scripts/feeds install -a > /dev/null
-       make defconfig > /dev/null
-       echo_blue "=== Setting up SDK done"
-
-       RET=0
-       # E.g: pkg_dir => admin/muninlite
-       # pkg_name => muninlite
-       for pkg_dir in $PKGS ; do
-               pkg_name=$(echo "$pkg_dir" | awk -F/ '{ print $NF }')
-               echo_blue "=== $pkg_name: Starting quick tests"
-
-               exec_status '^ERROR' make "package/$pkg_name/download" V=s || RET=1
-               badhash_msg_regex="HASH does not match "
-               badhash_msg_regex="$badhash_msg_regex|HASH uses deprecated hash,"
-               badhash_msg_regex="$badhash_msg_regex|HASH is missing,"
-               exec_status '^ERROR'"|$badhash_msg_regex" make "package/$pkg_name/check" V=s || RET=1
-
-               echo_blue "=== $pkg_name: quick tests done"
-       done
-
-       [ $RET -ne 0 ] && return $RET
-
-       for pkg_dir in $PKGS ; do
-               pkg_name=$(echo "$pkg_dir" | awk -F/ '{ print $NF }')
-               echo_blue "=== $pkg_name: Starting compile test"
-
-               # we can't enable verbose built else we often hit Travis limits
-               # on log size and the job get killed
-               exec_status '^ERROR' make "package/$pkg_name/compile" -j3 || RET=1
-
-               echo_blue "=== $pkg_name: compile test done"
-
-               echo_blue "=== $pkg_name: begin compile logs"
-               for f in $(find logs/package/feeds/packages/$pkg_name/ -type f); do
-                       echo_blue "Printing last 200 lines of $f"
-                       tail -n200 "$f"
-               done
-               echo_blue "=== $pkg_name: end compile logs"
-
-               echo_blue "=== $pkg_name: begin packages sizes"
-               du -ba bin/
-               echo_blue "=== $pkg_name: end packages sizes"
-       done
-
-       return $RET
-}
-
-test_commits() {
-       RET=0
-       if [ -z "$TRAVIS_PULL_REQUEST_SHA" ]; then
-               echo_blue "Skipping commits tests (not in a Pull Request)"
-               return 0
-       fi
-       for commit in $(git rev-list ${TRAVIS_COMMIT_RANGE/.../..}); do
-               echo_blue "=== Checking commit '$commit'"
-               if git show --format='%P' -s $commit | grep -qF ' '; then
-                       echo_red "Pull request should not include merge commits"
-                       RET=1
-               fi
-
-               author="$(git show -s --format=%aN $commit)"
-               if echo $author | grep -q '\S\+\s\+\S\+'; then
-                       echo_green "Author name ($author) seems ok"
-               else
-                       echo_red "Author name ($author) need to be your real name 'firstname lastname'"
-                       RET=1
-               fi
-
-               subject="$(git show -s --format=%s $commit)"
-               if echo "$subject" | grep -q -e '^[0-9A-Za-z,/_-]\+: ' -e '^Revert '; then
-                       echo_green "Commit subject line seems ok ($subject)"
-               else
-                       echo_red "Commit subject line MUST start with '<package name>: ' ($subject)"
-                       RET=1
-               fi
-
-               body="$(git show -s --format=%b $commit)"
-               sob="$(git show -s --format='Signed-off-by: %aN <%aE>' $commit)"
-               if echo "$body" | grep -qF "$sob"; then
-                       echo_green "Signed-off-by match author"
-               else
-                       echo_red "Signed-off-by is missing or doesn't match author (should be '$sob')"
-                       RET=1
-               fi
-       done
-
-       return $RET
-}
-
-test_packages() {
-       test_commits && test_packages2 || return 1
-}
-
-echo_blue "=== Travis ENV"
-env
-echo_blue "=== Travis ENV"
-
-if [ -n "$TRAVIS_PULL_REQUEST_SHA" ]; then
-       while true; do
-               # if clone depth is too small, git rev-list / diff return incorrect or empty results
-               C="$(git rev-list ${TRAVIS_COMMIT_RANGE/.../..} | tail -n1)" 2>/dev/null
-               [ -n "$C" -a "$C" != "a22de9b74cf9579d1ce7e6cf1845b4afa4277b00" ] && break
-               echo_blue "Fetching 50 commits more"
-               git fetch origin --deepen=50
-       done
-fi
-
-if [ $# -ne 1 ] ; then
-       cat <<EOF
-Usage: $0 (download_sdk|test_packages)
-
-download_sdk - download the SDK to $HOME/sdk.tar.xz
-test_packages - do a make check on the package
-EOF
-       exit 1
-fi
-
-$@
index 120757c349cc3a1b1cd4d6569e5d2dbd8224b00e..d9361529d74c170fc8339544a9bbdfb5193ee36a 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=netdata
-PKG_VERSION:=1.29.3
+PKG_VERSION:=1.30.1
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>, Daniel Engberg <daniel.engberg.lists@pyret.net>
@@ -18,7 +18,7 @@ PKG_CPE_ID:=cpe:/a:my-netdata:netdata
 
 PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/netdata/netdata/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=8e045ea153db99317a95232d1d7a76711bee46f4bc2666d22e268ff03011aa43
+PKG_HASH:=e05f8b59d283fb2844280455b9481a2f9104730fd77f535312ff2fec40a6bc11
 
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
index 46b87a8a7279729aa721fd4b6a785fc54ad83944..4a247daaede6f84782db53c5fc68f7b209aa5fa4 100644 (file)
@@ -27,3 +27,6 @@
 
 [health]
        enabled = no
+
+[plugin:proc:ipc]
+       shared memory totals = no
index 9142b1f8793a253888089559bf95b5dd2a113e34..64b31436bebf54afd9621174d355127283bd7a4f 100644 (file)
@@ -1,11 +1,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=meson
-PKG_VERSION:=0.57.1
+PKG_VERSION:=0.57.2
 PKG_RELEASE:=$(AUTORELEASE)
 
 PYPI_NAME:=meson
-PKG_HASH:=72e1c782ba9bda204f4a1ed57f98d027d7b6eb9414c723eebbd6ec7f1955c8a6
+PKG_HASH:=3a83e7b1c5de94fa991ec34d9b198d94f38ed699d3524cb0fdf3b99fd23d4cc5
 
 PKG_MAINTAINER:=Andre Heider <a.heider@gmail.com>
 PKG_LICENSE:=Apache-2.0
index ac74bd5bf50263a33b36794c27d192886b70001f..400f2f19348e4df6f5dbc543dd27fafff3f1ee5c 100644 (file)
@@ -88,7 +88,7 @@ define Meson/CreateCrossFile
                -e "s|@CXXFLAGS@|$(foreach FLAG,$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS),'$(FLAG)',)|" \
                -e "s|@LDFLAGS@|$(foreach FLAG,$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS),'$(FLAG)',)|" \
                -e "s|@ARCH@|$(MESON_ARCH)|" \
-               -e "s|@CPU@|$(MESON_CPU))|" \
+               -e "s|@CPU@|$(MESON_CPU)|" \
                -e "s|@ENDIAN@|$(if $(CONFIG_BIG_ENDIAN),big,little)|" \
                < $(MESON_DIR)/openwrt-cross.txt.in \
                > $(1)
index d36061893440478b52961cda2fa4ae6c6a127646..7b522f195ae34fa040bd279bfa626cbf36425db9 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ksmbd
-PKG_VERSION:=3.3.7
+PKG_VERSION:=3.3.8
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/cifsd-team/cifsd/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=d92706e2dc00bd612698be2c39759ea6170a869e657bae4a80cf6424a333babe
+PKG_HASH:=8c0d1beaa549053a476287972105f3cad53e9841983c54c2490f52a88e1a4828
 
 PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com>
 PKG_LICENSE:=GPL-2.0-or-later
index aa7341fbd364e28a5737083149cad989f1321748..5bbcee03775b00e0f786678d23f2a695d2022490 100644 (file)
@@ -8,19 +8,19 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lua-openssl
-PKG_VERSION:=0.7.4
-PKG_RELEASE:=1
-PKG_MAINTAINER:=Amnon Paz <pazamnon@gmail.com>
-PKG_LICENSE:=MIT
+PKG_RELEASE:=$(AUTORELEASE)
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_MIRROR_HASH:=c27cedee438de95877823b1ae0607556564d82c8692be40f43743ca9cc5a029a
-PKG_SOURCE_URL:=https://github.com/zhaozg/lua-openssl.git
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=96effbaf477ca205f1787aaf1cce643bd208066b
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_URL:=https://github.com/zhaozg/lua-openssl.git
+PKG_SOURCE_VERSION:=0.7.8-0
+PKG_MIRROR_HASH:=890dda7b23ff303e70ca8aa0d729836de347c0e58057282f55c6abf87e39c602
+
+PKG_MAINTAINER:=Amnon Paz <pazamnon@gmail.com>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
 
 include $(INCLUDE_DIR)/package.mk
+include ../../devel/ninja/ninja-cmake.mk
 
 define Package/lua-openssl
   SUBMENU:=Lua
@@ -37,7 +37,7 @@ endef
 
 define Package/lua-openssl/install
        $(INSTALL_DIR) $(1)/usr/lib/lua
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/openssl.so $(1)/usr/lib/lua/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/lua/5.1/openssl.so $(1)/usr/lib/lua/
 endef
 
 $(eval $(call BuildPackage,lua-openssl))
diff --git a/lang/lua-openssl/patches/0001-Revise-Makefile.patch b/lang/lua-openssl/patches/0001-Revise-Makefile.patch
deleted file mode 100644 (file)
index e877c0f..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -1,121 +1,52 @@
- T=openssl
-+.PHONY: install clean
--PREFIX                ?=/usr/local
--CC            := $(CROSS)$(CC)
--AR            := $(CROSS)$(AR)
--LD            := $(CROSS)$(LD)
--
--#OS auto detect
--ifneq (,$(TARGET_SYS))
--  SYS         := $(TARGET_SYS)
--else
--  SYS         := $(shell gcc -dumpmachine)
--endif
--
--#Lua auto detect
--LUA_VERSION   := $(shell pkg-config luajit --print-provides)
--ifeq ($(LUA_VERSION),)
--  # Not found luajit package, try lua
--  LUA_VERSION := $(shell pkg-config lua --print-provides)
--  ifeq ($(LUA_VERSION),)
--    # Not found lua package, try from prefix
--    LUA_VERSION := $(shell lua -e "_,_,v=string.find(_VERSION,'Lua (.+)');print(v)")
--    LUA_CFLAGS        ?= -I$(PREFIX)/include/lua$(LUA_VERSION)
--    LUA_LIBS  ?= -L$(PREFIX)/lib -llua
--    LUA_LIBDIR        ?= $(PREFIX)/lib/lua/$(LUA_VERSION)
--  else
--    # Found lua package
--    LUA_VERSION       := $(shell lua -e "_,_,v=string.find(_VERSION,'Lua (.+)');print(v)")
--    LUA_CFLAGS        ?= $(shell pkg-config lua --cflags)
--    LUA_LIBS  ?= $(shell pkg-config lua --libs)
--    LUA_LIBDIR        ?= $(PREFIX)/lib/lua/$(LUA_VERSION)
--  endif
--else
--  # Found luajit package
--  LUA_VERSION := $(shell luajit -e "_,_,v=string.find(_VERSION,'Lua (.+)');print(v)")
--  LUA_CFLAGS  ?= $(shell pkg-config luajit --cflags)
--  LUA_LIBS    ?= $(shell pkg-config luajit --libs)
--  LUA_LIBDIR  ?= $(PREFIX)/lib/lua/$(LUA_VERSION)
--endif
--
--#OpenSSL auto detect
--OPENSSL_CFLAGS        ?= $(shell pkg-config openssl --cflags)
--OPENSSL_LIBS  ?= $(shell pkg-config openssl --static --libs)
--
--ifneq (, $(findstring linux, $(SYS)))
--  # Do linux things
--  CFLAGS       = -fpic
--  LDFLAGS      = -Wl,--no-undefined -fpic -lrt -ldl -lm
--endif
--
--ifneq (, $(findstring apple, $(SYS)))
--  # Do darwin things
--  CFLAGS       = -fPIC
--  LDFLAGS      = -fPIC -undefined dynamic_lookup -ldl
--  #MACOSX_DEPLOYMENT_TARGET="10.3"
--  CC          := MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(CC)
--endif
-+PKGC ?= pkg-config
--ifneq (, $(findstring mingw, $(SYS)))
--  # Do mingw things
--  CFLAGS       = -DLUA_LIB -DLUA_BUILD_AS_DLL -DWIN32_LEAN_AND_MEAN
--endif
-+LIB_OPTION    = -shared
-+LUAPKGC = lua
--ifneq (, $(findstring cygwin, $(SYS)))
--  # Do cygwin things
--  CFLAGS       = -fPIC
--endif
-+# LUA include/libraries build flags
-+LUA_CFLAGS  := $(shell $(PKGC) --cflags $(LUAPKGC))
-+LUA_LIBS_DIR := $(shell $(PKGC) --libs $(LUAPKGC))
--ifneq (, $(findstring iOS, $(SYS)))
--  # Do iOS things
--  CFLAGS       = -fPIC
--  LDFLAGS      = -fPIC -ldl
--endif
-+# openssl include/libraries build flags
-+OPENSSL_CFLAGS      ?= $(shell $(PKGC) openssl --cflags)
-+OPENSSL_LIBS_DIR    ?= $(shell $(PKGC) openssl --libs)
--#custom config
-+LDFLAGS               = -Wl,--no-undefined -fpic -lrt -ldl -lm $(OPENSSL_LIBS_DIR) $(LUA_LIBS_DIR)
-+CFLAGS          += -fPIC -DPTHREADS $(OPENSSL_CFLAGS) $(LUA_CFLAGS)
- ifeq (.config, $(wildcard .config))
--  include .config
-+include .config
- endif
--LIBNAME= $T.so.$V
-+LIBNAME= $T.so
--CFLAGS                += $(OPENSSL_CFLAGS) $(LUA_CFLAGS) $(TARGET_FLAGS)
--LDFLAGS               += -shared $(OPENSSL_LIBS) $(LUA_LIBS)
- # Compilation directives
- WARN_MIN       = -Wall -Wno-unused-value
- WARN           = -Wall
- WARN_MOST      = $(WARN) -W -Waggregate-return -Wcast-align -Wmissing-prototypes -Wnested-externs -Wshadow -Wwrite-strings -pedantic
- CFLAGS                += -g $(WARN_MIN) -DPTHREADS -Ideps -Ideps/lua-compat -Ideps/auxiliar
--
- OBJS=src/asn1.o deps/auxiliar/auxiliar.o src/bio.o src/cipher.o src/cms.o src/compat.o src/crl.o src/csr.o src/dh.o src/digest.o src/dsa.o \
- src/ec.o src/engine.o src/hmac.o src/lbn.o src/lhash.o src/misc.o src/ocsp.o src/openssl.o src/ots.o src/pkcs12.o src/pkcs7.o    \
- src/pkey.o src/rsa.o src/ssl.o src/th-lock.o src/util.o src/x509.o src/xattrs.o src/xexts.o src/xname.o src/xstore.o \
- src/xalgor.o src/callback.o src/srp.o deps/auxiliar/subsidiar.o
--.c.o:
--      $(CC) $(CFLAGS) -c -o $@ $?
-+%.o: %.c
-+      $(CC) $(CFLAGS) -c $< -o $@
- all: $T.so
--      @echo "Target system: "$(SYS)
-+      echo $(SYS)
-+      $(CC) $(LDFLAGS) $(LIB_OPTION) $(OBJS) -o $@
--$T.so: lib$T.a
--      $(CC) -o $@ src/openssl.o -L. -l$T $(LDFLAGS)
--
--lib$T.a: $(OBJS)
--      $(AR) rcs $@ $?
-+$T.so: $(OBJS)
-+      echo "LUA LIBS_DIR: " $(LUA_LIBS_DIR)
-+      $(CC) $(CFLAGS) $(LIB_OPTION) -o $T.so $(OBJS) $(LDFLAGS)
- install: all
-       mkdir -p $(LUA_LIBDIR)
-       cp $T.so $(LUA_LIBDIR)
--info:
--      @echo "Target system: "$(SYS)
--      @echo "CC:" $(CC)
--      @echo "AR:" $(AR)
--      @echo "PREFIX:" $(PREFIX)
--
- clean:
--      rm -f $T.so lib$T.a $(OBJS)
--
--# vim: ts=8 sw=8 noet
-+      rm -f $T.so $(OBJS)
diff --git a/lang/lua-openssl/patches/010-cmake.patch b/lang/lua-openssl/patches/010-cmake.patch
new file mode 100644 (file)
index 0000000..c1cbd67
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -21,8 +21,6 @@ add_definitions(-DPTHREADS)
+ if(BUILD_SHARED_LUA_OPENSSL)
+     set(LUA_OPENSSL_LIBTYPE SHARED)
+-    add_definitions(-DLUA_BUILD_AS_DLL -DLUA_LIB)
+-    set(EXTRA_LIBS "ws2_32.lib" "crypt32.lib")
+ else()
+     set(LUA_OPENSSL_LIBTYPE STATIC)
+ endif()
diff --git a/lang/lua-openssl/patches/020-no-luajit.patch b/lang/lua-openssl/patches/020-no-luajit.patch
new file mode 100644 (file)
index 0000000..502e2ca
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -8,7 +8,6 @@ option(BUILD_SHARED_LUA_OPENSSL "Shared
+ include(GNUInstallDirs)
+-find_package(LuaJIT)
+ if(NOT LUAJIT_FOUND)
+     find_package(Lua REQUIRED)
+ endif()
diff --git a/lang/lua-openssl/patches/020-openssl-deprecated.patch b/lang/lua-openssl/patches/020-openssl-deprecated.patch
new file mode 100644 (file)
index 0000000..408843a
--- /dev/null
@@ -0,0 +1,143 @@
+--- a/src/cipher.c
++++ b/src/cipher.c
+@@ -8,6 +8,10 @@ cipher module for lua-openssl binding
+ #include "openssl.h"
+ #include "private.h"
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++#define EVP_CIPHER_CTX_reset EVP_CIPHER_CTX_init
++#endif
++
+ /***
+ list all support cipher algs
+@@ -109,7 +113,7 @@ static LUA_FUNCTION(openssl_evp_encrypt)
+       memcpy(evp_iv, iv, iv_len);
+     }
+-    EVP_CIPHER_CTX_init(c);
++    EVP_CIPHER_CTX_reset(c);
+     ret = EVP_EncryptInit_ex(c, cipher, e, (const byte*)evp_key, iv_len > 0 ? (const byte*)evp_iv : NULL);
+     if (ret == 1)
+     {
+@@ -131,8 +135,12 @@ static LUA_FUNCTION(openssl_evp_encrypt)
+         OPENSSL_free(buffer);
+       }
+     }
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++    EVP_CIPHER_CTX_reset(c);
++#else
+     EVP_CIPHER_CTX_cleanup(c);
+     EVP_CIPHER_CTX_free(c);
++#endif
+     return (ret == 1) ? ret : openssl_pushresult(L, ret);
+   }
+   else
+@@ -196,7 +204,7 @@ static LUA_FUNCTION(openssl_evp_decrypt)
+       memcpy(evp_iv, iv, iv_len);
+     }
+-    EVP_CIPHER_CTX_init(c);
++    EVP_CIPHER_CTX_reset(c);
+     ret = EVP_DecryptInit_ex(c, cipher, e, key ? (const byte*)evp_key : NULL, iv_len > 0 ? (const byte*)evp_iv : NULL);
+     if (ret == 1)
+     {
+@@ -220,8 +228,12 @@ static LUA_FUNCTION(openssl_evp_decrypt)
+         OPENSSL_free(buffer);
+       }
+     }
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++    EVP_CIPHER_CTX_reset(c);
++#else
+     EVP_CIPHER_CTX_cleanup(c);
+     EVP_CIPHER_CTX_free(c);
++#endif
+     return (ret == 1) ? ret : openssl_pushresult(L, ret);
+   }
+   else
+@@ -292,7 +304,7 @@ static LUA_FUNCTION(openssl_evp_cipher)
+       memcpy(evp_iv, iv, iv_len);
+     }
+-    EVP_CIPHER_CTX_init(c);
++    EVP_CIPHER_CTX_reset(c);
+     ret = EVP_CipherInit_ex(c, cipher, e, (const byte*)evp_key, iv_len > 0 ? (const byte*)evp_iv : NULL, enc);
+     if (ret == 1)
+     {
+@@ -317,8 +329,12 @@ static LUA_FUNCTION(openssl_evp_cipher)
+         OPENSSL_free(buffer);
+       }
+     }
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++    EVP_CIPHER_CTX_reset(c);
++#else
+     EVP_CIPHER_CTX_cleanup(c);
+     EVP_CIPHER_CTX_free(c);
++#endif
+     return (ret == 1) ? ret : openssl_pushresult(L, ret);
+   }
+   else
+@@ -376,7 +392,7 @@ static LUA_FUNCTION(openssl_cipher_new)
+       memcpy(evp_iv, iv, iv_len);
+     }
+     c = EVP_CIPHER_CTX_new();
+-    EVP_CIPHER_CTX_init(c);
++    EVP_CIPHER_CTX_reset(c);
+     if (!EVP_CipherInit_ex(c, cipher, e, key ? (const byte*)evp_key : NULL, iv_len > 0 ? (const byte*)evp_iv : NULL, enc))
+     {
+       luaL_error(L, "EVP_CipherInit_ex failed, please check openssl error");
+@@ -431,7 +447,7 @@ static LUA_FUNCTION(openssl_cipher_encry
+       memcpy(evp_iv, iv, iv_len);
+     }
+     c = EVP_CIPHER_CTX_new();
+-    EVP_CIPHER_CTX_init(c);
++    EVP_CIPHER_CTX_reset(c);
+     ret = EVP_EncryptInit_ex(c, cipher, e,
+                              key ? (const byte*)evp_key : NULL,
+                              iv_len > 0 ? (const byte*)evp_iv : NULL);
+@@ -491,7 +507,7 @@ static LUA_FUNCTION(openssl_cipher_decry
+       memcpy(evp_iv, iv, iv_len);
+     }
+     c = EVP_CIPHER_CTX_new();
+-    EVP_CIPHER_CTX_init(c);
++    EVP_CIPHER_CTX_reset(c);
+     ret = EVP_DecryptInit_ex(c, cipher, e,
+                              key ? (const byte*)evp_key : NULL,
+                              iv_len > 0 ? (const byte*)evp_iv : NULL);
+@@ -937,8 +953,12 @@ static LUA_FUNCTION(openssl_cipher_ctx_f
+     return 0;
+   lua_pushnil(L);
+   lua_rawsetp(L, LUA_REGISTRYINDEX, ctx);
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++  EVP_CIPHER_CTX_reset(ctx);
++#else
+   EVP_CIPHER_CTX_cleanup(ctx);
+   EVP_CIPHER_CTX_free(ctx);
++#endif
+   FREE_OBJECT(1);
+   return 0;
+ }
+--- a/src/openssl.c
++++ b/src/openssl.c
+@@ -523,9 +523,7 @@ LUALIB_API int luaopen_openssl(lua_State
+ #endif
+ #ifndef OPENSSL_NO_ENGINE
+-    ENGINE_load_dynamic();
+-    ENGINE_load_openssl();
+-    ENGINE_load_builtin_engines();
++    ENGINE_register_all_complete();
+ #endif
+ #ifdef LOAD_ENGINE_CUSTOM
+     LOAD_ENGINE_CUSTOM
+--- a/src/th-lock.c
++++ b/src/th-lock.c
+@@ -310,7 +310,7 @@ unsigned long irix_thread_id(void)
+ /* Linux and a few others */
+ #ifdef PTHREADS
+-#ifndef OPENSSL_SYS_WIN32
++#if !defined(OPENSSL_SYS_WIN32) && (OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER))
+ static pthread_mutex_t *lock_cs;
+ static long *lock_count;
index 93922c7a4d2dfc49cbcc970f085f1e4a48ce5fec..0a6b87b653a03ddd238b9b4eafb430ba768fe3bb 100644 (file)
@@ -9,19 +9,21 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lualanes
 PKG_VERSION:=3.13.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/LuaLanes/lanes/tar.gz/v$(PKG_VERSION)?
 PKG_HASH:=53a17d7ee11f17ca0543ae5aa640208dcb62d37862a0d0ea450455fae12c8ff1
 PKG_BUILD_DIR:=$(BUILD_DIR)/lanes-$(PKG_VERSION)
 
-PKG_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
+PKG_MAINTAINER:=Vladimir Malyutin <first-leon@yandex.ru>
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=COPYRIGHT
 
 PKG_BUILD_DEPENDS:=lua/host
 
 include $(INCLUDE_DIR)/package.mk
+include ../../devel/ninja/ninja-cmake.mk
 
 define Package/lualanes
        SUBMENU:=Lua
@@ -30,7 +32,6 @@ define Package/lualanes
        TITLE:=LuaLanes
        URL:=http://lualanes.github.io/lanes/
        DEPENDS:=+lua +luac +liblua +libpthread
-       MAINTAINER:=Vladimir Malyutin <first-leon@yandex.ru>
 endef
 
 define Package/lualanes/description
@@ -46,21 +47,11 @@ extension modules should work seamlessly together with the multiple lanes.
 Lanes supports Lua 5.1, 5.2 and 5.3
 endef
 
-define Build/Compile
-       $(MAKE) -C $(PKG_BUILD_DIR) all \
-        CC="$(TARGET_CC)" \
-        LUA="$(STAGING_DIR_HOSTPKG)/bin/lua" \
-        LUAC="$(STAGING_DIR_HOSTPKG)/bin/luac" \
-       LUA_FLAGS= \
-       LUA_LIBS=-llua \
-        OPT_FLAGS="$(TARGET_CFLAGS) -Dpthread_yield=sched_yield"
-endef
-
 define Package/lualanes/install
        $(INSTALL_DIR) $(1)/usr/lib/lua
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/lanes.lua $(1)/usr/lib/lua/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/lua/lmod/lanes.lua $(1)/usr/lib/lua/
        $(INSTALL_DIR) $(1)/usr/lib/lua/lanes
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/src/lanes/core.so $(1)/usr/lib/lua/lanes/core.so
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/lua/cmod/core.so $(1)/usr/lib/lua/lanes/core.so
 endef
 
 $(eval $(call BuildPackage,lualanes))
index 737ece1fd4f27a9f0173f30de40558484c6d6fea..4edabf7e6b0087393a84c382c28558ac9511c440 100644 (file)
@@ -5,7 +5,7 @@
    #include <pthread.h>
  
 -  #ifdef PLATFORM_LINUX
-+  #if defined(PLATFORM_LINUX) && defined(__UCLIBC__)
++  #if defined(PLATFORM_LINUX) && defined(__GLIBC__)
    # define _MUTEX_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP
    #else
      /* OS X, ... */
index d8be8a497b00741262194f9eab446a3076e0f957..35cf2e850d9b48b3da38d030d58e0d99ffbdf168 100644 (file)
@@ -1,19 +1,17 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=luv
-PKG_VERSION:=1.36.0-0
+PKG_VERSION:=1.40.0-0
 PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/luvit/luv/releases/download/$(PKG_VERSION)
-PKG_HASH:=f2e7eb372574f25c6978c1dc74280d22efdcd7df2dda4a286c7fe7dceda26445
+PKG_HASH:=24473a081c3928eec2a352369cbafda97059574f4a4276861274473e7c7d17a0
 
 PKG_MAINTAINER:=Morteza Milani <milani@pichak.co>
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 
-CMAKE_INSTALL:=1
-
 include $(INCLUDE_DIR)/package.mk
 include ../../devel/ninja/ninja-cmake.mk
 
@@ -34,20 +32,27 @@ define Package/luv/config
        source "$(SOURCE)/Config.in"
 endef
 
-CMAKE_OPTIONS += -DLUA_BUILD_TYPE=System
-CMAKE_OPTIONS += -DWITH_SHARED_LIBUV=ON
-CMAKE_OPTIONS += -DBUILD_MODULE=OFF
-CMAKE_OPTIONS += -DBUILD_SHARED_LIBS=ON
+CMAKE_OPTIONS += \
+       -DLUA_BUILD_TYPE=System \
+       -DWITH_SHARED_LIBUV=ON \
+       -DBUILD_MODULE=OFF \
+       -DBUILD_SHARED_LIBS=ON \
+       -DWITH_LUA_ENGINE=$(if $(CONFIG_LUV_USE_LUAJIT_ENGINE),Luajit,Lua)
 
-ifeq ($(CONFIG_LUV_USE_LUAJIT_ENGINE),y)
-       CMAKE_OPTIONS += -DWITH_LUA_ENGINE=Luajit
-else
-       CMAKE_OPTIONS += -DWITH_LUA_ENGINE=Lua
-endif
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include/luv
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/luv/*.h $(1)/usr/include/luv
+       $(INSTALL_DIR) $(1)/usr/lib/lua
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libluv.so* $(1)/usr/lib
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libluv.pc $(1)/usr/lib/pkgconfig
+       $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libluv.pc
+       $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libluv.pc
+endef
 
 define Package/luv/install
        $(INSTALL_DIR) $(1)/usr/lib/lua
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libluv.so.1.36.0 $(1)/usr/lib/lua/luv.so
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libluv.so.1.40.0 $(1)/usr/lib/lua/luv.so
 endef
 
 
index b1e8d8b81c545db5b0ca4da4828d174e75a19f26..126b796410b1d41d08d3ad89331eed6d199ddb0b 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=node
-PKG_VERSION:=v14.16.0
+PKG_VERSION:=v14.16.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://nodejs.org/dist/$(PKG_VERSION)
-PKG_HASH:=4e7648a617f79b459d583f7dbdd31fbbac5b846d41598f3b54331a5b6115dfa6
+PKG_HASH:=e44adbbed6756c2c1a01258383e9f00df30c147b36e438f6369b5ef1069abac3
 
 PKG_MAINTAINER:=Hirokazu MORIKAWA <morikw2@gmail.com>, Adrian Panella <ianchi74@outlook.com>
 PKG_LICENSE:=MIT
@@ -71,7 +71,7 @@ define Package/node/config
        if PACKAGE_node
        choice
                prompt "i18n features"
-               default NODEJS_ICU_NONE
+               default NODEJS_ICU_SMALL
                help
                 Select i18n features
 
index 7470767504855d4ef0f33492d47e82287cf20f21..78e64d209b4fd9536905cda86ab94cb3d04c4cc5 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django
-PKG_VERSION:=3.1.7
+PKG_VERSION:=3.2
 PKG_RELEASE:=1
 
 PYPI_NAME:=Django
-PKG_HASH:=32ce792ee9b6a0cbbec340123e229ac9f765dff8c2a4ae9247a14b2ba3a365a7
+PKG_HASH:=21f0f9643722675976004eb683c55d33c05486f94506672df3d6a141546f389d
 
 PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>, Peter Stadler <peter.stadler@student.uibk.ac.at>
 PKG_LICENSE:=BSD-3-Clause
index c856659caffaba9ebf96c0e989defdbbf35e8f84..9c41e371c29df820479f6be6330fab24af649f16 100644 (file)
@@ -7,11 +7,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pillow
-PKG_VERSION:=8.1.2
+PKG_VERSION:=8.2.0
 PKG_RELEASE:=1
 
 PYPI_NAME:=Pillow
-PKG_HASH:=b07c660e014852d98a00a91adfbe25033898a9d90a8f39beb2437d22a203fc44
+PKG_HASH:=a787ab10d7bb5494e5f76536ac460741788f1fbce851068d73a87ca7c35fc3e1
 
 PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
 PKG_LICENSE:=HPND
index 559e65b83275d8e95a04163f9100c7ac63cafe74..42c0f484e6a36509a0cc00084c84a7e9d5cef663 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2019-2020 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+# Copyright (C) 2019-2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-babel
-PKG_VERSION:=2.8.0
+PKG_VERSION:=2.9.0
 PKG_RELEASE:=1
 
 PYPI_NAME:=Babel
-PKG_HASH:=1aac2ae2d0d8ea368fa90906567f5c08463d98ade155c0c4bfedd6a0f7160e38
+PKG_HASH:=da031ab54472314f210b0adcff1588ee5d1d1d0ba4dbd07b94dba82bde791e05
 
 PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
 PKG_LICENSE:=BSD-3-Clause
diff --git a/lang/python/python-bidict/Makefile b/lang/python/python-bidict/Makefile
new file mode 100644 (file)
index 0000000..78066a5
--- /dev/null
@@ -0,0 +1,43 @@
+#
+# Copyright (C) 2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-bidict
+PKG_VERSION:=0.21.2
+PKG_RELEASE:=1
+
+PYPI_NAME:=bidict
+PKG_HASH:=4fa46f7ff96dc244abfc437383d987404ae861df797e2fd5b190e233c302be09
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=MPL-2.0
+PKG_LICENSE_FILES:=LICENSE
+
+HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-bidict
+  SUBMENU:=Python
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=The bidirectional mapping library
+  URL:=https://github.com/jab/bidict
+  DEPENDS:= \
+       +python3-light
+endef
+
+define Package/python3-bidict/description
+  The bidirectional mapping library for Python.
+endef
+
+$(eval $(call Py3Package,python3-bidict))
+$(eval $(call BuildPackage,python3-bidict))
+$(eval $(call BuildPackage,python3-bidict-src))
index eb8ce5c7194f2025bbdca74538225cba11474491..dba601e500e4279f817a266511e6eba0272a7b62 100644 (file)
@@ -1,11 +1,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-docker
-PKG_VERSION:=4.4.4
+PKG_VERSION:=5.0.0
 PKG_RELEASE:=1
 
 PYPI_NAME:=docker
-PKG_HASH:=d3393c878f575d3a9ca3b94471a3c89a6d960b35feb92f033c0de36cc9d934db
+PKG_HASH:=3e8bc47534e0ca9331d72c32f2881bb13b93ded0bcdeab3c833fb7cf61c0a9a5
 
 PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>
 PKG_LICENSE:=Apache-2.0
index a17ab80f5a4993bbe026c9c1c7f25df0476d8dbd..0d4a09f483d6224de7e0f4d226fac90d1bc3631e 100644 (file)
@@ -1,11 +1,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-dotenv
-PKG_VERSION:=0.15.0
+PKG_VERSION:=0.17.0
 PKG_RELEASE:=1
 
 PYPI_NAME:=python-dotenv
-PKG_HASH:=587825ed60b1711daea4832cf37524dfd404325b7db5e25ebe88c495c9f807a0
+PKG_HASH:=471b782da0af10da1a80341e8438fca5fadeba2881c54360d5fd8d03d03a4f4a
 
 PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>
 PKG_LICENSE:=BSD-3-Clause
diff --git a/lang/python/python-engineio/Makefile b/lang/python/python-engineio/Makefile
new file mode 100644 (file)
index 0000000..ad3196a
--- /dev/null
@@ -0,0 +1,45 @@
+#
+# Copyright (C) 2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-engineio
+PKG_VERSION:=4.0.1
+PKG_RELEASE:=1
+
+PYPI_NAME:=python-engineio
+PKG_HASH:=bb575c1a3512b4b5d4706f3071d5cc36e592459e99a47d9a4b7faabeba941377
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-engineio
+  SUBMENU:=Python
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=Engine.IO server
+  URL:=https://github.com/miguelgrinberg/python-engineio
+  DEPENDS:= \
+       +python3-light \
+       +python3-asyncio \
+       +python3-logging \
+       +python3-openssl \
+       +python3-urllib
+endef
+
+define Package/python3-engineio/description
+  Python implementation of the Engine.IO realtime client and server.
+endef
+
+$(eval $(call Py3Package,python3-engineio))
+$(eval $(call BuildPackage,python3-engineio))
+$(eval $(call BuildPackage,python3-engineio-src))
diff --git a/lang/python/python-eventlet/Makefile b/lang/python/python-eventlet/Makefile
new file mode 100644 (file)
index 0000000..286a5f3
--- /dev/null
@@ -0,0 +1,50 @@
+#
+# Copyright (C) 2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-eventlet
+PKG_VERSION:=0.30.2
+PKG_RELEASE:=1
+
+PYPI_NAME:=eventlet
+PKG_HASH:=1811b122d9a45eb5bafba092d36911bca825f835cb648a862bbf984030acff9d
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-eventlet
+  SUBMENU:=Python
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=Python concurrent networking library
+  URL:=https://eventlet.net/
+  DEPENDS:= \
+       +python3-light \
+       +python3-six \
+       +python3-dns \
+       +python3-greenlet \
+       +python3-distutils \
+       +python3-email \
+       +python3-logging \
+       +python3-openssl \
+       +python3-urllib
+endef
+
+define Package/python3-eventlet/description
+  Eventlet is a concurrent networking library for Python that
+  allows you to change how you run your code, not how you write it.
+endef
+
+$(eval $(call Py3Package,python3-eventlet))
+$(eval $(call BuildPackage,python3-eventlet))
+$(eval $(call BuildPackage,python3-eventlet-src))
diff --git a/lang/python/python-flask-httpauth/Makefile b/lang/python/python-flask-httpauth/Makefile
new file mode 100644 (file)
index 0000000..6dc8ed6
--- /dev/null
@@ -0,0 +1,43 @@
+#
+# Copyright (C) 2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python3-flask-httpauth
+PKG_VERSION:=4.2.0
+PKG_RELEASE:=1
+
+PYPI_NAME:=Flask-HTTPAuth
+PKG_HASH:=8c7e49e53ce7dc14e66fe39b9334e4b7ceb8d0b99a6ba1c3562bb528ef9da84a
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-flask-httpauth
+  SUBMENU:=Python
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=Basic and Digest HTTP authentication for Flask routes
+  URL:=https://github.com/miguelgrinberg/flask-httpauth
+  DEPENDS:= \
+       +python3-light \
+       +python3-flask
+endef
+
+define Package/python3-flask-httpauth/description
+  Flask-HTTPAuth is a Flask extension that simplifies the
+  use of HTTP authentication with Flask routes
+endef
+
+$(eval $(call Py3Package,python3-flask-httpauth))
+$(eval $(call BuildPackage,python3-flask-httpauth))
+$(eval $(call BuildPackage,python3-flask-httpauth-src))
diff --git a/lang/python/python-flask-socketio/Makefile b/lang/python/python-flask-socketio/Makefile
new file mode 100644 (file)
index 0000000..945d57a
--- /dev/null
@@ -0,0 +1,44 @@
+#
+# Copyright (C) 2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-flask-socketio
+PKG_VERSION:=5.0.1
+PKG_RELEASE:=1
+
+PYPI_NAME:=Flask-SocketIO
+PKG_HASH:=5c4319f5214ada20807857dc8fdf3dc7d2afe8d6dd38f5c516c72e2be47d2227
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-flask-socketio
+  SUBMENU:=Python
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=Socket.IO integration for Flask
+  URL:=https://github.com/miguelgrinberg/Flask-SocketIO/
+  DEPENDS:= \
+       +python3-light \
+       +python3-flask \
+       +python3-socketio
+endef
+
+define Package/python3-flask-socketio/description
+  Flask-SocketIO gives Flask applications access to low latency
+  bi-directional communications between the clients and the server.
+endef
+
+$(eval $(call Py3Package,python3-flask-socketio))
+$(eval $(call BuildPackage,python3-flask-socketio))
+$(eval $(call BuildPackage,python3-flask-socketio-src))
diff --git a/lang/python/python-greenlet/Makefile b/lang/python/python-greenlet/Makefile
new file mode 100644 (file)
index 0000000..efcaf90
--- /dev/null
@@ -0,0 +1,53 @@
+#
+# Copyright (C) 2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-greenlet
+PKG_VERSION:=1.0.0
+PKG_RELEASE:=2
+
+PYPI_NAME:=greenlet
+PKG_HASH:=719e169c79255816cdcf6dccd9ed2d089a72a9f6c42273aae12d55e8d35bdcf8
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+# FIXME: remove when GCC10 is the oldest supported compiler, or the issue goes away
+PKG_USE_MIPS16:=0
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-greenlet
+  SUBMENU:=Python
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=Lightweight coroutines for in-process concurrent programming
+  URL:=https://github.com/python-greenlet/greenlet
+  DEPENDS:= \
+       +python3-light \
+       +libstdcpp \
+       @!arc
+endef
+
+define Package/python3-greenlet/description
+  The greenlet package is a spin-off of Stackless
+  a version of CPython that supports micro-threads called tasklets.
+endef
+
+# FIXME: remove when GCC10 is the oldest supported compiler, or the issue goes away
+# This is required in addition to PKG_USE_MIPS16:=0 because otherwise MIPS16
+# flags are inherited from the Python base package (via sysconfig module)
+ifdef CONFIG_USE_MIPS16
+TARGET_CFLAGS += -mno-mips16 -mno-interlink-mips16
+endif
+
+$(eval $(call Py3Package,python3-greenlet))
+$(eval $(call BuildPackage,python3-greenlet))
+$(eval $(call BuildPackage,python3-greenlet-src))
diff --git a/lang/python/python-pysocks/Makefile b/lang/python/python-pysocks/Makefile
new file mode 100644 (file)
index 0000000..56ad797
--- /dev/null
@@ -0,0 +1,45 @@
+#
+# Copyright (C) 2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-pysocks
+PKG_VERSION:=1.7.1
+PKG_RELEASE:=1
+
+PYPI_NAME:=PySocks
+PKG_HASH:=3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-pysocks
+  SUBMENU:=Python
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=Python SOCKS client module
+  URL:=https://github.com/Anorov/PySocks
+  DEPENDS:= \
+       +python3-light \
+       +python3-logging \
+       +python3-openssl \
+       +python3-urllib
+endef
+
+define Package/python3-pysocks/description
+  PySocks lets you send traffic through SOCKS proxy servers.
+  It is a modern fork of SocksiPy with bug fixes and extra features.
+endef
+
+$(eval $(call Py3Package,python3-pysocks))
+$(eval $(call BuildPackage,python3-pysocks))
+$(eval $(call BuildPackage,python3-pysocks-src))
index eb80afddc6ca6fd37df6e353c4acf18f07290385..44b7b2704e9da978f133ef20505881160feaecdb 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-pytest
-PKG_VERSION:=6.2.2
+PKG_VERSION:=6.2.3
 PKG_RELEASE:=1
 
 PYPI_NAME:=pytest
-PKG_HASH:=9d1edf9e7d0b84d72ea3dbcdfd22b35fb543a5e8f2a60092dd578936bf63d7f9
+PKG_HASH:=671238a46e4df0f3498d1c3270e5deb9b32d25134c99b7d75370a68cfbe9b634
 
 PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
 PKG_LICENSE:=MIT
diff --git a/lang/python/python-socketio/Makefile b/lang/python/python-socketio/Makefile
new file mode 100644 (file)
index 0000000..b80eaaa
--- /dev/null
@@ -0,0 +1,46 @@
+#
+# Copyright (C) 2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-socketio
+PKG_VERSION:=5.1.0
+PKG_RELEASE:=1
+
+PYPI_NAME:=python-socketio
+PKG_HASH:=338cc29abb6f3ca14c88f1f8d05ed27c690df4648f62062b299f92625bbf7093
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-socketio
+  SUBMENU:=Python
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=Socket.IO server and client
+  URL:=https://github.com/miguelgrinberg/python-socketio
+  DEPENDS:= \
+       +python3-light \
+       +python3-bidict \
+       +python3-engineio \
+       +python3-asyncio \
+       +python3-logging \
+       +python3-urllib
+endef
+
+define Package/python3-socketio/description
+  Python implementation of the Socket.IO realtime client and server.
+endef
+
+$(eval $(call Py3Package,python3-socketio))
+$(eval $(call BuildPackage,python3-socketio))
+$(eval $(call BuildPackage,python3-socketio-src))
index a7fa752dc0935de590ae98f3ce28601d3ce9f688..121a3f973550da8b673e7c83f2696f74672906f0 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2019-2020 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+# Copyright (C) 2019-2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-zeroconf
-PKG_VERSION:=0.28.5
+PKG_VERSION:=0.29.0
 PKG_RELEASE:=1
 
 PYPI_NAME:=zeroconf
-PKG_HASH:=c08dbb90c116626cb6c5f19ebd14cd4846cffe7151f338c19215e6938d334980
+PKG_HASH:=7aefbb658b452b1fd7e51124364f938c6f5e42d6ea893fa2557bea8c06c540af
 
 PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
 PKG_LICENSE:=Apache-2.0
index 5caf251995b1d713ad69ec1c32c8af44ff41b73c..55ce898b216f54af3f075a82305f6f8f81239c29 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python3-bottle
-PKG_VERSION:=0.12.17
-PKG_RELEASE:=2
+PKG_VERSION:=0.12.19
+PKG_RELEASE:=1
 
 PYPI_NAME:=bottle
-PKG_HASH:=e9eaa412a60cc3d42ceb42f58d15864d9ed1b92e9d630b8130c871c5bb16107c
+PKG_HASH:=a9d73ffcbc6a1345ca2d7949638db46349f5b2b77dac65d6494d45c23628da2c
 
 PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
 PKG_LICENSE:=MIT
index a8b765ffbe52bde102c4ad6260455d843e26a392..c2a645fda40c03dbf134738ec55e331618b2952f 100644 (file)
@@ -8,7 +8,7 @@
 # Note: keep in sync with setuptools & pip
 PYTHON3_VERSION_MAJOR:=3
 PYTHON3_VERSION_MINOR:=9
-PYTHON3_VERSION_MICRO:=2
+PYTHON3_VERSION_MICRO:=4
 
 PYTHON3_VERSION:=$(PYTHON3_VERSION_MAJOR).$(PYTHON3_VERSION_MINOR)
 
index a32674d7706fed15f368ad70d6842ea665c65914..6405376aaf8c348c7d80a46e49fbf66c1a1d5e46 100644 (file)
@@ -16,7 +16,7 @@ PKG_VERSION:=$(PYTHON3_VERSION).$(PYTHON3_VERSION_MICRO)
 
 PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://www.python.org/ftp/python/$(PKG_VERSION)
-PKG_HASH:=3c2034c54f811448f516668dce09d24008a0716c3a794dd8639b5388cbde247d
+PKG_HASH:=4b0e6644a76f8df864ae24ac500a51bbf68bd098f6a173e27d3b61cdca9aa134
 
 PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>, Jeffery To <jeffery.to@gmail.com>
 PKG_LICENSE:=Python/2.0
index 4b7e9124c696924d56ba18a4a55c1ab6ca55c72f..a1a7a23c6e9006f93d5032ca93124ddb9636d121 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Makefile.pre.in
 +++ b/Makefile.pre.in
-@@ -1525,6 +1525,7 @@ libinstall:      build_all $(srcdir)/Modules/
+@@ -1526,6 +1526,7 @@ libinstall:      build_all $(srcdir)/Modules/
        $(INSTALL_DATA) `cat pybuilddir.txt`/_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH).py \
                $(DESTDIR)$(LIBDEST); \
        $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
@@ -8,7 +8,7 @@
        if test -d $(DESTDIR)$(LIBDEST)/distutils/tests; then \
                $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
                        $(DESTDIR)$(LIBDEST)/distutils/tests ; \
-@@ -1560,6 +1561,7 @@ libinstall:      build_all $(srcdir)/Modules/
+@@ -1561,6 +1562,7 @@ libinstall:      build_all $(srcdir)/Modules/
                $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
        -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
                $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt
index f0fa0246ef433c14b3af2404e685e97a0100c275..8a03d4f1046619fa9ddaec6bb462b8af30097cca 100644 (file)
@@ -11,7 +11,7 @@
  
 --- a/configure.ac
 +++ b/configure.ac
-@@ -4770,7 +4770,7 @@ AC_SUBST(SOABI)
+@@ -4777,7 +4777,7 @@ AC_SUBST(SOABI)
  AC_MSG_CHECKING(ABIFLAGS)
  AC_MSG_RESULT($ABIFLAGS)
  AC_MSG_CHECKING(SOABI)
index 04c6225c357e64584670fb7c5d58f0a3b3f86247..be11085dac6d986b8f4a9c2a7b2eb305b6fe2a15 100644 (file)
@@ -20,7 +20,7 @@
          abi=sys.abiflags,
 --- a/Makefile.pre.in
 +++ b/Makefile.pre.in
-@@ -1534,7 +1534,7 @@ libinstall:      build_all $(srcdir)/Modules/
+@@ -1535,7 +1535,7 @@ libinstall:      build_all $(srcdir)/Modules/
                        esac; \
                done; \
        done
@@ -29,7 +29,7 @@
                $(DESTDIR)$(LIBDEST); \
        $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
  ifeq (@COMPILE_ALL_TESTS@,yes)
-@@ -1692,7 +1692,7 @@ sharedinstall: sharedmods
+@@ -1693,7 +1693,7 @@ sharedinstall: sharedmods
                --install-scripts=$(BINDIR) \
                --install-platlib=$(DESTSHARED) \
                --root=$(DESTDIR)/
@@ -49,7 +49,7 @@
      fi
  elif test "$cross_compiling" = maybe; then
      as_fn_error $? "Cross compiling required --host=HOST-TUPLE and --build=ARCH" "$LINENO" 5
-@@ -15435,7 +15435,7 @@ fi
+@@ -15436,7 +15436,7 @@ fi
  
  
  
@@ -60,7 +60,7 @@
    LIBPL='$(prefix)'"/${PLATLIBDIR}/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"
 --- a/configure.ac
 +++ b/configure.ac
-@@ -75,7 +75,7 @@ if test "$cross_compiling" = yes; then
+@@ -82,7 +82,7 @@ if test "$cross_compiling" = yes; then
            AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found])
        fi
          AC_MSG_RESULT($interp)
@@ -69,7 +69,7 @@
      fi
  elif test "$cross_compiling" = maybe; then
      AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH])
-@@ -4828,7 +4828,7 @@ fi],
+@@ -4835,7 +4835,7 @@ fi],
  
  dnl define LIBPL after ABIFLAGS and LDVERSION is defined.
  AC_SUBST(PY_ENABLE_SHARED)
index 562fd2e46744ebdcbecba0779e1a8c99dddc6e25..684c839c86db78a189b463378f8986faec0ea001 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Makefile.pre.in
 +++ b/Makefile.pre.in
-@@ -1586,7 +1586,7 @@ python-config: $(srcdir)/Misc/python-con
+@@ -1587,7 +1587,7 @@ python-config: $(srcdir)/Misc/python-con
        @ # On Darwin, always use the python version of the script, the shell
        @ # version doesn't use the compiler customizations that are provided
        @ # in python (_osx_support.py).
index 937ff76a23e5ebed19426ae3346b159bdea3503e..47413eead152bd8b6cfbd1c287c8a6dcbfab1ff9 100644 (file)
@@ -11,7 +11,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ruby
-PKG_VERSION:=3.0.0
+PKG_VERSION:=3.0.1
 PKG_RELEASE:=1
 
 # First two numbes
@@ -19,7 +19,7 @@ PKG_ABI_VERSION:=$(subst $(space),.,$(wordlist 1, 2, $(subst .,$(space),$(PKG_VE
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://cache.ruby-lang.org/pub/ruby/$(PKG_ABI_VERSION)/
-PKG_HASH:=68bfaeef027b6ccd0032504a68ae69721a70e97d921ff328c0c8836c798f6cb1
+PKG_HASH:=d06bccd382d03724b69f674bc46cd6957ba08ed07522694ce44b9e8ffc9c48e2
 PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
 PKG_LICENSE:=BSD-2-Clause
 PKG_LICENSE_FILES:=COPYING
index 3d7d4776d6714891baacd059df850ab65d88a3ae..c71921a39f4f368b7e5ee041bbf52b69caa3973e 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=vala
-PKG_VERSION:=0.50.2
-PKG_RELEASE:=1
+PKG_VERSION:=0.52.1
+PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=@GNOME/vala/0.50
-PKG_HASH:=2c0d5dc6d65d070f724063075424c403765ab7935c9e6fbcb84981b94d07ceda
+PKG_SOURCE_URL:=@GNOME/vala/0.52
+PKG_HASH:=17a083ce2405f967efa7d92bce82c49e5f65af334513e3d087a6b4435ed6b9fa
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=LGPL-2.1-or-later
index 34d02743f02f372c9916a28a76b174e3b442db2d..2b0eac4075a26fff559eee71876ddf237ef28586 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=file
-PKG_VERSION:=5.39
-PKG_RELEASE:=1
+PKG_VERSION:=5.40
+PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://download.openpkg.org/components/cache/file/ \
        ftp://ftp.astron.com/pub/file/
-PKG_HASH:=f05d286a76d9556243d0cb05814929c2ecf3a5ba07963f8f70bfaaa70517fad1
+PKG_HASH:=167321f43c148a553f68a0ea7f579821ef3b11c27b8cbe158e4df897e4a5dd57
 
 PKG_MAINTAINER:=Marko Ratkaj <marko.ratkaj@sartura.hr>
 PKG_LICENSE:=BSD-2-Clause
index 3e46675ffc5d643e91cedd3e680e499b778070c6..e5aee0feec7bba011068790f1fcba9b8c7b14987 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=glib2
-PKG_VERSION:=2.66.4
-PKG_RELEASE:=1
+PKG_VERSION:=2.68.1
+PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=glib-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=@GNOME/glib/2.66
-PKG_HASH:=97df8670e32f9fd4f7392b0980e661dd625012015d58350da1e58e343f4af984
+PKG_SOURCE_URL:=@GNOME/glib/2.68
+PKG_HASH:=241654b96bd36b88aaa12814efc4843b578e55d47440103727959ac346944333
 
 PKG_MAINTAINER:=Peter Wagner <tripolar@gmx.at>
 PKG_LICENSE:=LGPL-2.1-or-later
@@ -57,15 +57,19 @@ COMP_ARGS= \
        -Dman=false \
        -Ddtrace=false \
        -Dsystemtap=false \
+       -Dsysprof=disabled \
        -Dgtk_doc=false \
        -Dbsymbolic_functions=true \
        -Dforce_posix_threads=true \
        -Dfam=false \
+       -Dtests=false \
        -Dinstalled_tests=false \
        -Dnls=$(if $(CONFIG_BUILD_NLS),en,dis)abled \
        -Doss_fuzz=disabled \
+       -Dglib_debug=disabled \
        -Dglib_assert=false \
-       -Dglib_checks=false
+       -Dglib_checks=false \
+       -Dlibelf=disabled
 
 MESON_HOST_ARGS += $(COMP_ARGS) -Dxattr=false
 MESON_ARGS += $(COMP_ARGS) -Dxattr=true -Db_lto=true
diff --git a/libs/glib2/patches/001-no-libelf.patch b/libs/glib2/patches/001-no-libelf.patch
deleted file mode 100644 (file)
index a1fe738..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/gio/meson.build
-+++ b/gio/meson.build
-@@ -874,20 +874,6 @@ endif
- # Dependencies used by executables below
- have_libelf = false
--libelf = dependency('libelf', version : '>= 0.8.12', required : false)
--if libelf.found()
--  have_libelf = true
--else
--  # This fallback is necessary on *BSD. elfutils isn't the only libelf
--  # implementation, and *BSD usually includes their own libelf as a system
--  # library which doesn't have a corresponding .pc file.
--  libelf = cc.find_library('elf', required : false)
--  have_libelf = libelf.found()
--  have_libelf = have_libelf and cc.has_function('elf_begin', dependencies : libelf)
--  have_libelf = have_libelf and cc.has_function('elf_getshdrstrndx', dependencies : libelf)
--  have_libelf = have_libelf and cc.has_function('elf_getshdrnum', dependencies : libelf)
--  have_libelf = have_libelf and cc.has_header('libelf.h')
--endif
- if have_libelf
-   glib_conf.set('HAVE_LIBELF', 1)
diff --git a/libs/glib2/patches/002-no-tests.patch b/libs/glib2/patches/002-no-tests.patch
deleted file mode 100644 (file)
index fbd35b7..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/meson.build
-+++ b/meson.build
-@@ -94,7 +94,7 @@ installed_tests_template = files('templa
- installed_tests_template_tap = files('template-tap.test.in')
- # Don’t build the tests unless we can run them (either natively, in an exe wrapper, or by installing them for later use)
--build_tests = not meson.is_cross_build() or (meson.is_cross_build() and meson.has_exe_wrapper()) or installed_tests_enabled
-+build_tests = false
- add_project_arguments('-D_GNU_SOURCE', language: 'c')
index b8c35d9a014005223ffc592cd5bae21baa3d01f5..5dc541189d941b8db850f544410af7bad39c5293 100644 (file)
@@ -1,6 +1,6 @@
 --- a/meson.build
 +++ b/meson.build
-@@ -2185,16 +2185,10 @@ endif
+@@ -2220,16 +2220,10 @@ endif
  
  glib_conf.set('HAVE_PROC_SELF_CMDLINE', have_proc_self_cmdline)
  
@@ -17,4 +17,4 @@
 -
  # Determine which user environment-dependent files that we want to install
  have_bash = find_program('bash', required : false).found() # For completion scripts
- have_sh = find_program('sh', required : false).found() # For glib-gettextize
+ bash_comp_dep = dependency('bash-completion', version: '>=2.0', required: false)
index 46fd16305d615d186fb3e0e7ae5bc03e6a811b15..ab3ac4ba21e186e68561d8c63424e7d7364711c3 100644 (file)
@@ -1,6 +1,6 @@
 --- a/meson.build
 +++ b/meson.build
-@@ -2003,8 +2003,8 @@ endif
+@@ -2038,8 +2038,8 @@ endif
  # FIXME: glib-gettext.m4 has much more checks to detect broken/uncompatible
  # implementations. This could be extended if issues are found in some platforms.
  libintl_deps = []
index 60db223fd36a45fcb076e8c7e2db04d43d4a412a..76180e2e8933d006130b6bbdb17896d4df06d451 100644 (file)
@@ -1,6 +1,6 @@
 --- a/meson.build
 +++ b/meson.build
-@@ -923,7 +923,7 @@ if host_system == 'windows' and (cc.get_
+@@ -944,7 +944,7 @@ if host_system == 'windows' and (cc.get_
    glib_conf.set('HAVE_C99_SNPRINTF', false)
    glib_conf.set('HAVE_C99_VSNPRINTF', false)
    glib_conf.set('HAVE_UNIX98_PRINTF', false)
diff --git a/libs/libcap/Makefile b/libs/libcap/Makefile
deleted file mode 100644 (file)
index 0206bd9..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-#
-# Copyright (C) 2011 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=libcap
-PKG_VERSION:=2.43
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=@KERNEL/linux/libs/security/linux-privs/libcap2
-PKG_HASH:=512a0e5fc4c1e06d472a20da26aa96a9b9bf2a26b23f094f77f1b8da56cc427f
-
-PKG_MAINTAINER:=Paul Wassi <p.wassi@gmx.at>
-PKG_LICENSE:=GPL-2.0-only
-PKG_LICENSE_FILES:=License
-
-PKG_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-define Package/libcap/Default
-  TITLE:=Linux capabilities library
-  SECTION:=libs
-  CATEGORY:=Libraries
-  URL:=https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/
-endef
-
-define Package/libcap/description/Default
-  Linux capabilities
-endef
-
-define Package/libcap
-  $(call Package/libcap/Default)
-  TITLE += library
-endef
-
-define Package/libcap-bin
-  $(call Package/libcap/Default)
-  TITLE += binaries
-  DEPENDS += libcap
-endef
-
-define Package/libcap-bin/description
-  $(call Package/libcap/description/Default)
-  .
-  This package contains the libcap utilities.
-endef
-
-define Package/libcap-bin/config
-  if PACKAGE_libcap-bin
-  config PACKAGE_libcap-bin-capsh-shell
-    string "capsh shell"
-    help
-      Set the capsh shell.
-    default "/bin/sh"
-  endif
-endef
-
-MAKE_FLAGS += \
-    BUILD_CC="$(CC)" \
-    BUILD_CFLAGS="$(FPIC) -I$(PKG_BUILD_DIR)/libcap/include" \
-    CFLAGS="$(TARGET_CFLAGS)" \
-    LD="$(TARGET_CC) -Wl,-x -shared" \
-    LDFLAGS="$(TARGET_LDFLAGS)" \
-    INDENT="| true" \
-    GOLANG="no" \
-    PAM_CAP="no" \
-    RAISE_SETFCAP="no" \
-    DYNAMIC="yes" \
-    lib="lib"
-
-ifneq ($(CONFIG_PACKAGE_libcap-bin-capsh-shell),)
-TARGET_CFLAGS += -DSHELL='\"$(CONFIG_PACKAGE_libcap-bin-capsh-shell)\"'
-endif
-
-TARGET_CFLAGS += $(if $(CONFIG_USE_MUSL),-Dpthread_yield=sched_yield)
-
-define Build/InstallDev
-       $(INSTALL_DIR) $(1)/usr/include/sys
-       $(CP) $(PKG_INSTALL_DIR)/usr/include/sys/*.h $(1)/usr/include/sys/
-       $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/lib/libcap.{so*,a} $(1)/usr/lib/
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/lib/libpsx.a $(1)/usr/lib/
-       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/lib/pkgconfig/libcap.pc $(1)/usr/lib/pkgconfig/
-       $(SED) 's,exec_prefix=,exec_prefix=/usr,g' $(1)/usr/lib/pkgconfig/libcap.pc
-       $(SED) 's,/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libcap.pc
-       $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libcap.pc
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/lib/pkgconfig/libpsx.pc $(1)/usr/lib/pkgconfig/
-       $(SED) 's,exec_prefix=,exec_prefix=/usr,g' $(1)/usr/lib/pkgconfig/libpsx.pc
-       $(SED) 's,/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libpsx.pc
-       $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libpsx.pc
-endef
-
-define Package/libcap/install
-       $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/lib/libcap.so* $(1)/usr/lib/
-endef
-
-define Package/libcap-bin/install
-       $(INSTALL_DIR) $(1)/usr/sbin
-       $(CP) $(PKG_INSTALL_DIR)/sbin/capsh     $(1)/usr/sbin/
-       $(CP) $(PKG_INSTALL_DIR)/sbin/getcap    $(1)/usr/sbin/
-       $(CP) $(PKG_INSTALL_DIR)/sbin/getpcaps  $(1)/usr/sbin/
-       $(CP) $(PKG_INSTALL_DIR)/sbin/setcap    $(1)/usr/sbin/
-endef
-
-$(eval $(call BuildPackage,libcap))
-$(eval $(call BuildPackage,libcap-bin))
diff --git a/libs/libcap/patches/300-disable-tests.patch b/libs/libcap/patches/300-disable-tests.patch
deleted file mode 100644 (file)
index c1779e2..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -17,7 +17,6 @@ ifeq ($(GOLANG),yes)
-       $(MAKE) -C go $@
-       rm -f cap/go.sum
- endif
--      $(MAKE) -C tests $@
-       $(MAKE) -C progs $@
-       $(MAKE) -C doc $@
-       $(MAKE) -C kdebug $@
diff --git a/libs/libdvbcsa/Config.in b/libs/libdvbcsa/Config.in
new file mode 100644 (file)
index 0000000..4630d73
--- /dev/null
@@ -0,0 +1,23 @@
+config LIBDVBCSA_DEBUG
+       bool "Enable debugging"
+       default n
+
+config LIBDVBCSA_MMX
+       bool "Use MMX for bitslice"
+       depends on (!LIBDVBCSA_SSE2 && (x86_64 || i386))
+       default n
+
+config LIBDVBCSA_SSE2
+       bool "Use SSE2 for bitslice"
+       depends on (x86_64 || i386)
+       default y
+
+config LIBDVBCSA_ALTIVEC
+       bool "Use AltiVec for bitslice"
+       depends on (BROKEN && (powerpc || powerpc64))
+       default y
+
+config LIBDVBCSA_NEON
+       bool "Use ARM NEON for bitslice"
+       depends on (arm || aarch64)
+       default y if aarch64
diff --git a/libs/libdvbcsa/Makefile b/libs/libdvbcsa/Makefile
new file mode 100644 (file)
index 0000000..1976ce0
--- /dev/null
@@ -0,0 +1,69 @@
+#
+# Copyright (C) 2020 RafaÅ‚ DziÄ™giel <rafostar.github@gmail.com>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libdvbcsa
+PKG_RELEASE:=$(AUTORELEASE)
+
+PKG_SOURCE_VERSION:=bc6c0b164a87ce05e9925785cc6fb3f54c02b026
+PKG_HASH:=2d761c9e094642f2c9aa7e66534c6147a59d0d0bc709ec0f2fdbb34bf020d8ec
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
+PKG_SOURCE_URL:=https://code.videolan.org/videolan/libdvbcsa/-/archive/$(PKG_SOURCE_VERSION)
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_SOURCE_VERSION)
+
+PKG_MAINTAINER:=RafaÅ‚ DziÄ™giel <rafostar.github@gmail.com>
+PKG_LICENSE:=GPL-2.0-or-later
+PKG_LICENSE_FILES:=COPYING
+
+PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/libdvbcsa
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=DVB Common Scrambling Algorithm Library
+  URL:=https://www.videolan.org/developers/libdvbcsa.html
+  DEPENDS:=@BUILD_PATENTED
+endef
+
+define Package/libdvbcsa/description
+ Libdvbcsa is a free implementation of the DVB Common Scrambling
+ Algorithm DVB/CSA - with encryption and decryption capabilities.
+endef
+
+define Package/libdvbcsa/config
+  menu "Configuration"
+  depends on PACKAGE_libdvbcsa
+  source "$(SOURCE)/Config.in"
+  endmenu
+endef
+
+CONFIGURE_ARGS += \
+       --$(if $(CONFIG_LIBDVBCSA_DEBUG),en,dis)able-debug \
+       --$(if $(CONFIG_LIBDVBCSA_MMX),en,dis)able-mmx \
+       --$(if $(CONFIG_LIBDVBCSA_SSE2),en,dis)able-sse2 \
+       --$(if $(CONFIG_LIBDVBCSA_ALTIVEC),en,dis)able-altivec \
+       --$(if $(CONFIG_LIBDVBCSA_NEON),en,dis)able-neon
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include/dvbcsa
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/dvbcsa/*.h $(1)/usr/include/dvbcsa/
+
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
+endef
+
+define Package/libdvbcsa/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdvbcsa.so.* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,libdvbcsa))
index 08f54f416681945d3b0131acc95411482db8e828..675bfec13798c6d1065803858d63df1333c279fe 100644 (file)
@@ -9,21 +9,18 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libmaxminddb
 PKG_VERSION:=1.5.2
-PKG_RELEASE=1
+PKG_RELEASE=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/maxmind/libmaxminddb/releases/download/$(PKG_VERSION)/
 PKG_HASH:=5237076d250a5f7c297e331c35a433eeaaf0dc205e070e4db353c9ba10f340a2
 
-PKG_INSTALL:=1
-PKG_FIXUP:=autoreconf
-PKG_BUILD_PARALLEL:=1
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 
-PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
-
 include $(INCLUDE_DIR)/package.mk
+include ../../devel/ninja/ninja-cmake.mk
 
 define Package/libmaxminddb
   SECTION:=libs
@@ -36,11 +33,15 @@ define Package/libmaxminddb/description
  The libmaxminddb library provides functions for working MaxMind DB files.
 endef
 
+CMAKE_OPTIONS += \
+       -DBUILD_SHARED_LIBS=ON \
+       -DBUILD_TESTING=OFF
+
 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/libmaxminddb.{a,so*} $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libmaxminddb.so* $(1)/usr/lib/
 endef
 
 define Package/libmaxminddb/install
index b7d4f46863025de885358d5ccc676e45ad63490e..7d97db2f897541529498aabfccd1101db377162c 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libnpupnp
-PKG_VERSION:=4.1.1
+PKG_VERSION:=4.1.3
 PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.lesbonscomptes.com/upmpdcli/downloads
-PKG_HASH:=7e41d3933b956073b33c6ac6e61c81e83b428015ee871fd16d18b198bf3be960
+PKG_HASH:=74703d49be52d29b52f59342ec7359178b127568399551d9d3f56bb7950fcc02
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=LGPL-2.1-or-later
index 355841df424eace8abbbe47a0a39eaadf0e36116..e82ec751b714aef3690ee5c5215a04511a525e7b 100644 (file)
@@ -56,7 +56,6 @@ endef
 define Package/libseccomp
 $(call Package/libseccomp/Default)
   TITLE+= (library)
-  DEPENDS+= @!arc
 endef
 
 define Package/scmp_sys_resolver
index 5e10abbf40543a999e1b6e1b9ba2ada34ab2ab45..bdbb9c3d97d81e2e8e0e08c8d3f4851336998127 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libuhttpd
-PKG_VERSION:=3.10.1
+PKG_VERSION:=3.11.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL=https://github.com/zhaojh329/libuhttpd/releases/download/v$(PKG_VERSION)
-PKG_HASH:=6e7a9ad61e3d0ab5bd4d20b274b850542dff8057a8fcf6c36ce59eb34818f61f
+PKG_HASH:=dcd95fac7b29d43f57e942db6e9fb4c8745d4284684cd627d60c8a7f8c76cd32
 
 PKG_MAINTAINER:=Jianhui Zhao <zhaojh329@gmail.com>
 PKG_LICENSE:=MIT
index 15c4974e0d5d309227cf22360a024d7760cc99b5..64c3e0a85ae66d3ab8e9a8713fbabd39bfeaef94 100644 (file)
@@ -1,23 +1,24 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libupnp
-PKG_VERSION:=1.14.0
-PKG_RELEASE:=2
+PKG_VERSION:=1.14.5
+PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/pupnp
-PKG_HASH:=ecb23d4291968c8a7bdd4eb16fc2250dbacc16b354345a13342d67f571d35ceb
+PKG_HASH:=227ffa407be6b91d4e42abee1dd27e4b8d7e5ba8d3d45394cca4e1eadc65149a
 
 PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=COPYING
 PKG_CPE_ID:=cpe:/a:libupnp_project:libupnp
 
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
+PKG_CONFIG_DEPENDS:= \
+       CONFIG_PACKAGE_libupnp-sample \
+       CONFIG_IPV6
 
 include $(INCLUDE_DIR)/package.mk
+include ../../devel/ninja/ninja-cmake.mk
 
 define Package/libupnp/Default
   SECTION:=libs
@@ -49,30 +50,33 @@ define Package/libupnp-sample/description
 TVcontrolpoint & tvdevice sample applications run inside /etc/upnp-tvdevice/
 endef
 
-CONFIGURE_ARGS += \
-       --enable-client \
-       --enable-device \
-       --enable-gena \
-       --enable-reuseaddr \
-       --enable-gena \
-       --enable-webserver \
-       --enable-ssdp \
-       --enable-soap \
-       --enable-tools \
-       --enable-blocking_tcp_connections \
-       --enable-samples \
-       --disable-debug \
-       --disable-optssdp \
-       --disable-unspecified_server \
-       --disable-open_ssl \
-       --disable-scriptsupport \
-       --disable-postwrite
+CMAKE_OPTIONS += \
+       -DBUILD_TESTING=OFF \
+       -Dclient=ON \
+       -Ddevice=ON \
+       -Dwebserver=OFF \
+       -Dssdp=ON \
+       -Doptssdp=OFF \
+       -Dsoap=ON \
+       -Dgena=ON \
+       -Dtools=ON \
+       -Dipv6=O$(if $(CONFIG_IPV6),N,FF) \
+       -Dunspecified_server=OFF \
+       -Dopen_ssl=OFF \
+       -Dblocking_tcp_connections=ON \
+       -Dscriptsupport=OFF \
+       -Dpostwrite=OFF \
+       -Dreuseaddr=ON \
+       -Dsamples=O$(if $(CONFIG_PACKAGE_libupnp-sample),N,FF) \
+       -DDOWNLOAD_AND_BUILD_DEPS=OFF
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
        $(CP) $(PKG_INSTALL_DIR)/usr/include/upnp $(1)/usr/include/
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{ixml,upnp}.{a,so*,la} $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{ixml,upnp}.{a,so*} $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/lib/cmake
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/cmake/* $(1)/usr/lib/cmake
        $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libupnp.pc $(1)/usr/lib/pkgconfig/
 endef
@@ -84,9 +88,9 @@ endef
 
 define Package/libupnp-sample/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/upnp/sample/.libs/* $(1)/usr/bin
-       $(INSTALL_DIR) $(1)/etc/upnp-tvdevice/web
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/upnp/sample/web/* $(1)/etc/upnp-tvdevice
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tv* $(1)/usr/bin
+       $(INSTALL_DIR) $(1)/usr/share/upnp
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/upnp/tv* $(1)/usr/share/upnp
 endef
 
 $(eval $(call BuildPackage,libupnp))
index c12870028719f6ee27999d2109fc49ff736a1caf..dbd066f3b5a0963e916737531fda8b790893715b 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libupnpp
-PKG_VERSION:=0.20.1
+PKG_VERSION:=0.21.0
 PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.lesbonscomptes.com/upmpdcli/downloads
-PKG_HASH:=d4da986aeaa7124a1732ce3383b6ac8f28e20cab10f1916709f39e5499ae9c38
+PKG_HASH:=e43dbe5020ed25152aaec71b325dd80498e72038da5aeb50ed7dd51e213cd903
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=LGPL-2.1-or-later
index 1b97fb739355a06ddfc4c1d4280f256ec3c6ab9d..adb6fa18756ac8cb15380aa0016af0837588c58c 100644 (file)
@@ -9,24 +9,26 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=poco
-PKG_RELEASE:=2
-PKG_VERSION:=1.9.0
+PKG_VERSION:=1.10.1
+PKG_RELEASE:=$(AUTORELEASE)
 
 ifeq ($(BUILD_VARIANT),all)
 _PKG_VERSION:=${PKG_VERSION}-all
-PKG_HASH:=b6e33898588e74337efec4e8d8b9b277bb653b08318a79215f9aa4a3ff1ea9fd
+PKG_HASH:=2cde4b50778013ab3b7a522aa59bccaa7e85a8ccfc654a354c4d9611b6ce1758
 else
 _PKG_VERSION:=${PKG_VERSION}
-PKG_HASH:=a0a5a03d87c585f1a43def33bfc52c0c34a528e43a7b13bc83841a7c00adde39
+PKG_HASH:=cdab379d7d0394a763821d058eee1e7d4d8214a3caec05c775b60962b2f20762
 endif
 
 PKG_SOURCE:=$(PKG_NAME)-$(_PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://pocoproject.org/releases/$(PKG_NAME)-$(PKG_VERSION)
 
+PKG_MAINTAINER:=Jean-Michel Julien <jean-michel.julien@trilliantinc.com>
 PKG_LICENSE:=BSL-1.0
 PKG_LICENSE_FILES:=LICENSE
 PKG_CPE_ID:=cpe:/a:pocoproject:poco
 
+PKG_BUILD_DEPENDS:=postgresql
 PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(_PKG_VERSION)
@@ -39,7 +41,6 @@ define Package/poco
   TITLE:=Poco C++ libraries
   URL:=https://www.pocoproject.org/
   DEPENDS:=+libstdcpp +libpthread +librt @!arc
-  MAINTAINER:=Jean-Michel Julien <jean-michel.julien@trilliantinc.com>
   VARIANT:=minimal
 endef
 
index 0ff0ce5edc7ef7c2874f64f7c219371ca1dcb55f..4c780b34d3462743c875a2946f8de6a337b7bce8 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Foundation/src/Error.cpp
 +++ b/Foundation/src/Error.cpp
-@@ -70,7 +70,7 @@ namespace Poco {
+@@ -64,7 +64,7 @@ namespace Poco {
  
  #if (_XOPEN_SOURCE >= 600) || POCO_OS == POCO_OS_ANDROID || __APPLE__
                        setMessage(strerror_r(err, _buffer, sizeof(_buffer)));
index f098d6f256a42824d44415a26a3de1d2ac081089..a4e6aef8fc79ff113a98f734e7da2b56e57c6119 100644 (file)
@@ -6,12 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=spdlog
-PKG_VERSION:=1.8.3
+PKG_VERSION:=1.8.5
 PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/gabime/spdlog/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=6f5b88ca4c9b96264e6c961716fec6f1a7b94c80a5edce667c3e42507caa8a82
+PKG_HASH:=944d0bd7c763ac721398dca2bb0f3b5ed16f67cef36810ede5061f35a543b4b8
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=MIT
index 7fa78fc1a5c0dec19f02ddbb4e8f63a730600f47..11f21dc059607022812fd2abbab224594e18ae42 100644 (file)
@@ -48,6 +48,8 @@ TARGET_CXXFLAGS += -flto
 define Build/InstallDev
        $(call Build/InstallDev/cmake,$(1))
        $(SED) '/^prefix=\|^exec_prefix=/s|/usr|$(STAGING_DIR)/usr|' $(1)/usr/bin/taglib-config
+       $(SED) '/^includedir=/s|/usr|$(STAGING_DIR)/usr|' $(1)/usr/bin/taglib-config
+       $(SED) '/^libdir=/s|/usr|$(STAGING_DIR)/usr|' $(1)/usr/bin/taglib-config
        $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/taglib.pc
        $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/taglib.pc
        $(INSTALL_DIR) $(2)/bin
index e13a9b5032c34f037635dc3c577cf125f017edba..a8eb4c7a49a4153a70de2cdf3bab124f11129706 100644 (file)
@@ -6,12 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=vips
-PKG_VERSION:=8.10.5
-PKG_RELEASE:=2
+PKG_VERSION:=8.10.6
+PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/libvips/libvips/releases/download/v$(PKG_VERSION)
-PKG_HASH:=a4eef2f5334ab6dbf133cd3c6d6394d5bdb3e76d5ea4d578b02e1bc3d9e1cfd8
+PKG_HASH:=2468088d958e0e2de1be2991ff8940bf45664a826c0dad12342e1804e2805a6e
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
 PKG_LICENSE:=LGPL-2.1-or-later
index fddf337d5b5c9693c7d1c410cfe5e448be1163e4..7c641f67017554ffc296016afae6d63cc8c5f2dc 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=yubico-pam
-PKG_VERSION:=2.26
-PKG_RELEASE:=3
+PKG_VERSION:=2.27
+PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=pam_yubico-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://developers.yubico.com/yubico-pam/Releases
-PKG_HASH:=2de96495963fefd72b98243952ca5d5ec513e702c596e54bc667ef6b5e252966
+PKG_HASH:=63d02788852644d871746e1a7a1d16c272c583c226f62576f5ad232a6a44e18c
 PKG_BUILD_DIR:=$(BUILD_DIR)/pam_yubico-$(PKG_VERSION)
 
 PKG_MAINTAINER:=Stuart B. Wilkins <stuwilkins@mac.com>
index 02b5e7c4762061ee378c0f0e75c343a71fa6dbb3..762fd933c45c02a812ee7b7724f47807e0f45815 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fdm
 PKG_VERSION:=2.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/nicm/fdm/releases/download/$(PKG_VERSION)
diff --git a/mail/fdm/patches/040-remove_host_includes.patch b/mail/fdm/patches/040-remove_host_includes.patch
new file mode 100644 (file)
index 0000000..4cfea4e
--- /dev/null
@@ -0,0 +1,12 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -11,9 +11,6 @@ AC_CANONICAL_HOST
+ : ${CFLAGS=""}
+-CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+-LDFLAGS="$LDFLAGS -L/usr/local/lib"
+-
+ AC_PROG_CC
+ AM_PROG_CC_C_O
+ AC_PROG_INSTALL
index fdae64879497333b8058dd3fa47e2b9133c3b6ec..c16a6d9c7e5598036aa191056549f105ed189282 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gerbera
-PKG_VERSION:=1.7.0
+PKG_VERSION:=1.8.0
 PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/gerbera/gerbera/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=6d40b840d015ba5c512f41442957c1c0fdbba07c18724cf00a45e0a579ddeb7f
+PKG_HASH:=02044abd1363c5f5604c5830e560b102ac456179afbf3be60e65847f47f4c599
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=GPL-2.0-or-later
index ad882aacc843b88d007146deab9335688deaa655..b9c524f5c48fe8761fcbf0fe024a469b626f5460 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=minisatip
 PKG_VERSION:=1.0.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/catalinii/minisatip/tar.gz/$(PKG_VERSION)?
@@ -17,6 +17,10 @@ PKG_MAINTAINER:=Daniel Kucera <github@danman.eu>
 PKG_LICENSE:=GPL-2.0-or-later
 
 PKG_BUILD_PARALLEL:=1
+PKG_CONFIG_DEPENDS:= \
+       CONFIG_BUILD_PATENTED \
+       CONFIG_MINISATIP_AES \
+       CONFIG_MINISATIP_CLIENT
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -25,7 +29,7 @@ define Package/minisatip
   URL:=https://github.com/catalinii/minisatip
   SECTION:=multimedia
   CATEGORY:=Multimedia
-  DEPENDS:=+MINISATIP_AES:libopenssl
+  DEPENDS:=+MINISATIP_AES:libopenssl +BUILD_PATENTED:libdvbcsa
 endef
 
 define Package/minisatip/config
@@ -42,13 +46,10 @@ define Package/minisatip/config
        endif
 endef
 
-ifeq ($(CONFIG_MINISATIP_AES),)
-       CONFIGURE_ARGS += --disable-dvbaes
-endif
-
-ifeq ($(CONFIG_MINISATIP_CLIENT),)
-       CONFIGURE_ARGS += --disable-satipc
-endif
+CONFIGURE_ARGS += \
+       --$(if $(CONFIG_BUILD_PATENTED),en,dis)able-dvbcsa \
+       --$(if $(CONFIG_MINISATIP_AES),en,dis)able-dvbaes \
+       --$(if $(CONFIG_MINISATIP_CLIENT),en,dis)able-satipc
 
 define Package/minisatip/install
        $(INSTALL_DIR) $(1)/usr/bin
index 329435b91a1e9e83587d75472d1a3f1865b059d6..3d1d429fa82cfbf859530d9b2536c21fea70c445 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=youtube-dl
-PKG_VERSION:=2021.2.10
+PKG_VERSION:=2021.4.7
 PKG_RELEASE:=1
 
 PYPI_NAME:=youtube_dl
-PKG_HASH:=b390cddbd4d605bd887d0d4063988cef0fa13f916d2e1e3564badbb22504d754
+PKG_HASH:=34a034d9b2062e428710d4cd6365db7a64cd388e51a3f9ab74058179c95d8654
 
 PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
 PKG_LICENSE:=Unlicense
index ff10162da5afdc03cb4239a2fd5aeef4a8b27083..24a8b157da1dff4bf6e6ef884c3f16fd97c3f023 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=adblock
 PKG_VERSION:=4.1.0
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
 
index 1b83ea64568204e15c403d5ab8debed799f93527..259753bbf1b34f3ed8c812f807f49994cd2f004e 100644 (file)
@@ -77,7 +77,7 @@
                "descurl": "https://github.com/Perflyst/PiHoleBlocklist"
        },
        "games_tracking": {
-               "url": "https://raw.githubusercontent.com/KodoPengin/GameIndustry-hosts-Template/master/Main%20template/hosts",
+               "url": "https://raw.githubusercontent.com/KodoPengin/GameIndustry-hosts-Template/master/Main-Template/hosts",
                "rule": "/^0\\.0\\.0\\.0[[:space:]]+([[:alnum:]_-]{1,63}\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($2)}",
                "size": "S",
                "focus": "tracking",
index a716d4c344cec40bc0f4ef1482fdb1acbdfd802a..9f0a86540b1f4f3f72ae924d99720d7b158f56c5 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=banip
 PKG_VERSION:=0.7.6
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
 
index 04812420af4d50dbad682ecb3db7f044ca3be010..5e80ee291ff8c9a29fa2ddd7d9454b2198fa8119 100755 (executable)
@@ -542,22 +542,18 @@ f_iptables()
        then
                for dev in ${ban_ipdevs}
                do
-                       if [ ! -f "${ban_tmpfile}.${src_name}.delete" ]
+                       if [ "${src_name}" = "maclist" ]
                        then
-                               > "${ban_tmpfile}.${src_name}.delete"
-                               if [ "${src_name}" = "maclist" ]
-                               then
-                                       f_iptrule "-D" "${ban_chain}" "-o ${dev} -m set --match-set ${src_name} src -j RETURN"
-                               elif [ "${src_name%_*}" = "whitelist" ]
-                               then
-                                       f_iptrule "-D" "${ban_chain}" "-i ${dev} -m set --match-set ${src_name} src -j RETURN"
-                                       f_iptrule "-D" "${ban_chain}" "-o ${dev} -m set --match-set ${src_name} dst -j RETURN"
-                               else
-                                       f_iptrule "-D" "${ban_chain}" "-i ${dev} -m set --match-set ${src_name} src -j ${ban_logtarget_src}"
-                                       f_iptrule "-D" "${ban_chain}" "-o ${dev} -m set --match-set ${src_name} dst -j ${ban_logtarget_dst}"
-                                       f_iptrule "-D" "${ban_chain}" "-i ${dev} -m set --match-set ${src_name} src -j ${ban_logchain_src}"
-                                       f_iptrule "-D" "${ban_chain}" "-o ${dev} -m set --match-set ${src_name} dst -j ${ban_logchain_dst}"
-                               fi
+                               f_iptrule "-D" "${ban_chain}" "-o ${dev} -m set --match-set ${src_name} src -j RETURN"
+                       elif [ "${src_name%_*}" = "whitelist" ]
+                       then
+                               f_iptrule "-D" "${ban_chain}" "-i ${dev} -m set --match-set ${src_name} src -j RETURN"
+                               f_iptrule "-D" "${ban_chain}" "-o ${dev} -m set --match-set ${src_name} dst -j RETURN"
+                       else
+                               f_iptrule "-D" "${ban_chain}" "-i ${dev} -m set --match-set ${src_name} src -j ${ban_logtarget_src}"
+                               f_iptrule "-D" "${ban_chain}" "-o ${dev} -m set --match-set ${src_name} dst -j ${ban_logtarget_dst}"
+                               f_iptrule "-D" "${ban_chain}" "-i ${dev} -m set --match-set ${src_name} src -j ${ban_logchain_src}"
+                               f_iptrule "-D" "${ban_chain}" "-o ${dev} -m set --match-set ${src_name} dst -j ${ban_logchain_dst}"
                        fi
                done
        fi
index 5c74d6b5ced06c9f444efcd10147025e68a92c78..d3c1855f0245a239bdfc3bcb5508e635ec59a996 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=proto-bonding
-PKG_VERSION:=2020-03-30
+PKG_VERSION:=2021-04-09
 PKG_RELEASE:=1
 
 PKG_LICENSE:=GPL-2.0
index 556d7c824efde362bb611fd357905a369d5894fd..ac65516371670f55fdc88c8ad90b4b3a2f7e5144 100755 (executable)
@@ -37,7 +37,7 @@ proto_bonding_init_config() {
 
        proto_config_add_string "bonding_policy"
        proto_config_add_string "link_monitoring"
-       proto_config_add_string "slaves"
+       proto_config_add_array "slaves"
        proto_config_add_string "all_slaves_active"
 
        proto_config_add_string "min_links"
@@ -66,6 +66,28 @@ proto_bonding_init_config() {
        proto_config_add_string "use_carrier"
 }
 
+proto_bonding_add_slave() {
+       local slave=$1
+       local idx=$2
+       local cfg=$3
+       local link=$4
+
+       if [ ! -e "/sys/class/net/$slave" ]; then
+               echo "$cfg" "No slave device $slave found"
+               proto_notify_error "$cfg" NO_DEVICE
+               proto_block_restart "$cfg"
+               return
+       fi
+
+       ip link set dev "$slave" down
+
+       sleep 1
+
+       echo "+$slave" > /sys/class/net/"$link"/bonding/slaves
+
+       ip link set dev "$slave" up
+}
+
 proto_bonding_setup() {
        local cfg="$1"
        local link="bonding-$cfg"
@@ -157,24 +179,7 @@ proto_bonding_setup() {
        # Add slaves to bonding interface
        local slaves
        json_get_vars slaves
-
-       for slave in $slaves; do
-
-               if [ "$(cat /proc/net/dev |grep "$slave")" == "" ]; then
-                       echo "$cfg" "No slave device $slave found"
-                       proto_notify_error "$cfg" NO_DEVICE
-                       proto_block_restart "$cfg"
-                       return
-               fi
-
-               ifconfig "$slave" down
-
-               sleep 1
-
-               echo "+$slave" > /sys/class/net/"$link"/bonding/slaves
-
-               ifconfig "$slave" up
-       done
+       json_for_each_item proto_bonding_add_slave slaves "$cfg" "$link"
 
        [ -n "$all_slaves_active" ] && echo "$all_slaves_active" > /sys/class/net/"$link"/bonding/all_slaves_active
 
index abb59769a95f16615b595fbce0880eb0d7772ecf..0e07870977143866a175fcb6dee97653f83df161 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=clamav
 PKG_VERSION:=0.103.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.clamav.net/downloads/production/
@@ -29,7 +29,7 @@ include ../../devel/ninja/ninja-cmake.mk
 
 define Package/clamav/Default
   SECTION:=net
-  DEPENDS:=+libstdcpp +libpthread +zlib +libbz2 +libxml2 +libcurl +libjson-c +libmilter-sendmail +libopenssl +libltdl +libpcre2
+  DEPENDS:=+libstdcpp +libpthread +zlib +libbz2 +libxml2 +libcurl +libjson-c +libmilter-sendmail +libopenssl +libltdl +libpcre2 $(ICONV_DEPENDS)
   CATEGORY:=Network
   SUBMENU:=Web Servers/Proxies
   TITLE:=ClamAV
index 2c388bdd933aded27bd1c6c59f6207d2e0241907..55cc0c0fbb02b063bc3df8c829c6b5642292900f 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=git-lfs
-PKG_VERSION:=2.13.2
+PKG_VERSION:=2.13.3
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/git-lfs/git-lfs/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=782e6275df9ca370730945112e16a0b8c64b9819f0b61fae52ba1ebbc8dce2d5
+PKG_HASH:=f8bd7a06e61e47417eb54c3a0db809ea864a9322629b5544b78661edab17b950
 
 PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
 PKG_LICENSE:=MIT
index d0028a6e116f52420e7c0ef33ea6fc75dd6ebbd4..069ee334a38ca15d92f0f460f0913b01b1f21500 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=haproxy
-PKG_VERSION:=2.2.11
+PKG_VERSION:=2.2.13
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.haproxy.org/download/2.2/src
-PKG_HASH:=173a98506472bb1ba5a4a7f3a281125163f78bab5793bf6ba1f1d50853eb5f23
+PKG_HASH:=9e3e51441c70bedfb494fc9d4b4d3389a71be9a3c915ba3d6f7e8fd9a57ce160
 
 PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>, \
                Christian Lachner <gladiac@gmail.com>
index c4fec80abe5d1d1a23b461de8b65168e1fe94e87..e112a0e7301ee61589ee5a3006ba95beffc3e3a9 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 CLONEURL=https://git.haproxy.org/git/haproxy-2.2.git
-BASE_TAG=v2.2.11
+BASE_TAG=v2.2.13
 TMP_REPODIR=tmprepo
 PATCHESDIR=patches
 
index 0f2cddf5d6a4345273905bfc92fa6a3b9d31e80c..94c757fd4c1eae792158d89ba8680ee1959a9268 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=hcxdumptool
-PKG_VERSION:=6.0.1
-PKG_RELEASE:=1
+PKG_VERSION:=6.1.6
+PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/zerbea/hcxdumptool/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=32bc07b692f5682792dcfd1d5dcae749e5fed4a65a2a05d815ed59adc9b64b02
+PKG_HASH:=e3212bd808e228c28ecfeeb4a9709480aa178b2e8b15c0a7d96733b648f8da85
 
 PKG_MAINTAINER:=Andreas Nilsen <adde88@gmail.com>
 PKG_LICENSE:=MIT
diff --git a/net/hcxdumptool/patches/010-openssl.patch b/net/hcxdumptool/patches/010-openssl.patch
new file mode 100644 (file)
index 0000000..a837737
--- /dev/null
@@ -0,0 +1,39 @@
+--- a/hcxdumptool.c
++++ b/hcxdumptool.c
+@@ -480,10 +480,6 @@ if(rebootflag == true)
+               }
+       }
+-EVP_cleanup();
+-CRYPTO_cleanup_all_ex_data();
+-ERR_free_strings();
+-
+ if(errorcount != 0) exit(EXIT_FAILURE);
+ if(totflag == true) exit(USER_EXIT_TOT);
+ exit(EXIT_SUCCESS);
+@@ -7270,8 +7266,6 @@ return true;
+ /*===========================================================================*/
+ static inline bool tlsinit()
+ {
+-SSL_load_error_strings();
+-OpenSSL_add_ssl_algorithms();
+ if((tlsctx = SSL_CTX_new(SSLv23_server_method())) == NULL)
+       {
+       fprintf(stderr, "OpenSSl can't create SSL context\n");
+@@ -7290,7 +7284,6 @@ if(SSL_CTX_use_PrivateKey_file(tlsctx, e
+ if((eaptlsctx = (eaptlsctx_t*)malloc(EAPTLSCTX_SIZE)) == NULL) return false;
+ memset(eaptlsctx, 0, EAPTLSCTX_SIZE);
+ SSL_CTX_set_session_cache_mode(tlsctx, SSL_SESS_CACHE_OFF);
+-SSL_CTX_set_ecdh_auto(tlsctx, 1);
+ SSL_CTX_set_verify(tlsctx, (SSL_VERIFY_PEER|SSL_VERIFY_CLIENT_ONCE), eap_tls_clientverify_cb);
+ #if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+ SSL_CTX_set_min_proto_version(tlsctx, TLS1_VERSION);
+@@ -7364,8 +7357,6 @@ if(gpiostatusled > 0)
+       }
+-ERR_load_crypto_strings();
+-OpenSSL_add_all_algorithms();
+ opensslversion = OpenSSL_version_num();
+ opensslversionmajor = (opensslversion & 0x10000000L) >> 28;
+ opensslversionminor = (opensslversion & 0x01100000L) >> 20;
diff --git a/net/hcxdumptool/patches/020-stdout.patch b/net/hcxdumptool/patches/020-stdout.patch
new file mode 100644 (file)
index 0000000..53c6147
--- /dev/null
@@ -0,0 +1,21 @@
+From 63012853a81aa623f09304baf1f5b0b69f1ebfbd Mon Sep 17 00:00:00 2001
+From: Tristian <2220506+Tristian@users.noreply.github.com>
+Date: Tue, 16 Mar 2021 16:17:07 -0400
+Subject: [PATCH] fix assignment of read-only variable 'stdout'
+
+- stdout cannot be reassigned on some systems i.e OpenWRT on mipsel
+---
+ hcxdumptool.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/hcxdumptool.c
++++ b/hcxdumptool.c
+@@ -7958,7 +7958,7 @@ while((auswahl = getopt_long(argc, argv,
+                       else
+                               {
+                               fd_pcapng = fileno(stdout);
+-                              stdout = fopen("/dev/null", "w");
++                              freopen("/dev/null", "w", stdout);
+                               }
+                       }
+               pcapngoutname = optarg;
index 143bc447f888ca3d60f0281e4499d6faf472652b..4c555156801e032e882ef9310f6ab1f63c4c55a1 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=hcxtools
-PKG_VERSION:=5.3.0
-PKG_RELEASE:=1
+PKG_VERSION:=6.1.6
+PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/zerbea/hcxtools/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=bc3465eb3b97c4db849af41ae3fa7c812d4683eb9e493f090ac82e922ba8a36d
+PKG_HASH:=27b1b1ad722b9d82f8e92c6bec92d081159e5b8225bd2a477bf8d304ff4aeb03
 
 PKG_MAINTAINER:=Andreas Nilsen <adde88@gmail.com>
 PKG_LICENSE:=MIT
@@ -41,29 +41,21 @@ define Build/Compile
                CFLAGS="$(TARGET_CFLAGS)"
 endef
 
-define Package/hcxtools-custom/install
+define Package/hcxtools/install
        $(INSTALL_DIR) $(1)/sbin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxpcapngtool   $(1)/sbin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxeiutool      $(1)/sbin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxessidtool    $(1)/sbin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxhash2cap     $(1)/sbin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxhashcattool  $(1)/sbin/
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxhashtool     $(1)/sbin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxmactool      $(1)/sbin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxpcapngtool   $(1)/sbin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxpmkidtool    $(1)/sbin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxpmktool      $(1)/sbin/
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxpsktool      $(1)/sbin/
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxwltool       $(1)/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/wlancap2wpasec  $(1)/sbin/
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/whoismac        $(1)/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxpmkidtool    $(1)/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/wlanhcx2john    $(1)/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxpcaptool     $(1)/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxhashcattool  $(1)/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxmactool      $(1)/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxessidtool    $(1)/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxhash2cap     $(1)/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/wlanhc2hcx      $(1)/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/wlanwkp2hcx     $(1)/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/wlanhcxinfo     $(1)/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/wlanhcx2ssid    $(1)/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/wlanhcxcat      $(1)/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/wlanpmk2hcx     $(1)/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/wlanjohn2hcx    $(1)/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/wlancow2hcxpmk  $(1)/sbin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/wlancap2wpasec  $(1)/sbin/
 endef
 
 $(eval $(call BuildPackage,hcxtools))
diff --git a/net/hcxtools/patches/010-openssl.patch b/net/hcxtools/patches/010-openssl.patch
new file mode 100644 (file)
index 0000000..bae0027
--- /dev/null
@@ -0,0 +1,85 @@
+--- a/hcxhashtool.c
++++ b/hcxhashtool.c
+@@ -104,9 +104,6 @@ static void closelists()
+ {
+ if(hashlist != NULL) free(hashlist);
+ if(ouilist != NULL) free(ouilist);
+-EVP_cleanup();
+-CRYPTO_cleanup_all_ex_data();
+-ERR_free_strings();
+ return;
+ }
+ /*===========================================================================*/
+@@ -125,8 +122,6 @@ eapolwrittencount = 0;
+ essidwrittencount = 0;
+ hccapxwrittencount = 0;
+ hccapwrittencount = 0;
+-ERR_load_crypto_strings();
+-OpenSSL_add_all_algorithms();
+ if((hashlist = (hashlist_t*)calloc(hashlistcount, HASHLIST_SIZE)) == NULL) return false;
+ if((ouilist = (ouilist_t*)calloc(ouilistcount, OUILIST_SIZE)) == NULL) return false;
+ return true;
+--- a/hcxpcapngtool.c
++++ b/hcxpcapngtool.c
+@@ -358,9 +358,6 @@ if(eapmschapv2msglist != NULL) free(eapm
+ if(eapmschapv2hashlist != NULL) free(eapmschapv2hashlist);
+ if(tacacsplist != NULL) free(tacacsplist);
+-EVP_cleanup();
+-CRYPTO_cleanup_all_ex_data();
+-ERR_free_strings();
+ return;
+ }
+ /*===========================================================================*/
+@@ -369,8 +366,6 @@ static bool initlists()
+ static unsigned long opensslversion;
+ static const char nastring[] = { "N/A" };
+-ERR_load_crypto_strings();
+-OpenSSL_add_all_algorithms();
+ opensslversion = OpenSSL_version_num();
+ opensslversionmajor = (opensslversion & 0x10000000L) >> 28;
+ opensslversionminor = (opensslversion & 0x01100000L) >> 20;
+--- a/hcxpmktool.c
++++ b/hcxpmktool.c
+@@ -920,8 +920,6 @@ while((auswahl = getopt_long(argc, argv,
+               }
+       }
+-ERR_load_crypto_strings();
+-OpenSSL_add_all_algorithms();
+ printf("\n");
+ if((essidstring != NULL) && (pskstring != NULL) && (pmkstring == NULL) && (hashlinestring == NULL))
+       {
+@@ -953,9 +951,6 @@ else if((essidstring != NULL) && (pskstr
+       }
+ printf("\n");
+-EVP_cleanup();
+-CRYPTO_cleanup_all_ex_data();
+-ERR_free_strings();
+ return EXIT_SUCCESS;
+ }
+ /*===========================================================================*/
+--- a/hcxpsktool.c
++++ b/hcxpsktool.c
+@@ -61,8 +61,6 @@ essidglen = 32;
+ t = time(NULL);
+ tm = localtime(&t);
+ thisyear = tm->tm_year +1900;
+-ERR_load_crypto_strings();
+-OpenSSL_add_all_algorithms();
+ return;
+ }
+ /*===========================================================================*/
+@@ -2770,10 +2768,6 @@ if(pskname != NULL)
+       fclose(fhpsk);
+       }
+-EVP_cleanup();
+-CRYPTO_cleanup_all_ex_data();
+-ERR_free_strings();
+-
+ return EXIT_SUCCESS;
+ }
+ /*===========================================================================*/
index 7413a208d70bcff0fd79e69c64bc4aa53ece5f53..990c4958825c38c5783d6484789b5644db89aad0 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=https-dns-proxy
 PKG_VERSION:=2021-01-17
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy
index c26b33c70afa1f773d123333ad454499dcb643f1..e83fafb49f434bcfd183822d84bbe7e62c943e4d 100755 (executable)
@@ -110,7 +110,7 @@ start_service() {
                procd_open_data
                json_add_array firewall
                for c in $forceDNSPorts; do
-                       if netstat -tuln | grep LISTEN | grep ":${c}" >/dev/null 2>&1; then
+                       if netstat -tuln | grep 'LISTEN' | grep ":${c}" >/dev/null 2>&1 || [ "$c" = "53" ]; then
                                json_add_object ""
                                json_add_string type redirect
                                json_add_string target DNAT
index 1fd4c15e90f4b35f466e31d0ec9b43e0e82462e1..df0f930b304ea7cae6d0d4935b974fefd14459d6 100644 (file)
@@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=jool
-PKG_VERSION:=4.1.4
+PKG_VERSION:=4.1.5
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/NICMx/Jool/releases/download/v$(PKG_VERSION)
-PKG_HASH:=84e294f880986ef13fc17d7ddb96aac5d88b7d47932c843eb621647235191fab
+PKG_HASH:=ec130a3659acff5450e74924d5f9da52540539fc213b5842fb3a8fd7d919ccf9
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=GPL-2.0-only
index ceec3d1d06c5bbfccb79ec5a86374f09b75fb42a..081b076ebb28dc2eba52ef7a6f5cde79af399e73 100644 (file)
@@ -10,12 +10,12 @@ PKG_RELRO_FULL:=0
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=knot-resolver
-PKG_VERSION:=5.3.0
+PKG_VERSION:=5.3.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-resolver
-PKG_HASH:=fb6cb2c03f4fffbdd8a0098127383d03b14cf7d6abf3a0cd229fb13ff68ee33e
+PKG_HASH:=9d4d6b7bcdf114acc948e5ee68c83fcbb3944f48a13b9751dbbbc190cdd729c9
 
 PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
 PKG_LICENSE:=GPL-3.0-later
index c45e38b299b3f562bc9d1615a452276ae6d97eb7..bcbb5079e12511ed6b217c55d149b3dd9e9478c6 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ksmbd-tools
-PKG_VERSION:=3.3.7
+PKG_VERSION:=3.3.8
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/cifsd-team/ksmbd-tools/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=0bc56272fee87579a552b4b749e8def31c875cf1770452e5bdb42b77c3f84876
+PKG_HASH:=fb8cef085c740c72700ccee324fb1510774602c43ed1d32a5453c05f5d117188
 
 PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com>
 PKG_LICENSE:=GPL-2.0-or-later
index 996cb9bbc122e54376d858f5aaf8f8b2497c4f5a..00a842c1a2179ec9031943d407e59bcae7ff6e89 100644 (file)
@@ -160,7 +160,7 @@ start_service()
 
        logger -p daemon.notice -t 'ksmbd' "Starting Ksmbd userspace service."
        procd_open_instance
-       procd_add_mdns "smb" "tcp" "445"
+       procd_add_mdns "smb" "tcp" "445" "daemon=ksmbd"
        procd_set_param command /usr/sbin/ksmbd.mountd --n
        procd_set_param file /etc/ksmbd/smb.conf
        procd_set_param limits nofile=16384
index c898bad178d269a11aa645bc70132922a4aab7f1..dccf1dacaccee11fe40b996f581287e4f98eac76 100644 (file)
@@ -9,7 +9,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mosquitto
-PKG_VERSION:=2.0.9
+PKG_VERSION:=2.0.10
 PKG_RELEASE:=1
 PKG_LICENSE:=EPL-2.0
 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:=1b8553ef64a1cf5e4f4cfbe098330ae612adccd3d37f35b2db6f6fab501b01d4
+PKG_HASH:=0188f7b21b91d6d80e992b8d6116ba851468b3bd154030e8a003ed28fb6f4a44
 
 include $(INCLUDE_DIR)/package.mk
 
index 025bf26fc8a63cb91030d423d91952a9dadfa5b2..e6307ca620a941e4f14b7c29fc58e8169893c4a1 100644 (file)
@@ -6,7 +6,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=netifyd
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_MAINTAINER:=Darryl Sokoloski <darryl@egloo.ca>
 PKG_LICENSE:=GPL-3.0-or-later
 
index 49e1c23449ae1896eb6671aa6a12958bf50485fc..9d8d7a4881091e740e32ef9230163c831d9e33e0 100644 (file)
@@ -3,3 +3,4 @@ config netifyd
        option autoconfig 1
 #      option internal_if 'eth0'
 #      option external_if 'eth1'
+#      option filter 'not (udp and dst 239.255.255.250 and dst port 1900 and src 192.168.1.5)'
index 1f7d9311a280477f3401e0e3600f0933fc02be7d..03ccc8cfd6f209b7a9b8d377163b242abaf0d90b 100644 (file)
@@ -21,6 +21,7 @@ start_netifyd() {
        [ ! -d /var/run/netifyd ] && mkdir -p /var/run/netifyd
 
        config_get_bool autoconfig "$instance" autoconfig 1
+       config_get filter "$instance" filter
 
        if [ "$autoconfig" -gt 0 ] ; then
                source /usr/share/netifyd/functions.sh
@@ -33,8 +34,10 @@ start_netifyd() {
                NETIFYD_OPTS="-E $external_if -I $internal_if"
        fi
 
+
        procd_open_instance
        procd_set_param command $PROG -R $NETIFYD_OPTS
+       [ -n "$filter" ] && procd_append_param command -F "$filter"
        procd_set_param file /etc/netifyd.conf
        procd_set_param respawn
        procd_close_instance
index 6d419842546343f0a68db75dc1c4f37a6b7e1872..d3943277ba761ecada59d830e8d09ac8e8f8947b 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ngircd
-PKG_VERSION:=26
-PKG_RELEASE:=1
+PKG_VERSION:=26.1
+PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://ngircd.barton.de/pub/ngircd
-PKG_HASH:=56dcc6483058699fcdd8e54f5010eecee09824b93bad7ed5f18818e550d855c6
+PKG_HASH:=55c16fd26009f6fc6a007df4efac87a02e122f680612cda1ce26e17a18d86254
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=GPL-2.0
index c699fe260aec50b2f013351aa1edb0a690881159..c26c5832c24cab7126e1be912e7151a17ef4e8a8 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=nut
 PKG_VERSION:=2.7.4
-PKG_RELEASE:=21
+PKG_RELEASE:=22
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.networkupstools.org/source/2.7/
index 86fe01bb957e0eaad442830e21f5f16014f451f8..7270f983f1088e90b72dae4ca00e2e8dd9bc4370 100755 (executable)
@@ -24,7 +24,7 @@ do_fsd() {
                mount -o remount,ro /overlay /overlay
                mount -o remount,ro / /
 
-               . ${IPKG_INSTOOT}/lib/functions.sh
+               . ${IPKG_INSTROOT}/lib/functions.sh
 
                if [ -f /etc/config/nut_server ]; then
                        config_load nut_server
index b6460cd8ee6b3c70f59742c37d51de8c6669a8e5..cf86bef172f907d2cd443c121ba6e3f7860a62c1 100644 (file)
@@ -9,6 +9,7 @@ config OCSERV_PAM
 
 config OCSERV_SECCOMP
        bool "enable seccomp"
+       depends on !arc
        default n
 
 config OCSERV_RADIUS
index ed05a3a554801a9a5ff921e81ae3db2fbbc21fb0..4431d9d3ca5d6de6e3f5209d0cd426006c3807eb 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ocserv
 PKG_VERSION:=1.1.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_USE_MIPS16:=0
 
 PKG_BUILD_DIR :=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
diff --git a/net/onionshare-cli/Makefile b/net/onionshare-cli/Makefile
new file mode 100644 (file)
index 0000000..6ee5958
--- /dev/null
@@ -0,0 +1,57 @@
+#
+# Copyright (C) 2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=onionshare-cli
+PKG_VERSION:=2.3.1
+PKG_RELEASE:=1
+
+PYPI_NAME:=onionshare-cli
+PYPI_SOURCE_NAME:=onionshare_cli
+PKG_HASH:=47320a5f270b3629586c249fb2ae1c2f67682cb53c5013a8af9702d0d6e50193
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=GPL-3.0-or-later
+PKG_LICENSE_FILES:=LICENSE
+
+HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm toml
+
+include ../../lang/python/pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../../lang/python/python3-package.mk
+
+define Package/onionshare-cli
+  SECTION:=net
+  CATEGORY:=Network
+  TITLE:=Secure chat, web and file sharing
+  URL:=https://onionshare.org/
+  DEPENDS:= \
+    +python3-light \
+    +python3-psutil \
+    +python3-click \
+    +python3-flask \
+    +python3-flask-httpauth \
+    +python3-flask-socketio \
+    +python3-pysocks \
+    +python3-requests \
+    +python3-stem \
+    +python3-eventlet \
+    +python3-unidecode \
+    +python3-cryptodome \
+    +python3-urllib3 \
+    +tor
+endef
+
+define Package/onionshare-cli/description
+  OnionShare is an open source tool that lets you securely and
+  anonymously share files, host websites, and chat with friends using the Tor network.
+endef
+
+$(eval $(call Py3Package,onionshare-cli))
+$(eval $(call BuildPackage,onionshare-cli))
+$(eval $(call BuildPackage,onionshare-cli-src))
index 8b09f47fb5bb1cac3674bd44d46e1461e3eed8c4..b766983757f38a9a8d9b701fd46d243504ede992 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ooniprobe
-PKG_VERSION:=3.8.0
+PKG_VERSION:=3.9.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=probe-cli-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/ooni/probe-cli/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=65bc4e592cadb99530be713798308d6950f67240bff6d90f2760fde11d750a83
+PKG_HASH:=d34dc096dfdebceaa027716fdf675eb9ab7f0085defb4235f52685d064bd5afa
 
 PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
 PKG_LICENSE:=BSD-3-Clause
@@ -43,10 +43,5 @@ define Package/ooniprobe/description
   Probe Command Line Interface.
 endef
 
-define Build/Configure
-       $(call GoPackage/Build/Configure)
-       cd $(PKG_BUILD_DIR) && $(STAGING_DIR_HOSTPKG)/bin/go run $(PKG_BUILD_DIR)/internal/cmd/getresources/getresources.go
-endef
-
 $(eval $(call GoBinPackage,ooniprobe))
 $(eval $(call BuildPackage,ooniprobe))
index 56d5b3382f3be276196f8649ce230b3349b3f61b..fca5e3a9eb9df6cac5aa27d1fbca69c33e60b945 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=openvpn-easy-rsa
 
 PKG_VERSION:=3.0.8
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_SOURCE_URL:=https://codeload.github.com/OpenVPN/easy-rsa/tar.gz/v$(PKG_VERSION)?
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_HASH:=fd6b67d867c3b8afd53efa2ca015477f6658a02323e1799432083472ac0dd200
@@ -43,6 +43,7 @@ define Package/openvpn-easy-rsa/conffiles
 /etc/easy-rsa/vars
 /etc/easy-rsa/openssl-1.0.cnf
 /etc/easy-rsa/openssl-easyrsa.cnf
+/etc/profile.d/50-$(PKG_NAME).sh
 endef
 
 define Build/Configure
index 671b9de3a21039e51b4e5343e9c2dc6410702260..d11748c6f56df9de24a65f184c3f1b580b11ee05 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=overture
-PKG_VERSION:=1.6.1
+PKG_VERSION:=1.7
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/shawn1m/overture/tar.gz/v${PKG_VERSION}?
-PKG_HASH:=916ddbc4e8ee3cd008e281ba768c1502ad7b3ad71073f5e587b187e371eedd2b
+PKG_HASH:=d3912fe53d2f6a60d20767a8dc5041333f8b5386b7d23d959b4de872d12b5024
 
 PKG_MAINTAINER:=Richard Yu <yurichard3839@gmail.com>
 PKG_LICENSE:=MIT
@@ -46,8 +46,8 @@ define Package/overture/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/main $(1)/usr/bin/overture
        $(INSTALL_DIR) $(1)/etc/overture
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/config.sample.json $(1)/etc/overture/config.json
-       $(SED) 's@"\.\(/[^"]\{1,\}_sample\)"@"/etc/overture\1"@g;s/":53"/"127.0.0.3:53"/' $(1)/etc/overture/config.json
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/config.sample.yml $(1)/etc/overture/config.yml
+       $(SED) 's@\.\(/[^[:space:]]\{1,\}_sample\)@/etc/overture\1@g;s/^\(bindAddress:[[:space:]]\{0,\}\)[^[:space:]]\{0,\}$$$$/\1127.0.0.3:53/' $(1)/etc/overture/config.yml
        $(INSTALL_DATA) ./files/*_sample $(1)/etc/overture
        $(INSTALL_DIR) $(1)/etc/init.d
        $(INSTALL_BIN) ./files/overture.init $(1)/etc/init.d/overture
index fb7c1c25f477988cf09669552c0a249cc9898c3d..1be553f9f240b1575d331731a80a65ae8c529daa 100644 (file)
@@ -5,7 +5,7 @@ USE_PROCD=1
 
 start_service() {
        procd_open_instance
-       procd_set_param command /usr/bin/overture -c /etc/overture/config.json
+       procd_set_param command /usr/bin/overture -c /etc/overture/config.yml
        procd_set_param file /etc/overture/config.json
        procd_set_param stdout 1
        procd_set_param stderr 1
diff --git a/net/overture/patches/001-fix-go-sum.patch b/net/overture/patches/001-fix-go-sum.patch
new file mode 100644 (file)
index 0000000..936998f
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/go.sum
++++ b/go.sum
+@@ -91,6 +91,7 @@ github.com/cncf/udpa/go v0.0.0-201912090
+ github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
+ github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
+ github.com/coredns/caddy v1.1.0/go.mod h1:A6ntJQlAWuQfFlsd9hvigKbo2WS0VUs2l1e2F+BawD4=
++github.com/coredns/coredns v1.8.0 h1:U6Z6Ljuy5D8VKDquF1dUotUtFeoNt0PVCwSfIVYFC6s=
+ github.com/coredns/coredns v1.8.0/go.mod h1:R/TQ2yPVKdafwpVXOh6NFN13ikgto21kOMPvOeFPS8o=
+ github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
+ github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
index 72c7e5d45711c91bb5cf2ac99c9f335ae00b13ef..e4cf582edc05b36dc262f9b01c4e23b8a21d42c3 100644 (file)
@@ -1,33 +1,30 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ovsd
-PKG_VERSION:=2020-10-12
+PKG_SOURCE_DATE:=2020-12-08
 PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://gitlab.hhi.fraunhofer.de/wn-ina/ovsd.git
-PKG_SOURCE_VERSION:=e6a07f27dd8a5893eb6110c69922077995b9b26a
-PKG_MIRROR_HASH:=9d903b3fecd8a3e102e1477efe479fc3851b1814ea0852e1dae39065b88cd157
-
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
+PKG_SOURCE_URL:=https://gitlab.hhi.fraunhofer.de/wn-ina/ovsd
+PKG_SOURCE_VERSION:=3a03476e2fececed3752ba4e68c92e71160c7db1
+PKG_MIRROR_HASH:=306e0cfa675299260142831e7a16c77e6e9e52ad7067bf20362f06af4faad69c
 
 PKG_MAINTAINER:=Arne Kappen <akappen@inet.tu-berlin.de>
-PKG_LICENSE:=GPL-2.0
+PKG_LICENSE:=GPL-2.0-only
+PKG_LICENSE_FILES:=LICENSE
 
 PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/cmake.mk
 
-
 define Package/ovsd
   SECTION:=net
   SUBMENU:=Open vSwitch
   CATEGORY:=Network
-  DEPENDS:=+openvswitch +libubox +libubus +netifd
   TITLE:=Open vSwtich configuration daemon for netifd
-  MAINTAINER:=Arne Kappen <akappen@inet.tu-berlin.de>
+  URL:=https://gitlab.hhi.fraunhofer.de/wn-ina/ovsd
+  DEPENDS:=+openvswitch +libubox +libubus +netifd
 endef
 
 define Package/ovsd/description
index f273e4e7f211238f68799ceed88ed892acc4c806..b9b5cd27598d2f4e6d520f7bc8663eead393eed7 100755 (executable)
@@ -4,10 +4,9 @@ START=19
 USE_PROCD=1
 
 start_service() {
-        procd_open_instance
-        procd_set_param command /sbin/ovsd
-        procd_set_param respawn
+       procd_open_instance
+       procd_set_param command /sbin/ovsd
+       procd_set_param respawn
        procd_set_param watch ovs
-
-        procd_close_instance
-}
\ No newline at end of file
+       procd_close_instance
+}
index 68632bdced96adadb6bf6058bb4a9d924db27fb1..49aa45c10e02b8c93f7de6a66e6846533a8067ea 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=restic-rest-server
 PKG_VERSION:=0.9.7
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/rest-server-$(PKG_VERSION)
 PKG_SOURCE:=rest-server-$(PKG_VERSION).tar.gz
index 861a93c24826cd9d4b8db79c86e0b25184e006f4..2492de6f7d0e3b5803a2a2bdb2fb11d65cd65694 100644 (file)
@@ -1,13 +1,13 @@
 config rest-server
        option enabled '0'
        option path '/mnt/backup'                       # data directory (default "/tmp/restic")
-       #option append-only '1'                         # enable append only mode
+       #option append_only '1'                         # enable append only mode
        #option cpuprofile '/mnt/backup/cpuprofile'     # write CPU profile to file
        #option debug '1'                               # output debug messages
        #option listen ':8000'                          # listen address (default ":8000")
        #option log '/mnt/backup/http.log'              # log HTTP requests in the combined log format
-       #option private-repos '1'                       # users can only access their private repo
+       #option private_repos '1'                       # users can only access their private repo
        #option prometheus '1'                          # enable Prometheus metrics
        #option tls '1'                                 # turn on TLS support
-       #option tls-cert '/mnt/backup/public_key'       # TLS certificate path
-       #option tls-key '/mnt/backup/private_key'       # TLS key path
+       #option tls_cert '/mnt/backup/public_key'       # TLS certificate path
+       #option tls_key '/mnt/backup/private_key'       # TLS key path
index 38eb88287b8560047e326384c90c013b190e9a67..c5b6865e19f0b3122bb5055dc3cae95daec2659d 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=rp-pppoe
 PKG_VERSION:=3.14
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://dianne.skoll.ca/projects/rp-pppoe/download
@@ -106,7 +106,7 @@ endef
 TARGET_CFLAGS += -I$(PKG_BUILD_DIR)/src/libevent -isystem $(PKG_BUILD_DIR)/missing-headers -D_BSD_SOURCE
 CONFIGURE_PATH := ./src
 CONFIGURE_ARGS += ac_cv_path_PPPD=/usr/sbin/pppd --enable-plugin=$(STAGING_DIR)/usr/include/
-MAKE_FLAGS := DESTDIR="$(PKG_INSTALL_DIR)" PLUGIN_PATH=rp-pppoe.so install
+MAKE_FLAGS := DESTDIR="$(PKG_INSTALL_DIR)" PLUGIN_PATH=pppoe.so install
 MAKE_PATH := ./src
 
 define Build/Prepare
index 9c0126287a1652332f468c0ae21aab842c5634e4..b8afee5d772f980962dfff9e90ec544a1f0fa83b 100644 (file)
@@ -6,8 +6,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=safe-search
-PKG_VERSION:=2.0.0
-PKG_RELEASE:=3
+PKG_VERSION:=2.0.1
+PKG_RELEASE:=$(AUTORELEASE)
 PKG_LICENSE:=MIT
 PKG_MAINTAINER:=Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
 
@@ -54,6 +54,7 @@ endef
 define Package/safe-search/postinst
 #!/bin/sh
 if [ -z "$${IPKG_INSTROOT}" ]; then
+  crontab -l | grep -v "safe-search-maintenance" | sort | uniq | crontab -
   echo "1 1 * * 1 /bin/nice /usr/sbin/safe-search-maintenance>/dev/null 2>&1">>/etc/crontabs/root
   /etc/init.d/cron restart
 fi
index 8f3eb2369daa929df02049a58b807acb434c1f8f..f9b4d235b4e2c3992485205de20de24436cb67c9 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=simple-adblock
 PKG_VERSION:=1.8.7
-PKG_RELEASE:=1
+PKG_RELEASE:=3
 PKG_MAINTAINER:=Stan Grishin <stangri@melmac.net>
 PKG_LICENSE:=GPL-3.0-or-later
 
@@ -17,7 +17,7 @@ define Package/simple-adblock
        CATEGORY:=Network
        TITLE:=Simple AdBlock Service
        URL:=https://docs.openwrt.melmac.net/simple-adblock/
-       DEPENDS:=+jshn
+       DEPENDS:=+jshn +wget
        PKGARCH:=all
 endef
 
@@ -42,7 +42,7 @@ define Package/simple-adblock/install
        $(INSTALL_BIN) ./files/simple-adblock.init $(1)/etc/init.d/simple-adblock
        $(SED) "s|^\(PKG_VERSION\).*|\1='$(PKG_VERSION)-$(PKG_RELEASE)'|" $(1)/etc/init.d/simple-adblock
        $(INSTALL_CONF) ./files/simple-adblock.conf $(1)/etc/config/simple-adblock
-       $(INSTALL_CONF) ./files/simple-adblock.conf.update $(1)/tmp/simple-adblock.conf.update
+       $(INSTALL_DATA) ./files/simple-adblock.conf.update $(1)/tmp/simple-adblock.conf.update
 endef
 
 define Package/simple-adblock/postinst
index 1ded7a8849688abc7e36e8eef28de7e428b69dd7..211412069ee326a4c779be240bb71a94f5bffbcd 100644 (file)
@@ -247,6 +247,9 @@ load_package_config() {
        if is_present 'curl'; then
                dl_command="curl --insecure --retry $curlRetry --connect-timeout $dlTimeout --silent"
                dl_flag="-o"
+       elif is_present '/usr/libexec/wget-ssl'; then
+               dl_command="/usr/libexec/wget-ssl --no-check-certificate --timeout $dlTimeout -q"
+               dl_flag="-O"
        elif is_present wget && wget --version 2>/dev/null | grep -q "+https"; then
                dl_command="wget --no-check-certificate --timeout $dlTimeout -q"
                dl_flag="-O"
@@ -882,41 +885,41 @@ start_service() {
        if [ "$forceDNS" -ne 0 ]; then
                for c in $forceDNSPorts; do
                        if netstat -tuln | grep LISTEN | grep ":${c}" >/dev/null 2>&1; then
-                               json_add_object ''
-                               json_add_string type 'redirect'
-                               json_add_string target 'DNAT'
-                               json_add_string src 'lan'
-                               json_add_string proto 'tcp udp'
+                               json_add_object ""
+                               json_add_string type redirect
+                               json_add_string target DNAT
+                               json_add_string src lan
+                               json_add_string proto "tcp udp"
                                json_add_string src_dport "$c"
                                json_add_string dest_port "$c"
-                               json_add_string reflection '0'
+                               json_add_boolean reflection 0
                                json_close_object
                        else
-                               json_add_object ''
-                               json_add_string type 'rule'
-                               json_add_string src 'lan'
-                               json_add_string dest '*'
-                               json_add_string proto 'tcp udp'
+                               json_add_object ""
+                               json_add_string type rule
+                               json_add_string src lan
+                               json_add_string dest "*"
+                               json_add_string proto "tcp udp"
                                json_add_string dest_port "$c"
-                               json_add_string target 'REJECT'
+                               json_add_string target REJECT
                                json_close_object
                        fi
                done
        fi
        if [ "$targetDNS" = 'dnsmasq.ipset' ]; then
-               json_add_object ''
-               json_add_string type 'ipset'
-               json_add_string name 'adb'
-               json_add_string match 'dest_net'
-               json_add_string storage 'hash'
+               json_add_object ""
+               json_add_string type ipset
+               json_add_string name adb
+               json_add_string match dest_net
+               json_add_string storage hash
                json_close_object
-               json_add_object ''
-               json_add_string type 'rule'
-               json_add_string ipset 'adb'
-               json_add_string src 'lan'
-               json_add_string dest '*'
-               json_add_string proto 'tcp udp'
-               json_add_string target 'REJECT'
+               json_add_object ""
+               json_add_string type rule
+               json_add_string ipset adb
+               json_add_string src lan
+               json_add_string dest "*"
+               json_add_string proto "tcp udp"
+               json_add_string target REJECT
                json_close_object
        fi
        json_close_array
@@ -994,11 +997,11 @@ start_service() {
 
 service_started() { procd_set_config_changed firewall; }
 service_stopped() { procd_set_config_changed firewall; }
+
 restart_service() { rc_procd start_service 'restart'; }
-reload_service() { restart_service; }
-restart() { restart_service; }
-reload() { restart_service; }
+reload_service() { rc_procd start_service 'restart'; }
 dl() { rc_procd start_service 'download'; }
+
 killcache() {
        rm -f "$addnhostsCache" "$addnhostsGzip"
        rm -f "$dnsmasqCache" "$dnsmasqGzip"
index 661084024dee7aac1a927f4b1b97a982201aa7bc..f28fe770c773767eb247dfe77a56d7f79b596995 100644 (file)
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=squid
-PKG_VERSION:=4.13
-PKG_RELEASE:=1
+PKG_VERSION:=4.14
+PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://www3.us.squid-cache.org/Versions/v4/ \
        http://www2.pl.squid-cache.org/Versions/v4/ \
        http://www.squid-cache.org/Versions/v4/
-PKG_HASH:=6891a0f540e60779b4f24f1802a302f813c6f473ec7336a474ed68c3e2e53ee0
+PKG_HASH:=f1097daa6434897c159bc100978b51347c0339041610845d0afa128151729ffc
 
 PKG_MAINTAINER:=Marko Ratkaj <marko.ratkaj@sartura.hr>
 PKG_LICENSE:=GPL-2.0-or-later
index 24d30915ee71d67d06c040fc03fd90e17f8a5e83..3b45a2222f886c5fa4940f0cb9de64183d8679e0 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=strongswan
-PKG_VERSION:=5.9.1
-PKG_RELEASE:=6
+PKG_VERSION:=5.9.2
+PKG_RELEASE:=5
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://download.strongswan.org/ https://download2.strongswan.org/
-PKG_HASH:=a337c9fb63d973b8440827755c784031648bf423b7114a04918b0b00fd42cafb
+PKG_HASH:=61c72f741edb2c1295a7b7ccce0317a104b3f9d39efd04c52cd05b01b55ab063
 PKG_LICENSE:=GPL-2.0-or-later
 PKG_MAINTAINER:=Philip Prindeville <philipp@redfish-solutions.com>, Noel Kuntze <noel.kuntze@thermi.consulting>
 PKG_CPE_ID:=cpe:/a:strongswan:strongswan
@@ -25,8 +25,10 @@ PKG_MOD_AVAILABLE:= \
        agent \
        attr \
        attr-sql \
+       bliss \
        blowfish \
        ccm \
+       chapoly \
        cmac \
        constraints \
        connmark \
@@ -60,7 +62,10 @@ PKG_MOD_AVAILABLE:= \
        nonce \
        md4 \
        md5 \
+       mgf1 \
        mysql \
+       newhope \
+       ntru \
        openssl \
        pem \
        pgp \
@@ -76,6 +81,7 @@ PKG_MOD_AVAILABLE:= \
        revocation \
        sha1 \
        sha2 \
+       sha3 \
        smp \
        socket-default \
        socket-dynamic \
@@ -144,14 +150,17 @@ $(call Package/strongswan/Default)
        +strongswan-charon \
        +strongswan-charon-cmd \
        +strongswan-ipsec \
+       +strongswan-libnttfft \
        +strongswan-mod-addrblock \
        +strongswan-mod-aes \
        +strongswan-mod-af-alg \
        +strongswan-mod-agent \
        +strongswan-mod-attr \
        +strongswan-mod-attr-sql \
+       +strongswan-mod-bliss \
        +strongswan-mod-blowfish \
        +strongswan-mod-ccm \
+       +strongswan-mod-chapoly \
        +strongswan-mod-cmac \
        +strongswan-mod-constraints \
        +strongswan-mod-connmark \
@@ -183,7 +192,10 @@ $(call Package/strongswan/Default)
        +strongswan-mod-nonce \
        +strongswan-mod-md4 \
        +strongswan-mod-md5 \
+       +strongswan-mod-mgf1 \
        +strongswan-mod-mysql \
+       +strongswan-mod-newhope \
+       +strongswan-mod-ntru \
        +strongswan-mod-openssl \
        +strongswan-mod-pem \
        +strongswan-mod-pgp \
@@ -199,6 +211,7 @@ $(call Package/strongswan/Default)
        +strongswan-mod-revocation \
        +strongswan-mod-sha1 \
        +strongswan-mod-sha2 \
+       +strongswan-mod-sha3 \
        +strongswan-mod-smp \
        +strongswan-mod-socket-default \
        +strongswan-mod-sql \
@@ -361,6 +374,17 @@ $(call Package/strongswan/description/Default)
  This package contains the ipsec utility.
 endef
 
+define Package/strongswan-libnttfft
+$(call Package/strongswan/Default)
+  TITLE+= nttfft library
+  DEPENDS:= strongswan
+endef
+
+define Package/strongswan-libnttfft/description
+$(call Package/strongswan/description/Default)
+ This package contains the Number Theoretic Transforms library.
+endef
+
 define Package/strongswan-pki
 $(call Package/strongswan/Default)
   TITLE+= PKI tool
@@ -394,6 +418,17 @@ $(call Package/strongswan/description/Default)
  This package contains the swanctl utility.
 endef
 
+define Package/strongswan-gencerts
+$(call Package/strongswan/Default)
+  TITLE+= X.509 certificate generation utility
+  DEPENDS:= strongswan +strongswan-pki bash
+endef
+
+define Package/strongswan-gencerts/description
+$(call Package/strongswan/description/Default)
+ This package contains the X.509 certificate generation utility.
+endef
+
 define Package/strongswan-libtls
 $(call Package/strongswan/Default)
   TITLE+= libtls
@@ -518,6 +553,11 @@ opkg list-changed-conffiles | grep -qx /etc/ipsec.conf || {
 }
 endef
 
+define Package/strongswan-libnttfft/install
+       $(INSTALL_DIR) $(1)/usr/lib/ipsec
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libnttfft.so.* $(1)/usr/lib/ipsec/
+endef
+
 define Package/strongswan-pki/install
        $(INSTALL_DIR) $(1)/etc/strongswan.d
        $(CP) $(PKG_INSTALL_DIR)/etc/strongswan.d/pki.conf $(1)/etc/strongswan.d/
@@ -537,11 +577,19 @@ define Package/strongswan-swanctl/conffiles
 endef
 
 define Package/strongswan-swanctl/install
+       $(INSTALL_DIR) $(1)/etc/init.d
        $(INSTALL_DIR) $(1)/etc/swanctl/{bliss,conf.d,ecdsa,pkcs{12,8},private,pubkey,rsa}
        $(INSTALL_DIR) $(1)/etc/swanctl/x509{,aa,ac,ca,crl,ocsp}
        $(CP) $(PKG_INSTALL_DIR)/etc/swanctl/swanctl.conf $(1)/etc/swanctl/
+       echo "include /var/swanctl/swanctl.conf" >> $(1)/etc/swanctl/swanctl.conf
        $(INSTALL_DIR) $(1)/usr/sbin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/swanctl $(1)/usr/sbin/
+       $(INSTALL_BIN) ./files/swanctl.init $(1)/etc/init.d/swanctl
+endef
+
+define Package/strongswan-gencerts/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) ./files/gencerts.sh $(1)/usr/bin/gencerts
 endef
 
 define Package/strongswan-libtls/install
@@ -615,9 +663,11 @@ $(eval $(call BuildPackage,strongswan-isakmp))
 $(eval $(call BuildPackage,strongswan-charon))
 $(eval $(call BuildPackage,strongswan-charon-cmd))
 $(eval $(call BuildPackage,strongswan-ipsec))
+$(eval $(call BuildPackage,strongswan-libnttfft))
 $(eval $(call BuildPackage,strongswan-pki))
 $(eval $(call BuildPackage,strongswan-scepclient))
 $(eval $(call BuildPackage,strongswan-swanctl))
+$(eval $(call BuildPackage,strongswan-gencerts))
 $(eval $(call BuildPackage,strongswan-libtls))
 $(eval $(call BuildPlugin,addrblock,RFC 3779 address block constraint support,))
 $(eval $(call BuildPlugin,aes,AES crypto,))
@@ -625,8 +675,10 @@ $(eval $(call BuildPlugin,af-alg,AF_ALG crypto interface to Linux Crypto API,+km
 $(eval $(call BuildPlugin,agent,SSH agent signing,))
 $(eval $(call BuildPlugin,attr,file based config,))
 $(eval $(call BuildPlugin,attr-sql,SQL based config,+strongswan-charon))
+$(eval $(call BuildPlugin,bliss,BLISS crypto,+strongswan-libnttfft +strongswan-mod-mgf1 +strongswan-mod-hmac))
 $(eval $(call BuildPlugin,blowfish,Blowfish crypto,))
 $(eval $(call BuildPlugin,ccm,CCM AEAD wrapper crypto,))
+$(eval $(call BuildPlugin,chapoly,ChaCha20-Poly1305 AEAD crypto,))
 $(eval $(call BuildPlugin,cmac,CMAC crypto,))
 $(eval $(call BuildPlugin,connmark,netfilter connection marking,))
 $(eval $(call BuildPlugin,constraints,advanced X509 constraint checking,))
@@ -660,7 +712,10 @@ $(eval $(call BuildPlugin,load-tester,load testing,))
 $(eval $(call BuildPlugin,nonce,nonce genereation,))
 $(eval $(call BuildPlugin,md4,MD4 crypto,))
 $(eval $(call BuildPlugin,md5,MD5 crypto,))
+$(eval $(call BuildPlugin,mgf1,MGF1 crypto,))
 $(eval $(call BuildPlugin,mysql,MySQL database interface,+strongswan-mod-sql +PACKAGE_strongswan-mod-mysql:libmysqlclient-r))
+$(eval $(call BuildPlugin,newhope,New Hope crypto,+strongswan-libnttfft +strongswan-mod-chapoly +strongswan-mod-sha3))
+$(eval $(call BuildPlugin,ntru,NTRU crypto,+strongswan-mod-mgf1))
 $(eval $(call BuildPlugin,openssl,OpenSSL crypto,+PACKAGE_strongswan-mod-openssl:libopenssl))
 $(eval $(call BuildPlugin,pem,PEM decoding,))
 $(eval $(call BuildPlugin,pgp,PGP key decoding,))
@@ -676,6 +731,7 @@ $(eval $(call BuildPlugin,resolve,DNS resolver,))
 $(eval $(call BuildPlugin,revocation,X509 CRL/OCSP revocation,))
 $(eval $(call BuildPlugin,sha1,SHA1 crypto,))
 $(eval $(call BuildPlugin,sha2,SHA2 crypto,))
+$(eval $(call BuildPlugin,sha3,SHA3 and SHAKE crypto,))
 $(eval $(call BuildPlugin,smp,SMP configuration and control interface,+PACKAGE_strongswan-mod-smp:libxml2))
 $(eval $(call BuildPlugin,socket-default,default socket implementation for charon,))
 $(eval $(call BuildPlugin,socket-dynamic,dynamic socket implementation for charon,))
diff --git a/net/strongswan/files/gencerts.sh b/net/strongswan/files/gencerts.sh
new file mode 100755 (executable)
index 0000000..57dc0df
--- /dev/null
@@ -0,0 +1,155 @@
+#!/bin/sh
+
+#
+# see:
+#      https://www.howtoforge.com/tutorial/strongswan-based-ipsec-vpn-using-certificates-and-pre-shared-key-on-ubuntu-16-04/
+#
+
+PROG=$(basename "$0")
+
+[ -z "$EUID" ] && EUID=$(id -u)
+
+if [ $# -lt 5 ]; then
+       echo "Usage: $PROG { -s | -c | -u } country domain organization identities [ ... ]" >&2
+       exit 1
+fi
+
+case "$1" in
+-s)
+       S_OPT=1 ;;
+-c)
+       C_OPT=1 ;;
+-u)
+       U_OPT=1 ;;
+*)
+       echo "$PROG: require an option specifying server/client/user credential type" >&2
+       exit 1
+       ;;
+esac
+shift
+
+C="$1"; shift
+DOMAIN="$1"; shift
+SHORT_DOMAIN="${DOMAIN%%.*}"
+ORG="$1"; shift
+
+# invariants...
+STRONGSWANDIR=/etc
+SWANCTL_DIR=$STRONGSWANDIR/swanctl
+: ${KEYINFO:="rsa:4096"}
+: ${CADAYS:=3650}
+: ${CRTDAYS:=730}
+
+makeDN()
+{
+       printf "C=%s, O=%s, CN=%s" "$1" "$2" "$3"
+}
+
+field()
+{
+       local arg="$1"
+       local nth="$2"
+
+       echo "$arg" | cut -d ':' -f "$nth"
+}
+
+genmasterkey()
+{
+       local keytype keybits
+
+       keytype=$(field "$KEYINFO" 1)
+       keybits=$(field "$KEYINFO" 2)
+
+       pki --gen --type "$keytype" --size "$keybits" --outform pem > "$SWANCTL_DIR/private/$SHORT_DOMAIN.key"
+       chmod 0400 "$SWANCTL_DIR/private/$SHORT_DOMAIN.key"
+}
+
+genca()
+{
+       local keytype
+
+       keytype=$(field "$KEYINFO" 1)
+
+       pki --self --ca --lifetime "$CADAYS" --in "$SWANCTL_DIR/private/$SHORT_DOMAIN.key" --type "$keytype" \
+               --dn "$ROOTDN" --outform pem > "$SWANCTL_DIR/x509ca/$SHORT_DOMAIN.crt"
+       chmod 0444 "$SWANCTL_DIR/cacerts/$SHORT_DOMAIN.crt"
+}
+
+genclientkey()
+{
+       local name="$1" keytype keybits
+
+       keytype=$(field "$KEYINFO" 1)
+       keybits=$(field "$KEYINFO" 2)
+
+       pki --gen --type "$keytype" --size "$keybits" --outform pem > "$SWANCTL_DIR/private/$name.key"
+       chmod 0400 "$SWANCTL_DIR/private/$name.key"
+}
+
+gendevcert()
+{
+       local dn="$1"
+       local san="$2"
+       local name="$3"
+
+       # reads key from input
+       pki --issue --lifetime "$CRTDAYS" \
+             --cacert "$SWANCTL_DIR/x509ca/$SHORT_DOMAIN.crt" \
+             --cakey "$SWANCTL_DIR/private/$SHORT_DOMAIN.key" \
+             --dn "$dn" --san "$san" \
+             ${S_OPT:+--flag serverAuth} \
+             ${S_OPT:---flag clientAuth} \
+             --flag ikeIntermediate \
+             --outform pem > "$SWANCTL_DIR/x509/$name.crt"
+       chmod 0444 "$SWANCTL_DIR/x509/$name.crt"
+}
+
+gendev()
+{
+       local keytype
+
+       keytype=$(field "$KEYINFO" 1)
+
+       [ -f "$SWANCTL_DIR/private/$NAME.key" ] || genclientkey "$NAME"
+
+       [ -f "$SWANCTL_DIR/x509/$NAME.crt" ] || \
+               pki --pub --in "$SWANCTL_DIR/private/$NAME.key" --type "$keytype" \
+                       | gendevcert "$DEVDN" "$DEVSAN" "$NAME"
+}
+
+setparams()
+{
+       NAME="$1"
+
+       if [ -n "$U_OPT" ]; then
+               DEVSAN="$NAME@$DOMAIN"
+               DEVDN="$(makeDN "$C" "$ORG" "$DEVSAN")"
+       else
+               DEVSAN="$NAME.$DOMAIN"
+               DEVDN="$(makeDN "$C" "$ORG" "$NAME")"
+       fi
+}
+
+umask 077
+
+[ "$EUID" -eq 0 ] || { echo "Must run as root!" >&2 ; exit 1; }
+
+ROOTDN="$(makeDN "$C" "$ORG" "Root CA")"
+
+[ -f "$SWANCTL_DIR/private/$SHORT_DOMAIN.key" ] || genmasterkey
+
+[ -f "$SWANCTL_DIR/x509ca/$SHORT_DOMAIN.crt" ] || genca
+
+PARENT="$STRONGSWANDIR"
+BASEDIR="${SWANCTL_DIR##$PARENT/}"
+
+for name in "$@"; do
+       setparams "$name"
+       gendev
+
+       tar -zcf "$name-certs.tar.gz" -C "$PARENT" "$BASEDIR/x509ca/$SHORT_DOMAIN.crt" "$BASEDIR/x509/$name.crt" "$BASEDIR/private/$name.key"
+       chmod 600 "$name-certs.tar.gz"
+       echo "Generated as $name-certs.tar.gz"
+done
+
+exit 0
index ed55b95a9820bdc1eb53a9708d795e97e5219523..c5588e8cf3c6e629148f6f2e51ceaf7a3a43a5a0 100644 (file)
@@ -331,6 +331,12 @@ reload_service() {
        start
 }
 
+stop_service() {
+       ipsec_reset
+       swan_reset
+       secret_reset
+}
+
 check_ipsec_interface() {
        local intf
 
@@ -348,6 +354,8 @@ service_triggers() {
 start_service() {
        prepare_env
 
+       warning "Strongswan is deprecating the ipsec CLI; please migrate to swanctl."
+
        [ $WAIT_FOR_INTF -eq 1 ] && return
 
        procd_open_instance
diff --git a/net/strongswan/files/swanctl.init b/net/strongswan/files/swanctl.init
new file mode 100644 (file)
index 0000000..58f168d
--- /dev/null
@@ -0,0 +1,621 @@
+#!/bin/sh /etc/rc.common
+
+START=90
+STOP=10
+
+USE_PROCD=1
+PROG=/usr/lib/ipsec/starter
+
+. $IPKG_INSTROOT/lib/functions.sh
+. $IPKG_INSTROOT/lib/functions/network.sh
+
+STRONGSWAN_CONF_FILE=/etc/strongswan.conf
+STRONGSWAN_VAR_CONF_FILE=/var/ipsec/strongswan.conf
+
+SWANCTL_CONF_FILE=/etc/swanctl/swanctl.conf
+SWANCTL_VAR_CONF_FILE=/var/swanctl/swanctl.conf
+
+WAIT_FOR_INTF=0
+
+CONFIG_FAIL=0
+
+time2seconds()
+{
+       local timestring="$1"
+       local multiplier number suffix
+
+       suffix="${timestring//[0-9 ]}"
+       number="${timestring%%$suffix}"
+       [ "$number$suffix" != "$timestring" ] && return 1
+       case "$suffix" in
+       ""|s)
+               multiplier=1 ;;
+       m)
+               multiplier=60 ;;
+       h)
+               multiplier=3600 ;;
+       d)
+               multiplier=86400 ;;
+       *)
+               return 1 ;;
+       esac
+       echo $(( number * multiplier ))
+}
+
+seconds2time()
+{
+       local seconds="$1"
+
+       if [ $seconds -eq 0 ]; then
+               echo "0s"
+       elif [ $((seconds % 86400)) -eq 0 ]; then
+               echo "$((seconds / 86400))d"
+       elif [ $((seconds % 3600)) -eq 0 ]; then
+               echo "$((seconds / 3600))h"
+       elif [ $((seconds % 60)) -eq 0 ]; then
+               echo "$((seconds / 60))m"
+       else
+               echo "${seconds}s"
+       fi
+}
+
+file_reset() {
+       : > "$1"
+}
+
+xappend() {
+       local file="$1"
+       shift
+
+       echo "$@" >> "$file"
+}
+
+swan_reset() {
+       file_reset "$STRONGSWAN_VAR_CONF_FILE"
+}
+
+swan_xappend() {
+       xappend "$STRONGSWAN_VAR_CONF_FILE" "$@"
+}
+
+swan_xappend0() {
+       swan_xappend "$@"
+}
+
+swan_xappend1() {
+       swan_xappend "  ""$@"
+}
+
+swan_xappend2() {
+       swan_xappend "    ""$@"
+}
+
+swan_xappend3() {
+       swan_xappend "      ""$@"
+}
+
+swan_xappend4() {
+       swan_xappend "        ""$@"
+}
+
+swanctl_reset() {
+       file_reset "$SWANCTL_VAR_CONF_FILE"
+}
+
+swanctl_xappend() {
+       xappend "$SWANCTL_VAR_CONF_FILE" "$@"
+}
+
+swanctl_xappend0() {
+       swanctl_xappend "$@"
+}
+
+swanctl_xappend1() {
+       swanctl_xappend "  ""$@"
+}
+
+swanctl_xappend2() {
+       swanctl_xappend "    ""$@"
+}
+
+swanctl_xappend3() {
+       swanctl_xappend "      ""$@"
+}
+
+swanctl_xappend4() {
+       swanctl_xappend "        ""$@"
+}
+
+warning() {
+       echo "WARNING: $@" >&2
+}
+
+fatal() {
+       echo "ERROR: $@" >&2
+       CONFIG_FAIL=1
+}
+
+is_aead() {
+       local cipher="$1"
+
+       case "$cipher" in
+       aes*gcm*|aes*ccm*|aes*gmac*)
+               return 0 ;;
+       chacha20poly1305)
+               return 0 ;;
+       esac
+
+       return 1
+}
+
+add_esp_proposal() {
+       local encryption_algorithm
+       local hash_algorithm
+       local dh_group
+
+       config_get encryption_algorithm "$1" encryption_algorithm
+       config_get hash_algorithm "$1" hash_algorithm
+       config_get dh_group "$1" dh_group
+
+       # check for AEAD and clobber hash_algorithm if set
+       if is_aead "$encryption_algorithm" && [ -n "$hash_algorithm" ]; then
+               fatal "Can't have $hash_algorithm with $encryption_algorithm"
+               hash_algorithm=
+       fi
+
+       [ -n "$encryption_algorithm" ] && \
+               crypto="${crypto:+${crypto},}${encryption_algorithm}${hash_algorithm:+-${hash_algorithm}}${dh_group:+-${dh_group}}"
+}
+
+parse_esp_proposal() {
+       local conf="$1"
+       local var="$2"
+
+       local crypto=""
+
+       config_list_foreach "$conf" crypto_proposal add_esp_proposal
+
+       export -n "$var=$crypto"
+}
+
+add_ike_proposal() {
+       local encryption_algorithm
+       local hash_algorithm
+       local dh_group
+       local prf_algorithm
+
+       config_get encryption_algorithm "$1" encryption_algorithm
+       config_get hash_algorithm "$1" hash_algorithm
+       config_get dh_group "$1" dh_group
+       config_get prf_algorithm "$1" prf_algorithm
+
+       # check for AEAD and clobber hash_algorithm if set
+       if is_aead "$encryption_algorithm" && [ -n "$hash_algorithm" ]; then
+               fatal "Can't have $hash_algorithm with $encryption_algorithm"
+               hash_algorithm=
+       fi
+
+       [ -n "$encryption_algorithm" ] && \
+               crypto="${crypto:+${crypto},}${encryption_algorithm}${hash_algorithm:+-${hash_algorithm}}${prf_algorithm:+-${prf_algorithm}}${dh_group:+-${dh_group}}"
+}
+
+parse_ike_proposal() {
+       local conf="$1"
+       local var="$2"
+
+       local crypto=""
+
+       config_list_foreach "$conf" crypto_proposal add_ike_proposal
+
+       export -n "$var=$crypto"
+}
+
+config_conn() {
+       # Generic ipsec conn section shared by tunnel and transport
+       local config_name="$1"
+       local mode="$2"
+
+       local local_subnet
+       local local_nat
+       local updown
+       local firewall
+       local remote_subnet
+       local remote_sourceip
+       local lifetime
+       local dpdaction
+       local closeaction
+       local startaction
+       local if_id
+       local rekeytime
+
+       config_get startaction "$1" startaction "route"
+       config_get local_subnet "$1" local_subnet ""
+       config_get local_nat "$1" local_nat ""
+       config_get updown "$1" updown ""
+       config_get firewall "$1" firewall ""
+       config_get remote_subnet "$1" remote_subnet ""
+       config_get remote_sourceip "$1" remote_sourceip ""
+       config_get lifetime "$1" lifetime ""
+       config_get dpdaction "$1" dpdaction "none"
+       config_get closeaction "$1" closeaction "none"
+       config_get if_id "$1" if_id ""
+       config_get rekeytime "$1" rekeytime ""
+
+       local esp_proposal
+       parse_esp_proposal "$1" esp_proposal
+
+       # translate from ipsec to swanctl
+       case "$startaction" in
+       add)
+               startaction="none" ;;
+       route)
+               startaction="trap" ;;
+       start|none|trap)
+               # already using new syntax
+               ;;
+       *)
+               fatal "Startaction $startaction unknown"
+               startaction=
+               ;;
+       esac
+
+       case "$closeaction" in
+       none|clear)
+               closeaction="none" ;;
+       hold)
+               closeaction="trap" ;;
+       restart)
+               closeaction="start" ;;
+       trap|start)
+               # already using new syntax
+               ;;
+       *)
+               fatal "Closeaction $closeaction unknown"
+               closeaction=
+               ;;
+       esac
+
+       [ -n "$closeaction" -a "$closeaction" != "none" ] && warning "Closeaction $closeaction can cause instability"
+
+       case "$dpdaction" in
+       none)
+               dpddelay="0s"
+               dpdaction=
+               ;;
+       clear)
+               ;;
+       hold)
+               dpdaction="trap" ;;
+       restart)
+               dpdaction="start" ;;
+       trap|start)
+               # already using new syntax
+               ;;
+       *)
+               fatal "Dpdaction $dpdaction unknown"
+               dpdaction=
+               ;;
+       esac
+
+       [ -n "$local_nat" ] && local_subnet="$local_nat"
+
+       swanctl_xappend3 "$config_name {"
+
+       [ -n "$local_subnet" ] && swanctl_xappend4 "local_ts = $local_subnet"
+       [ -n "$remote_subnet" ] && swanctl_xappend4 "remote_ts = $remote_subnet"
+       [ -n "$if_id" ] && { swanctl_xappend4 "if_id_in = $if_id" ; swanctl_xappend4 "if_id_out = $if_id" ; }
+       [ -n "$startaction" -a "$startaction" != "none" ] && swanctl_xappend4 "start_action = $startaction"
+       [ -n "$closeaction" -a "$closeaction" != "none" ] && swanctl_xappend4 "close_action = $closeaction"
+       swanctl_xappend4 "esp_proposals = $esp_proposal"
+       swanctl_xappend4 "mode = $mode"
+
+       if [ -n "$lifetime" ]; then
+               swanctl_xappend4 "life_time = $lifetime"
+       elif [ -n "$rekeytime" ]; then
+               swanctl_xappend4 "life_time = $(seconds2time $(((110 * $(time2seconds $rekeytime)) / 100)))"
+       fi
+       [ -n "$rekeytime" ] && swanctl_xappend4 "rekey_time = $rekeytime"
+
+       [ -n "$updown" ] && swanctl_xappend4 "updown = $updown"
+       [ -n "$dpdaction" ] && swanctl_xappend4 "dpd_action = $dpdaction"
+
+        swanctl_xappend3 "}"
+}
+
+config_tunnel() {
+       config_conn "$1" "tunnel"
+}
+
+config_transport() {
+       config_conn "$1" "transport"
+}
+
+config_remote() {
+       local config_name="$1"
+
+       local enabled
+       local gateway
+       local local_gateway
+       local local_sourceip
+       local local_leftip
+       local remote_gateway
+       local pre_shared_key
+       local auth_method
+       local keyingtries
+       local dpddelay
+       local inactivity
+       local keyexchange
+       local reqid
+       local packet_marker
+       local fragmentation
+       local mobike
+       local local_cert
+       local local_key
+       local ca_cert
+       local rekeytime
+
+       config_get_bool enabled "$1" enabled 0
+       [ $enabled -eq 0 ] && return
+
+       config_get gateway "$1" gateway
+       config_get pre_shared_key "$1" pre_shared_key
+       config_get auth_method "$1" authentication_method
+       config_get local_identifier "$1" local_identifier ""
+       config_get remote_identifier "$1" remote_identifier ""
+       config_get local_sourceip "$1" local_sourceip ""
+       config_get local_leftip "$1" local_leftip "%any"
+       config_get keyingtries "$1" keyingtries "3"
+       config_get dpddelay "$1" dpddelay "30s"
+       config_get inactivity "$1" inactivity
+       config_get keyexchange "$1" keyexchange "ikev2"
+       config_get reqid "$1" reqid
+       config_get packet_marker "$1" packet_marker
+       config_get fragmentation "$1" fragmentation "yes"
+       config_get_bool mobike "$1" mobike 1
+       config_get local_cert "$1" local_cert ""
+       config_get local_key "$1" local_key ""
+       config_get ca_cert "$1" ca_cert ""
+       config_get rekeytime "$1" rekeytime
+       config_get overtime "$1" overtime
+
+       case "$fragmentation" in
+       0)
+               fragmentation="no" ;;
+       1)
+               fragmentation="yes" ;;
+       yes|accept|force|no)
+               # already using new syntax
+               ;;
+       *)
+               fatal "Fragmentation $fragmentation not supported"
+               fragmentation=
+               ;;
+       esac
+
+       [ "$gateway" = "any" ] && remote_gateway="%any" || remote_gateway="$gateway"
+
+       [ -z "$local_gateway" ] && {
+               local ipdest
+
+               [ "$remote_gateway" = "%any" ] && ipdest="1.1.1.1" || ipdest="$remote_gateway"
+               local_gateway=`ip -o route get $ipdest | awk '/ src / { gsub(/^.* src /,""); gsub(/ .*$/, ""); print $0}'`
+       }
+
+       local ike_proposal
+       parse_ike_proposal "$1" ike_proposal
+
+       [ -n "$firewall" ] && fatal "Firewall not supported"
+
+       swanctl_xappend0 "# config for $config_name"
+       swanctl_xappend0 "connections {"
+       swanctl_xappend1 "$config_name {"
+       swanctl_xappend2 "local_addrs = $local_leftip"
+       swanctl_xappend2 "remote_addrs = $remote_gateway"
+
+       [ -n "$local_sourceip" ] && swanctl_xappend2 "vips = $local_sourceip"
+       [ -n "$fragmentation" ] && swanctl_xappend2 "fragmentation = $fragmentation"
+
+       swanctl_xappend2 "local {"
+       swanctl_xappend3 "auth = $auth_method"
+
+       [ -n "$local_identifier" ] && swanctl_xappend3 "id = \"$local_identifier\""
+       [ "$auth_method" = pubkey ] && swanctl_xappend3 "certs = $local_cert"
+       swanctl_xappend2 "}"
+
+       swanctl_xappend2 "remote {"
+       swanctl_xappend3 "auth = $auth_method"
+       [ -n "$remote_identifier" ] && swanctl_xappend3 "id = \"$remote_identifier\""
+       swanctl_xappend2 "}"
+
+       swanctl_xappend2 "children {"
+
+       config_list_foreach "$1" tunnel config_tunnel
+
+       config_list_foreach "$1" transport config_transport
+
+       swanctl_xappend2 "}"
+
+       case "$keyexchange" in
+       ike)
+               ;;
+       ikev1)
+               swanctl_xappend2 "version = 1" ;;
+       ikev2)
+               swanctl_xappend2 "version = 2" ;;
+       *)
+               fatal "Keyexchange $keyexchange not supported"
+               keyexchange=
+               ;;
+       esac
+
+       [ $mobike -eq 1 ] && swanctl_xappend2 "mobike = yes" || swanctl_xappend2 "mobike = no"
+
+       if [ -n "$rekeytime" ]; then
+               swanctl_xappend2 "rekey_time = $rekeytime"
+
+               if [ -z "$overtime" ]; then
+                       overtime=$(seconds2time $(($(time2seconds $rekeytime) / 10)))
+               fi
+       fi
+       [ -n "$overtime" ] && swanctl_xappend2 "over_time = $overtime"
+
+       swanctl_xappend2 "proposals = $ike_proposal"
+       [ -n "$dpddelay" ] && swanctl_xappend2 "dpd_delay = $dpddelay"
+       [ "$keyingtries" = "%forever" ] && swanctl_xappend2 "keyingtries = 0" || swanctl_xappend2 "keyingtries = $keyingtries"
+
+       swanctl_xappend1 "}"
+       swanctl_xappend0 "}"
+
+       if [ "$auth_method" = pubkey ]; then
+               swanctl_xappend0 ""
+
+               swanctl_xappend0 "secrets {"
+               swanctl_xappend1 "rsa {"
+               swanctl_xappend2 "filename = $local_key"
+               swanctl_xappend1 "}"
+               swanctl_xappend0 "}"
+
+               swanctl_xappend0 ""
+
+               if [ -n "$ca_cert" ]; then
+                       swanctl_xappend0 "authorities {"
+                       swanctl_xappend1 "$config_name {"
+                       swanctl_xappend2 "cacert = $ca_cert"
+                       swanctl_xappend1 "}"
+                       swanctl_xappend0 "}"
+               fi
+
+       elif [ "$auth_method" = psk ]; then
+               swanctl_xappend0 ""
+
+               swanctl_xappend0 "secrets {"
+               swanctl_xappend1 "ike {"
+               swanctl_xappend2 "secret = $pre_shared_key"
+               if [ -z "$local_id" ]; then
+                       swanctl_xappend2 "id1 = $local_id"
+                       if [ -z "$remote_id" ]; then
+                               swanctl_xappend2 "id2 = $remote_id"
+                       fi
+               fi
+       else
+               fatal "AuthenticationMode $auth_mode not supported"
+       fi
+
+       swanctl_xappend0 ""
+}
+
+do_preamble() {
+       swanctl_xappend0 "# generated by /etc/init.d/swanctl"
+}
+
+config_ipsec() {
+       local debug
+       local rtinstall_enabled
+       local routing_tables_ignored
+       local routing_table
+       local routing_table_id
+       local interface
+       local device_list
+
+       swan_reset
+       swanctl_reset
+       do_preamble
+
+       config_get debug "$1" debug 0
+       config_get_bool rtinstall_enabled "$1" rtinstall_enabled 1
+       [ $rtinstall_enabled -eq 1 ] && install_routes=yes || install_routes=no
+
+       # prepare extra charon config option ignore_routing_tables
+       for routing_table in $(config_get "$1" "ignore_routing_tables"); do
+               if [ "$routing_table" -ge 0 ] 2>/dev/null; then
+                       routing_table_id=$routing_table
+               else
+                       routing_table_id=$(sed -n '/[ \t]*[0-9]\+[ \t]\+'$routing_table'[ \t]*$/s/[ \t]*\([0-9]\+\).*/\1/p' /etc/iproute2/rt_tables)
+               fi
+
+               [ -n "$routing_table_id" ] && append routing_tables_ignored "$routing_table_id"
+       done
+
+       local interface_list=$(config_get "$1" "interface")
+       if [ -z "$interface_list" ]; then
+               WAIT_FOR_INTF=0
+       else
+               for interface in $interface_list; do
+                       network_get_device device $interface
+                       [ -n "$device" ] && append device_list "$device" ","
+               done
+               [ -n "$device_list" ] && WAIT_FOR_INTF=0 || WAIT_FOR_INTF=1
+       fi
+
+       swan_xappend0 "# generated by /etc/init.d/swanctl"
+       swan_xappend0 "charon {"
+       swan_xappend1 "install_routes = $install_routes"
+       [ -n "$routing_tables_ignored" ] && swan_xappend1 "ignore_routing_tables = $routing_tables_ignored"
+       [ -n "$device_list" ] && swan_xappend1 "interfaces_use = $device_list"
+       swan_xappend1 "start-scripts {"
+       swan_xappend2 "load-all = /usr/sbin/swanctl --load-all --noprompt"
+       swan_xappend1 "}"
+       swan_xappend1 "syslog {"
+       swan_xappend2 "identifier = ipsec"
+       swan_xappend2 "daemon {"
+       swan_xappend3 "default = $debug"
+       swan_xappend2 "}"
+       swan_xappend1 "}"
+       swan_xappend0 "}"
+}
+
+prepare_env() {
+       mkdir -p /var/ipsec /var/swanctl
+       config_load ipsec
+       config_foreach config_ipsec ipsec
+       config_foreach config_remote remote
+}
+
+service_running() {
+       swanctl --stats > /dev/null 2>&1
+}
+
+reload_service() {
+       running && {
+               prepare_env
+               [ $WAIT_FOR_INTF -eq 0 ] && {
+                       swanctl --load-all --noprompt
+                       return
+               }
+       }
+
+       start
+}
+
+stop_service() {
+       swan_reset
+       swanctl_reset
+}
+
+service_triggers() {
+       procd_add_reload_trigger "ipsec"
+       config load "ipsec"
+}
+
+start_service() {
+       prepare_env
+
+       [ $WAIT_FOR_INTF -eq 1 ] && return
+
+       if [ $CONFIG_FAIL -ne 0 ]; then
+               procd_set_param error "Invalid configuration"
+               return
+       fi
+
+       procd_open_instance
+
+       procd_set_param command $PROG --daemon charon --nofork
+
+       procd_set_param file $SWANCTL_CONF_FILE
+       procd_append_param file /etc/swanctl/conf.d/*.conf
+       procd_append_param file $STRONGSWAN_CONF_FILE
+
+       procd_set_param respawn
+
+       procd_close_instance
+}
index 488352b35cf8dafa964c68a4aff17f32a010ec76..d17a3c6ceeee588a1c2f14869dfda05f29e620b1 100644 (file)
  #include <sys/socket.h>
  #include <linux/netlink.h>
  #include <linux/rtnetlink.h>
+--- a/src/libstrongswan/plugins/bliss/bliss_huffman.c
++++ b/src/libstrongswan/plugins/bliss/bliss_huffman.c
+@@ -17,6 +17,8 @@
+ #include "bliss_param_set.h"
+ #include <library.h>
++#undef fprintf
++#undef printf
+ #include <stdio.h>
+ #include <math.h>
index dcd244885a1067946be982c1712c3e0e6f327758..2302f17ee49b8810c238ad75bbd37de17f41a9e3 100644 (file)
@@ -8,7 +8,7 @@
  ARG_DISBL_SET([curve25519],     [disable Curve25519 Diffie-Hellman plugin.])
  ARG_DISBL_SET([hmac],           [disable HMAC crypto implementation plugin.])
  ARG_ENABL_SET([md4],            [enable MD4 software implementation plugin.])
-@@ -1473,6 +1474,7 @@ ADD_PLUGIN([botan],                [s ch
+@@ -1478,6 +1479,7 @@ ADD_PLUGIN([botan],                [s ch
  ADD_PLUGIN([af-alg],               [s charon scepclient pki scripts medsrv attest nm cmd aikgen])
  ADD_PLUGIN([fips-prf],             [s charon nm cmd])
  ADD_PLUGIN([gmp],                  [s charon scepclient pki scripts manager medsrv attest nm cmd aikgen fuzz])
@@ -16,7 +16,7 @@
  ADD_PLUGIN([curve25519],           [s charon pki scripts nm cmd])
  ADD_PLUGIN([agent],                [s charon nm cmd])
  ADD_PLUGIN([keychain],             [s charon cmd])
-@@ -1614,6 +1616,7 @@ AM_CONDITIONAL(USE_SHA3, test x$sha3 = x
+@@ -1619,6 +1621,7 @@ AM_CONDITIONAL(USE_SHA3, test x$sha3 = x
  AM_CONDITIONAL(USE_MGF1, test x$mgf1 = xtrue)
  AM_CONDITIONAL(USE_FIPS_PRF, test x$fips_prf = xtrue)
  AM_CONDITIONAL(USE_GMP, test x$gmp = xtrue)
@@ -24,7 +24,7 @@
  AM_CONDITIONAL(USE_CURVE25519, test x$curve25519 = xtrue)
  AM_CONDITIONAL(USE_RDRAND, test x$rdrand = xtrue)
  AM_CONDITIONAL(USE_AESNI, test x$aesni = xtrue)
-@@ -1891,6 +1894,7 @@ AC_CONFIG_FILES([
+@@ -1896,6 +1899,7 @@ AC_CONFIG_FILES([
        src/libstrongswan/plugins/mgf1/Makefile
        src/libstrongswan/plugins/fips_prf/Makefile
        src/libstrongswan/plugins/gmp/Makefile
@@ -68,7 +68,7 @@
 +      ../gmp/gmp_diffie_hellman.c ../gmp/gmp_diffie_hellman.h 
 +
 +      
-+libstrongswan_gmpdh_la_LDFLAGS = -module -avoid-version -Wl,-Bstatic -Wl,-lgmp -Wl,-Bdynamic -Wl,--as-needed
++libstrongswan_gmpdh_la_LDFLAGS = -module -avoid-version -Wl,-Bstatic -Wl,-lgmp -Wl,-Bdynamic -Wl,--as-needed $(FPIC)
 +libstrongswan_gmpdh_la_LIBADD  =
 --- /dev/null
 +++ b/src/libstrongswan/plugins/gmpdh/gmpdh_plugin.c
index aafcad82f1bcc8a341c49f4d6f814c5973ea257d..e6a1461d5ffb342753cb3c5eb4aab5ebc6e53a38 100644 (file)
@@ -236,7 +236,7 @@ issue_cert()
     UPDATE_HAPROXY=$update_haproxy
     USER_CLEANUP=$user_cleanup
 
-    [ "$enabled" -eq "1" ] || return
+    [ "$enabled" -eq "1" ] || return 0
 
     if [ "$APP" = "uacme" ]; then
        [ "$DEBUG" -eq "1" ] && debug="--verbose --verbose"
@@ -250,9 +250,9 @@ issue_cert()
 
     if [ -n "$user_setup" ] && [ -f "$user_setup" ]; then
        log "Running user-provided setup script from $user_setup."
-       "$user_setup" "$main_domain" || return 1
+       "$user_setup" "$main_domain" || return 2
     else
-       [ -n "$webroot" ] || [ -n "$dns" ] || pre_checks "$main_domain" || return 1
+       [ -n "$webroot" ] || [ -n "$dns" ] || pre_checks "$main_domain" || return 2
     fi
 
     log "Running $APP for $main_domain"
@@ -266,7 +266,7 @@ issue_cert()
        if [ -f "$STATE_DIR/$main_domain/cert.pem" ]; then
            log "Found previous cert config, use staging=$use_staging. Issuing renew."
            export CHALLENGE_PATH="$webroot"
-           $ACME $debug --confdir "$STATE_DIR" $staging --never-create issue $domains --hook=$HPROGRAM && ret=0 || ret=1
+           $ACME $debug --confdir "$STATE_DIR" $staging --never-create issue $domains --hook=$HPROGRAM; ret=$?
            post_checks
            return $ret
        fi
@@ -284,7 +284,7 @@ issue_cert()
                mv "$STATE_DIR/$main_domain" "$STATE_DIR/$main_domain.staging"
            else
                log "Found previous cert config. Issuing renew."
-               $ACME --home "$STATE_DIR" --renew -d "$main_domain" "$acme_args" && ret=0 || ret=1
+               $ACME --home "$STATE_DIR" --renew -d "$main_domain" "$acme_args"; ret=$?
                post_checks
                return $ret
            fi
@@ -304,7 +304,7 @@ issue_cert()
            acme_args="$acme_args --dns $dns"
        else
            log "Using dns mode, dns-01 is not wrapped yet"
-           return 1
+           return 2
 #          uacme_args="$uacme_args --dns $dns"
        fi
     elif [ -z "$webroot" ]; then
@@ -313,13 +313,13 @@ issue_cert()
            acme_args="$acme_args --standalone --listen-v6"
        else
            log "Standalone not supported by $APP"
-           return 1
+           return 2
        fi
     else
        if [ ! -d "$webroot" ]; then
            err "$main_domain: Webroot dir '$webroot' does not exist!"
            post_checks
-           return 1
+           return 2
        fi
        log "Using webroot dir: $webroot"
        if [ "$APP" = "uacme" ]; then
@@ -335,13 +335,15 @@ issue_cert()
     else
        workdir="--home"
     fi
-    if ! $ACME $debug $workdir "$STATE_DIR" $staging issue $acme_args $HOOK; then
+
+    $ACME $debug $workdir "$STATE_DIR" $staging issue $acme_args $HOOK; ret=$?
+    if [ "$ret" -ne 0 ]; then
        failed_dir="$STATE_DIR/${main_domain}.failed-$(date +%s)"
        err "Issuing cert for $main_domain failed. Moving state to $failed_dir"
        [ -d "$STATE_DIR/$main_domain" ] && mv "$STATE_DIR/$main_domain" "$failed_dir"
        [ -d "$STATE_DIR/private/$main_domain" ] && mv "$STATE_DIR/private/$main_domain" "$failed_dir"
        post_checks
-       return 1
+       return $ret
     fi
 
     if [ -e /etc/init.d/uhttpd ] && [ "$update_uhttpd" -eq "1" ]; then
@@ -393,6 +395,50 @@ issue_cert()
     post_checks
 }
 
+issue_cert_with_retries() {
+       local section="$1"
+       local use_staging
+       local retries
+       local infinite_retries
+       config_get_bool use_staging "$section" use_staging
+       config_get retries "$section" retries
+
+       [ -z "$retries" ] && retries=1
+       [ "$retries" -eq "0" ] && infinite_retries=1
+
+       while true; do
+               issue_cert "$1"; ret=$?
+
+               if [ "$ret" -eq "2" ]; then
+                       # An error occurred while retrieving the certificate.
+                       retries="$((retries-1))"
+
+                       if [ -z "$infinite_retries" ] && [ "$retries" -lt "1" ]; then
+                               log "An error occurred while retrieving the certificate. Retries exceeded."
+                               return "$ret"
+                       fi
+
+                       if [ "$use_staging" -eq "1" ]; then
+                               # The "Failed Validations" limit of LetsEncrypt is 60 per hour. This
+                               # means one failure every minute. Here we wait 2 minutes to be within
+                               # limits for sure.
+                               sleeptime=120
+                       else
+                               # There is a "Failed Validation" limit of LetsEncrypt is 5 failures per
+                               # account, per hostname, per hour. This means one failure every 12
+                               # minutes. Here we wait 25 minutes to be within limits for sure.
+                               sleeptime=1500
+                       fi
+
+                       log "An error occurred while retrieving the certificate. Retrying in $sleeptime seconds."
+                       sleep "$sleeptime"
+                       continue
+               else
+                       return "$ret";
+               fi
+       done
+}
+
 load_vars()
 {
     local section="$1"
@@ -403,9 +449,11 @@ load_vars()
     DEBUG=$(config_get "$section" debug)
 }
 
-check_cron
-[ -n "$CHECK_CRON" ] && exit 0
-[ -e "/var/run/acme_boot" ] && rm -f "/var/run/acme_boot" && exit 0
+if [ -z "$INCLUDE_ONLY" ]; then
+    check_cron
+    [ -n "$CHECK_CRON" ] && exit 0
+    [ -e "/var/run/acme_boot" ] && rm -f "/var/run/acme_boot" && exit 0
+fi
 
 config_load acme
 config_foreach load_vars acme
@@ -421,6 +469,8 @@ fi
 trap err_out HUP TERM
 trap int_out INT
 
-config_foreach issue_cert cert
+if [ -z "$INCLUDE_ONLY" ]; then
+    config_foreach issue_cert_with_retries cert
 
-exit 0
+    exit 0
+fi
index 2bf54ad9b6911b6b71c4b0f84f39cfc4fa0debc1..ef44d93cee9b2bf9bedc26d109ee2feff9158ef9 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xinetd
 PKG_VERSION:=2.3.15
-PKG_RELEASE:=10
+PKG_RELEASE:=11
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/xinetd-org/xinetd/archive
index c08671735a8d60e9e9837eea93e3609402854fa9..bfc9b318d664a9615d465a439a2e3972f3cc9b3e 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh /etc/rc.common
 # Copyright (C) 2006-2011 OpenWrt.org
 
-. /lib/functions.sh
+. ${IPKG_INSTROOT}/lib/functions.sh
 
 START=50
 STOP=10
index 8889b7ea2a0a5149e3a515abd3ef4578c2e69e23..1264dc9a7f5213c74c577ff73d127154bd3d060f 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xray-core
-PKG_VERSION:=1.4.1
+PKG_VERSION:=1.4.2
 PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/XTLS/Xray-core/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=0dfedb6e133f431e9588a84b7a36112e058bf09ced2d10ffe603ab0db6610430
+PKG_HASH:=565255d8c67b254f403d498b9152fa7bc097d649c50cb318d278c2be644e92cc
 
 PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
 PKG_LICENSE:=MPL-2.0
@@ -80,24 +80,24 @@ define Package/xray-core/conffiles
 /etc/config/xray
 endef
 
-GEOIP_VER:=202103250007
+GEOIP_VER:=202104010913
 GEOIP_FILE:=geoip.dat.$(GEOIP_VER)
 
 define Download/geoip
   URL:=https://github.com/v2fly/geoip/releases/download/$(GEOIP_VER)/
   URL_FILE:=geoip.dat
   FILE:=$(GEOIP_FILE)
-  HASH:=eca0b25e528167dbdec6c130b6a5240284ce20b28158d1448f8dbeddace2e8cf
+  HASH:=f94e464f7f37e6f3c88c2aa5454ab02a4b840bc44c75c5001719a618916906cf
 endef
 
-GEOSITE_VER:=20210330120529
+GEOSITE_VER:=20210401091829
 GEOSITE_FILE:=dlc.dat.$(GEOSITE_VER)
 
 define Download/geosite
   URL:=https://github.com/v2fly/domain-list-community/releases/download/$(GEOSITE_VER)/
   URL_FILE:=dlc.dat
   FILE:=$(GEOSITE_FILE)
-  HASH:=e7f41feadae73854a2e2103aa5e09f3e8d6ed924391e3963d3b1a67ef61d6ad2
+  HASH:=ee9778dc00b703905ca1f400ad13dd462eae52c5aee6465f0a7543b0232c9d08
 endef
 
 define Build/Prepare
index aa742e6688a601b790c2d4ce50bb73ec9c29d7ae..87174bb6b50ec3599d766912cfd88d8e3834122c 100644 (file)
@@ -7,5 +7,6 @@ config xray 'config'
        option confdir '/etc/xray'
        list conffiles '/etc/xray/config.json'
        option datadir '/usr/share/xray'
+       option dialer ''
        option format 'json'
 
index b6fe7043b2eb75bb9127b7ce3a3d02eef933888f..683c7353b8f4f73e5a52ae9794cf63aa1ab626ad 100755 (executable)
@@ -17,12 +17,14 @@ start_service() {
        local confdir
        local conffiles
        local datadir
+       local dialer
        local format
        local fullcone
 
        config_get confdir "config" "confdir"
        config_get conffiles "config" "conffiles"
        config_get datadir "config" "datadir" "/usr/share/xray"
+       config_get dialer "config" "dialer"
        config_get format "config" "format" "json"
        config_get fullcone "enabled" "fullcone" "0"
 
@@ -35,7 +37,8 @@ start_service() {
                        procd_append_param command -config "$i"
                done
        }
-       procd_append_param command -format "$format"
+       [ -n "$format" ] && procd_append_param command -format "$format"
+       [ -n "$dialer" ] && procd_set_param env XRAY_BROWSER_DIALER="$dialer"
        [ "$fullcone" -eq "0" ] && procd_set_param env XRAY_CONE_DISABLED="true"
        procd_set_param env XRAY_LOCATION_ASSET="$datadir"
        procd_set_param file $conffiles
index 14f16e41819f6789c6b083e85b0059e35b6460c8..7b1a671fab77cbc59cc46465605a421bcc44d5bb 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=yggdrasil
-PKG_VERSION:=0.3.15
+PKG_VERSION:=0.3.16
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/yggdrasil-network/yggdrasil-go/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=25ea85399a142aa7a3d6f6886fd4e0d215116c4c8c33453de43999787d735565
+PKG_HASH:=e03595b78906b171155aaa11c922be3418bd056f8547e4d9f5123b6047316eac
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-go-$(PKG_VERSION)
 
 PKG_MAINTAINER:=William Fleurant <meshnet@protonmail.com>
index 7613193e0be5c3e30421c64ac35a58c3c0298965..f16ab6d0827a019bb3c27e97b074a5e77eef2ad6 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pulseaudio
 PKG_VERSION:=14.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://freedesktop.org/software/pulseaudio/releases
diff --git a/sound/pulseaudio/patches/020-doxygen.patch b/sound/pulseaudio/patches/020-doxygen.patch
new file mode 100644 (file)
index 0000000..1333943
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/meson.build
++++ b/meson.build
+@@ -698,7 +698,6 @@ check_dep = dependency('check', version
+ # Subdirs
+-subdir('doxygen')
+ subdir('po')
+ if get_option('man')
+   subdir('man')
index 7eb7d43930b38672c0b0d1818e4e0112e4259731..05612ff250b4fed9523b023e85118475c03dea9c 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=upmpdcli
-PKG_VERSION:=1.5.9
+PKG_VERSION:=1.5.11
 PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.lesbonscomptes.com/upmpdcli/downloads
-PKG_HASH:=9fda0b59db8a8b4f283333a89dcca19d70fb8820286d3d071b7c80de38eb7116
+PKG_HASH:=7c8c6ab866114699405223c60457448dcce35fc13e1e374f68b60eefc55f4f04
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=LGPL-2.1-or-later
index fc0283ffa24bb74e8b14e1dfe1e9bb657b51b138..bb695668dfff7985ed3489955bf6ac840de8d586 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=atheepmgr
 PKG_VERSION:=2.1.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE_VERSION:=$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE_PROTO:=git
@@ -60,7 +60,7 @@ endef
 
 MAKE_VARS += \
        OS=Linux \
-       HAVE_LIBPCIACCESS=n \
+       CONFIG_CON_PCI=n \
        CONFIG_I_KNOW_WHAT_I_AM_DOING=$(CONFIG_ATHEEPMGR_DANGEROUS_FUNCTIONS) \
 
 define Package/atheepmgr/install
diff --git a/utils/autopart/Makefile b/utils/autopart/Makefile
deleted file mode 100644 (file)
index dcd211b..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=autopart
-PKG_VERSION:=0.1
-PKG_RELEASE:=$(AUTORELEASE)
-
-PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
-PKG_LICENSE:=GPL-2.0-or-later
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/autopart
-  SECTION:=utils
-  CATEGORY:=Utilities
-  SUBMENU:=Disc
-  TITLE:=Automatically initialize LVM partition
-  DEPENDS:=+lvm2 +partx-utils +sfdisk
-  PKGARCH=all
-endef
-
-define Package/autopart/description
- Automatically allocate the GPT partition for LVM and initialize it
- on first boot.
-endef
-
-define Build/Prepare
-endef
-
-define Build/Configure
-endef
-
-define Build/Compile
-endef
-
-define Package/autopart/install
-       $(INSTALL_DIR) $(1)/etc/uci-defaults
-       $(INSTALL_BIN) ./files/autopart $(1)/etc/uci-defaults/30-autopart
-endef
-
-$(eval $(call BuildPackage,autopart))
diff --git a/utils/autopart/files/autopart b/utils/autopart/files/autopart
deleted file mode 100644 (file)
index 6d946c6..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/sh
-
-. /lib/functions.sh
-. /lib/upgrade/common.sh
-
-OWRT_VOLUMES=owrt-volumes
-
-part_fixup() {
-       echo "write" | sfdisk --force -q -w never $1
-}
-
-get_free_area() {
-       local found=
-       sfdisk -q -F "$1" 2>/dev/null | while read start end sectors size; do
-               case $start in
-               *"Unpartitioned"* | *"Units:"* | *"Sector"* | *"Start"* )
-                       continue
-                       ;;
-               [0-9]*)
-                       case "$size" in
-                               *"M")
-                                       [ "${size%%M}" -lt 100 ] && continue
-                                       ;;
-                               *"G" | *"T")
-                                       ;;
-                               *"k" | *"b")
-                                       continue
-                                       ;;
-                       esac
-                       [ "$found" ] || echo "start=$start, size=$((end - start))"
-                       found=1
-                       ;;
-               esac
-       done
-}
-
-create_lvm_part() {
-       local disk=$1
-       local freepart
-
-       freepart="$(get_free_area $disk)"
-       if [ "$freepart" ]; then
-               echo "$freepart, type=lvm, name=$OWRT_VOLUMES" | sfdisk --force -w never -a $disk
-               partx -a $disk 1>/dev/null 2>/dev/null || true
-               return 0
-       else
-               return 1
-       fi
-}
-
-lvm_init() {
-       lvm pvcreate -f $1
-       lvm vgcreate "$2" $1
-       lvm vgs
-}
-
-autopart_init() {
-       local diskdev
-       local lvmpart
-       local diskserial
-
-       export_bootdevice && export_partdevice diskdev 0
-
-       [ "$diskdev" ] || return
-
-       [ -e "/sys/class/block/$diskdev/device/serial" ] && diskserial=$(cat /sys/class/block/$diskdev/device/serial)
-
-       part_fixup /dev/$diskdev
-       create_lvm_part /dev/$diskdev || return
-       lvmpart=$(get_partition_by_name $diskdev $OWRT_VOLUMES)
-
-       [ "$lvmpart" ] || return
-       lvm_init /dev/$lvmpart "${OWRT_VOLUMES}${diskserial}"
-}
-
-autopart_init
-exit 0
index ca03b62853ca91bea71e54c921dbbb151bae6ffb..b15a145d457a45061d1578de0537ea9323a69662 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=bash
 PKG_VERSION:=5.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@GNU/bash
diff --git a/utils/bash/patches/902-missing-params.patch b/utils/bash/patches/902-missing-params.patch
new file mode 100644 (file)
index 0000000..45d3281
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/lib/sh/strtod.c
++++ b/lib/sh/strtod.c
+@@ -41,6 +41,8 @@ extern int errno;
+ #include <bashansi.h>
++#include <stdc.h>
++
+ #ifndef NULL
+ #  define NULL 0
+ #endif
index 7c27f1bd3cb17d9362247e15d90ec7e8806a9584..fce59ff0e5b303dd91d715badcbcf42e801ed306 100644 (file)
@@ -1,7 +1,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=cache-domains
-PKG_VERSION:=2.2.0
+PKG_VERSION:=2.2.1
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Gerard Ryan <G.M0N3Y.2503@gmail.com>
index d7e4412fcccb62f37a76265150600d047c6a79cd..45c6f1fcda66d1759403c6a573003d01914ed9bf 100644 (file)
@@ -6,7 +6,7 @@ set -e
 
 CACHE_DOMAINS_SRC="https://api.github.com/repos/uklans/cache-domains/tarball/master"
 CACHE_DOMAINS_DIR="/var/cache-domains"
-CACHE_DOMAINS_HOSTS_DIR="${CACHE_DOMAINS_DIR}/scripts/output/dnsmasq"
+CACHE_DOMAINS_HOSTS_DIR="${CACHE_DOMAINS_DIR}/scripts/output/dnsmasq/hosts"
 CONFIG_FILE="/etc/cache-domains.json"
 
 uci_changes() {
@@ -41,8 +41,8 @@ configure() {
        INITIAL_DIR="$(pwd)"
        cd "${CACHE_DOMAINS_DIR}/scripts/"
        cp "${CONFIG_FILE}" "config.json"
-       ./create-dnsmasq.sh
-       rm "config.json" "${CACHE_DOMAINS_HOSTS_DIR}/lancache.conf"
+       ./create-dnsmasq.sh > /dev/null
+       rm "config.json" "${CACHE_DOMAINS_HOSTS_DIR}/../lancache.conf"
        cd "${INITIAL_DIR}"
 
        while uci_get "dhcp" "@dnsmasq[${I}]" > /dev/null; do
index 3b09bb44fda17143943438b315cf0a56d894a376..8d9f1c2850ce6fb4d8e914b15d97c1b4782fcf4a 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=collectd
 PKG_VERSION:=5.12.0
-PKG_RELEASE:=8
+PKG_RELEASE:=9
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://collectd.org/files/ \
@@ -434,7 +434,7 @@ $(eval $(call BuildPlugin,chrony,chrony status input,chrony,))
 $(eval $(call BuildPlugin,conntrack,connection tracking table size input,conntrack,))
 $(eval $(call BuildPlugin,contextswitch,context switch input,contextswitch,))
 $(eval $(call BuildPlugin,cpu,CPU input,cpu,))
-$(eval $(call BuildPlugin,cpufreq,CPU Freq input,cpufreq,@(TARGET_x86||TARGET_x86_64||TARGET_mvebu||TARGET_ipq806x||TARGET_armvirt||TARGET_ipq40xx||TARGET_bcm27xx_bcm2709))) # Only enable on targets with CPUs supporting frequency scaling
+$(eval $(call BuildPlugin,cpufreq,CPU Freq input,cpufreq,@(TARGET_x86||TARGET_x86_64||TARGET_mvebu||TARGET_ipq806x||TARGET_armvirt||TARGET_ipq40xx||TARGET_bcm27xx_bcm2709||TARGET_rockchip))) # Only enable on targets with CPUs supporting frequency scaling
 $(eval $(call BuildPlugin,csv,CSV output,csv,))
 $(eval $(call BuildPlugin,curl,cURL input,curl,+PACKAGE_collectd-mod-curl:libcurl))
 #$(eval $(call BuildPlugin,dbi,relational database input,dbi,+PACKAGE_collectd-mod-dbi:libdbi))
diff --git a/utils/collectd/patches/934-ubi-prepare-read-for-percent.patch b/utils/collectd/patches/934-ubi-prepare-read-for-percent.patch
new file mode 100644 (file)
index 0000000..0277863
--- /dev/null
@@ -0,0 +1,66 @@
+--- a/src/ubi.c
++++ b/src/ubi.c
+@@ -84,9 +84,8 @@ static void ubi_submit(const char *dev_n
+   plugin_dispatch_values(&vl);
+ } /* void ubi_submit */
+-static int ubi_read_dev_attr(const char *dev_name, const char *attr) {
++static int ubi_read_dev_attr(const char *dev_name, const char *attr, int *value) {
+   FILE *f;
+-  int val;
+   char
+       str[sizeof(SYS_PATH) + strlen(dev_name) + sizeof("/") + strlen(attr) + 1];
+   int n;
+@@ -98,7 +97,7 @@ static int ubi_read_dev_attr(const char
+     return -1;
+   }
+-  n = fscanf(f, "%d", &val);
++  n = fscanf(f, "%d", value);
+   fclose(f);
+   if (n != 1) {
+@@ -106,17 +105,39 @@ static int ubi_read_dev_attr(const char
+     return -1;
+   }
+-  ubi_submit(dev_name, attr, (gauge_t)val);
+-
+   return 0;
+ } /* int ubi_read_dev_attr */
+ static inline int ubi_read_dev_bad_count(const char *dev_name) {
+-  return ubi_read_dev_attr(dev_name, DEV_BAD_COUNT);
++  int ret;
++  int value;
++
++  ret = ubi_read_dev_attr(dev_name, DEV_BAD_COUNT, &value);
++
++  if (ret != 0) {
++    ERROR(PLUGIN_NAME " : Unable to read bat_peb_count");
++    return -1;
++  }
++
++  ubi_submit(dev_name, DEV_BAD_COUNT, (gauge_t)value);
++
++  return 0;
+ } /* int ubi_read_dev_bad_count */
+ static inline int ubi_read_max_ec(const char *dev_name) {
+-  return ubi_read_dev_attr(dev_name, MAXIMUM_ERASE);
++  int ret;
++  int value;
++
++  ret = ubi_read_dev_attr(dev_name, MAXIMUM_ERASE, &value);
++
++  if (ret != 0) {
++    ERROR(PLUGIN_NAME " : Unable to read max_ec");
++    return -1;
++  }
++
++  ubi_submit(dev_name, MAXIMUM_ERASE, (gauge_t)value);
++
++  return 0;
+ } /* int ubi_read_max_ec */
+ static int ubi_read(void) {
diff --git a/utils/collectd/patches/935-ubi-add-percent.patch b/utils/collectd/patches/935-ubi-add-percent.patch
new file mode 100644 (file)
index 0000000..4736b85
--- /dev/null
@@ -0,0 +1,56 @@
+--- a/src/ubi.c
++++ b/src/ubi.c
+@@ -35,6 +35,9 @@
+ #define DEV_BAD_COUNT                                                          \
+   "bad_peb_count" // Count of bad physical eraseblocks on the underlying MTD
+                   // device.
++// Value reserved for bad block
++#define DEV_RESERVED_BAD_BLOCK "reserved_for_bad"
++
+ #define MAXIMUM_ERASE "max_ec" // Current maximum erase counter value
+ /*
+@@ -140,6 +143,35 @@ static inline int ubi_read_max_ec(const
+   return 0;
+ } /* int ubi_read_max_ec */
++static inline int ubi_read_percent(const char *dev_name) {
++  int ret;
++  int bcount;
++  int bblock;
++
++  ret = ubi_read_dev_attr(dev_name, DEV_BAD_COUNT, &bcount);
++
++  if (ret != 0) {
++    ERROR(PLUGIN_NAME " : Unable to read bad_peb_count");
++    return -1;
++  }
++
++  ret = ubi_read_dev_attr(dev_name, DEV_RESERVED_BAD_BLOCK, &bblock);
++
++  if (ret != 0) {
++    ERROR(PLUGIN_NAME " : Unable to read reserved_for_bad");
++    return -1;
++  }
++
++  if (bblock == 0) {
++    ERROR(PLUGIN_NAME " : Percentage value cannot be determined (reserved_for_bad = 0)");
++    return -2;
++  }
++
++  ubi_submit(dev_name, "percent", (gauge_t)((float_t)bcount / (float_t)bblock * 100.0));
++
++  return 0;
++} /* int ubi_read_percent */
++
+ static int ubi_read(void) {
+   DIR *dir;
+   struct dirent *dirent;
+@@ -155,6 +187,7 @@ static int ubi_read(void) {
+     ubi_read_dev_bad_count(dirent->d_name);
+     ubi_read_max_ec(dirent->d_name);
++    ubi_read_percent(dirent->d_name);
+   }
+   closedir(dir);
index 4a6b75854a447ac67eabe1b42a2bad837d6dcb08..5ba58ec228deda08bcba63d48c3f02118a2e3c82 100644 (file)
@@ -26,7 +26,7 @@ define Package/crun
   CATEGORY:=Utilities
   TITLE:=crun
   URL:=https://github.com/containers/crun
-  DEPENDS:=+libseccomp +libcap
+  DEPENDS:=@!arc +libseccomp +libcap
 endef
 
 define Package/crun/description
index 0ebeb7a3be8008ed00257152a3fc7a29508894e7..94bfa2e94f1c13c01be30a3ca62c80befa06e9de 100644 (file)
@@ -8,27 +8,25 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dbus
-PKG_VERSION:=1.13.12
-PKG_RELEASE:=1
+PKG_VERSION:=1.13.18
+PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://dbus.freedesktop.org/releases/dbus
-PKG_HASH:=7588649b56dd257c6a5f85a8c45aa2dfdf9e99f4de3983710f452081ca43eca6
+PKG_HASH:=8078f5c25e34ab907ce06905d969dc8ef0ccbec367e1e1707c7ecf8460f4254e
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=AFL-2.1
 PKG_CPE_ID:=cpe:/a:freedesktop:dbus
 
-PKG_BUILD_PARALLEL:=1
-PKG_INSTALL:=1
-
 include $(INCLUDE_DIR)/package.mk
+include ../../devel/ninja/ninja-cmake.mk
 
 define Package/dbus/Default
   SECTION:=utils
   CATEGORY:=Utilities
   TITLE:=Simple interprocess messaging system
-  URL:=http://dbus.freedesktop.org/
+  URL:=https://dbus.freedesktop.org/
 endef
 
 define Package/dbus/Default/description
@@ -73,32 +71,19 @@ $(call Package/dbus/Default/description)
  This package contains D-Bus utilities.
 endef
 
-CONFIGURE_ARGS += \
-       --disable-maintainer-mode \
-       --disable-developer \
-       --enable-debug=no \
-       --enable-shared \
-       --disable-static \
-       --disable-verbose-mode \
-       --disable-asserts \
-       --disable-xml-docs \
-       --disable-doxygen-docs \
-       --disable-ducktype-docs \
-       --disable-selinux \
-       --disable-apparmor \
-       --disable-libaudit \
-       --enable-inotify \
-       --disable-kqueue \
-       --disable-console-owner-file \
-       --disable-systemd \
-       --disable-tests \
-       --disable-code-coverage \
-       --disable-x11-autolaunch \
-       --with-session-socket-dir=/tmp \
-       --with-system-socket=/var/run/dbus/system_bus_socket \
-       --with-system-pid-file=/var/run/dbus.pid \
-       --with-dbus-user=root \
-       --without-x
+CMAKE_OPTIONS += \
+       -DDBUS_BUILD_TESTS=OFF \
+       -DDBUS_LINUX=ON \
+       -DDBUS_DISABLE_ASSERT=ON \
+       -DBUS_ENABLE_STATS=OFF \
+       -DDBUS_ENABLE_CONTAINERS=OFF \
+       -DENABLE_SYSTEMD=OFF \
+       -DDBUS_BUS_ENABLE_SYSTEMD=OFF \
+       -DHAVE_SYSTEMD=OFF \
+       -DDBUS_WITH_GLIB=OFF \
+       -DDBUS_ENABLE_VERBOSE_MODE=OFF \
+       -DDBUS_DISABLE_CHECKS=ON \
+       -DDBUS_BUILD_X11=OFF \
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
@@ -108,7 +93,7 @@ define Build/InstallDev
                $(PKG_INSTALL_DIR)/usr/lib/dbus-1.0/include/dbus/*.h \
                $(1)/usr/lib/dbus-1.0/include/dbus/
        $(INSTALL_DIR) $(1)/usr/lib
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libdbus-1.{so*,la} \
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libdbus-1.so* \
                $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/dbus-1.0 $(1)/usr/lib/
        $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
@@ -129,7 +114,7 @@ define Package/dbus/install
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dbus-uuidgen $(1)/usr/bin/
        $(INSTALL_BIN) ./files/dbus-launch $(1)/usr/bin/
        $(INSTALL_DIR) $(1)/usr/lib
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/dbus-daemon-launch-helper $(1)/usr/lib/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/dbus-daemon-launch-helper $(1)/usr/lib/
        $(INSTALL_DIR) $(1)/etc/init.d
        $(INSTALL_BIN) ./files/dbus.init $(1)/etc/init.d/dbus
        $(INSTALL_DIR) $(1)/usr/share/dbus-1
index 7aca1956e3671d8ec0a2f01a0bc717f8ec83c41b..d20f1f3057588eabf13c7fc303a3dfedb40ce820 100644 (file)
@@ -1,11 +1,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=docker-compose
-PKG_VERSION:=1.28.6
+PKG_VERSION:=1.29.1
 PKG_RELEASE:=1
 
 PYPI_NAME:=docker-compose
-PKG_HASH:=1d44906f7ab738ba2d1785130ed31b16111eee6dc5a1dbd7252091dae48c5281
+PKG_HASH:=d2064934f5084db8a0c4805e226447bf1fd0c928419be95afb6bd1866838c1f1
 
 PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>
 PKG_LICENSE:=Apache-2.0
index 1ac865253e5fd1c1a02b7e47e4b14aa8270bfb1e..75111a2a2f1ee0ccba45a7175655a3cff98b9ad2 100644 (file)
@@ -35,10 +35,9 @@ define Package/libdevmapper/Default
 endef
 
 
-define Package/libdevmapper-normal
+define Package/libdevmapper
   $(call Package/libdevmapper/Default)
   VARIANT := normal
-  PROVIDES := libdevmapper
 endef
 
 define Package/libdevmapper-selinux
@@ -48,13 +47,13 @@ define Package/libdevmapper-selinux
   PROVIDES := libdevmapper
 endef
 
-define Package/libdevmapper-normal/description
+define Package/libdevmapper/description
  The device-mapper is a component of the 2.6 linux kernel that supports logical
  volume management. It is required by LVM2 and EVMS.
 endef
 
 define Package/libdevmapper-selinux/description
-$(call Package/libdevmapper-normal/description)
+$(call Package/libdevmapper/description)
  This variant supports SELinux
 
 endef
@@ -68,11 +67,10 @@ define Package/lvm2/default
   DEPENDS:=+libreadline +libncurses +libaio
 endef
 
-define Package/lvm2-normal
+define Package/lvm2
   $(call Package/lvm2/default)
   VARIANT := normal
-  DEPENDS += +libdevmapper-normal
-  PROVIDES := lvm2
+  DEPENDS += +libdevmapper
 endef
 
 define Package/lvm2-selinux
@@ -82,14 +80,14 @@ define Package/lvm2-selinux
   PROVIDES := lvm2
 endef
 
-define Package/lvm2-normal/description
+define Package/lvm2/description
  LVM2 refers to a new userspace toolset that provide logical volume management
  facilities on linux. It is reasonably backwards-compatible with the original
  LVM toolset.
 endef
 
 define Package/lvm2-selinux/description
-$(call Package/lvm2-normal/description)
+$(call Package/lvm2/description)
  This variant supports SELinux
 
 endef
@@ -125,14 +123,14 @@ define Build/InstallDev
        $(CP) $(PKG_BUILD_DIR)/libdm/libdevmapper.pc $(1)/usr/lib/pkgconfig
 endef
 
-define Package/libdevmapper-normal/install
+define Package/libdevmapper/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdevmapper.so.* $(1)/usr/lib
 endef
 
-Package/libdevmapper-selinux/install = $(Package/libdevmapper-normal/install)
+Package/libdevmapper-selinux/install = $(Package/libdevmapper/install)
 
-define Package/lvm2-normal/install
+define Package/lvm2/install
        $(INSTALL_DIR) $(1)/sbin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/lvm $(1)/sbin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dmsetup $(1)/sbin
@@ -149,15 +147,15 @@ define Package/lvm2-normal/install
        $(FIND) $(PKG_INSTALL_DIR)/usr/sbin/ -type l -exec $(CP) -a {} $(1)/sbin/ \;
 endef
 
-Package/lvm2-selinux/install = $(Package/lvm2-normal/install)
+Package/lvm2-selinux/install = $(Package/lvm2/install)
 
-define Package/lvm2-normal/conffiles
+define Package/lvm2/conffiles
 /etc/lvm/lvm.conf
 endef
 
 Package/lvm2-selinux/conffiles = $(Package/lvm2/conffiles)
 
-$(eval $(call BuildPackage,libdevmapper-normal))
+$(eval $(call BuildPackage,libdevmapper))
 $(eval $(call BuildPackage,libdevmapper-selinux))
-$(eval $(call BuildPackage,lvm2-normal))
+$(eval $(call BuildPackage,lvm2))
 $(eval $(call BuildPackage,lvm2-selinux))
index b6f73d9394bd835700edcd38641898bcfee421f2..b2cdbadf6bff293f2cd73620392a67bc386ac7be 100644 (file)
@@ -8,16 +8,20 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=stm32flash
-PKG_VERSION:=0.5
-PKG_RELEASE:=3
+PKG_VERSION:=0.6
+PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/$(PKG_NAME)
-PKG_HASH:=97aa9422ef02e82f7da9039329e21a437decf972cb3919ad817f70ac9a49e306
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
+PKG_HASH:=ee9b40d4d3e5cd28b993e08ae2a2c3c559b6bea8730cd7e1d40727dedb1dda09
+
 PKG_MAINTAINER:=Christian Pointner <equinox@spreadspace.org>
 PKG_LICENSE:=GPL-2.0-or-later
 PKG_LICENSE_FILES:=gpl-2.0.txt
+
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+
 include $(INCLUDE_DIR)/package.mk
 
 define Package/stm32flash
@@ -35,7 +39,7 @@ endef
 
 define Package/stm32flash/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/stm32flash $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/stm32flash $(1)/usr/bin/
 endef
 
 $(eval $(call BuildPackage,stm32flash))
diff --git a/utils/stm32flash/patches/100-add_support_for_stm32g4.patch b/utils/stm32flash/patches/100-add_support_for_stm32g4.patch
deleted file mode 100644 (file)
index f4ec0db..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/dev_table.c
-+++ b/dev_table.c
-@@ -90,6 +90,8 @@ const stm32_dev_t devices[] = {
-       {0x434, "STM32F469xx"                     , 0x20003000, 0x20060000, 0x08000000, 0x08200000,  1, f4db  , 0x1FFEC000, 0x1FFFC00F, 0x1FFF0000, 0x1FFF7800, 0},
-       /* F7 */
-       {0x449, "STM32F74xxx/75xxx"               , 0x20004000, 0x20050000, 0x08000000, 0x08100000,  1, f7    , 0x1FFF0000, 0x1FFF001F, 0x1FF00000, 0x1FF0EDC0, 0},
-+      /* G4 */
-+      {0x468, "STM32G431xx/441xx"               , 0x20000000, 0x20004000, 0x08000000, 0x08020000,  1, p_2k  , 0x1FFF7800, 0x1FFF780F, 0x1FFF0000, 0x1FFF7000, 0},
-       /* L0 */
-       {0x425, "STM32L031xx/041xx"               , 0x20001000, 0x20002000, 0x08000000, 0x08008000, 32, p_128 , 0x1FF80000, 0x1FF8001F, 0x1FF00000, 0x1FF01000, 0},
-       {0x417, "STM32L05xxx/06xxx"               , 0x20001000, 0x20002000, 0x08000000, 0x08010000, 32, p_128 , 0x1FF80000, 0x1FF8001F, 0x1FF00000, 0x1FF01000, 0},
diff --git a/utils/uvol/Makefile b/utils/uvol/Makefile
new file mode 100644 (file)
index 0000000..64fb023
--- /dev/null
@@ -0,0 +1,73 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=uvol
+PKG_VERSION:=0.2
+PKG_RELEASE:=$(AUTORELEASE)
+
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+PKG_LICENSE:=GPL-2.0-or-later
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/autopart
+  SECTION:=utils
+  CATEGORY:=Utilities
+  SUBMENU:=Disc
+  TITLE:=Automatically initialize LVM partition
+  DEPENDS:=+lvm2 +partx-utils +sfdisk
+  PKGARCH=all
+endef
+
+define Package/autopart/description
+ Automatically allocate the GPT partition for LVM and initialize it
+ on first boot.
+endef
+
+define Package/uvol
+  SECTION:=utils
+  CATEGORY:=Utilities
+  SUBMENU:=Disc
+  TITLE:=OpenWrt UBI/LVM volume abstraction
+  PKGARCH=all
+endef
+
+define Package/uvol/description
+  'uvol' is tool to automate storage volume handling on embedded
+  devices in a generic way.
+  Also install the 'autopart' package to easily make use of 'uvol' on
+  block-storage based devices.
+
+  Examples:
+  uvol create example_volume_1 256MiB rw
+  uvol up example_volume_1
+  uvol device example_volume_1
+
+  uvol create example_volume_2 9812733 ro
+  cat example_volume_2.squashfs | uvol write example_volume_2 9812733
+  uvol up example_volume_2
+  uvol device example_volume_2
+endef
+
+define Build/Prepare
+endef
+
+define Build/Configure
+endef
+
+define Build/Compile
+endef
+
+define Package/autopart/install
+       $(INSTALL_DIR) $(1)/etc/uci-defaults
+       $(INSTALL_BIN) ./files/autopart.defaults $(1)/etc/uci-defaults/30-autopart
+endef
+
+define Package/uvol/install
+       $(INSTALL_DIR) $(1)/usr/sbin $(1)/usr/libexec/uvol
+       $(INSTALL_BIN) ./files/uvol $(1)/usr/sbin
+       $(INSTALL_BIN) ./files/ubi.sh $(1)/usr/libexec/uvol/20-ubi.sh
+       $(INSTALL_BIN) ./files/lvm.sh $(1)/usr/libexec/uvol/50-lvm.sh
+endef
+
+$(eval $(call BuildPackage,autopart))
+$(eval $(call BuildPackage,uvol))
diff --git a/utils/uvol/files/autopart.defaults b/utils/uvol/files/autopart.defaults
new file mode 100644 (file)
index 0000000..c35b238
--- /dev/null
@@ -0,0 +1,77 @@
+#!/bin/sh
+
+. /lib/functions.sh
+. /lib/upgrade/common.sh
+
+OWRT_VOLUMES=owrt-volumes
+
+part_fixup() {
+       echo "write" | sfdisk --force -q -w never $1
+}
+
+get_free_area() {
+       local found=
+       sfdisk -q -F "$1" 2>/dev/null | while read start end sectors size; do
+               case $start in
+               *"Unpartitioned"* | *"Units:"* | *"Sector"* | *"Start"* )
+                       continue
+                       ;;
+               [0-9]*)
+                       case "$size" in
+                               *"M")
+                                       [ "${size%%M}" -lt 100 ] && continue
+                                       ;;
+                               *"G" | *"T")
+                                       ;;
+                               *"k" | *"b")
+                                       continue
+                                       ;;
+                       esac
+                       [ "$found" ] || echo "start=$start, size=$((end - start))"
+                       found=1
+                       ;;
+               esac
+       done
+}
+
+create_lvm_part() {
+       local disk=$1
+       local freepart
+
+       freepart="$(get_free_area $disk)"
+       if [ "$freepart" ]; then
+               echo "$freepart, type=lvm, name=$OWRT_VOLUMES" | sfdisk --force -w never -a $disk
+               partx -a $disk 1>/dev/null 2>/dev/null || true
+               return 0
+       else
+               return 1
+       fi
+}
+
+lvm_init() {
+       lvm pvcreate -f $1
+       lvm vgcreate "$2" $1
+       lvm vgs
+}
+
+autopart_init() {
+       local diskdev
+       local lvmpart
+       local diskserial
+
+       export_bootdevice && export_partdevice diskdev 0
+
+       [ "$diskdev" ] || return
+
+       [ -e "/sys/class/block/$diskdev/device/serial" ] && diskserial=$(cat /sys/class/block/$diskdev/device/serial)
+
+       part_fixup /dev/$diskdev
+       create_lvm_part /dev/$diskdev || return
+       lvmpart=$(get_partition_by_name $diskdev $OWRT_VOLUMES)
+
+       [ "$lvmpart" ] || return
+       lvm_init /dev/$lvmpart "${OWRT_VOLUMES}${diskserial:+-${diskserial:2}}"
+}
+
+autopart_init
+exit 0
diff --git a/utils/uvol/files/lvm.sh b/utils/uvol/files/lvm.sh
new file mode 100644 (file)
index 0000000..158ab1c
--- /dev/null
@@ -0,0 +1,311 @@
+#!/bin/sh
+
+cmd="$1"
+shift
+
+if [ "$cmd" = "name" ]; then
+       echo "LVM"
+       return 0
+fi
+
+command -v lvm >/dev/null || return 1
+
+. /lib/functions.sh
+. /lib/upgrade/common.sh
+. /usr/share/libubox/jshn.sh
+
+export_bootdevice
+[ "$BOOTDEV_MAJOR" ] || return 1
+export_partdevice rootdev 0
+[ "$rootdev" ] || return 1
+
+case "$rootdev" in
+       mtd*|\
+       ram*|\
+       ubi*)
+               return 1
+esac
+
+lvm_cmd() {
+       local cmd="$1"
+       shift
+       LVM_SUPPRESS_FD_WARNINGS=1 lvm "$cmd" "$@"
+}
+
+pvs() {
+       lvm_cmd pvs --reportformat json --units b "$@"
+}
+
+vgs() {
+       lvm_cmd vgs --reportformat json --units b "$@"
+}
+
+lvs() {
+       lvm_cmd lvs --reportformat json --units b "$@"
+}
+
+freebytes() {
+       echo $(($vg_free_count * $vg_extent_size * 1024))
+}
+
+totalbytes() {
+       echo $(($vg_extent_count * $vg_extent_size * 1024))
+}
+
+existvol() {
+       [ "$1" ] || return 1
+       test -e "/dev/$vg_name/ro_$1" || test -e "/dev/$vg_name/rw_$1"
+       return $?
+}
+
+vg_name=
+exportpv() {
+       local reports rep pv pvs
+       vg_name=
+       json_init
+       json_load "$(pvs -o vg_name -S "pv_name=~^/dev/$rootdev.*\$")"
+       json_select report
+       json_get_keys reports
+       for rep in $reports; do
+               json_select "$rep"
+               json_select pv
+               json_get_keys pvs
+               for pv in $pvs; do
+                       json_select "$pv"
+                       json_get_vars vg_name
+                       json_select ..
+                       break
+               done
+               json_select ..
+               break
+       done
+}
+
+vg_extent_size=
+vg_extent_count=
+vg_free_count=
+exportvg() {
+       local reports rep vg vgs
+       vg_extent_size=
+       vg_extent_count=
+       vg_free_count=
+       json_init
+       json_load "$(vgs -o vg_extent_size,vg_extent_count,vg_free_count -S "vg_name=$vg_name")"
+       json_select report
+       json_get_keys reports
+       for rep in $reports; do
+               json_select "$rep"
+               json_select vg
+               json_get_keys vgs
+               for vg in $vgs; do
+                       json_select "$vg"
+                       json_get_vars vg_extent_size vg_extent_count vg_free_count
+                       vg_extent_size=${vg_extent_size%B}
+                       json_select ..
+                       break
+               done
+               json_select ..
+               break
+       done
+}
+
+lv_full_name=
+lv_path=
+lv_dm_path=
+lv_size=
+exportlv() {
+       local reports rep lv lvs
+       lv_full_name=
+       lv_path=
+       lv_dm_path=
+       lv_size=
+       json_init
+
+       json_load "$(lvs -o lv_full_name,lv_size,lv_path,lv_dm_path -S "lv_name=~^[rw][ow]_$1\$ && vg_name=$vg_name")"
+       json_select report
+       json_get_keys reports
+       for rep in $reports; do
+               json_select "$rep"
+               json_select lv
+               json_get_keys lvs
+               for lv in $lvs; do
+                       json_select "$lv"
+                       json_get_vars lv_full_name lv_size lv_path lv_dm_path
+                       lv_size=${lv_size%B}
+                       json_select ..
+                       break
+               done
+               json_select ..
+               break
+       done
+}
+
+getdev() {
+       existvol "$1" || return 1
+       exportlv "$1"
+       echo $lv_dm_path
+}
+
+getsize() {
+       exportlv "$1"
+       [ "$lv_size" ] && echo $lv_size
+}
+
+activatevol() {
+       exportlv "$1"
+       case "$lv_path" in
+               /dev/*/wo_*)
+                       return 22
+                       ;;
+               *)
+                       lvm_cmd lvchange -a y "$lv_full_name"
+                       return 0
+                       ;;
+       esac
+}
+
+disactivatevol() {
+       exportlv "$1"
+       lvm_cmd lvchange -a n "$lv_full_name"
+}
+
+getstatus() {
+       exportlv "$1"
+       [ "$lv_full_name" ] || return 2
+       existvol "$1" || return 1
+       return 0
+}
+
+createvol() {
+       local mode lvmode ret
+       local volsize=$(($2))
+       [ "$volsize" ] || return 22
+       exportlv "$1"
+       [ "$lv_size" ] && return 17
+       size_ext=$((volsize / vg_extent_size))
+       [ $((size_ext * vg_extent_size)) -lt $volsize ] && size_ext=$((size_ext + 1))
+
+       case "$3" in
+               ro|wo)
+                       lvmode=r
+                       mode=wo
+                       ;;
+               rw)
+                       lvmode=rw
+                       mode=rw
+                       ;;
+               *)
+                       return 22
+                       ;;
+       esac
+
+       lvm_cmd lvcreate -p $lvmode -a n -y -W n -Z n -n "${mode}_${1}" -l "$size_ext" $vg_name
+       ret=$?
+       if [ ! $ret -eq 0 ] || [ "$lvmode" = "r" ]; then
+               return $ret
+       fi
+       exportlv "$1"
+       [ "$lv_full_name" ] || return 22
+       lvm_cmd lvchange -a y "$lv_full_name" || return 1
+       if [ $lv_size -gt $(( 100 * 1024 * 1024 )) ]; then
+               mkfs.f2fs -f -l "$1" "$lv_path" || return 1
+       else
+               mke2fs -F -L "$1" "$lv_path" || return 1
+       fi
+       return 0
+}
+
+removevol() {
+       exportlv "$1"
+       [ "$lv_full_name" ] || return 2
+       lvm_cmd lvremove -y "$lv_full_name"
+}
+
+updatevol() {
+       exportlv "$1"
+       [ "$lv_full_name" ] || return 2
+       [ $lv_size -ge $2 ] || return 27
+       case "$lv_path" in
+               /dev/*/wo_*)
+                       lvm_cmd lvchange -a y -p rw "$lv_full_name"
+                       dd of=$lv_path
+                       lvm_cmd lvchange -p r "$lv_full_name"
+                       lvm_cmd lvrename "$lv_full_name" "${lv_full_name%%/*}/ro_$1"
+                       return 0
+                       ;;
+               default)
+                       return 22
+                       ;;
+       esac
+}
+
+listvols() {
+       local reports rep lv lvs lv_name lv_size lv_mode volname
+       volname=${1:-.*}
+       json_init
+       json_load "$(lvs -o lv_name,lv_size -S "lv_name=~^[rw][ow]_$volname\$ && vg_name=$vg_name")"
+       json_select report
+       json_get_keys reports
+       for rep in $reports; do
+               json_select "$rep"
+               json_select lv
+               json_get_keys lvs
+               for lv in $lvs; do
+                       json_select "$lv"
+                       json_get_vars lv_name lv_size
+                       lv_mode="${lv_name:0:2}"
+                       lv_name="${lv_name:3}"
+                       lv_size=${lv_size%B}
+                       echo "$lv_name $lv_mode $lv_size"
+                       json_select ..
+               done
+               json_select ..
+               break
+       done
+}
+
+exportpv
+exportvg
+
+case "$cmd" in
+       align)
+               echo "$vg_extent_size"
+               ;;
+       free)
+               freebytes
+               ;;
+       total)
+               totalbytes
+               ;;
+       list)
+               listvols "$@"
+               ;;
+       create)
+               createvol "$@"
+               ;;
+       remove)
+               removevol "$@"
+               ;;
+       device)
+               getdev "$@"
+               ;;
+       size)
+               getsize "$@"
+               ;;
+       up)
+               activatevol "$@"
+               ;;
+       down)
+               disactivatevol "$@"
+               ;;
+       status)
+               getstatus "$@"
+               ;;
+       write)
+               updatevol "$@"
+               ;;
+       *)
+               echo "unknown command"
+               return 1
+               ;;
+esac
diff --git a/utils/uvol/files/ubi.sh b/utils/uvol/files/ubi.sh
new file mode 100644 (file)
index 0000000..7851a98
--- /dev/null
@@ -0,0 +1,195 @@
+#!/bin/sh
+
+cmd="$1"
+shift
+
+if [ "$cmd" = "name" ]; then
+       echo "UBI"
+       return 0
+fi
+
+test -e /sys/class/ubi/version || return 0
+read ubiver < /sys/class/ubi/version
+[ "$ubiver" = "1" ] || return 1
+test -e /sys/devices/virtual/ubi || return 0
+
+ubidev=$(ls -1 /sys/devices/virtual/ubi | head -n 1)
+
+read ebsize < "/sys/devices/virtual/ubi/${ubidev}/eraseblock_size"
+
+freebytes() {
+       read availeb < "/sys/devices/virtual/ubi/${ubidev}/avail_eraseblocks"
+       echo $((availeb * ebsize))
+}
+
+totalbytes() {
+       read totaleb < "/sys/devices/virtual/ubi/${ubidev}/total_eraseblocks"
+       echo $((totaleb * ebsize))
+}
+
+getdev() {
+       local voldir volname devname
+       for voldir in /sys/devices/virtual/ubi/${ubidev}/${ubidev}_*; do
+               read volname < "${voldir}/name"
+               [ "$volname" = "uvol-ro-$1" ] || [ "$volname" = "uvol-wp-$1" ] || [ "$volname" = "uvol-rw-$1" ] || [ "$volname" = "uvol-wo-$1" ] || continue
+               basename "$voldir"
+       done
+}
+
+vol_is_mode() {
+       local voldev="$1"
+       local volname
+       read volname < "/sys/devices/virtual/ubi/${ubidev}/${voldev}/name"
+       case "$volname" in
+               uvol-$2-*)
+                       return 0
+                       ;;
+       esac
+       return 1
+}
+
+getstatus() {
+       local voldev=$(getdev "$@")
+       [ "$voldev" ] || return 2
+       vol_is_mode $voldev wo && return 1
+       vol_is_mode $voldev ro && [ ! -e "/dev/ubiblock${voldev:3}" ] && return 1
+       return 0
+}
+
+getsize() {
+       local voldev
+       voldev=$(getdev "$@")
+       [ "$voldev" ] || return 2
+       cat /sys/devices/virtual/ubi/${ubidev}/${voldev}/data_bytes
+}
+
+getuserdev() {
+       local voldev=$(getdev "$@")
+       [ "$voldev" ] || return 2
+       if vol_is_mode $voldev ro ; then
+               echo "/dev/ubiblock${voldev:3}"
+       elif vol_is_mode $voldev rw ; then
+               echo "/dev/$voldev"
+       fi
+}
+
+createvol() {
+       local mode ret
+       local existdev=$(getdev "$@")
+       [ "$existdev" ] && return 17
+       case "$3" in
+               ro|wo)
+                       mode=wo
+                       ;;
+               rw)
+                       mode=wp
+                       ;;
+               *)
+                       return 22
+                       ;;
+       esac
+       ubimkvol /dev/$ubidev -N "uvol-$mode-$1" -s "$2"
+       ret=$?
+       [ $ret -eq 0 ] || return $ret
+       ubiupdatevol -t /dev/$(getdev "$@")
+       [ "$mode" = "wp" ] || return 0
+       local tmp_mp=$(mktemp -d)
+       mount -t ubifs /dev/$(getdev "$@") $tmp_mp
+       umount $tmp_mp
+       rmdir $tmp_mp
+       ubirename /dev/$ubidev uvol-wp-$1 uvol-rw-$1
+}
+
+removevol() {
+       local voldev=$(getdev "$@")
+       [ "$voldev" ] || return 2
+       local volnum=${voldev#${ubidev}_}
+       ubirmvol /dev/$ubidev -n $volnum
+}
+
+activatevol() {
+       local voldev=$(getdev "$@")
+       [ "$voldev" ] || return 2
+       vol_is_mode $voldev wo || return 1
+       vol_is_mode $voldev ro || return 0
+       [ -e "/dev/ubiblock${voldev:3}" ] && return 0
+       ubiblock --create /dev/$voldev
+}
+
+disactivatevol() {
+       local voldev=$(getdev "$@")
+       [ "$voldev" ] || return 2
+       vol_is_mode $voldev ro || return 0
+       [ -e "/dev/ubiblock${voldev:3}" ] || return 0
+       ubiblock --remove /dev/$voldev
+}
+
+updatevol() {
+       local voldev=$(getdev "$@")
+       [ "$voldev" ] || return 2
+       [ "$2" ] || return 22
+       vol_is_mode $voldev wo || return 22
+       ubiupdatevol -s $2 /dev/$voldev -
+       ubirename /dev/$ubidev uvol-wo-$1 uvol-ro-$1
+}
+
+listvols() {
+       local volname volmode volsize
+       for voldir in /sys/devices/virtual/ubi/${ubidev}/${ubidev}_*; do
+               read volname < $voldir/name
+               case "$volname" in
+                       uvol-r[wo]*)
+                               read volsize < $voldir/data_bytes
+                               ;;
+                       *)
+                               continue
+                               ;;
+               esac
+               volmode=${volname:5:2}
+               volname=${volname:8}
+               echo "$volname $volmode $volsize"
+       done
+}
+
+case "$cmd" in
+       align)
+               echo "$ebsize"
+               ;;
+       free)
+               freebytes
+               ;;
+       total)
+               totalbytes
+               ;;
+       list)
+               listvols "$@"
+               ;;
+       create)
+               createvol "$@"
+               ;;
+       remove)
+               removevol "$@"
+               ;;
+       device)
+               getuserdev "$@"
+               ;;
+       size)
+               getsize "$@"
+               ;;
+       up)
+               activatevol "$@"
+               ;;
+       down)
+               disactivatevol "$@"
+               ;;
+       status)
+               getstatus "$@"
+               ;;
+       write)
+               updatevol "$@"
+               ;;
+       *)
+               echo "unknown command"
+               return 1
+               ;;
+esac
diff --git a/utils/uvol/files/uvol b/utils/uvol/files/uvol
new file mode 100644 (file)
index 0000000..0fea88f
--- /dev/null
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+# uvol prototype
+# future development roadmap (aka. to-do):
+# * re-implement in C (use libubox, execve lvm/ubi*)
+# * add atomic batch processing for use by container/package manager
+
+if [ -z "$1" ]; then cat <<EOF
+uvol storage volume manager
+
+syntax: uvol command ...
+
+commands:
+  free                         show number of bytes available
+  total                                show total number of bytes
+  align                                show sector size in bytes
+  list [volname]               list volumes
+  create volname type size     create new volume
+    type: 'ro' or 'rw'
+    size: in bytes
+  remove volname               delete volume
+  device volname               show block device for mounting
+  size volname                 show size of volume
+  up volname                   get volume ready for mounting
+  down volname                 take volume down after unmounting
+  status volname               return status of volume
+    return code: 0 - volume is ready for use
+                 1 - volume is not ready for use
+                 2 - volume doesn'y exist
+  write volname size           write to volume from stdin, size in bytes
+EOF
+       return 22
+fi
+
+uvol_backend=
+backends_tried=
+
+for backend in /usr/libexec/uvol/*.sh; do
+       total=$($backend total)
+       backends_tried="$backends_tried $($backend name)"
+       [ "$total" ] && uvol_backend=$backend
+done
+
+if [ -z "$uvol_backend" ]; then
+       echo "No backend available. (tried:$backends_tried)"
+       echo "To setup devices with block storage install 'autopart'."
+       return 2
+fi
+
+flock -x /tmp/run/uvol.lock $uvol_backend "$@"