Merge branch 'openwrt:master' into master
This commit is contained in:
commit
971f57eb01
61 changed files with 10101 additions and 643 deletions
4
.github/workflows/entrypoint.sh
vendored
4
.github/workflows/entrypoint.sh
vendored
|
@ -13,7 +13,7 @@ mkdir -p /var/lock/
|
||||||
|
|
||||||
opkg update
|
opkg update
|
||||||
|
|
||||||
[ -n "${CI_HELPER:=''}" ] || CI_HELPER="/ci/.github/workflows/ci_helpers.sh"
|
export CI_HELPER="/ci/.github/workflows/ci_helpers.sh"
|
||||||
|
|
||||||
for PKG in /ci/*.ipk; do
|
for PKG in /ci/*.ipk; do
|
||||||
tar -xzOf "$PKG" ./control.tar.gz | tar xzf - ./control
|
tar -xzOf "$PKG" ./control.tar.gz | tar xzf - ./control
|
||||||
|
@ -42,7 +42,7 @@ for PKG in /ci/*.ipk; do
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export PKG_NAME PKG_VERSION CI_HELPER
|
export PKG_NAME PKG_VERSION
|
||||||
|
|
||||||
if [ -f "$PRE_TEST_SCRIPT" ]; then
|
if [ -f "$PRE_TEST_SCRIPT" ]; then
|
||||||
echo "Use package specific pre-test.sh"
|
echo "Use package specific pre-test.sh"
|
||||||
|
|
2
.github/workflows/formal.yml
vendored
2
.github/workflows/formal.yml
vendored
|
@ -43,7 +43,7 @@ jobs:
|
||||||
fi
|
fi
|
||||||
|
|
||||||
subject="$(git show -s --format=%s $commit)"
|
subject="$(git show -s --format=%s $commit)"
|
||||||
if echo "$subject" | grep -q -e '^[0-9A-Za-z,+/_-]\+: ' -e '^Revert '; then
|
if echo "$subject" | grep -q -e '^[0-9A-Za-z,+/_-]\+: ' -e '^Revert ' -e '^CONTRIBUTING.md' -e '^README.md'; then
|
||||||
success "Commit subject line seems ok ($subject)"
|
success "Commit subject line seems ok ($subject)"
|
||||||
else
|
else
|
||||||
err "Commit subject line MUST start with '<package name>: ' ($subject)"
|
err "Commit subject line MUST start with '<package name>: ' ($subject)"
|
||||||
|
|
|
@ -200,9 +200,9 @@ checking if `foobar --version` prints the correct version. `PKG_VERSION` is the
|
||||||
OpenWrt version and therefore includes the `PKG_RELEASE`, which isn't usually
|
OpenWrt version and therefore includes the `PKG_RELEASE`, which isn't usually
|
||||||
part of the running programs version.
|
part of the running programs version.
|
||||||
|
|
||||||
The following snippet show a script that tests different binaries, depending
|
The following snippet shows a script that tests different binaries depending on
|
||||||
what IPK package was installed. The `gpsd` Makefile produces both a `gpsd` and
|
what IPK package was installed. The `gpsd` Makefile produces both a `gpsd` and
|
||||||
a `gpsd-clients` IPK package.
|
a `gpsd-clients` IPK packages.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
|
@ -8,12 +8,12 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=node
|
PKG_NAME:=node
|
||||||
PKG_VERSION:=v20.9.0
|
PKG_VERSION:=v20.10.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_SOURCE_URL:=https://nodejs.org/dist/$(PKG_VERSION)
|
PKG_SOURCE_URL:=https://nodejs.org/dist/$(PKG_VERSION)
|
||||||
PKG_HASH:=a23d96810abf0455426b349d47ce5310f33095b7bc0571b9cc510f481c3a4519
|
PKG_HASH:=32eb256eebd8cacd5574e6631e54b42be7ec8ebe25ad47a8ca685403bad15535
|
||||||
|
|
||||||
PKG_MAINTAINER:=Hirokazu MORIKAWA <morikw2@gmail.com>, Adrian Panella <ianchi74@outlook.com>
|
PKG_MAINTAINER:=Hirokazu MORIKAWA <morikw2@gmail.com>, Adrian Panella <ianchi74@outlook.com>
|
||||||
PKG_LICENSE:=MIT
|
PKG_LICENSE:=MIT
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/lib/internal/modules/cjs/loader.js
|
--- a/lib/internal/modules/cjs/loader.js
|
||||||
+++ b/lib/internal/modules/cjs/loader.js
|
+++ b/lib/internal/modules/cjs/loader.js
|
||||||
@@ -1378,7 +1378,8 @@ Module._initPaths = function() {
|
@@ -1537,7 +1537,8 @@ Module._initPaths = function() {
|
||||||
path.resolve(process.execPath, '..') :
|
path.resolve(process.execPath, '..') :
|
||||||
path.resolve(process.execPath, '..', '..');
|
path.resolve(process.execPath, '..', '..');
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE_URL:=https://www.cpan.org/src/5.0
|
PKG_SOURCE_URL:=https://www.cpan.org/src/5.0
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_HASH:=eca551caec3bc549a4e590c0015003790bdd1a604ffe19cc78ee631d51f7072e
|
PKG_HASH:=d91115e90b896520e83d4de6b52f8254ef2b70a8d545ffab33200ea9f1cf29e8
|
||||||
|
|
||||||
PKG_LICENSE:=GPL-1.0-or-later Artistic-1.0-Perl
|
PKG_LICENSE:=GPL-1.0-or-later Artistic-1.0-Perl
|
||||||
PKG_LICENSE_FILES:=Copying Artistic README
|
PKG_LICENSE_FILES:=Copying Artistic README
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Set the version here
|
# Set the version here
|
||||||
PERL_REVISION=5
|
PERL_REVISION=5
|
||||||
PERL_VERSION=38
|
PERL_VERSION=38
|
||||||
PERL_SUBVERSION=0
|
PERL_SUBVERSION=2
|
||||||
|
|
||||||
# (api_revison, api_version, api_subversion) = (revision, version, 0) usually
|
# (api_revison, api_version, api_subversion) = (revision, version, 0) usually
|
||||||
PERL_API_REVISION=5
|
PERL_API_REVISION=5
|
||||||
|
|
|
@ -120,8 +120,8 @@
|
||||||
!NO!SUBS!
|
!NO!SUBS!
|
||||||
|
|
||||||
case "$osname" in
|
case "$osname" in
|
||||||
@@ -1133,8 +1134,8 @@ pod/perl5380delta.pod: pod/perldelta.pod
|
@@ -1133,8 +1134,8 @@ pod/perl5382delta.pod: pod/perldelta.pod
|
||||||
$(LNS) perldelta.pod pod/perl5380delta.pod
|
$(LNS) perldelta.pod pod/perl5382delta.pod
|
||||||
|
|
||||||
extra.pods: $(MINIPERL_EXE)
|
extra.pods: $(MINIPERL_EXE)
|
||||||
- -@test ! -f extra.pods || rm -f `cat extra.pods`
|
- -@test ! -f extra.pods || rm -f `cat extra.pods`
|
||||||
|
@ -153,14 +153,14 @@
|
||||||
# Like distclean but also removes emacs backups and *.orig.
|
# Like distclean but also removes emacs backups and *.orig.
|
||||||
veryclean: _verycleaner _mopup _clobber
|
veryclean: _verycleaner _mopup _clobber
|
||||||
- -@rm -f Obsolete Wanted
|
- -@rm -f Obsolete Wanted
|
||||||
+ $(RMS) Obsolete Wanted
|
+ @$(RMS) Obsolete Wanted
|
||||||
|
|
||||||
# Do not 'make _mopup' directly.
|
# Do not 'make _mopup' directly.
|
||||||
_mopup:
|
_mopup:
|
||||||
- rm -f *$(OBJ_EXT) *$(LIB_EXT) all perlmain.c $(mini_only_src) generate_uudmap$(EXE_EXT) $(generated_headers)
|
- rm -f *$(OBJ_EXT) *$(LIB_EXT) all perlmain.c $(mini_only_src) generate_uudmap$(EXE_EXT) $(generated_headers)
|
||||||
+ $(RMS) *$(OBJ_EXT) *$(LIB_EXT) all perlmain.c $(mini_only_src) generate_uudmap$(EXE_EXT) $(generated_headers)
|
+ $(RMS) *$(OBJ_EXT) *$(LIB_EXT) all perlmain.c $(mini_only_src) generate_uudmap$(EXE_EXT) $(generated_headers)
|
||||||
-rmdir .depending
|
-rmdir .depending
|
||||||
- -rm *.depends makedepend_file
|
-rm *.depends makedepend_file
|
||||||
- -@test -f extra.pods && rm -f `cat extra.pods`
|
- -@test -f extra.pods && rm -f `cat extra.pods`
|
||||||
- -@test -f vms/README_vms.pod && rm -f vms/README_vms.pod
|
- -@test -f vms/README_vms.pod && rm -f vms/README_vms.pod
|
||||||
- -rm -f perl.exp ext.libs $(generated_pods) uni.data $(mini_only_objs) pod/roffitall
|
- -rm -f perl.exp ext.libs $(generated_pods) uni.data $(mini_only_objs) pod/roffitall
|
||||||
|
@ -169,7 +169,6 @@
|
||||||
- -rm -f cygwin.c libperl*.def libperl*.dll cygperl*.dll *.exe.stackdump
|
- -rm -f cygwin.c libperl*.def libperl*.dll cygperl*.dll *.exe.stackdump
|
||||||
- -rm -f $(PERL_EXE) $(MINIPERL_EXE) $(LIBPERL) libperl.* microperl
|
- -rm -f $(PERL_EXE) $(MINIPERL_EXE) $(LIBPERL) libperl.* microperl
|
||||||
- -rm -f config.arch config.over $(DTRACE_H)
|
- -rm -f config.arch config.over $(DTRACE_H)
|
||||||
+ $(RMS) *.depends makedepend_file
|
|
||||||
+ -@test -f extra.pods && $(RMS) `cat extra.pods`
|
+ -@test -f extra.pods && $(RMS) `cat extra.pods`
|
||||||
+ -@test -f vms/README_vms.pod && $(RMS) vms/README_vms.pod
|
+ -@test -f vms/README_vms.pod && $(RMS) vms/README_vms.pod
|
||||||
+ $(RMS) perl.exp ext.libs $(generated_pods) uni.data $(mini_only_objs) pod/roffitall
|
+ $(RMS) perl.exp ext.libs $(generated_pods) uni.data $(mini_only_objs) pod/roffitall
|
||||||
|
|
|
@ -140,7 +140,7 @@ endef
|
||||||
|
|
||||||
define Package/perlbase-b/install
|
define Package/perlbase-b/install
|
||||||
$(call perlmod/Install,$(1),B B.pm auto/B,)
|
$(call perlmod/Install,$(1),B B.pm auto/B,)
|
||||||
$(call perlmod/InstallBaseTests,$(1),cpan/B-Debug/t ext/B/t lib/B/Deparse-core.t lib/B/Deparse-subclass.t lib/B/Deparse.t)
|
$(call perlmod/InstallBaseTests,$(1),ext/B/t lib/B/Deparse-core.t lib/B/Deparse-subclass.t lib/B/Deparse.t)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,perlbase-b))
|
$(eval $(call BuildPackage,perlbase-b))
|
||||||
|
@ -405,7 +405,6 @@ endef
|
||||||
define Package/perlbase-digest/install
|
define Package/perlbase-digest/install
|
||||||
$(call perlmod/Install,$(1),Digest Digest.pm auto/Digest,)
|
$(call perlmod/Install,$(1),Digest Digest.pm auto/Digest,)
|
||||||
$(call perlmod/InstallBaseTests,$(1),cpan/Digest-MD5/MD5.xs cpan/Digest-MD5/t cpan/Digest-SHA/t cpan/Digest/t)
|
$(call perlmod/InstallBaseTests,$(1),cpan/Digest-MD5/MD5.xs cpan/Digest-MD5/t cpan/Digest-SHA/t cpan/Digest/t)
|
||||||
$(INSTALL_DIR) $(1)/$(PERL_TESTSDIR)/cpan/Digest-SHA/src
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,perlbase-digest))
|
$(eval $(call BuildPackage,perlbase-digest))
|
||||||
|
@ -543,9 +542,9 @@ DEPENDS+=+perlbase-config
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/perlbase-essential/install
|
define Package/perlbase-essential/install
|
||||||
$(call perlmod/Install,$(1),Carp Carp.pm Exporter Exporter.pm constant.pm deprecate.pm lib.pm locale.pm overload.pm overloading.pm parent.pm strict.pm subs.pm vars.pm warnings warnings.pm,)
|
$(call perlmod/Install,$(1),Carp Carp.pm Exporter Exporter.pm constant.pm deprecate.pm lib.pm builtin.pm locale.pm overload.pm overloading.pm parent.pm strict.pm subs.pm vars.pm vmsish.pm warnings warnings.pm,)
|
||||||
$(call perlmod/Install/NoStrip,$(1),overload/numbers.pm,)
|
$(call perlmod/Install/NoStrip,$(1),overload/numbers.pm,)
|
||||||
$(call perlmod/InstallBaseTests,$(1),cpan/parent/t dist/Carp/t dist/Exporter/t dist/constant/t dist/lib/t lib/locale.t lib/overload.t lib/overload64.t lib/overloading.t lib/strict.t lib/subs.t lib/vars.t lib/vars_carp.t lib/warnings.t)
|
$(call perlmod/InstallBaseTests,$(1),cpan/parent/t dist/Carp/t dist/Exporter/t dist/constant/t dist/lib/t lib/builtin.t lib/locale.t lib/overload.t lib/overload64.t lib/overloading.t lib/strict.t lib/subs.t lib/vars.t lib/vars_carp.t lib/vmsish.t lib/warnings.t)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,perlbase-essential))
|
$(eval $(call BuildPackage,perlbase-essential))
|
||||||
|
@ -558,7 +557,7 @@ DEPENDS+=+perlbase-essential +perlbase-feature +perlbase-version
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/perlbase-experimental/install
|
define Package/perlbase-experimental/install
|
||||||
$(call perlmod/Install,$(1),experimental.pm,)
|
$(call perlmod/Install,$(1),experimental.pm stable.pm,)
|
||||||
$(call perlmod/InstallBaseTests,$(1),cpan/experimental/t)
|
$(call perlmod/InstallBaseTests,$(1),cpan/experimental/t)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
@ -891,7 +890,7 @@ endef
|
||||||
|
|
||||||
define Package/perlbase-locale/install
|
define Package/perlbase-locale/install
|
||||||
$(call perlmod/Install,$(1),Locale,Locale/Constants.pod Locale/Country.pod Locale/Currency.pod Locale/Language.pod Locale/Maketext.pod Locale/Maketext/TPJ13.pod Locale/Script.pod)
|
$(call perlmod/Install,$(1),Locale,Locale/Constants.pod Locale/Country.pod Locale/Currency.pod Locale/Language.pod Locale/Maketext.pod Locale/Maketext/TPJ13.pod Locale/Script.pod)
|
||||||
$(call perlmod/InstallBaseTests,$(1),cpan/Locale-Codes/t cpan/Locale-Maketext-Simple/t dist/Locale-Maketext/t)
|
$(call perlmod/InstallBaseTests,$(1),cpan/Locale-Maketext-Simple/t dist/Locale-Maketext/t)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,perlbase-locale))
|
$(eval $(call BuildPackage,perlbase-locale))
|
||||||
|
@ -905,7 +904,7 @@ endef
|
||||||
|
|
||||||
define Package/perlbase-math/install
|
define Package/perlbase-math/install
|
||||||
$(call perlmod/Install,$(1),Math auto/Math,)
|
$(call perlmod/Install,$(1),Math auto/Math,)
|
||||||
$(call perlmod/InstallBaseTests,$(1),cpan/Math-Complex/t cpan/Math-BigInt-FastCalc/t cpan/Math-BigInt/t cpan/Math-BigRat/t)
|
$(call perlmod/InstallBaseTests,$(1),cpan/Math-BigInt-FastCalc/t cpan/Math-BigInt/t cpan/Math-BigRat/t)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,perlbase-math))
|
$(eval $(call BuildPackage,perlbase-math))
|
||||||
|
@ -1128,7 +1127,7 @@ endef
|
||||||
define Package/perlbase-pod/install
|
define Package/perlbase-pod/install
|
||||||
$(call perlmod/Install,$(1),Pod,Pod/Usage.pm)
|
$(call perlmod/Install,$(1),Pod,Pod/Usage.pm)
|
||||||
$(call perlmod/Install/NoStrip,$(1),Pod/Usage.pm,)
|
$(call perlmod/Install/NoStrip,$(1),Pod/Usage.pm,)
|
||||||
$(call perlmod/InstallBaseTests,$(1),cpan/Pod-Checker/t cpan/Pod-Escapes/t cpan/Pod-Parser/lib cpan/Pod-Parser/scripts cpan/Pod-Parser/t cpan/Pod-Perldoc/t cpan/Pod-Simple/t cpan/Pod-Usage/scripts cpan/Pod-Usage/t cpan/podlators/t ext/Pod-Functions/Functions.pm ext/Pod-Functions/t ext/Pod-Html/t lib/Pod/t)
|
$(call perlmod/InstallBaseTests,$(1),cpan/Pod-Checker/t cpan/Pod-Escapes/t cpan/Pod-Perldoc/t cpan/Pod-Simple/t cpan/Pod-Usage/scripts cpan/Pod-Usage/t cpan/podlators/t ext/Pod-Functions/Functions.pm ext/Pod-Functions/t ext/Pod-Html/t lib/Pod/t)
|
||||||
$(INSTALL_DIR) $(1)/usr/bin
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/bin/pod2man $(1)/usr/bin/
|
$(CP) $(PKG_INSTALL_DIR)/usr/bin/pod2man $(1)/usr/bin/
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/bin/pod2text $(1)/usr/bin/
|
$(CP) $(PKG_INSTALL_DIR)/usr/bin/pod2text $(1)/usr/bin/
|
||||||
|
@ -1188,7 +1187,6 @@ endef
|
||||||
define Package/perlbase-scalar/install
|
define Package/perlbase-scalar/install
|
||||||
$(call perlmod/Install,$(1),Scalar Sub,)
|
$(call perlmod/Install,$(1),Scalar Sub,)
|
||||||
$(call perlmod/InstallBaseTests,$(1),cpan/Scalar-List-Utils/t)
|
$(call perlmod/InstallBaseTests,$(1),cpan/Scalar-List-Utils/t)
|
||||||
$(INSTALL_DIR) $(1)/$(PERL_TESTSDIR)/cpan/Scalar-List-Utils/blib
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,perlbase-scalar))
|
$(eval $(call BuildPackage,perlbase-scalar))
|
||||||
|
@ -1368,7 +1366,7 @@ DEPENDS+=+perlbase-base +perlbase-config +perlbase-essential +perlbase-io +perlb
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/perlbase-test/install
|
define Package/perlbase-test/install
|
||||||
$(call perlmod/Install,$(1),Test Test.pm ok.pm,Test/Builder.pm Test/Harness/TAP.pod Test/More.pm Test/Tutorial.pod)
|
$(call perlmod/Install,$(1),Test Test2 Test.pm Test2.pm ok.pm,Test/Builder.pm Test/More.pm Test/Tutorial.pod Test2/Transition.pod)
|
||||||
$(call perlmod/Install/NoStrip,$(1),Test/Builder.pm Test/More.pm,)
|
$(call perlmod/Install/NoStrip,$(1),Test/Builder.pm Test/More.pm,)
|
||||||
$(call perlmod/InstallBaseTests,$(1),cpan/Test-Harness/t cpan/Test-Simple/t dist/Test/t)
|
$(call perlmod/InstallBaseTests,$(1),cpan/Test-Harness/t cpan/Test-Simple/t dist/Test/t)
|
||||||
$(INSTALL_DIR) $(1)/usr/bin
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
PERL_VERSION:=5.38.0
|
PERL_VERSION:=5.38.2
|
||||||
|
|
||||||
PERL_EXPLODE:=$(subst ., ,$(PERL_VERSION))
|
PERL_EXPLODE:=$(subst ., ,$(PERL_VERSION))
|
||||||
|
|
||||||
|
|
|
@ -8,14 +8,14 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=python-idna
|
PKG_NAME:=python-idna
|
||||||
PKG_VERSION:=3.4
|
PKG_VERSION:=3.6
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PYPI_NAME:=idna
|
PYPI_NAME:=idna
|
||||||
PKG_HASH:=814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4
|
PKG_HASH:=9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca
|
||||||
|
|
||||||
PKG_LICENSE:=BSD-3-Clause
|
PKG_LICENSE:=BSD-3-Clause
|
||||||
PKG_LICENSE_FILES:=LICENSE.rst
|
PKG_LICENSE_FILES:=LICENSE.md
|
||||||
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
|
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
|
||||||
|
|
||||||
PKG_BUILD_DEPENDS:=python-flit-core/host
|
PKG_BUILD_DEPENDS:=python-flit-core/host
|
||||||
|
@ -30,9 +30,7 @@ define Package/python3-idna
|
||||||
SUBMENU:=Python
|
SUBMENU:=Python
|
||||||
TITLE:=IDNA library
|
TITLE:=IDNA library
|
||||||
URL:=https://github.com/kjd/idna
|
URL:=https://github.com/kjd/idna
|
||||||
DEPENDS:= \
|
DEPENDS:=+python3-light +python3-codecs
|
||||||
+python3-light \
|
|
||||||
+python3-codecs
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/python3-idna/description
|
define Package/python3-idna/description
|
||||||
|
|
23
lang/python/python-idna/test.sh
Normal file
23
lang/python/python-idna/test.sh
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
[ "$1" = python3-idna ] || exit 0
|
||||||
|
|
||||||
|
python3 - << 'EOF'
|
||||||
|
|
||||||
|
import idna
|
||||||
|
import idna.codec
|
||||||
|
|
||||||
|
assert idna.encode('ドメイン.テスト') == b'xn--eckwd4c7c.xn--zckzah'
|
||||||
|
assert idna.decode('xn--eckwd4c7c.xn--zckzah') == 'ドメイン.テスト'
|
||||||
|
|
||||||
|
assert 'домен.испытание'.encode('idna2008') == b'xn--d1acufc.xn--80akhbyknj4f'
|
||||||
|
assert b'xn--d1acufc.xn--80akhbyknj4f'.decode('idna2008') == 'домен.испытание'
|
||||||
|
|
||||||
|
assert idna.alabel('测试') == b'xn--0zwm56d'
|
||||||
|
|
||||||
|
assert idna.encode('Königsgäßchen', uts46=True) == b'xn--knigsgchen-b4a3dun'
|
||||||
|
assert idna.decode('xn--knigsgchen-b4a3dun') == 'königsgäßchen'
|
||||||
|
|
||||||
|
assert idna.encode('Königsgäßchen', uts46=True, transitional=True) == b'xn--knigsgsschen-lcb0w'
|
||||||
|
|
||||||
|
EOF
|
45
lang/python/python-jsonschema-specifications/Makefile
Normal file
45
lang/python/python-jsonschema-specifications/Makefile
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2023 Jeffery To
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=python-jsonschema-specifications
|
||||||
|
PKG_VERSION:=2023.7.1
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PYPI_NAME:=jsonschema-specifications
|
||||||
|
PYPI_SOURCE_NAME:=jsonschema_specifications
|
||||||
|
PKG_HASH:=c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb
|
||||||
|
|
||||||
|
PKG_LICENSE:=MIT
|
||||||
|
PKG_LICENSE_FILES:=COPYING
|
||||||
|
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
|
||||||
|
|
||||||
|
PKG_BUILD_DEPENDS:=python-hatchling/host python-hatch-vcs/host
|
||||||
|
|
||||||
|
include ../pypi.mk
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
include ../python3-package.mk
|
||||||
|
|
||||||
|
define Package/python3-jsonschema-specifications
|
||||||
|
SECTION:=lang
|
||||||
|
CATEGORY:=Languages
|
||||||
|
SUBMENU:=Python
|
||||||
|
TITLE:=JSON Schema meta-schemas and vocabularies
|
||||||
|
URL:=https://github.com/python-jsonschema/jsonschema-specifications
|
||||||
|
DEPENDS:=+python3-light +python3-referencing
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/python3-jsonschema-specifications/description
|
||||||
|
JSON support files from the JSON Schema Specifications (metaschemas,
|
||||||
|
vocabularies, etc.), packaged for runtime access from Python as a
|
||||||
|
referencing-based Schema Registry.
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call Py3Package,python3-jsonschema-specifications))
|
||||||
|
$(eval $(call BuildPackage,python3-jsonschema-specifications))
|
||||||
|
$(eval $(call BuildPackage,python3-jsonschema-specifications-src))
|
12
lang/python/python-jsonschema-specifications/test.sh
Normal file
12
lang/python/python-jsonschema-specifications/test.sh
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
[ "$1" = python3-jsonschema-specifications ] || exit 0
|
||||||
|
|
||||||
|
python3 - << 'EOF'
|
||||||
|
|
||||||
|
from jsonschema_specifications import REGISTRY as SPECIFICATIONS
|
||||||
|
|
||||||
|
DRAFT202012_DIALECT_URI = "https://json-schema.org/draft/2020-12/schema"
|
||||||
|
assert SPECIFICATIONS.contents(DRAFT202012_DIALECT_URI) != ""
|
||||||
|
|
||||||
|
EOF
|
|
@ -1,11 +1,11 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=python-jsonschema
|
PKG_NAME:=python-jsonschema
|
||||||
PKG_VERSION:=4.17.3
|
PKG_VERSION:=4.19.1
|
||||||
PKG_RELEASE:=3
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PYPI_NAME:=jsonschema
|
PYPI_NAME:=jsonschema
|
||||||
PKG_HASH:=0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d
|
PKG_HASH:=ec84cc37cfa703ef7cd4928db24f9cb31428a5d0fa77747b8b51a847458e0bbf
|
||||||
|
|
||||||
PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>
|
PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>
|
||||||
PKG_LICENSE:=MIT
|
PKG_LICENSE:=MIT
|
||||||
|
@ -22,9 +22,16 @@ define Package/python3-jsonschema
|
||||||
CATEGORY:=Languages
|
CATEGORY:=Languages
|
||||||
SUBMENU:=Python
|
SUBMENU:=Python
|
||||||
TITLE:=An implementation of JSON Schema validation
|
TITLE:=An implementation of JSON Schema validation
|
||||||
URL:=https://github.com/Julian/jsonschema
|
URL:=https://github.com/python-jsonschema/jsonschema
|
||||||
DEPENDS:=+python3-light +python3-attrs +python3-urllib \
|
DEPENDS:= \
|
||||||
+python3-six +python3-pyrsistent +python3-setuptools
|
+python3-light \
|
||||||
|
+python3-decimal \
|
||||||
|
+python3-urllib \
|
||||||
|
+python3-uuid \
|
||||||
|
+python3-attrs \
|
||||||
|
+python3-jsonschema-specifications \
|
||||||
|
+python3-referencing \
|
||||||
|
+python3-rpds-py
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/python3-jsonschema/description
|
define Package/python3-jsonschema/description
|
||||||
|
|
21
lang/python/python-jsonschema/test.sh
Normal file
21
lang/python/python-jsonschema/test.sh
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
[ "$1" = python3-jsonschema ] || exit 0
|
||||||
|
|
||||||
|
python3 - << 'EOF'
|
||||||
|
|
||||||
|
from jsonschema import validate
|
||||||
|
|
||||||
|
# A sample schema, like what we'd get from json.load()
|
||||||
|
schema = {
|
||||||
|
"type" : "object",
|
||||||
|
"properties" : {
|
||||||
|
"price" : {"type" : "number"},
|
||||||
|
"name" : {"type" : "string"},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
# If no exception is raised by validate(), the instance is valid.
|
||||||
|
validate(instance={"name" : "Eggs", "price" : 34.99}, schema=schema)
|
||||||
|
|
||||||
|
EOF
|
|
@ -8,11 +8,11 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=python-pyasn1
|
PKG_NAME:=python-pyasn1
|
||||||
PKG_VERSION:=0.5.0
|
PKG_VERSION:=0.5.1
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PYPI_NAME:=pyasn1
|
PYPI_NAME:=pyasn1
|
||||||
PKG_HASH:=97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde
|
PKG_HASH:=6d391a96e59b23130a5cfa74d6fd7f388dbbe26cc8f1edf39fdddf08d9d6676c
|
||||||
|
|
||||||
PKG_LICENSE:=BSD-2-Clause
|
PKG_LICENSE:=BSD-2-Clause
|
||||||
PKG_LICENSE_FILES:=LICENSE.rst
|
PKG_LICENSE_FILES:=LICENSE.rst
|
||||||
|
|
51
lang/python/python-pyasn1/test.sh
Normal file
51
lang/python/python-pyasn1/test.sh
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
[ "$1" = python3-pyasn1 ] || exit 0
|
||||||
|
|
||||||
|
python3 - << 'EOF'
|
||||||
|
|
||||||
|
from collections import OrderedDict
|
||||||
|
|
||||||
|
from pyasn1.type import namedtype
|
||||||
|
from pyasn1.type import tag
|
||||||
|
from pyasn1.type import univ
|
||||||
|
from pyasn1.codec.der.encoder import encode as derEncode
|
||||||
|
from pyasn1.codec.der.decoder import decode as derDecode
|
||||||
|
from pyasn1.codec.native.encoder import encode as nativeEncode
|
||||||
|
from pyasn1.codec.native.decoder import decode as nativeDecode
|
||||||
|
|
||||||
|
class Record(univ.Sequence):
|
||||||
|
componentType = namedtype.NamedTypes(
|
||||||
|
namedtype.NamedType('id', univ.Integer()),
|
||||||
|
namedtype.OptionalNamedType(
|
||||||
|
'room', univ.Integer().subtype(
|
||||||
|
implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
namedtype.DefaultedNamedType(
|
||||||
|
'house', univ.Integer(0).subtype(
|
||||||
|
implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
# encoding modifies the object (https://github.com/pyasn1/pyasn1/issues/53)
|
||||||
|
# so test decoding before encoding
|
||||||
|
|
||||||
|
record = Record()
|
||||||
|
record['id'] = 123
|
||||||
|
record['room'] = 321
|
||||||
|
assert str(record) == 'Record:\n id=123\n room=321\n'
|
||||||
|
|
||||||
|
substrate = b'0\x07\x02\x01{\x80\x02\x01A'
|
||||||
|
|
||||||
|
received_record, _ = derDecode(substrate, asn1Spec=Record())
|
||||||
|
assert received_record == record
|
||||||
|
|
||||||
|
dict_record = nativeDecode({'id': 123, 'room': 321}, asn1Spec=Record())
|
||||||
|
assert dict_record == record
|
||||||
|
|
||||||
|
assert derEncode(record) == substrate
|
||||||
|
assert nativeEncode(record) == OrderedDict([('id', 123), ('room', 321), ('house', 0)])
|
||||||
|
|
||||||
|
EOF
|
47
lang/python/python-referencing/Makefile
Normal file
47
lang/python/python-referencing/Makefile
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2023 Jeffery To
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=python-referencing
|
||||||
|
PKG_VERSION:=0.30.2
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PYPI_NAME:=referencing
|
||||||
|
PKG_HASH:=794ad8003c65938edcdbc027f1933215e0d0ccc0291e3ce20a4d87432b59efc0
|
||||||
|
|
||||||
|
PKG_LICENSE:=MIT
|
||||||
|
PKG_LICENSE_FILES:=COPYING
|
||||||
|
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
|
||||||
|
|
||||||
|
PKG_BUILD_DEPENDS:=python-hatchling/host python-hatch-vcs/host
|
||||||
|
|
||||||
|
include ../pypi.mk
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
include ../python3-package.mk
|
||||||
|
|
||||||
|
define Package/python3-referencing
|
||||||
|
SECTION:=lang
|
||||||
|
CATEGORY:=Languages
|
||||||
|
SUBMENU:=Python
|
||||||
|
TITLE:=JSON Referencing + Python
|
||||||
|
URL:=https://github.com/python-jsonschema/referencing
|
||||||
|
DEPENDS:= \
|
||||||
|
+python3-light \
|
||||||
|
+python3-email \
|
||||||
|
+python3-urllib \
|
||||||
|
+python3-attrs \
|
||||||
|
+python3-rpds-py
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/python3-referencing/description
|
||||||
|
An implementation-agnostic implementation of JSON reference resolution.
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call Py3Package,python3-referencing))
|
||||||
|
$(eval $(call BuildPackage,python3-referencing))
|
||||||
|
$(eval $(call BuildPackage,python3-referencing-src))
|
35
lang/python/python-referencing/test.sh
Normal file
35
lang/python/python-referencing/test.sh
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
[ "$1" = python3-referencing ] || exit 0
|
||||||
|
|
||||||
|
python3 - << 'EOF'
|
||||||
|
|
||||||
|
from referencing import Registry, Resource
|
||||||
|
import referencing.jsonschema
|
||||||
|
|
||||||
|
schema = Resource.from_contents( # Parse some contents into a 2020-12 JSON Schema
|
||||||
|
{
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"$id": "urn:example:a-202012-schema",
|
||||||
|
"$defs": {
|
||||||
|
"nonNegativeInteger": {
|
||||||
|
"$anchor": "nonNegativeInteger",
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
)
|
||||||
|
registry = schema @ Registry() # Add the resource to a new registry
|
||||||
|
|
||||||
|
# From here forward, this would usually be done within a library wrapping this one,
|
||||||
|
# like a JSON Schema implementation
|
||||||
|
resolver = registry.resolver()
|
||||||
|
resolved = resolver.lookup("urn:example:a-202012-schema#nonNegativeInteger")
|
||||||
|
assert resolved.contents == {
|
||||||
|
"$anchor": "nonNegativeInteger",
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 0,
|
||||||
|
}
|
||||||
|
|
||||||
|
EOF
|
43
lang/python/python-rpds-py/Makefile
Normal file
43
lang/python/python-rpds-py/Makefile
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2023 Jeffery To
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=python-rpds-py
|
||||||
|
PKG_VERSION:=0.10.6
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PYPI_NAME:=rpds-py
|
||||||
|
PYPI_SOURCE_NAME:=rpds_py
|
||||||
|
PKG_HASH:=4ce5a708d65a8dbf3748d2474b580d606b1b9f91b5c6ab2a316e0b0cf7a4ba50
|
||||||
|
|
||||||
|
PKG_LICENSE:=MIT
|
||||||
|
PKG_LICENSE_FILES:=LICENSE
|
||||||
|
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
|
||||||
|
|
||||||
|
PKG_BUILD_DEPENDS:=python-maturin/host
|
||||||
|
|
||||||
|
include ../pypi.mk
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
include ../python3-package.mk
|
||||||
|
|
||||||
|
define Package/python3-rpds-py
|
||||||
|
SECTION:=lang
|
||||||
|
CATEGORY:=Languages
|
||||||
|
SUBMENU:=Python
|
||||||
|
TITLE:=Bindings to Rust's persistent data structures
|
||||||
|
URL:=https://github.com/crate-py/rpds
|
||||||
|
DEPENDS:=+python3-light $(RUST_ARCH_DEPENDS)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/python3-rpds-py/description
|
||||||
|
Python bindings to the Rust rpds crate for persistent data structures.
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call Py3Package,python3-rpds-py))
|
||||||
|
$(eval $(call BuildPackage,python3-rpds-py))
|
||||||
|
$(eval $(call BuildPackage,python3-rpds-py-src))
|
21
lang/python/python-rpds-py/test.sh
Normal file
21
lang/python/python-rpds-py/test.sh
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
[ "$1" = python3-rpds-py ] || exit 0
|
||||||
|
|
||||||
|
python3 - << 'EOF'
|
||||||
|
|
||||||
|
from rpds import HashTrieMap, HashTrieSet, List
|
||||||
|
|
||||||
|
m = HashTrieMap({"foo": "bar", "baz": "quux"})
|
||||||
|
assert m.insert("spam", 37) == HashTrieMap({"foo": "bar", "baz": "quux", "spam": 37})
|
||||||
|
assert m.remove("foo") == HashTrieMap({"baz": "quux"})
|
||||||
|
|
||||||
|
s = HashTrieSet({"foo", "bar", "baz", "quux"})
|
||||||
|
assert s.insert("spam") == HashTrieSet({"foo", "bar", "baz", "quux", "spam"})
|
||||||
|
assert s.remove("foo") == HashTrieSet({"bar", "baz", "quux"})
|
||||||
|
|
||||||
|
L = List([1, 3, 5])
|
||||||
|
assert L.push_front(-1) == List([-1, 1, 3, 5])
|
||||||
|
assert L.rest == List([3, 5])
|
||||||
|
|
||||||
|
EOF
|
|
@ -8,11 +8,11 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=python-setuptools
|
PKG_NAME:=python-setuptools
|
||||||
PKG_VERSION:=68.2.2
|
PKG_VERSION:=69.0.2
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PYPI_NAME:=setuptools
|
PYPI_NAME:=setuptools
|
||||||
PKG_HASH:=4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87
|
PKG_HASH:=735896e78a4742605974de002ac60562d286fa8051a7e2299445e8e8fbb01aa6
|
||||||
|
|
||||||
PKG_LICENSE:=MIT
|
PKG_LICENSE:=MIT
|
||||||
PKG_LICENSE_FILES:=LICENSE
|
PKG_LICENSE_FILES:=LICENSE
|
||||||
|
|
|
@ -8,11 +8,11 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=python-wheel
|
PKG_NAME:=python-wheel
|
||||||
PKG_VERSION:=0.41.3
|
PKG_VERSION:=0.42.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PYPI_NAME:=wheel
|
PYPI_NAME:=wheel
|
||||||
PKG_HASH:=4d4987ce51a49370ea65c0bfd2234e8ce80a12780820d9dc462597a6e60d0841
|
PKG_HASH:=c45be39f7882c9d34243236f2d63cbd58039e360f85d0913425fbd7ceea617a8
|
||||||
|
|
||||||
PKG_LICENSE:=MIT
|
PKG_LICENSE:=MIT
|
||||||
PKG_LICENSE_FILES:=LICENSE.txt
|
PKG_LICENSE_FILES:=LICENSE.txt
|
||||||
|
|
55
libs/libsocketcan/Makefile
Normal file
55
libs/libsocketcan/Makefile
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2013 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:=libsocketcan
|
||||||
|
PKG_VERSION:=0.0.12
|
||||||
|
PKG_RELEASE=1
|
||||||
|
|
||||||
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||||
|
PKG_SOURCE_URL:=https://www.pengutronix.de/software/libsocketcan/download/
|
||||||
|
PKG_HASH:=be8280124707701935e6294d366e2474158b758fa4b2e3cae571d5b256d2fe34
|
||||||
|
|
||||||
|
PKG_MAINTAINER:=Yegor Yefremov <yegorslists@googlemail.com>
|
||||||
|
PKG_LICENSE:=LGPL-2.1-or-later
|
||||||
|
PKG_LICENSE_FILES:=LICENSE
|
||||||
|
|
||||||
|
PKG_INSTALL:=1
|
||||||
|
PKG_FIXUP:=autoreconf
|
||||||
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/libsocketcan
|
||||||
|
SECTION:=libs
|
||||||
|
CATEGORY:=Libraries
|
||||||
|
TITLE:=Library to control SocketCAN interfaces
|
||||||
|
URL:=https://git.pengutronix.de/cgit/tools/libsocketcan
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/libsocketcan/description
|
||||||
|
This userspace library allows one to do common configure/control tasks
|
||||||
|
on a SocketCAN interface.
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/InstallDev
|
||||||
|
$(INSTALL_DIR) $(1)/usr/include
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/can_netlink.h $(1)/usr/include
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/libsocketcan.h $(1)/usr/include
|
||||||
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libsocketcan.{a,so*} $(1)/usr/lib
|
||||||
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libsocketcan.pc $(1)/usr/lib/pkgconfig
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/libsocketcan/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libsocketcan.so* $(1)/usr/lib
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,libsocketcan))
|
|
@ -1,12 +1,12 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=nghttp3
|
PKG_NAME:=nghttp3
|
||||||
PKG_VERSION:=1.0.0
|
PKG_VERSION:=1.1.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://github.com/ngtcp2/nghttp3/releases/download/v$(PKG_VERSION)/
|
PKG_SOURCE_URL:=https://codeload.github.com/ngtcp2/nghttp3/tar.gz/v$(PKG_VERSION)?
|
||||||
PKG_HASH:=2e5b5a39415b9a0d160bbcb90b37bef7d8aee44ae504e8c0ddcb31aa92435988
|
PKG_HASH:=b3ffb23a90442a0eafe8bfbefbc8b4ffb5179d68a7c0b8a416a34cf04b28d7c5
|
||||||
|
|
||||||
PKG_LICENSE:=MIT
|
PKG_LICENSE:=MIT
|
||||||
PKG_LICENSE_FILES:=COPYING
|
PKG_LICENSE_FILES:=COPYING
|
||||||
|
@ -25,7 +25,7 @@ define Package/libnghttp3
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/libnghttp3/description
|
define Package/libnghttp3/description
|
||||||
nghttp3 is a thin HTTP/3 layer over an underlying QUIC stack.
|
nghttp3 is a thin HTTP/3 layer over an underlying QUIC stack.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
CMAKE_OPTIONS += -DENABLE_LIB_ONLY=ON
|
CMAKE_OPTIONS += -DENABLE_LIB_ONLY=ON
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=ngtcp2
|
PKG_NAME:=ngtcp2
|
||||||
PKG_VERSION:=1.0.1
|
PKG_VERSION:=1.1.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://github.com/ngtcp2/ngtcp2/releases/download/v$(PKG_VERSION)/
|
PKG_SOURCE_URL:=https://codeload.github.com/ngtcp2/ngtcp2/tar.gz/v$(PKG_VERSION)?
|
||||||
PKG_HASH:=df03e7e91110fcbb165ae048fa671f1dd39f77b841df3a14aef076a1c192cc27
|
PKG_HASH:=987d784643edea4f2859c405f7dfbc53871a9f7ae5fcddf5fb12ec5dfce1ef22
|
||||||
|
|
||||||
PKG_LICENSE:=MIT
|
PKG_LICENSE:=MIT
|
||||||
PKG_LICENSE_FILES:=COPYING
|
PKG_LICENSE_FILES:=COPYING
|
||||||
|
@ -26,7 +26,8 @@ define Package/libngtcp2
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/libngtcp2/description
|
define Package/libngtcp2/description
|
||||||
ngtcp2 project is an effort to implement QUIC protocol which is now being discussed in IETF QUICWG for its standardization.
|
ngtcp2 project is an effort to implement QUIC protocol which is now being
|
||||||
|
discussed in IETF QUICWG for its standardization.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
CMAKE_OPTIONS += -DENABLE_LIB_ONLY=ON
|
CMAKE_OPTIONS += -DENABLE_LIB_ONLY=ON
|
||||||
|
|
|
@ -8,12 +8,12 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=xmlrpc-c
|
PKG_NAME:=xmlrpc-c
|
||||||
PKG_VERSION:=1.51.07
|
PKG_VERSION:=1.54.06
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
|
||||||
PKG_SOURCE_URL:=@SF/xmlrpc-c/Xmlrpc-c%20Super%20Stable/$(PKG_VERSION)
|
PKG_SOURCE_URL:=@SF/xmlrpc-c/Xmlrpc-c%20Super%20Stable/$(PKG_VERSION)
|
||||||
PKG_HASH:=84d20ae33f927582f821d61c0b9194aefbf1d7924590a13fa9da5ae1698aded9
|
PKG_HASH:=ae6d0fb58f38f1536511360dc0081d3876c1f209d9eaa54357e2bacd690a5640
|
||||||
|
|
||||||
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
|
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
|
||||||
PKG_LICENSE:=VARIOUS
|
PKG_LICENSE:=VARIOUS
|
||||||
|
@ -42,22 +42,15 @@ define Package/xmlrpc-c-internal
|
||||||
$(call Package/xmlrpc-c/Default)
|
$(call Package/xmlrpc-c/Default)
|
||||||
TITLE+= (uses internal expat variant)
|
TITLE+= (uses internal expat variant)
|
||||||
DEPENDS:=+xmlrpc-c-common
|
DEPENDS:=+xmlrpc-c-common
|
||||||
# PROVIDES:=xmlrpc-c
|
PROVIDES:=xmlrpc-c
|
||||||
VARIANT:=internal
|
VARIANT:=internal
|
||||||
HIDDEN:=1
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/xmlrpc-c
|
|
||||||
$(call Package/xmlrpc-c/Default)
|
|
||||||
TITLE+= (uses internal expat variant)
|
|
||||||
DEPENDS:=+xmlrpc-c-internal
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/xmlrpc-c-libxml2
|
define Package/xmlrpc-c-libxml2
|
||||||
$(call Package/xmlrpc-c/Default)
|
$(call Package/xmlrpc-c/Default)
|
||||||
TITLE+= (uses libxml2)
|
TITLE+= (uses libxml2)
|
||||||
DEPENDS:=+xmlrpc-c-common +libxml2 @BROKEN
|
DEPENDS:=+xmlrpc-c-common +libxml2
|
||||||
# PROVIDES:=xmlrpc-c
|
PROVIDES:=xmlrpc-c
|
||||||
VARIANT:=libxml2
|
VARIANT:=libxml2
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
@ -76,7 +69,7 @@ endef
|
||||||
define Package/xmlrpc-c-abyss
|
define Package/xmlrpc-c-abyss
|
||||||
$(call Package/xmlrpc-c/Default)
|
$(call Package/xmlrpc-c/Default)
|
||||||
TITLE+= - abyss
|
TITLE+= - abyss
|
||||||
DEPENDS:=+xmlrpc-c-common @BROKEN
|
DEPENDS:=+xmlrpc-c-common
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/xmlrpc-c-server-abyss
|
define Package/xmlrpc-c-server-abyss
|
||||||
|
@ -101,11 +94,10 @@ Package/xmlrpc-c-internal/description += Uses internal expat variant (stripped d
|
||||||
CONFIGURE_ARGS+= \
|
CONFIGURE_ARGS+= \
|
||||||
--disable-wininet-client \
|
--disable-wininet-client \
|
||||||
--disable-libwww-client \
|
--disable-libwww-client \
|
||||||
--disable-abyss-server \
|
|
||||||
--disable-cgi-server \
|
--disable-cgi-server \
|
||||||
--disable-cplusplus \
|
--disable-cplusplus \
|
||||||
--disable-abyss-threads \
|
--without-libwww-ssl \
|
||||||
--without-libwww-ssl
|
--disable-abyss-openssl
|
||||||
|
|
||||||
ifeq ($(BUILD_VARIANT),libxml2)
|
ifeq ($(BUILD_VARIANT),libxml2)
|
||||||
CONFIGURE_ARGS += \
|
CONFIGURE_ARGS += \
|
||||||
|
@ -118,7 +110,7 @@ ifeq ($(BUILD_VARIANT),internal)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
define Build/Compile
|
define Build/Compile
|
||||||
( cd $(PKG_BUILD_DIR)/lib/expat/gennmtab && cc -I$(PKG_BUILD_DIR) -c gennmtab.c -o gennmtab.o && cc -o gennmtab gennmtab.o )
|
( cd $(PKG_BUILD_DIR)/lib/expat/gennmtab && cc -I$(PKG_BUILD_DIR) -c gennmtab.c -o gennmtab.o && cc -o gennmtab gennmtab.o )
|
||||||
$(call Build/Compile/Default)
|
$(call Build/Compile/Default)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
@ -208,15 +200,10 @@ define Package/xmlrpc-c-common/install
|
||||||
$(1)/usr/lib/
|
$(1)/usr/lib/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/xmlrpc-c/install
|
|
||||||
true
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(eval $(call BuildPackage,xmlrpc-c))
|
|
||||||
$(eval $(call BuildPackage,xmlrpc-c-common))
|
$(eval $(call BuildPackage,xmlrpc-c-common))
|
||||||
#$(eval $(call BuildPackage,xmlrpc-c-libxml2))
|
$(eval $(call BuildPackage,xmlrpc-c-libxml2))
|
||||||
$(eval $(call BuildPackage,xmlrpc-c-internal))
|
$(eval $(call BuildPackage,xmlrpc-c-internal))
|
||||||
$(eval $(call BuildPackage,xmlrpc-c-server))
|
$(eval $(call BuildPackage,xmlrpc-c-server))
|
||||||
#$(eval $(call BuildPackage,xmlrpc-c-abyss))
|
$(eval $(call BuildPackage,xmlrpc-c-abyss))
|
||||||
#$(eval $(call BuildPackage,xmlrpc-c-server-abyss))
|
$(eval $(call BuildPackage,xmlrpc-c-server-abyss))
|
||||||
$(eval $(call BuildPackage,xmlrpc-c-client))
|
$(eval $(call BuildPackage,xmlrpc-c-client))
|
||||||
|
|
11
libs/xmlrpc-c/patches/001-fix-format-parameter.patch
Normal file
11
libs/xmlrpc-c/patches/001-fix-format-parameter.patch
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- a/src/xmlrpc_server_abyss.c
|
||||||
|
+++ b/src/xmlrpc_server_abyss.c
|
||||||
|
@@ -780,7 +780,7 @@ createServer(xmlrpc_env *
|
||||||
|
ServerInit2(abyssServerP, &error);
|
||||||
|
|
||||||
|
if (error) {
|
||||||
|
- xmlrpc_faultf(envP, error);
|
||||||
|
+ xmlrpc_faultf(envP, "%s", error);
|
||||||
|
xmlrpc_strfree(error);
|
||||||
|
}
|
||||||
|
}
|
37
libs/xmlrpc-c/patches/002-remove-unnecessary-linking.patch
Normal file
37
libs/xmlrpc-c/patches/002-remove-unnecessary-linking.patch
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
--- a/src/Makefile
|
||||||
|
+++ b/src/Makefile
|
||||||
|
@@ -183,7 +183,7 @@ $(LIBXMLRPC_SERVER): \
|
||||||
|
$(call shliblefn, libxmlrpc)
|
||||||
|
$(LIBXMLRPC_SERVER): LIBOBJECTS = $(LIBXMLRPC_SERVER_MODS:%=%.osh)
|
||||||
|
$(LIBXMLRPC_SERVER): LIBDEP = \
|
||||||
|
- -L. -lxmlrpc $(XML_PARSER_LIBDEP) $(LIBXMLRPC_UTIL_LIBDEP)
|
||||||
|
+ -L. -lxmlrpc $(LIBXMLRPC_UTIL_LIBDEP)
|
||||||
|
|
||||||
|
LIBXMLRPC_SERVER_ABYSS = $(call shlibfn, libxmlrpc_server_abyss)
|
||||||
|
|
||||||
|
@@ -197,7 +197,7 @@ $(LIBXMLRPC_SERVER_ABYSS): LIBOBJECTS =
|
||||||
|
$(LIBXMLRPC_SERVER_ABYSS): LIBDEP = \
|
||||||
|
-L. -lxmlrpc_server \
|
||||||
|
-L$(LIBXMLRPC_ABYSS_DIR) -lxmlrpc_abyss \
|
||||||
|
- -L. -lxmlrpc $(XML_PARSER_LIBDEP) $(LIBXMLRPC_UTIL_LIBDEP)
|
||||||
|
+ -L. -lxmlrpc $(LIBXMLRPC_UTIL_LIBDEP)
|
||||||
|
ifeq ($(MSVCRT),yes)
|
||||||
|
$(LIBXMLRPC_SERVER_ABYSS): LIBDEP += -lws2_32 -lwsock32
|
||||||
|
endif
|
||||||
|
@@ -212,7 +212,7 @@ $(LIBXMLRPC_SERVER_CGI): \
|
||||||
|
$(LIBXMLRPC_SERVER_CGI): LIBOBJECTS = $(LIBXMLRPC_SERVER_CGI_MODS:%=%.osh)
|
||||||
|
$(LIBXMLRPC_SERVER_CGI): LIBDEP = \
|
||||||
|
-L. -lxmlrpc_server \
|
||||||
|
- -L. -lxmlrpc $(XML_PARSER_LIBDEP) $(LIBXMLRPC_UTIL_LIBDEP)
|
||||||
|
+ -L. -lxmlrpc $(LIBXMLRPC_UTIL_LIBDEP)
|
||||||
|
|
||||||
|
LIBXMLRPC_CLIENT = $(call shlibfn, libxmlrpc_client)
|
||||||
|
|
||||||
|
@@ -237,7 +237,6 @@ $(LIBXMLRPC_CLIENT): LIBOBJECTS = \
|
||||||
|
LIBXMLRPC_CLIENT_LIBDEP = \
|
||||||
|
-Lblddir/src -Lblddir/lib/libutil \
|
||||||
|
-lxmlrpc -lxmlrpc_util \
|
||||||
|
- $(XML_PARSER_LIBDEP) \
|
||||||
|
$(TRANSPORT_LIBDEP) \
|
||||||
|
|
||||||
|
$(LIBXMLRPC_CLIENT): LIBDEP = \
|
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=postfix
|
PKG_NAME:=postfix
|
||||||
PKG_VERSION:=3.8.2
|
PKG_VERSION:=3.8.2
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:= \
|
PKG_SOURCE_URL:= \
|
||||||
|
@ -172,7 +172,7 @@ ifdef CONFIG_POSTFIX_PGSQL
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_POSTFIX_PCRE
|
ifdef CONFIG_POSTFIX_PCRE
|
||||||
CCARGS+=-DHAS_PCRE2 -I$(STAGING_DIR)/usr/include/
|
CCARGS+=-DHAS_PCRE=2 -I$(STAGING_DIR)/usr/include/
|
||||||
AUXLIBS+=-L$(STAGING_DIR)/usr/lib -lpcre2-8
|
AUXLIBS+=-L$(STAGING_DIR)/usr/lib -lpcre2-8
|
||||||
else
|
else
|
||||||
CCARGS+=-DNO_PCRE
|
CCARGS+=-DNO_PCRE
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=aardvark-dns
|
PKG_NAME:=aardvark-dns
|
||||||
PKG_VERSION:=1.8.0
|
PKG_VERSION:=1.9.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://codeload.github.com/containers/aardvark-dns/tar.gz/v$(PKG_VERSION)?
|
PKG_SOURCE_URL:=https://codeload.github.com/containers/aardvark-dns/tar.gz/v$(PKG_VERSION)?
|
||||||
PKG_HASH:=c9b818110e3d5d45f8bdb3c9ccc48c994aedb0b19fefcc7577fc1ef7ed294343
|
PKG_HASH:=d6b51743d334c42ec98ff229be044b5b2a5fedf8da45a005447809c4c1e9beea
|
||||||
|
|
||||||
PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
|
PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
|
||||||
PKG_LICENSE:=Apache-2.0
|
PKG_LICENSE:=Apache-2.0
|
||||||
|
|
|
@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fail2ban
|
PKG_NAME:=fail2ban
|
||||||
PKG_VERSION:=0.11.2
|
PKG_VERSION:=0.11.2
|
||||||
PKG_RELEASE:=8
|
PKG_RELEASE:=9
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://codeload.github.com/fail2ban/fail2ban/tar.gz/$(PKG_VERSION)?
|
PKG_SOURCE_URL:=https://codeload.github.com/fail2ban/fail2ban/tar.gz/$(PKG_VERSION)?
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
From 7e2ab36d86998575853150c0a57de5e22518cf66 Mon Sep 17 00:00:00 2001
|
||||||
|
From: sebres <info@sebres.de>
|
||||||
|
Date: Tue, 21 Jun 2022 16:55:57 +0200
|
||||||
|
Subject: [PATCH] move global groups to start of expression (python 3.11
|
||||||
|
compat)
|
||||||
|
|
||||||
|
[remove change to regex not in 0.11.2]
|
||||||
|
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
|
||||||
|
---
|
||||||
|
fail2ban/client/fail2banregex.py | 2 +-
|
||||||
|
fail2ban/server/datetemplate.py | 8 ++++++++
|
||||||
|
2 files changed, 9 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
--- a/fail2ban/server/datetemplate.py
|
||||||
|
+++ b/fail2ban/server/datetemplate.py
|
||||||
|
@@ -35,6 +35,7 @@ logSys = getLogger(__name__)
|
||||||
|
# check already grouped contains "(", but ignores char "\(" and conditional "(?(id)...)":
|
||||||
|
RE_GROUPED = re.compile(r'(?<!(?:\(\?))(?<!\\)\((?!\?)')
|
||||||
|
RE_GROUP = ( re.compile(r'^((?:\(\?\w+\))?\^?(?:\(\?\w+\))?)(.*?)(\$?)$'), r"\1(\2)\3" )
|
||||||
|
+RE_GLOBALFLAGS = re.compile(r'((?:^|(?!<\\))\(\?[a-z]+\))')
|
||||||
|
|
||||||
|
RE_EXLINE_NO_BOUNDS = re.compile(r'^\{UNB\}')
|
||||||
|
RE_EXLINE_BOUND_BEG = re.compile(r'^\{\^LN-BEG\}')
|
||||||
|
@@ -110,6 +111,11 @@ class DateTemplate(object):
|
||||||
|
# because it may be very slow in negative case (by long log-lines not matching pattern)
|
||||||
|
|
||||||
|
regex = regex.strip()
|
||||||
|
+ # cut global flags like (?iu) from RE in order to pre-set it after processing:
|
||||||
|
+ gf = RE_GLOBALFLAGS.search(regex)
|
||||||
|
+ if gf:
|
||||||
|
+ regex = RE_GLOBALFLAGS.sub('', regex, count=1)
|
||||||
|
+ # check word boundaries needed:
|
||||||
|
boundBegin = wordBegin and not RE_NO_WRD_BOUND_BEG.search(regex)
|
||||||
|
boundEnd = wordEnd and not RE_NO_WRD_BOUND_END.search(regex)
|
||||||
|
# if no group add it now, should always have a group(1):
|
||||||
|
@@ -135,6 +141,8 @@ class DateTemplate(object):
|
||||||
|
self.flags |= DateTemplate.LINE_END
|
||||||
|
# remove possible special pattern "**" in front and end of regex:
|
||||||
|
regex = RE_DEL_WRD_BOUNDS[0].sub(RE_DEL_WRD_BOUNDS[1], regex)
|
||||||
|
+ if gf: # restore global flags:
|
||||||
|
+ regex = gf.group(1) + regex
|
||||||
|
self._regex = regex
|
||||||
|
logSys.log(7, ' constructed regex %s', regex)
|
||||||
|
self._cRegex = None
|
|
@ -0,0 +1,36 @@
|
||||||
|
From 4337e366163278815ea9fc6c952bffb579e885a0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: sebres <info@sebres.de>
|
||||||
|
Date: Tue, 21 Jun 2022 16:56:57 +0200
|
||||||
|
Subject: [PATCH] wrap global flags like ((?i)xxx) or (?:(?i)xxx) to local
|
||||||
|
flags (?i:xxx) if supported by RE-engine in the python version
|
||||||
|
|
||||||
|
---
|
||||||
|
fail2ban/server/failregex.py | 10 ++++++++++
|
||||||
|
1 file changed, 10 insertions(+)
|
||||||
|
|
||||||
|
--- a/fail2ban/server/failregex.py
|
||||||
|
+++ b/fail2ban/server/failregex.py
|
||||||
|
@@ -91,6 +91,13 @@ R_MAP = {
|
||||||
|
"port": "fport",
|
||||||
|
}
|
||||||
|
|
||||||
|
+# map global flags like ((?i)xxx) or (?:(?i)xxx) to local flags (?i:xxx) if supported by RE-engine in this python version:
|
||||||
|
+try:
|
||||||
|
+ re.search("^re(?i:val)$", "reVAL")
|
||||||
|
+ R_GLOB2LOCFLAGS = ( re.compile(r"(?<!\\)\((?:\?:)?(\(\?[a-z]+)\)"), r"\1:" )
|
||||||
|
+except:
|
||||||
|
+ R_GLOB2LOCFLAGS = ()
|
||||||
|
+
|
||||||
|
def mapTag2Opt(tag):
|
||||||
|
tag = tag.lower()
|
||||||
|
return R_MAP.get(tag, tag)
|
||||||
|
@@ -128,6 +135,9 @@ class Regex:
|
||||||
|
#
|
||||||
|
if regex.lstrip() == '':
|
||||||
|
raise RegexException("Cannot add empty regex")
|
||||||
|
+ # special handling wrapping global flags to local flags:
|
||||||
|
+ if R_GLOB2LOCFLAGS:
|
||||||
|
+ regex = R_GLOB2LOCFLAGS[0].sub(R_GLOB2LOCFLAGS[1], regex)
|
||||||
|
try:
|
||||||
|
self._regexObj = re.compile(regex, re.MULTILINE if multiline else 0)
|
||||||
|
self._regex = regex
|
|
@ -8,19 +8,19 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=freeradius3
|
PKG_NAME:=freeradius3
|
||||||
PKG_VERSION:=3.0.26
|
PKG_VERSION:=3_0_26
|
||||||
PKG_RELEASE:=3
|
PKG_RELEASE:=4
|
||||||
|
|
||||||
PKG_SOURCE:=freeradius-server-$(PKG_VERSION).tar.bz2
|
PKG_SOURCE:=release_$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://github.com/FreeRADIUS/freeradius-server/releases/download/release_$(subst .,_,$(PKG_VERSION))/
|
PKG_SOURCE_URL:=https://codeload.github.com/FreeRADIUS/freeradius-server/tar.gz/release_$(PKG_VERSION)?
|
||||||
PKG_HASH:=9a65314c462da4d4c4204df72c45f210de671f89317299b01f78549ac4503f59
|
PKG_HASH:=6aea98d6126035e7ccca483d8b3faea447030169639807017ec98985b78fb2ca
|
||||||
|
|
||||||
PKG_MAINTAINER:=
|
PKG_MAINTAINER:=
|
||||||
PKG_LICENSE:=GPL-2.0
|
PKG_LICENSE:=GPL-2.0
|
||||||
PKG_LICENSE_FILES:=COPYRIGHT LICENSE
|
PKG_LICENSE_FILES:=COPYRIGHT LICENSE
|
||||||
PKG_CPE_ID:=cpe:/a:freeradius:freeradius
|
PKG_CPE_ID:=cpe:/a:freeradius:freeradius
|
||||||
|
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/freeradius-server-$(PKG_VERSION)
|
PKG_BUILD_DIR:=$(BUILD_DIR)/freeradius-server-release_$(PKG_VERSION)
|
||||||
PKG_FIXUP:=autoreconf
|
PKG_FIXUP:=autoreconf
|
||||||
PYTHON3_PKG_BUILD:=0
|
PYTHON3_PKG_BUILD:=0
|
||||||
|
|
||||||
|
@ -131,16 +131,11 @@ define Package/freeradius3-mod-attr-filter/conffiles
|
||||||
/etc/freeradius3/mods-config/attr_filter/access_challenge
|
/etc/freeradius3/mods-config/attr_filter/access_challenge
|
||||||
/etc/freeradius3/mods-config/attr_filter/access_reject
|
/etc/freeradius3/mods-config/attr_filter/access_reject
|
||||||
/etc/freeradius3/mods-config/attr_filter/accounting_response
|
/etc/freeradius3/mods-config/attr_filter/accounting_response
|
||||||
|
/etc/freeradius3/mods-config/attr_filter/coa
|
||||||
/etc/freeradius3/mods-config/attr_filter/post-proxy
|
/etc/freeradius3/mods-config/attr_filter/post-proxy
|
||||||
/etc/freeradius3/mods-config/attr_filter/pre-proxy
|
/etc/freeradius3/mods-config/attr_filter/pre-proxy
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/freeradius3-mod-attr-rewrite
|
|
||||||
$(call Package/freeradius3/Default)
|
|
||||||
DEPENDS:=freeradius3
|
|
||||||
TITLE:=ATTR rewrite module
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/freeradius3-mod-chap
|
define Package/freeradius3-mod-chap
|
||||||
$(call Package/freeradius3/Default)
|
$(call Package/freeradius3/Default)
|
||||||
DEPENDS:=freeradius3
|
DEPENDS:=freeradius3
|
||||||
|
@ -152,6 +147,26 @@ define Package/freeradius3-mod-chap/conffiles
|
||||||
/etc/freeradius3/mods-enabled/chap
|
/etc/freeradius3/mods-enabled/chap
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-counter
|
||||||
|
$(call Package/freeradius3/Default)
|
||||||
|
DEPENDS:=freeradius3 +libgdbm
|
||||||
|
TITLE:=Module counter
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-counter/conffiles
|
||||||
|
/etc/freeradius3/mods-available/counter
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-date
|
||||||
|
$(call Package/freeradius3/Default)
|
||||||
|
DEPENDS:=freeradius3
|
||||||
|
TITLE:=Module date
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-date/conffiles
|
||||||
|
/etc/freeradius3/mods-available/date
|
||||||
|
endef
|
||||||
|
|
||||||
define Package/freeradius3-mod-detail
|
define Package/freeradius3-mod-detail
|
||||||
$(call Package/freeradius3/Default)
|
$(call Package/freeradius3/Default)
|
||||||
DEPENDS:=freeradius3
|
DEPENDS:=freeradius3
|
||||||
|
@ -174,6 +189,17 @@ define Package/freeradius3-mod-digest/conffiles
|
||||||
/etc/freeradius3/mods-enabled/digest
|
/etc/freeradius3/mods-enabled/digest
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-dynamic-clients
|
||||||
|
$(call Package/freeradius3/Default)
|
||||||
|
DEPENDS:=freeradius3
|
||||||
|
TITLE:=Dynamic Clients Authentication
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-dynamic-clients/conffiles
|
||||||
|
/etc/freeradius3/mods-available/dynamic_clients
|
||||||
|
/etc/freeradius3/sites-available/dynamic-clients
|
||||||
|
endef
|
||||||
|
|
||||||
define Package/freeradius3-mod-eap
|
define Package/freeradius3-mod-eap
|
||||||
$(call Package/freeradius3/Default)
|
$(call Package/freeradius3/Default)
|
||||||
DEPENDS:=freeradius3
|
DEPENDS:=freeradius3
|
||||||
|
@ -188,6 +214,12 @@ define Package/freeradius3-mod-eap/conffiles
|
||||||
/etc/freeradius3/sites-available/inner-tunnel
|
/etc/freeradius3/sites-available/inner-tunnel
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-eap-fast
|
||||||
|
$(call Package/freeradius3/Default)
|
||||||
|
DEPENDS:=freeradius3-mod-eap @FREERADIUS3_OPENSSL
|
||||||
|
TITLE:=EAP/FAST module
|
||||||
|
endef
|
||||||
|
|
||||||
define Package/freeradius3-mod-eap-gtc
|
define Package/freeradius3-mod-eap-gtc
|
||||||
$(call Package/freeradius3/Default)
|
$(call Package/freeradius3/Default)
|
||||||
DEPENDS:=freeradius3-mod-eap
|
DEPENDS:=freeradius3-mod-eap
|
||||||
|
@ -277,6 +309,26 @@ define Package/freeradius3-mod-files/conffiles
|
||||||
/etc/freeradius3/mods-config/files/pre-proxy
|
/etc/freeradius3/mods-config/files/pre-proxy
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-ippool
|
||||||
|
$(call Package/freeradius3/Default)
|
||||||
|
DEPENDS:=freeradius3 +libgdbm
|
||||||
|
TITLE:=Radius IP Pool module
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-ippool/conffiles
|
||||||
|
/etc/freeradius3/mods-available/ippool
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-krb5
|
||||||
|
$(call Package/freeradius3/Default)
|
||||||
|
DEPENDS:=freeradius3 +krb5-libs
|
||||||
|
TITLE:=Krb5 module
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-krb5/conffiles
|
||||||
|
/etc/freeradius3/mods-available/krb5
|
||||||
|
endef
|
||||||
|
|
||||||
define Package/freeradius3-mod-ldap
|
define Package/freeradius3-mod-ldap
|
||||||
$(call Package/freeradius3/Default)
|
$(call Package/freeradius3/Default)
|
||||||
DEPENDS:=freeradius3 +libopenldap @FREERADIUS3_OPENSSL
|
DEPENDS:=freeradius3 +libopenldap @FREERADIUS3_OPENSSL
|
||||||
|
@ -287,6 +339,16 @@ define Package/freeradius3-mod-ldap/conffiles
|
||||||
/etc/freeradius3/mods-available/ldap
|
/etc/freeradius3/mods-available/ldap
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-linelog
|
||||||
|
$(call Package/freeradius3/Default)
|
||||||
|
DEPENDS:=freeradius3
|
||||||
|
TITLE:=Linelog module
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-linelog/conffiles
|
||||||
|
/etc/freeradius3/mods-available/linelog
|
||||||
|
endef
|
||||||
|
|
||||||
define Package/freeradius3-mod-logintime
|
define Package/freeradius3-mod-logintime
|
||||||
$(call Package/freeradius3/Default)
|
$(call Package/freeradius3/Default)
|
||||||
DEPENDS:=freeradius3
|
DEPENDS:=freeradius3
|
||||||
|
@ -309,6 +371,16 @@ define Package/freeradius3-mod-mschap/conffiles
|
||||||
/etc/freeradius3/mods-enabled/mschap
|
/etc/freeradius3/mods-enabled/mschap
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-pam
|
||||||
|
$(call Package/freeradius3/Default)
|
||||||
|
DEPENDS:=freeradius3 +libpam
|
||||||
|
TITLE:=PAM module
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-pam/conffiles
|
||||||
|
/etc/freeradius3/mods-available/pam
|
||||||
|
endef
|
||||||
|
|
||||||
define Package/freeradius3-mod-pap
|
define Package/freeradius3-mod-pap
|
||||||
$(call Package/freeradius3/Default)
|
$(call Package/freeradius3/Default)
|
||||||
DEPENDS:=freeradius3
|
DEPENDS:=freeradius3
|
||||||
|
@ -378,6 +450,36 @@ define Package/freeradius3-mod-realm/conffiles
|
||||||
/etc/freeradius3/mods-enabled/realm
|
/etc/freeradius3/mods-enabled/realm
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-redis
|
||||||
|
$(call Package/freeradius3/Default)
|
||||||
|
DEPENDS:=freeradius3 +libhiredis
|
||||||
|
TITLE:=Redis module
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-redis/conffiles
|
||||||
|
/etc/freeradius3/mods-available/redis
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-rediswho
|
||||||
|
$(call Package/freeradius3/Default)
|
||||||
|
DEPENDS:=freeradius3 freeradius3-mod-redis
|
||||||
|
TITLE:=Rediswho module
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-rediswho/conffiles
|
||||||
|
/etc/freeradius3/mods-available/rediswho
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-replicate
|
||||||
|
$(call Package/freeradius3/Default)
|
||||||
|
DEPENDS:=freeradius3
|
||||||
|
TITLE:=Replicate module
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-replicate/conffiles
|
||||||
|
/etc/freeradius3/mods-available/replicate
|
||||||
|
endef
|
||||||
|
|
||||||
define Package/freeradius3-mod-rest
|
define Package/freeradius3-mod-rest
|
||||||
$(call Package/freeradius3/Default)
|
$(call Package/freeradius3/Default)
|
||||||
DEPENDS:=freeradius3 +libcurl +libjson-c
|
DEPENDS:=freeradius3 +libcurl +libjson-c
|
||||||
|
@ -388,6 +490,27 @@ define Package/freeradius3-mod-rest/conffiles
|
||||||
/etc/freeradius3/mods-available/rest
|
/etc/freeradius3/mods-available/rest
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-soh
|
||||||
|
$(call Package/freeradius3/Default)
|
||||||
|
DEPENDS:=freeradius3
|
||||||
|
TITLE:=SoH module
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-soh/conffiles
|
||||||
|
/etc/freeradius3/mods-available/soh
|
||||||
|
/etc/freeradius3/sites-available/soh
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-sometimes
|
||||||
|
$(call Package/freeradius3/Default)
|
||||||
|
DEPENDS:=freeradius3
|
||||||
|
TITLE:=Sometimes module
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-sometimes/conffiles
|
||||||
|
/etc/freeradius3/mods-available/sometimes
|
||||||
|
endef
|
||||||
|
|
||||||
define Package/freeradius3-mod-sql
|
define Package/freeradius3-mod-sql
|
||||||
$(call Package/freeradius3/Default)
|
$(call Package/freeradius3/Default)
|
||||||
DEPENDS:=freeradius3
|
DEPENDS:=freeradius3
|
||||||
|
@ -398,6 +521,16 @@ define Package/freeradius3-mod-sql/conffiles
|
||||||
/etc/freeradius3/mods-available/sql
|
/etc/freeradius3/mods-available/sql
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-sql-map
|
||||||
|
$(call Package/freeradius3/Default)
|
||||||
|
DEPENDS:=freeradius3
|
||||||
|
TITLE:=Map module
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-map/conffiles
|
||||||
|
/etc/freeradius3/mods-available/sql_map
|
||||||
|
endef
|
||||||
|
|
||||||
define Package/freeradius3-mod-sql-mysql
|
define Package/freeradius3-mod-sql-mysql
|
||||||
$(call Package/freeradius3/Default)
|
$(call Package/freeradius3/Default)
|
||||||
DEPENDS:=freeradius3-mod-sql +libmysqlclient
|
DEPENDS:=freeradius3-mod-sql +libmysqlclient
|
||||||
|
@ -437,7 +570,7 @@ endef
|
||||||
define Package/freeradius3-mod-sqlcounter
|
define Package/freeradius3-mod-sqlcounter
|
||||||
$(call Package/freeradius3/Default)
|
$(call Package/freeradius3/Default)
|
||||||
DEPENDS:=+freeradius3-mod-sql
|
DEPENDS:=+freeradius3-mod-sql
|
||||||
TITLE:=Packet counter using accounting records written into an SQL database
|
TITLE:=Module sqlcounter
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/freeradius3-mod-sqlcounter/conffiles
|
define Package/freeradius3-mod-sqlcounter/conffiles
|
||||||
|
@ -469,6 +602,46 @@ define Package/freeradius3-mod-unix/conffiles
|
||||||
/etc/freeradius3/mods-enabled/unix
|
/etc/freeradius3/mods-enabled/unix
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-unpack
|
||||||
|
$(call Package/freeradius3/Default)
|
||||||
|
DEPENDS:=freeradius3
|
||||||
|
TITLE:=Unpack module
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-unpack/conffiles
|
||||||
|
/etc/freeradius3/mods-available/unpack
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-utf8
|
||||||
|
$(call Package/freeradius3/Default)
|
||||||
|
DEPENDS:=freeradius3
|
||||||
|
TITLE:=UTF8 module
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-utf8/conffiles
|
||||||
|
/etc/freeradius3/mods-available/utf8
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-wimax
|
||||||
|
$(call Package/freeradius3/Default)
|
||||||
|
DEPENDS:=freeradius3
|
||||||
|
TITLE:=Wimax Authentication
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-wimax/conffiles
|
||||||
|
/etc/freeradius3/mods-available/wimax
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-yubikey
|
||||||
|
$(call Package/freeradius3/Default)
|
||||||
|
DEPENDS:=freeradius3 +libyubikey +ykclient
|
||||||
|
TITLE:=Yubikey Authentication
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/freeradius3-mod-yubikey/conffiles
|
||||||
|
/etc/freeradius3/mods-available/yubikey
|
||||||
|
endef
|
||||||
|
|
||||||
define Package/freeradius3-utils
|
define Package/freeradius3-utils
|
||||||
$(call Package/freeradius3/Default)
|
$(call Package/freeradius3/Default)
|
||||||
DEPENDS:=+freeradius3-common
|
DEPENDS:=+freeradius3-common
|
||||||
|
@ -498,37 +671,21 @@ CONFIGURE_ARGS+= \
|
||||||
--with-raddbdir=/etc/freeradius3 \
|
--with-raddbdir=/etc/freeradius3 \
|
||||||
--with-radacctdir=/var/db/radacct \
|
--with-radacctdir=/var/db/radacct \
|
||||||
--with-logdir=/var/log \
|
--with-logdir=/var/log \
|
||||||
--without-edir \
|
|
||||||
--without-pcre \
|
--without-pcre \
|
||||||
--without-snmp \
|
|
||||||
--without-rlm_cache \
|
--without-rlm_cache \
|
||||||
--without-rlm_cache_memcached \
|
--without-rlm_cache_memcached \
|
||||||
--without-rlm_couchbase \
|
--without-rlm_couchbase \
|
||||||
--without-rlm_counter \
|
|
||||||
--without-rlm_eap_ikev2 \
|
--without-rlm_eap_ikev2 \
|
||||||
--without-rlm_eap_sim \
|
--without-rlm_eap_sim \
|
||||||
--without-rlm_eap_tnc \
|
--without-rlm_eap_tnc \
|
||||||
--without-rlm_example \
|
|
||||||
--without-rlm_idn \
|
|
||||||
--without-rlm_ippool \
|
|
||||||
--without-rlm_krb5 \
|
|
||||||
--without-rlm_opendirectory \
|
|
||||||
--without-rlm_pam \
|
|
||||||
--without-rlm_perl \
|
--without-rlm_perl \
|
||||||
--without-rlm_python \
|
--without-rlm_python \
|
||||||
--without-rlm_redis \
|
|
||||||
--without-rlm_rediswho \
|
|
||||||
--without-rlm_ruby \
|
|
||||||
--without-rlm_securid \
|
|
||||||
--without-rlm_smsotp \
|
|
||||||
--without-rlm_sql_db2 \
|
--without-rlm_sql_db2 \
|
||||||
--without-rlm_sql_firebird \
|
--without-rlm_sql_firebird \
|
||||||
--without-rlm_sql_freetds \
|
--without-rlm_sql_freetds \
|
||||||
--without-rlm_sql_iodbc \
|
--without-rlm_sql_iodbc \
|
||||||
--without-rlm_sql_oracle \
|
--without-rlm_sql_oracle \
|
||||||
--without-rlm_sql_unixodbc \
|
--without-rlm_sql_unixodbc \
|
||||||
--without-rlm_unbound \
|
|
||||||
--without-rlm_yubikey \
|
|
||||||
|
|
||||||
CONFIGURE_LIBS+= -latomic
|
CONFIGURE_LIBS+= -latomic
|
||||||
|
|
||||||
|
@ -536,10 +693,20 @@ PKG_DICTIONARIES:= \
|
||||||
compat \
|
compat \
|
||||||
freeradius freeradius.internal \
|
freeradius freeradius.internal \
|
||||||
rfc2865 rfc2866 rfc2867 rfc2868 rfc2869 rfc3162 rfc3576 rfc3580 \
|
rfc2865 rfc2866 rfc2867 rfc2868 rfc2869 rfc3162 rfc3576 rfc3580 \
|
||||||
rfc4372 rfc4675 rfc4679 rfc5580\
|
rfc4072 rfc4372 rfc4675 rfc4679 rfc5580 rfc6911 \
|
||||||
microsoft \
|
microsoft \
|
||||||
wispr \
|
wispr \
|
||||||
|
|
||||||
|
ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-eap-fast),)
|
||||||
|
CONFIGURE_ARGS+= \
|
||||||
|
--with-rlm_eap_fast \
|
||||||
|
--with-rlm_eap_fast-include-dir="$(STAGING_DIR)/usr/include" \
|
||||||
|
--with-rlm_eap_fast-lib-dir="$(STAGING_DIR)/usr/lib"
|
||||||
|
CONFIGURE_LIBS+= -lcrypto -lssl
|
||||||
|
else
|
||||||
|
CONFIGURE_ARGS+= --without-rlm_eap_fast
|
||||||
|
endif
|
||||||
|
|
||||||
ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-eap-peap),)
|
ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-eap-peap),)
|
||||||
CONFIGURE_ARGS+= \
|
CONFIGURE_ARGS+= \
|
||||||
--with-rlm_eap_peap \
|
--with-rlm_eap_peap \
|
||||||
|
@ -580,6 +747,14 @@ else
|
||||||
CONFIGURE_ARGS+= --without-rlm_eap_ttls
|
CONFIGURE_ARGS+= --without-rlm_eap_ttls
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-ippool),)
|
||||||
|
CONFIGURE_ARGS+= --with-rlm_ippool \
|
||||||
|
--with-rlm_ippool-include-dir="$(STAGING_DIR)/usr/include" \
|
||||||
|
--with-rlm_ippool-lib-dir="$(STAGING_DIR)/usr/lib"
|
||||||
|
else
|
||||||
|
CONFIGURE_ARGS+= --without-rlm_ippool
|
||||||
|
endif
|
||||||
|
|
||||||
ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-ldap),)
|
ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-ldap),)
|
||||||
CONFIGURE_ARGS+= --with-rlm_ldap \
|
CONFIGURE_ARGS+= --with-rlm_ldap \
|
||||||
--with-rlm_ldap-include-dir="$(STAGING_DIR)/usr/include" \
|
--with-rlm_ldap-include-dir="$(STAGING_DIR)/usr/include" \
|
||||||
|
@ -603,6 +778,24 @@ else
|
||||||
CONFIGURE_ARGS+= --without-rlm_radutmp
|
CONFIGURE_ARGS+= --without-rlm_radutmp
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-redis),)
|
||||||
|
CONFIGURE_ARGS+= \
|
||||||
|
--with-rlm_redis \
|
||||||
|
--with-rlm_redis-include-dir="$(STAGING_DIR)/usr/include" \
|
||||||
|
--with-rlm_redis-lib-dir="$(STAGING_DIR)/usr/lib"
|
||||||
|
else
|
||||||
|
CONFIGURE_ARGS+= --without-rlm_redis
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-rediswho),)
|
||||||
|
CONFIGURE_ARGS+= \
|
||||||
|
--with-rlm_rediswho \
|
||||||
|
--with-rlm_rediswho-include-dir="$(STAGING_DIR)/usr/include" \
|
||||||
|
--with-rlm_rediswho-lib-dir="$(STAGING_DIR)/usr/lib"
|
||||||
|
else
|
||||||
|
CONFIGURE_ARGS+= --without-rlm_rediswho
|
||||||
|
endif
|
||||||
|
|
||||||
ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-rest),)
|
ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-rest),)
|
||||||
CONFIGURE_ARGS+= --with-rlm_rest
|
CONFIGURE_ARGS+= --with-rlm_rest
|
||||||
else
|
else
|
||||||
|
@ -653,6 +846,15 @@ else
|
||||||
CONFIGURE_ARGS+= --without-rlm_unix
|
CONFIGURE_ARGS+= --without-rlm_unix
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius3-mod-yubikey),)
|
||||||
|
CONFIGURE_ARGS+= \
|
||||||
|
--with-rlm_yubikey \
|
||||||
|
--with-rlm_yubikey-include-dir="$(STAGING_DIR)/usr/include" \
|
||||||
|
--with-rlm_yubikey-lib-dir="$(STAGING_DIR)/usr/lib"
|
||||||
|
else
|
||||||
|
CONFIGURE_ARGS+= --without-rlm_yubikey
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_USE_GLIBC),y)
|
ifeq ($(CONFIG_USE_GLIBC),y)
|
||||||
TARGET_CFLAGS+= -DLIBBSD_OVERLAY -I$(STAGING_DIR)/usr/include/bsd \
|
TARGET_CFLAGS+= -DLIBBSD_OVERLAY -I$(STAGING_DIR)/usr/include/bsd \
|
||||||
-D_RPC_NETDB_H
|
-D_RPC_NETDB_H
|
||||||
|
@ -764,9 +966,13 @@ $(eval $(call BuildPackage,freeradius3-democerts))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-always,rlm_always,))
|
$(eval $(call BuildPlugin,freeradius3-mod-always,rlm_always,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-attr-filter,rlm_attr_filter,))
|
$(eval $(call BuildPlugin,freeradius3-mod-attr-filter,rlm_attr_filter,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-chap,rlm_chap,))
|
$(eval $(call BuildPlugin,freeradius3-mod-chap,rlm_chap,))
|
||||||
|
$(eval $(call BuildPlugin,freeradius3-mod-counter,rlm_counter,))
|
||||||
|
$(eval $(call BuildPlugin,freeradius3-mod-date,rlm_date,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-detail,rlm_detail,))
|
$(eval $(call BuildPlugin,freeradius3-mod-detail,rlm_detail,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-digest,rlm_digest,))
|
$(eval $(call BuildPlugin,freeradius3-mod-digest,rlm_digest,))
|
||||||
|
$(eval $(call BuildPlugin,freeradius3-mod-dynamic-clients,rlm_dynamic_clients,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-eap,rlm_eap,))
|
$(eval $(call BuildPlugin,freeradius3-mod-eap,rlm_eap,))
|
||||||
|
$(eval $(call BuildPlugin,freeradius3-mod-eap-fast,rlm_eap_fast,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-eap-gtc,rlm_eap_gtc,))
|
$(eval $(call BuildPlugin,freeradius3-mod-eap-gtc,rlm_eap_gtc,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-eap-md5,rlm_eap_md5,))
|
$(eval $(call BuildPlugin,freeradius3-mod-eap-md5,rlm_eap_md5,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-eap-mschapv2,rlm_eap_mschapv2,))
|
$(eval $(call BuildPlugin,freeradius3-mod-eap-mschapv2,rlm_eap_mschapv2,))
|
||||||
|
@ -778,17 +984,27 @@ $(eval $(call BuildPlugin,freeradius3-mod-exec,rlm_exec,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-expiration,rlm_expiration,))
|
$(eval $(call BuildPlugin,freeradius3-mod-expiration,rlm_expiration,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-expr,rlm_expr,))
|
$(eval $(call BuildPlugin,freeradius3-mod-expr,rlm_expr,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-files,rlm_files,))
|
$(eval $(call BuildPlugin,freeradius3-mod-files,rlm_files,))
|
||||||
|
$(eval $(call BuildPlugin,freeradius3-mod-ippool,rlm_ippool,))
|
||||||
|
$(eval $(call BuildPlugin,freeradius3-mod-krb5,rlm_krb5,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-ldap,rlm_ldap,))
|
$(eval $(call BuildPlugin,freeradius3-mod-ldap,rlm_ldap,))
|
||||||
|
$(eval $(call BuildPlugin,freeradius3-mod-linelog,rlm_linelog,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-logintime,rlm_logintime,))
|
$(eval $(call BuildPlugin,freeradius3-mod-logintime,rlm_logintime,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-mschap,rlm_mschap,))
|
$(eval $(call BuildPlugin,freeradius3-mod-mschap,rlm_mschap,))
|
||||||
|
$(eval $(call BuildPlugin,freeradius3-mod-pam,rlm_pam,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-pap,rlm_pap,))
|
$(eval $(call BuildPlugin,freeradius3-mod-pap,rlm_pap,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-passwd,rlm_passwd,))
|
$(eval $(call BuildPlugin,freeradius3-mod-passwd,rlm_passwd,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-preprocess,rlm_preprocess,))
|
$(eval $(call BuildPlugin,freeradius3-mod-preprocess,rlm_preprocess,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-python3,rlm_python3,))
|
$(eval $(call BuildPlugin,freeradius3-mod-python3,rlm_python3,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-radutmp,rlm_radutmp,))
|
$(eval $(call BuildPlugin,freeradius3-mod-radutmp,rlm_radutmp,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-realm,rlm_realm,))
|
$(eval $(call BuildPlugin,freeradius3-mod-realm,rlm_realm,))
|
||||||
|
$(eval $(call BuildPlugin,freeradius3-mod-redis,rlm_redis,))
|
||||||
|
$(eval $(call BuildPlugin,freeradius3-mod-rediswho,rlm_rediswho,))
|
||||||
|
$(eval $(call BuildPlugin,freeradius3-mod-replicate,rlm_replicate,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-rest,rlm_rest,))
|
$(eval $(call BuildPlugin,freeradius3-mod-rest,rlm_rest,))
|
||||||
|
$(eval $(call BuildPlugin,freeradius3-mod-soh,rlm_soh,))
|
||||||
|
$(eval $(call BuildPlugin,freeradius3-mod-sometimes,rlm_sometimes,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-sql,rlm_sql,))
|
$(eval $(call BuildPlugin,freeradius3-mod-sql,rlm_sql,))
|
||||||
|
$(eval $(call BuildPlugin,freeradius3-mod-sql-map,rlm_sql_map,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-sql-mysql,rlm_sql_mysql,))
|
$(eval $(call BuildPlugin,freeradius3-mod-sql-mysql,rlm_sql_mysql,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-sql-null,rlm_sql_null,))
|
$(eval $(call BuildPlugin,freeradius3-mod-sql-null,rlm_sql_null,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-sql-postgresql,rlm_sql_postgresql,))
|
$(eval $(call BuildPlugin,freeradius3-mod-sql-postgresql,rlm_sql_postgresql,))
|
||||||
|
@ -796,4 +1012,8 @@ $(eval $(call BuildPlugin,freeradius3-mod-sql-sqlite,rlm_sql_sqlite,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-sqlcounter,rlm_sqlcounter,))
|
$(eval $(call BuildPlugin,freeradius3-mod-sqlcounter,rlm_sqlcounter,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-sqlippool,rlm_sqlippool,))
|
$(eval $(call BuildPlugin,freeradius3-mod-sqlippool,rlm_sqlippool,))
|
||||||
$(eval $(call BuildPlugin,freeradius3-mod-unix,rlm_unix,))
|
$(eval $(call BuildPlugin,freeradius3-mod-unix,rlm_unix,))
|
||||||
|
$(eval $(call BuildPlugin,freeradius3-mod-unpack,rlm_unpack,))
|
||||||
|
$(eval $(call BuildPlugin,freeradius3-mod-utf8,rlm_utf8,))
|
||||||
|
$(eval $(call BuildPlugin,freeradius3-mod-wimax,rlm_wimax,))
|
||||||
|
$(eval $(call BuildPlugin,freeradius3-mod-yubikey,rlm_yubikey,))
|
||||||
$(eval $(call BuildPackage,freeradius3-utils))
|
$(eval $(call BuildPackage,freeradius3-utils))
|
||||||
|
|
6635
net/freeradius3/patches/020-fix-freeradius3-krb5.patch
Normal file
6635
net/freeradius3/patches/020-fix-freeradius3-krb5.patch
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,104 +0,0 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
#
|
|
||||||
# Copyright (C) 2023 Jonas Jelonek
|
|
||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
|
||||||
|
|
||||||
PKG_NAME:=iperf
|
|
||||||
PKG_VERSION:=3.15-mt-beta1
|
|
||||||
PKG_RELEASE:=1
|
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
||||||
PKG_SOURCE_URL:=https://codeload.github.com/esnet/iperf/tar.gz/$(PKG_NAME)-$(PKG_VERSION)?
|
|
||||||
PKG_HASH:=4d5ad5bef9321adb832581a495c3cb1b5dec9d9678296f90bfc87166bbb7a43b
|
|
||||||
|
|
||||||
PKG_MAINTAINER:=Jonas Jelonek <jelonek.jonas@gmail.com>
|
|
||||||
PKG_LICENSE:=BSD-3-Clause
|
|
||||||
PKG_CPE_ID:=cpe:/a:es:iperf3
|
|
||||||
|
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION)
|
|
||||||
PKG_BUILD_PARALLEL:=1
|
|
||||||
PKG_INSTALL:=1
|
|
||||||
|
|
||||||
PKG_FIXUP:=autoreconf
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
|
||||||
|
|
||||||
DISABLE_NLS:=
|
|
||||||
|
|
||||||
define Package/iperf3-mt/default
|
|
||||||
SECTION:=net
|
|
||||||
CATEGORY:=Network
|
|
||||||
TITLE:=iperf3 with multithreading
|
|
||||||
URL:=https://github.com/esnet/iperf
|
|
||||||
CONFLICTS:=iperf3 iperf3-ssl
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/iperf3-mt
|
|
||||||
$(call Package/iperf3-mt/default)
|
|
||||||
VARIANT:=nossl
|
|
||||||
DEPENDS:=+libiperf3-mt
|
|
||||||
CONFLICTS+=iperf3-mt-ssl
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/iperf3-mt-ssl
|
|
||||||
$(call Package/iperf3-mt/default)
|
|
||||||
TITLE+= and iperf_auth support
|
|
||||||
VARIANT:=ssl
|
|
||||||
DEPENDS:=+libopenssl +libatomic
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/libiperf3-mt
|
|
||||||
SECTION:=libs
|
|
||||||
CATEGORY:=Libraries
|
|
||||||
TITLE:=libiperf3 with multithreading
|
|
||||||
URL:=https://github.com/esnet/iperf
|
|
||||||
CONFLICTS:=libiperf3
|
|
||||||
DEPENDS+=+libatomic
|
|
||||||
endef
|
|
||||||
|
|
||||||
TARGET_CFLAGS += -D_GNU_SOURCE
|
|
||||||
TARGET_LDFLAGS += -latomic
|
|
||||||
|
|
||||||
ifeq ($(BUILD_VARIANT),ssl)
|
|
||||||
CONFIGURE_ARGS += --with-openssl="$(STAGING_DIR)/usr" --disable-shared
|
|
||||||
else
|
|
||||||
CONFIGURE_ARGS += --without-openssl
|
|
||||||
endif
|
|
||||||
|
|
||||||
MAKE_FLAGS += noinst_PROGRAMS=
|
|
||||||
|
|
||||||
define Package/iperf3-mt/description
|
|
||||||
iPerf3 is a modern alternative for measuring TCP and UDP bandwidth
|
|
||||||
performance, allowing the tuning of various parameters and
|
|
||||||
characteristics.
|
|
||||||
iperf3-mt has experimental multithreading support.
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/libiperf3-mt/description
|
|
||||||
Libiperf is a library providing an API for iperf3 functionality.
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Build/InstallDev
|
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libiperf.* $(1)/usr/lib/
|
|
||||||
$(INSTALL_DIR) $(1)/usr/include
|
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/iperf3-mt/install/Default
|
|
||||||
$(INSTALL_DIR) $(1)/usr/bin
|
|
||||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/iperf3 $(1)/usr/bin/
|
|
||||||
endef
|
|
||||||
|
|
||||||
Package/iperf3-mt/install = $(Package/iperf3-mt/install/Default)
|
|
||||||
Package/iperf3-mt-ssl/install = $(Package/iperf3-mt/install/Default)
|
|
||||||
|
|
||||||
define Package/libiperf3-mt/install
|
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libiperf.so.* $(1)/usr/lib
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(eval $(call BuildPackage,iperf3-mt))
|
|
||||||
$(eval $(call BuildPackage,iperf3-mt-ssl))
|
|
||||||
$(eval $(call BuildPackage,libiperf3-mt))
|
|
|
@ -8,12 +8,12 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=iperf
|
PKG_NAME:=iperf
|
||||||
PKG_VERSION:=3.15
|
PKG_VERSION:=3.16
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://downloads.es.net/pub/iperf
|
PKG_SOURCE_URL:=https://downloads.es.net/pub/iperf
|
||||||
PKG_HASH:=bdb77c11f72bce90214883159577fa24412013e62b2083cf5f54391d79b1d8ff
|
PKG_HASH:=cc740c6bbea104398cc3e466befc515a25896ec85e44a662d5f4a767b9cf713e
|
||||||
|
|
||||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||||
PKG_LICENSE:=BSD-3-Clause
|
PKG_LICENSE:=BSD-3-Clause
|
||||||
|
@ -45,7 +45,7 @@ define Package/iperf3-ssl
|
||||||
$(call Package/iperf3/default)
|
$(call Package/iperf3/default)
|
||||||
TITLE+= with iperf_auth support
|
TITLE+= with iperf_auth support
|
||||||
VARIANT:=ssl
|
VARIANT:=ssl
|
||||||
DEPENDS:=+libopenssl
|
DEPENDS:=+libopenssl +libatomic
|
||||||
CONFLICTS:=iperf3
|
CONFLICTS:=iperf3
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
@ -54,9 +54,11 @@ define Package/libiperf3
|
||||||
CATEGORY:=Libraries
|
CATEGORY:=Libraries
|
||||||
TITLE:=Internet Protocol bandwidth measuring library
|
TITLE:=Internet Protocol bandwidth measuring library
|
||||||
URL:=https://github.com/esnet/iperf
|
URL:=https://github.com/esnet/iperf
|
||||||
|
DEPENDS+=+libatomic
|
||||||
endef
|
endef
|
||||||
|
|
||||||
TARGET_CFLAGS += -D_GNU_SOURCE
|
TARGET_CFLAGS += -D_GNU_SOURCE
|
||||||
|
TARGET_LDFLAGS += -latomic
|
||||||
|
|
||||||
ifeq ($(BUILD_VARIANT),ssl)
|
ifeq ($(BUILD_VARIANT),ssl)
|
||||||
CONFIGURE_ARGS += --with-openssl="$(STAGING_DIR)/usr" --disable-shared
|
CONFIGURE_ARGS += --with-openssl="$(STAGING_DIR)/usr" --disable-shared
|
||||||
|
|
|
@ -9,17 +9,19 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=mosquitto
|
PKG_NAME:=mosquitto
|
||||||
PKG_VERSION:=2.0.17
|
PKG_VERSION:=2.0.18
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
|
PKG_SOURCE_URL:=https://mosquitto.org/files/source/
|
||||||
|
PKG_HASH:=d665fe7d0032881b1371a47f34169ee4edab67903b2cd2b4c083822823f4448a
|
||||||
|
|
||||||
PKG_LICENSE:=EPL-2.0
|
PKG_LICENSE:=EPL-2.0
|
||||||
PKG_LICENSE_FILES:=LICENSE.txt
|
PKG_LICENSE_FILES:=LICENSE.txt
|
||||||
PKG_CPE_ID:=cpe:/a:eclipse:mosquitto
|
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:=3be7a911236567c1a9fbe25baf3e3167004ba4a0c151a448ef1f7fc077dba52f
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
include $(INCLUDE_DIR)/cmake.mk
|
||||||
|
|
||||||
define Package/mosquitto/default
|
define Package/mosquitto/default
|
||||||
SECTION:=net
|
SECTION:=net
|
||||||
|
@ -163,9 +165,9 @@ Package/mosquitto-nossl/conffiles = $(Package/mosquitto-ssl/conffiles)
|
||||||
|
|
||||||
define Package/mosquitto/install/default
|
define Package/mosquitto/install/default
|
||||||
$(INSTALL_DIR) $(1)/usr/sbin
|
$(INSTALL_DIR) $(1)/usr/sbin
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/mosquitto $(1)/usr/sbin/mosquitto
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mosquitto $(1)/usr/sbin
|
||||||
$(INSTALL_DIR) $(1)/etc/mosquitto
|
$(INSTALL_DIR) $(1)/etc/mosquitto
|
||||||
$(INSTALL_CONF) $(PKG_BUILD_DIR)/mosquitto.conf $(1)/etc/mosquitto/mosquitto.conf
|
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/usr/etc/mosquitto/mosquitto.conf $(1)/etc/mosquitto
|
||||||
$(CP) ./files/* $(1)/
|
$(CP) ./files/* $(1)/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
@ -177,69 +179,69 @@ define Package/mosquitto-ssl/install
|
||||||
$(call Package/mosquitto/install/default,$(1))
|
$(call Package/mosquitto/install/default,$(1))
|
||||||
ifeq ($(CONFIG_MOSQUITTO_PASSWD),y)
|
ifeq ($(CONFIG_MOSQUITTO_PASSWD),y)
|
||||||
$(INSTALL_DIR) $(1)/usr/bin
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/apps/mosquitto_passwd/mosquitto_passwd $(1)/usr/bin
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mosquitto_passwd $(1)/usr/bin
|
||||||
endif
|
endif
|
||||||
ifeq ($(CONFIG_MOSQUITTO_DYNAMIC_SECURITY),y)
|
ifeq ($(CONFIG_MOSQUITTO_DYNAMIC_SECURITY),y)
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/plugins/dynamic-security/mosquitto_dynamic_security.so $(1)/usr/lib
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/mosquitto_dynamic_security.so $(1)/usr/lib
|
||||||
endif
|
endif
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/mosquitto-client-nossl/install
|
define Package/mosquitto-client-nossl/install
|
||||||
$(INSTALL_DIR) $(1)/usr/bin
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/client/mosquitto_pub $(1)/usr/bin
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mosquitto_pub $(1)/usr/bin
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/client/mosquitto_sub $(1)/usr/bin
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mosquitto_sub $(1)/usr/bin
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/client/mosquitto_rr $(1)/usr/bin
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mosquitto_rr $(1)/usr/bin
|
||||||
endef
|
endef
|
||||||
define Package/mosquitto-client-ssl/install
|
define Package/mosquitto-client-ssl/install
|
||||||
$(call Package/mosquitto-client-nossl/install,$(1))
|
$(call Package/mosquitto-client-nossl/install,$(1))
|
||||||
ifeq ($(CONFIG_MOSQUITTO_CTRL),y)
|
ifeq ($(CONFIG_MOSQUITTO_CTRL),y)
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/apps/mosquitto_ctrl/mosquitto_ctrl $(1)/usr/bin
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mosquitto_ctrl $(1)/usr/bin
|
||||||
endif
|
endif
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# This installs files into ./staging_dir/. so that you can cross compile from the host
|
# This installs files into ./staging_dir/. so that you can cross compile from the host
|
||||||
define Build/InstallDev
|
define Build/InstallDev
|
||||||
$(INSTALL_DIR) $(1)/usr/include
|
$(INSTALL_DIR) $(1)/usr/include
|
||||||
$(CP) $(PKG_BUILD_DIR)/include/*.h $(1)/usr/include
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include
|
||||||
$(CP) $(PKG_BUILD_DIR)/lib/cpp/mosquittopp.h $(1)/usr/include
|
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
$(CP) $(PKG_BUILD_DIR)/lib/libmosquitto.so.1 $(1)/usr/lib/
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libmosquitto.so* $(1)/usr/lib/
|
||||||
$(CP) $(PKG_BUILD_DIR)/lib/cpp/libmosquittopp.so.1 $(1)/usr/lib/
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libmosquittopp.so* $(1)/usr/lib/
|
||||||
$(LN) libmosquitto.so.1 $(1)/usr/lib/libmosquitto.so
|
|
||||||
$(LN) libmosquittopp.so.1 $(1)/usr/lib/libmosquittopp.so
|
|
||||||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||||
$(CP) $(PKG_BUILD_DIR)/libmosquitto.pc.in $(1)/usr/lib/pkgconfig/libmosquitto.pc
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig
|
||||||
sed -i -e "s#@CMAKE_INSTALL_PREFIX@#/usr#" \
|
|
||||||
-e "s#@VERSION@#$(PKG_VERSION)#" \
|
|
||||||
$(1)/usr/lib/pkgconfig/libmosquitto.pc
|
|
||||||
$(CP) $(PKG_BUILD_DIR)/libmosquittopp.pc.in $(1)/usr/lib/pkgconfig/libmosquittopp.pc
|
|
||||||
sed -i -e "s#@CMAKE_INSTALL_PREFIX@#/usr#" \
|
|
||||||
-e "s#@VERSION@#$(PKG_VERSION)#" \
|
|
||||||
$(1)/usr/lib/pkgconfig/libmosquittopp.pc
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# This installs files on the target. Compare with Build/InstallDev
|
# This installs files on the target. Compare with Build/InstallDev
|
||||||
define Package/libmosquitto-ssl/install
|
define Package/libmosquitto-ssl/install
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/libmosquitto.so.1 $(1)/usr/lib/
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libmosquitto.so.* $(1)/usr/lib/
|
||||||
$(LN) libmosquitto.so.1 $(1)/usr/lib/libmosquitto.so
|
|
||||||
endef
|
endef
|
||||||
Package/libmosquitto-nossl/install = $(Package/libmosquitto-ssl/install)
|
Package/libmosquitto-nossl/install = $(Package/libmosquitto-ssl/install)
|
||||||
|
|
||||||
define Package/libmosquittopp/install
|
define Package/libmosquittopp/install
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/cpp/libmosquittopp.so.1 $(1)/usr/lib/
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libmosquittopp.so.* $(1)/usr/lib/
|
||||||
$(LN) libmosquittopp.so.1 $(1)/usr/lib/libmosquittopp.so
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# Applies to all...
|
# Applies to all...
|
||||||
MAKE_FLAGS += WITH_DOCS=no UNAME=Linux
|
CMAKE_OPTIONS += \
|
||||||
|
-DDOCUMENTATION=OFF \
|
||||||
|
-DWITH_ADNS=OFF \
|
||||||
|
-DWITH_BUNDLED_DEPS=ON \
|
||||||
|
-DWITH_DLT=OFF \
|
||||||
|
-DWITH_PERSISTENCE=OFF \
|
||||||
|
-DWITH_PIC=ON \
|
||||||
|
-DWITH_SOCKS=ON \
|
||||||
|
-DWITH_SRV=ON \
|
||||||
|
-DWITH_SYSTEMD=OFF \
|
||||||
|
-DWITH_SYS_TREE=OFF \
|
||||||
|
-DWITH_THREADING=ON
|
||||||
|
|
||||||
ifeq ($(BUILD_VARIANT),nossl)
|
ifeq ($(BUILD_VARIANT),nossl)
|
||||||
MAKE_FLAGS += WITH_TLS=no WITH_WEBSOCKETS=no
|
CMAKE_OPTIONS += -DWITH_TLS=OFF -DWITH_WEBSOCKETS=OFF
|
||||||
else
|
else
|
||||||
MAKE_FLAGS += WITH_WEBSOCKETS=$(if $(CONFIG_MOSQUITTO_LWS),"yes","no")
|
CMAKE_OPTIONS += -DWITH_TLS_PSK=O$(if $(CONFIG_OPENSSL_WITH_PSK),N,FF)
|
||||||
MAKE_FLAGS += WITH_TLS_PSK=$(if $(CONFIG_OPENSSL_WITH_PSK),"yes","no")
|
CMAKE_OPTIONS += -DWITH_WEBSOCKETS=O$(if $(CONFIG_MOSQUITTO_LWS),N,FF)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(eval $(call BuildPackage,mosquitto-ssl))
|
$(eval $(call BuildPackage,mosquitto-ssl))
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=netavark
|
PKG_NAME:=netavark
|
||||||
PKG_VERSION:=1.8.0
|
PKG_VERSION:=1.9.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://codeload.github.com/containers/netavark/tar.gz/v$(PKG_VERSION)?
|
PKG_SOURCE_URL:=https://codeload.github.com/containers/netavark/tar.gz/v$(PKG_VERSION)?
|
||||||
PKG_HASH:=b1422ef6927458e9f80f7d322b751e29ab5d04d8ed6cb065baa82fa4291af10f
|
PKG_HASH:=9ec50b715ded0a0699134c001656fdd1411e3fb5325d347695c6cb8cc5fcf572
|
||||||
|
|
||||||
PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
|
PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
|
||||||
PKG_LICENSE:=Apache-2.0
|
PKG_LICENSE:=Apache-2.0
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=netbird
|
PKG_NAME:=netbird
|
||||||
PKG_VERSION:=0.24.2
|
PKG_VERSION:=0.24.3
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://codeload.github.com/netbirdio/netbird/tar.gz/v$(PKG_VERSION)?
|
PKG_SOURCE_URL:=https://codeload.github.com/netbirdio/netbird/tar.gz/v$(PKG_VERSION)?
|
||||||
PKG_HASH:=7fd90c6004c7fde6393bd618e106410e708f2d84f7884055acda6b016be42858
|
PKG_HASH:=6590034fe8a8dc215242bbd7706197beef67a63a099a45a30c436373c892aab0
|
||||||
|
|
||||||
PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
|
PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
|
||||||
PKG_LICENSE:=BSD-3-Clause
|
PKG_LICENSE:=BSD-3-Clause
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=snort
|
PKG_NAME:=snort
|
||||||
PKG_VERSION:=2.9.19
|
PKG_VERSION:=2.9.20
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_LICENSE:=GPL-2.0
|
PKG_LICENSE:=GPL-2.0
|
||||||
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
|
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
|
||||||
|
@ -18,7 +18,7 @@ PKG_CPE_ID:=cpe:/a:snort:snort
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://www.snort.org/downloads/archive/snort/ \
|
PKG_SOURCE_URL:=https://www.snort.org/downloads/archive/snort/ \
|
||||||
@SF/$(PKG_NAME)
|
@SF/$(PKG_NAME)
|
||||||
PKG_HASH:=b12fc6db72afb58987a2bf1954b8f45bde02047c235513c7663857b9506369c7
|
PKG_HASH:=29400e13f53b1831e0b8b10ec1224a1cbaa6dc1533a5322a20dd80bb84b4981c
|
||||||
|
|
||||||
PKG_BUILD_DEPENDS:=libtirpc
|
PKG_BUILD_DEPENDS:=libtirpc
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION)
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION)
|
||||||
|
@ -31,7 +31,7 @@ define Package/snort
|
||||||
SUBMENU:=Firewall
|
SUBMENU:=Firewall
|
||||||
SECTION:=net
|
SECTION:=net
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
DEPENDS:=+libdaq +libdnet +libnghttp2 +libopenssl +libpcap +libpcre +libpthread +libtirpc +libuuid +zlib @HAS_LUAJIT_ARCH +luajit +SNORT_LZMA:liblzma
|
DEPENDS:=+libdaq +libdnet +libnghttp2 +libopenssl +libpcap +libpcre2 +libpthread +libtirpc +libuuid +zlib @HAS_LUAJIT_ARCH +luajit +SNORT_LZMA:liblzma
|
||||||
TITLE:=Lightweight Network Intrusion Detection System
|
TITLE:=Lightweight Network Intrusion Detection System
|
||||||
URL:=http://www.snort.org/
|
URL:=http://www.snort.org/
|
||||||
CONFLICTS:=snort3
|
CONFLICTS:=snort3
|
||||||
|
@ -57,8 +57,8 @@ CONFIGURE_ARGS += \
|
||||||
--with-dnet-libraries="$(STAGING_DIR)/usr/lib" \
|
--with-dnet-libraries="$(STAGING_DIR)/usr/lib" \
|
||||||
--with-libpcap-includes="$(STAGING_DIR)/usr/include" \
|
--with-libpcap-includes="$(STAGING_DIR)/usr/include" \
|
||||||
--with-libpcap-libraries="$(STAGING_DIR)/usr/lib" \
|
--with-libpcap-libraries="$(STAGING_DIR)/usr/lib" \
|
||||||
--with-libpcre-includes="$(STAGING_DIR)/usr/include" \
|
--with-libpcre2-includes="$(STAGING_DIR)/usr/include" \
|
||||||
--with-libpcre-libraries="$(STAGING_DIR)/usr/lib" \
|
--with-libpcre2-libraries="$(STAGING_DIR)/usr/lib" \
|
||||||
--with-daq-includes="$(STAGING_DIR)/usr/include/daq2" \
|
--with-daq-includes="$(STAGING_DIR)/usr/include/daq2" \
|
||||||
--with-daq-libraries="$(STAGING_DIR)/usr/lib/daq2" \
|
--with-daq-libraries="$(STAGING_DIR)/usr/lib/daq2" \
|
||||||
--disable-static-daq
|
--disable-static-daq
|
||||||
|
|
2114
net/snort/patches/900-Convert-project-to-PCRE2.patch
Normal file
2114
net/snort/patches/900-Convert-project-to-PCRE2.patch
Normal file
File diff suppressed because it is too large
Load diff
|
@ -6,12 +6,12 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=snort3
|
PKG_NAME:=snort3
|
||||||
PKG_VERSION:=3.1.74.0
|
PKG_VERSION:=3.1.75.0
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://github.com/snort3/snort3/archive/refs/tags/
|
PKG_SOURCE_URL:=https://github.com/snort3/snort3/archive/refs/tags/
|
||||||
PKG_HASH:=4a4529e74bc202303c0330ae8b2317f0bef3ac92ae7216df8cfedfce24ddd129
|
PKG_HASH:=c1a1b7d00df5ab45df968f0fb0125eba95bad27c181018b8d68a41e1bb6fc111
|
||||||
|
|
||||||
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
|
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
|
||||||
PKG_LICENSE:=GPL-2.0-only
|
PKG_LICENSE:=GPL-2.0-only
|
||||||
|
|
|
@ -15,8 +15,8 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=wifischedule
|
PKG_NAME:=wifischedule
|
||||||
PKG_VERSION:=1
|
PKG_VERSION:=1.0.5
|
||||||
PKG_RELEASE:=3
|
PKG_RELEASE:=1
|
||||||
PKG_LICENSE:=PRPL
|
PKG_LICENSE:=PRPL
|
||||||
|
|
||||||
PKG_MAINTAINER:=Nils Koenig <openwrt@newk.it>
|
PKG_MAINTAINER:=Nils Koenig <openwrt@newk.it>
|
||||||
|
@ -53,6 +53,18 @@ define Package/wifischedule/install
|
||||||
$(INSTALL_BIN) ./net/usr/bin/wifi_schedule.sh $(1)/usr/bin/wifi_schedule.sh
|
$(INSTALL_BIN) ./net/usr/bin/wifi_schedule.sh $(1)/usr/bin/wifi_schedule.sh
|
||||||
$(INSTALL_DIR) $(1)/etc/config
|
$(INSTALL_DIR) $(1)/etc/config
|
||||||
$(INSTALL_DATA) ./net/etc/config/wifi_schedule $(1)/etc/config/wifi_schedule
|
$(INSTALL_DATA) ./net/etc/config/wifi_schedule $(1)/etc/config/wifi_schedule
|
||||||
|
$(INSTALL_DIR) $(1)/etc/init.d
|
||||||
|
$(INSTALL_DATA) ./net/etc/init.d/wifi_schedule $(1)/etc/init.d/wifi_schedule
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/wifischedule/postinst
|
||||||
|
#!/bin/sh
|
||||||
|
# check if we are on real system
|
||||||
|
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||||
|
echo "Enabling rc.d symlink for wifischedule"
|
||||||
|
/etc/init.d/wifi_schedule enable
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,wifischedule))
|
$(eval $(call BuildPackage,wifischedule))
|
||||||
|
|
|
@ -74,10 +74,11 @@ Then call the script as follows in order to get the necessary cron jobs created:
|
||||||
All commands:
|
All commands:
|
||||||
|
|
||||||
```
|
```
|
||||||
wifi_schedule.sh cron|start|stop|forcestop|recheck|getmodules|savemodules|help
|
wifi_schedule.sh cron|start|startup|stop|forcestop|recheck|getmodules|savemodules|help
|
||||||
|
|
||||||
cron: Create cronjob entries.
|
cron: Create cronjob entries.
|
||||||
start: Start wifi.
|
start: Start wifi.
|
||||||
|
startup: Checks current timewindow and enables/disables WIFI accordingly.
|
||||||
stop: Stop wifi gracefully, i.e. check if there are stations associated and if so keep retrying.
|
stop: Stop wifi gracefully, i.e. check if there are stations associated and if so keep retrying.
|
||||||
forcestop: Stop wifi immediately.
|
forcestop: Stop wifi immediately.
|
||||||
recheck: Recheck if wifi can be disabled now.
|
recheck: Recheck if wifi can be disabled now.
|
||||||
|
@ -85,3 +86,6 @@ wifi_schedule.sh cron|start|stop|forcestop|recheck|getmodules|savemodules|help
|
||||||
savemodules: Saves a list of automatic determined modules to UCI
|
savemodules: Saves a list of automatic determined modules to UCI
|
||||||
help: This description.
|
help: This description.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Startup Script: `/etc/init.d/wifi_schedule`
|
||||||
|
Makes sure time window is checked and WIFI is enabled or disabled accordingly when powering on the router.
|
||||||
|
|
8
net/wifischedule/net/etc/init.d/wifi_schedule
Normal file
8
net/wifischedule/net/etc/init.d/wifi_schedule
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/sh /etc/rc.common
|
||||||
|
# Startup Script for wifi_schedule
|
||||||
|
|
||||||
|
START=100
|
||||||
|
|
||||||
|
start() {
|
||||||
|
/usr/bin/wifi_schedule.sh startup
|
||||||
|
}
|
|
@ -14,6 +14,8 @@
|
||||||
#
|
#
|
||||||
# Author: Nils Koenig <openwrt@newk.it>
|
# Author: Nils Koenig <openwrt@newk.it>
|
||||||
|
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
SCRIPT=$0
|
SCRIPT=$0
|
||||||
LOCKFILE=/tmp/wifi_schedule.lock
|
LOCKFILE=/tmp/wifi_schedule.lock
|
||||||
LOGFILE=/tmp/log/wifi_schedule.log
|
LOGFILE=/tmp/log/wifi_schedule.log
|
||||||
|
@ -122,10 +124,46 @@ _enable_wifi_schedule()
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_is_earlier()
|
||||||
|
{
|
||||||
|
local hhmm=$1
|
||||||
|
local ret=1
|
||||||
|
if [[ $(date +%H) -lt ${hhmm:0:2} ]]
|
||||||
|
then
|
||||||
|
ret=0
|
||||||
|
fi
|
||||||
|
if [[ $(date +%H) -eq ${hhmm:0:2} && $(date +%M) -lt ${hhmm:3:4} ]]
|
||||||
|
then
|
||||||
|
ret=0
|
||||||
|
fi
|
||||||
|
echo $ret
|
||||||
|
}
|
||||||
|
|
||||||
|
# returns 0 if now() is in $entry
|
||||||
|
_check_startup_timewindow()
|
||||||
|
{
|
||||||
|
local entry=$1
|
||||||
|
local starttime
|
||||||
|
local stoptime
|
||||||
|
local dow
|
||||||
|
starttime=$(_get_uci_value ${PACKAGE}.${entry}.starttime) || _exit 1
|
||||||
|
stoptime=$(_get_uci_value ${PACKAGE}.${entry}.stoptime) || _exit 1
|
||||||
|
dow=$(_get_uci_value_raw ${PACKAGE}.${entry}.daysofweek) || _exit 1
|
||||||
|
|
||||||
|
echo $dow | grep $(date +%A) > /dev/null 2>&1
|
||||||
|
rc=$?
|
||||||
|
|
||||||
|
if [[ $rc -eq 0 && $(date +%H) -ge ${starttime:0:2} && $(date +%M) -ge ${starttime:3:4} && $(_is_earlier $stoptime) -eq 0 ]]
|
||||||
|
then
|
||||||
|
echo 0
|
||||||
|
else
|
||||||
|
echo 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
_get_wireless_interfaces()
|
_get_wireless_interfaces()
|
||||||
{
|
{
|
||||||
local n=$(cat /proc/net/wireless | wc -l)
|
iwinfo | grep ESSID | cut -f 1 -s -d" "
|
||||||
cat /proc/net/wireless | tail -n $(($n - 2))|awk -F':' '{print $1}'| sed 's/ //'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -218,6 +256,38 @@ _create_cron_entries()
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_should_wifi_enabled()
|
||||||
|
{
|
||||||
|
|
||||||
|
local enable_wifi=0
|
||||||
|
local entries=$(uci show ${PACKAGE} 2> /dev/null | awk -F'.' '{print $2}' | grep -v '=' | grep -v '@global\[0\]' | uniq | sort)
|
||||||
|
local _entry
|
||||||
|
for _entry in ${entries}
|
||||||
|
do
|
||||||
|
local status
|
||||||
|
status=$(_get_uci_value ${PACKAGE}.${_entry}.enabled) || _exit 1
|
||||||
|
if [ ${status} -eq 1 ]
|
||||||
|
then
|
||||||
|
enable_wifi=$(_check_startup_timewindow $_entry)
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo ${enable_wifi}
|
||||||
|
}
|
||||||
|
|
||||||
|
startup()
|
||||||
|
{
|
||||||
|
_log "startup"
|
||||||
|
local _enable_wifi=$(_should_wifi_enabled)
|
||||||
|
if [[ ${_enable_wifi} -eq 0 ]]
|
||||||
|
then
|
||||||
|
_log "enable wifi"
|
||||||
|
enable_wifi
|
||||||
|
else
|
||||||
|
_log "disable wifi"
|
||||||
|
disable_wifi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
check_cron_status()
|
check_cron_status()
|
||||||
{
|
{
|
||||||
local global_enabled
|
local global_enabled
|
||||||
|
@ -231,7 +301,7 @@ check_cron_status()
|
||||||
disable_wifi()
|
disable_wifi()
|
||||||
{
|
{
|
||||||
_rm_cron_script "${SCRIPT} recheck"
|
_rm_cron_script "${SCRIPT} recheck"
|
||||||
/sbin/wifi down
|
_set_status_wifi_uci 1
|
||||||
local unload_modules
|
local unload_modules
|
||||||
unload_modules=$(_get_uci_value_raw ${GLOBAL}.unload_modules) || _exit 1
|
unload_modules=$(_get_uci_value_raw ${GLOBAL}.unload_modules) || _exit 1
|
||||||
if [[ "${unload_modules}" == "1" ]]; then
|
if [[ "${unload_modules}" == "1" ]]; then
|
||||||
|
@ -241,7 +311,7 @@ disable_wifi()
|
||||||
|
|
||||||
soft_disable_wifi()
|
soft_disable_wifi()
|
||||||
{
|
{
|
||||||
local _disable_wifi=1
|
local _disable_wifi=0 #0: disable wifi, 1: do not disable wifi
|
||||||
local iwinfo=/usr/bin/iwinfo
|
local iwinfo=/usr/bin/iwinfo
|
||||||
if [ ! -e ${iwinfo} ]; then
|
if [ ! -e ${iwinfo} ]; then
|
||||||
_log "${iwinfo} not available, skipping"
|
_log "${iwinfo} not available, skipping"
|
||||||
|
@ -261,14 +331,18 @@ soft_disable_wifi()
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "${stations}" ]; then
|
if [ -n "${stations}" ]; then
|
||||||
_disable_wifi=0
|
_disable_wifi=1
|
||||||
_log "Station(s) $(echo ${stations}) associated on ${_if}"
|
_log "Station(s) $(echo ${stations}) associated on ${_if}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ ${_disable_wifi} -eq 1 ]; then
|
local _wifi_enabled=$(_should_wifi_enabled)
|
||||||
|
if [[ ${_disable_wifi} -eq 0 && ${_wifi_enabled} -eq 1 ]]; then
|
||||||
_log "No stations associated, disable wifi."
|
_log "No stations associated, disable wifi."
|
||||||
disable_wifi
|
disable_wifi
|
||||||
|
elif [[ ${_disable_wifi} -eq 0 && ${_wifi_enabled} -eq 0 ]]; then
|
||||||
|
_log "Do not disable wifi since there is an allow timeframe, skip rechecking."
|
||||||
|
_rm_cron_script "${SCRIPT} recheck"
|
||||||
else
|
else
|
||||||
_log "Could not disable wifi due to associated stations, retrying..."
|
_log "Could not disable wifi due to associated stations, retrying..."
|
||||||
local recheck_interval=$(_get_uci_value ${GLOBAL}.recheck_interval)
|
local recheck_interval=$(_get_uci_value ${GLOBAL}.recheck_interval)
|
||||||
|
@ -276,6 +350,17 @@ soft_disable_wifi()
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_set_status_wifi_uci()
|
||||||
|
{
|
||||||
|
local status=$1
|
||||||
|
local radios=$(uci show wireless | grep radio | awk -F'.' '{print $2}' | grep -v '[=|@]' | sort | uniq)
|
||||||
|
for radio in ${radios}
|
||||||
|
do
|
||||||
|
uci set wireless.${radio}.disabled=${status}
|
||||||
|
done
|
||||||
|
uci commit
|
||||||
|
}
|
||||||
|
|
||||||
enable_wifi()
|
enable_wifi()
|
||||||
{
|
{
|
||||||
_rm_cron_script "${SCRIPT} recheck"
|
_rm_cron_script "${SCRIPT} recheck"
|
||||||
|
@ -284,18 +369,20 @@ enable_wifi()
|
||||||
if [[ "${unload_modules}" == "1" ]]; then
|
if [[ "${unload_modules}" == "1" ]]; then
|
||||||
_load_modules
|
_load_modules
|
||||||
fi
|
fi
|
||||||
|
_set_status_wifi_uci 0
|
||||||
/sbin/wifi
|
/sbin/wifi
|
||||||
}
|
}
|
||||||
|
|
||||||
usage()
|
usage()
|
||||||
{
|
{
|
||||||
echo ""
|
echo ""
|
||||||
echo "$0 cron|start|stop|forcestop|recheck|getmodules|savemodules|help"
|
echo "$0 cron|start|startup|stop|forcestop|recheck|getmodules|savemodules|help"
|
||||||
echo ""
|
echo ""
|
||||||
echo " UCI Config File: /etc/config/${PACKAGE}"
|
echo " UCI Config File: /etc/config/${PACKAGE}"
|
||||||
echo ""
|
echo ""
|
||||||
echo " cron: Create cronjob entries."
|
echo " cron: Create cronjob entries."
|
||||||
echo " start: Start wifi."
|
echo " start: Start wifi."
|
||||||
|
echo " startup: Checks current timewindow and enables/disables WIFI accordingly."
|
||||||
echo " stop: Stop wifi gracefully, i.e. check if there are stations associated and if so keep retrying."
|
echo " stop: Stop wifi gracefully, i.e. check if there are stations associated and if so keep retrying."
|
||||||
echo " forcestop: Stop wifi immediately."
|
echo " forcestop: Stop wifi immediately."
|
||||||
echo " recheck: Recheck if wifi can be disabled now."
|
echo " recheck: Recheck if wifi can be disabled now."
|
||||||
|
@ -305,16 +392,28 @@ usage()
|
||||||
echo ""
|
echo ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_cleanup()
|
||||||
|
{
|
||||||
|
lock -u ${LOCKFILE}
|
||||||
|
rm ${LOCKFILE}
|
||||||
|
}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# MAIN
|
# MAIN
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
trap _cleanup EXIT
|
||||||
|
|
||||||
LOGGING=$(_get_uci_value ${GLOBAL}.logging) || _exit 1
|
LOGGING=$(_get_uci_value ${GLOBAL}.logging) || _exit 1
|
||||||
_log ${SCRIPT} $1 $2
|
_log ${SCRIPT} $1 $2
|
||||||
lock ${LOCKFILE}
|
lock ${LOCKFILE}
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
cron) check_cron_status ;;
|
cron)
|
||||||
|
check_cron_status
|
||||||
|
startup
|
||||||
|
;;
|
||||||
start) enable_wifi ;;
|
start) enable_wifi ;;
|
||||||
|
startup) startup ;;
|
||||||
forcestop) disable_wifi ;;
|
forcestop) disable_wifi ;;
|
||||||
stop) soft_disable_wifi ;;
|
stop) soft_disable_wifi ;;
|
||||||
recheck) soft_disable_wifi ;;
|
recheck) soft_disable_wifi ;;
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=yggdrasil
|
PKG_NAME:=yggdrasil
|
||||||
PKG_VERSION:=0.4.7
|
PKG_VERSION:=0.5.4
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
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_SOURCE_URL:=https://codeload.github.com/yggdrasil-network/yggdrasil-go/tar.gz/v$(PKG_VERSION)?
|
||||||
PKG_HASH:=47429f75b87d9b2450108471991e84c90d748606642e8778e9f578485b05a56f
|
PKG_HASH:=c1cceb9a7a4a8959536b1d930ca081bcfbc76ab655e4bcb55d5d0ab6520d9241
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-go-$(PKG_VERSION)
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-go-$(PKG_VERSION)
|
||||||
|
|
||||||
PKG_MAINTAINER:=William Fleurant <meshnet@protonmail.com>
|
PKG_MAINTAINER:=William Fleurant <meshnet@protonmail.com>
|
||||||
|
@ -33,7 +33,7 @@ define Package/yggdrasil
|
||||||
SUBMENU:=Routing and Redirection
|
SUBMENU:=Routing and Redirection
|
||||||
TITLE:=Yggdrasil supports end-to-end encrypted IPv6 networks
|
TITLE:=Yggdrasil supports end-to-end encrypted IPv6 networks
|
||||||
URL:=https://yggdrasil-network.github.io/
|
URL:=https://yggdrasil-network.github.io/
|
||||||
DEPENDS:=$(GO_ARCH_DEPENDS) @IPV6 +kmod-tun +dkjson +libuci-lua
|
DEPENDS:=$(GO_ARCH_DEPENDS) @IPV6 +kmod-tun
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/yggdrasil/description
|
define Package/yggdrasil/description
|
||||||
|
@ -46,14 +46,9 @@ define Package/yggdrasil/description
|
||||||
interfaces simultaneously with much greater throughput.
|
interfaces simultaneously with much greater throughput.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/yggdrasil/conffiles
|
|
||||||
/etc/config/yggdrasil
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/yggdrasil/install
|
define Package/yggdrasil/install
|
||||||
$(INSTALL_DIR) \
|
$(INSTALL_DIR) \
|
||||||
$(1)/etc/init.d \
|
$(1)/lib/netifd/proto \
|
||||||
$(1)/etc/uci-defaults \
|
|
||||||
$(1)/usr/sbin
|
$(1)/usr/sbin
|
||||||
|
|
||||||
$(INSTALL_BIN) \
|
$(INSTALL_BIN) \
|
||||||
|
@ -65,16 +60,8 @@ define Package/yggdrasil/install
|
||||||
$(1)/usr/sbin
|
$(1)/usr/sbin
|
||||||
|
|
||||||
$(INSTALL_BIN) \
|
$(INSTALL_BIN) \
|
||||||
./files/ygguci \
|
./files/yggdrasil.sh \
|
||||||
$(1)/usr/sbin
|
$(1)/lib/netifd/proto
|
||||||
|
|
||||||
$(INSTALL_BIN) \
|
|
||||||
./files/yggdrasil.defaults \
|
|
||||||
$(1)/etc/uci-defaults/yggdrasil
|
|
||||||
|
|
||||||
$(INSTALL_BIN) \
|
|
||||||
./files/yggdrasil.init \
|
|
||||||
$(1)/etc/init.d/yggdrasil
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call GoBinPackage,yggdrasil))
|
$(eval $(call GoBinPackage,yggdrasil))
|
||||||
|
|
|
@ -1,110 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
yggConfig="/etc/config/yggdrasil"
|
|
||||||
|
|
||||||
first_boot_genConfig()
|
|
||||||
{
|
|
||||||
. /usr/share/libubox/jshn.sh
|
|
||||||
boardcfg=$(ubus call system board)
|
|
||||||
touch ${yggConfig}
|
|
||||||
yggdrasil -genconf -json | ygguci set
|
|
||||||
|
|
||||||
json_load "$boardcfg"
|
|
||||||
json_get_var kernel kernel
|
|
||||||
json_get_var system system
|
|
||||||
json_get_var model model
|
|
||||||
json_get_var board_name board_name
|
|
||||||
nodeinfo='{"kernel": "'$kernel'", "hostname":"'OpenWrt'", "system": "'$system'", "model": "'$model'", "board_name": "'$board_name'"}'
|
|
||||||
|
|
||||||
uci set yggdrasil.yggdrasil.IfName="ygg0"
|
|
||||||
uci set yggdrasil.yggdrasil.NodeInfo="$nodeinfo"
|
|
||||||
uci commit yggdrasil
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ -e /etc/yggdrasil.conf ]; then
|
|
||||||
echo "config: import config from /etc/yggdrasil.conf to /etc/config/yggdrasil" | logger -t yggdrasil
|
|
||||||
touch ${yggConfig}
|
|
||||||
cat /etc/yggdrasil.conf | ygguci set
|
|
||||||
mv /etc/yggdrasil.conf /etc/yggdrasil.conf.bak
|
|
||||||
elif [ ! -e ${yggConfig} ]; then
|
|
||||||
echo "first_boot: adding system board details to NodeInfo[] in NEW config: ${yggConfig}" | logger -t yggdrasil
|
|
||||||
|
|
||||||
first_boot_genConfig
|
|
||||||
|
|
||||||
# create the network interface
|
|
||||||
uci -q batch <<-EOF >/dev/null
|
|
||||||
set network.yggdrasil=interface
|
|
||||||
set network.yggdrasil.device=ygg0
|
|
||||||
set network.yggdrasil.proto=none
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# create the firewall zone
|
|
||||||
uci -q batch <<-EOF >/dev/null
|
|
||||||
set firewall.yggdrasil=zone
|
|
||||||
set firewall.yggdrasil.name=yggdrasil
|
|
||||||
add_list firewall.yggdrasil.network=yggdrasil
|
|
||||||
set firewall.yggdrasil.input=REJECT
|
|
||||||
set firewall.yggdrasil.output=ACCEPT
|
|
||||||
set firewall.yggdrasil.forward=REJECT
|
|
||||||
set firewall.yggdrasil.conntrack=1
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# allow ICMP from yggdrasil zone, e.g. ping6
|
|
||||||
uci -q batch <<-EOF >/dev/null
|
|
||||||
add firewall rule
|
|
||||||
set firewall.@rule[-1].name='Allow-ICMPv6-yggdrasil'
|
|
||||||
set firewall.@rule[-1].src=yggdrasil
|
|
||||||
set firewall.@rule[-1].proto=icmp
|
|
||||||
add_list firewall.@rule[-1].icmp_type=echo-request
|
|
||||||
add_list firewall.@rule[-1].icmp_type=echo-reply
|
|
||||||
add_list firewall.@rule[-1].icmp_type=destination-unreachable
|
|
||||||
add_list firewall.@rule[-1].icmp_type=packet-too-big
|
|
||||||
add_list firewall.@rule[-1].icmp_type=time-exceeded
|
|
||||||
add_list firewall.@rule[-1].icmp_type=bad-header
|
|
||||||
add_list firewall.@rule[-1].icmp_type=unknown-header-type
|
|
||||||
set firewall.@rule[-1].limit='1000/sec'
|
|
||||||
set firewall.@rule[-1].family=ipv6
|
|
||||||
set firewall.@rule[-1].target=ACCEPT
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# allow SSH from yggdrasil zone, needs to be explicitly enabled
|
|
||||||
uci -q batch <<-EOF >/dev/null
|
|
||||||
add firewall rule
|
|
||||||
set firewall.@rule[-1].enabled=0
|
|
||||||
set firewall.@rule[-1].name='Allow-SSH-yggdrasil'
|
|
||||||
set firewall.@rule[-1].src=yggdrasil
|
|
||||||
set firewall.@rule[-1].proto=tcp
|
|
||||||
set firewall.@rule[-1].dest_port=22
|
|
||||||
set firewall.@rule[-1].target=ACCEPT
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# allow LuCI access from yggdrasil zone, needs to be explicitly enabled
|
|
||||||
uci -q batch <<-EOF >/dev/null
|
|
||||||
add firewall rule
|
|
||||||
set firewall.@rule[-1].enabled=0
|
|
||||||
set firewall.@rule[-1].name='Allow-HTTP-yggdrasil'
|
|
||||||
set firewall.@rule[-1].src=yggdrasil
|
|
||||||
set firewall.@rule[-1].proto=tcp
|
|
||||||
set firewall.@rule[-1].dest_port=80
|
|
||||||
set firewall.@rule[-1].target=ACCEPT
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# allow LuCI access with SSL from yggdrasil zone, needs to be explicitly enabled
|
|
||||||
uci -q batch <<-EOF >/dev/null
|
|
||||||
add firewall rule
|
|
||||||
set firewall.@rule[-1].enabled=0
|
|
||||||
set firewall.@rule[-1].name='Allow-HTTPS-yggdrasil'
|
|
||||||
set firewall.@rule[-1].src=yggdrasil
|
|
||||||
set firewall.@rule[-1].proto=tcp
|
|
||||||
set firewall.@rule[-1].dest_port=443
|
|
||||||
set firewall.@rule[-1].target=ACCEPT
|
|
||||||
EOF
|
|
||||||
|
|
||||||
uci commit firewall
|
|
||||||
uci commit network
|
|
||||||
|
|
||||||
else
|
|
||||||
:
|
|
||||||
fi
|
|
||||||
|
|
||||||
exit 0
|
|
|
@ -1,33 +0,0 @@
|
||||||
#!/bin/sh /etc/rc.common
|
|
||||||
|
|
||||||
START=90
|
|
||||||
STOP=85
|
|
||||||
|
|
||||||
USE_PROCD=1
|
|
||||||
BIN_FILE="/usr/sbin/yggdrasil"
|
|
||||||
CONFIG_FILE="/tmp/yggdrasil.conf"
|
|
||||||
DAEMON_OPTS="-useconffile $CONFIG_FILE"
|
|
||||||
|
|
||||||
start_service()
|
|
||||||
{
|
|
||||||
[ -f /etc/uci-defaults/yggdrasil ] && ( . /etc/uci-defaults/yggdrasil )
|
|
||||||
|
|
||||||
/usr/sbin/ygguci get | $BIN_FILE -useconf -normaliseconf -json > $CONFIG_FILE
|
|
||||||
|
|
||||||
procd_open_instance
|
|
||||||
procd_set_param respawn
|
|
||||||
procd_set_param command $BIN_FILE $DAEMON_OPTS
|
|
||||||
procd_set_param stdout 1
|
|
||||||
procd_set_param stderr 1
|
|
||||||
procd_close_instance
|
|
||||||
}
|
|
||||||
|
|
||||||
reload_service()
|
|
||||||
{
|
|
||||||
restart
|
|
||||||
}
|
|
||||||
|
|
||||||
service_triggers()
|
|
||||||
{
|
|
||||||
procd_add_reload_trigger yggdrasil
|
|
||||||
}
|
|
205
net/yggdrasil/files/yggdrasil.sh
Executable file
205
net/yggdrasil/files/yggdrasil.sh
Executable file
|
@ -0,0 +1,205 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
|
||||||
|
[ -n "$INCLUDE_ONLY" ] || {
|
||||||
|
. /lib/functions.sh
|
||||||
|
. ../netifd-proto.sh
|
||||||
|
init_proto "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
proto_yggdrasil_init_config() {
|
||||||
|
proto_config_add_string "private_key"
|
||||||
|
available=1
|
||||||
|
}
|
||||||
|
|
||||||
|
proto_yggdrasil_setup_peer_if_non_interface() {
|
||||||
|
local peer_config="$1"
|
||||||
|
local peer_address
|
||||||
|
local peer_interface
|
||||||
|
config_get peer_address "${peer_config}" "address"
|
||||||
|
config_get peer_interface "${peer_config}" "interface"
|
||||||
|
if [ -z ${peer_interface} ]; then
|
||||||
|
json_add_string "" ${peer_address}
|
||||||
|
fi;
|
||||||
|
}
|
||||||
|
|
||||||
|
proto_yggdrasil_dump_peer_interface() {
|
||||||
|
local peer_config="$1"
|
||||||
|
local peer_interface
|
||||||
|
|
||||||
|
config_get peer_interface "${peer_config}" "interface"
|
||||||
|
|
||||||
|
if [ ! -z ${peer_interface} ]; then
|
||||||
|
peer_interfaces="${peer_interfaces}\n${peer_interface}"
|
||||||
|
fi;
|
||||||
|
}
|
||||||
|
|
||||||
|
proto_yggdrasil_setup_peer_if_interface() {
|
||||||
|
local peer_config="$1"
|
||||||
|
local peer_address
|
||||||
|
local peer_interface
|
||||||
|
config_get peer_interface "${peer_config}" "interface"
|
||||||
|
if [ "${peer_interface}" = "${peer_interface_filter}" ]; then
|
||||||
|
config_get peer_address "${peer_config}" "address"
|
||||||
|
json_add_string "" ${peer_address}
|
||||||
|
fi;
|
||||||
|
}
|
||||||
|
|
||||||
|
proto_yggdrasil_append_to_interface_regex() {
|
||||||
|
if [ -z "${regex}" ]; then
|
||||||
|
regex="$1"
|
||||||
|
else
|
||||||
|
regex="${regex}|$1";
|
||||||
|
fi;
|
||||||
|
}
|
||||||
|
|
||||||
|
proto_yggdrasil_setup_multicast_interface() {
|
||||||
|
local interface_config="$1"
|
||||||
|
local beacon
|
||||||
|
local listen
|
||||||
|
local port=0
|
||||||
|
local password
|
||||||
|
local regex=""
|
||||||
|
|
||||||
|
config_get beacon "${interface_config}" "beacon"
|
||||||
|
config_get listen "${interface_config}" "listen"
|
||||||
|
config_get port "${interface_config}" "port"
|
||||||
|
config_get password "${interface_config}" "password"
|
||||||
|
|
||||||
|
json_add_object ""
|
||||||
|
json_add_boolean "Beacon" $beacon
|
||||||
|
json_add_boolean "Listen" $listen
|
||||||
|
if [ ! -z ${port} ]; then
|
||||||
|
json_add_int "Port" $port
|
||||||
|
else
|
||||||
|
json_add_int "Port" 0
|
||||||
|
fi;
|
||||||
|
if [ ! -z ${password} ]; then
|
||||||
|
json_add_string "Password" $password
|
||||||
|
fi;
|
||||||
|
|
||||||
|
config_list_foreach "${interface_config}" interface proto_yggdrasil_append_to_interface_regex
|
||||||
|
|
||||||
|
json_add_string "Regex" "^(${regex})\$"
|
||||||
|
|
||||||
|
json_close_object
|
||||||
|
}
|
||||||
|
|
||||||
|
proto_yggdrasil_add_string() {
|
||||||
|
json_add_string "" $1
|
||||||
|
}
|
||||||
|
|
||||||
|
proto_yggdrasil_generate_keypair() {
|
||||||
|
json_load "$(yggdrasil -genconf -json)"
|
||||||
|
json_get_vars PrivateKey
|
||||||
|
json_cleanup
|
||||||
|
private_key=$PrivateKey
|
||||||
|
public_key=${PrivateKey:64}
|
||||||
|
}
|
||||||
|
|
||||||
|
proto_yggdrasil_setup() {
|
||||||
|
local config="$1"
|
||||||
|
local device="$2"
|
||||||
|
local ygg_dir="/tmp/yggdrasil"
|
||||||
|
local ygg_cfg="${ygg_dir}/${config}.conf"
|
||||||
|
local ygg_sock="unix://${ygg_dir}/${config}.sock"
|
||||||
|
|
||||||
|
|
||||||
|
local private_key
|
||||||
|
local public_key
|
||||||
|
local mtu
|
||||||
|
local listen_addresses
|
||||||
|
local whitelisted_keys
|
||||||
|
local node_info
|
||||||
|
local node_info_privacy
|
||||||
|
|
||||||
|
config_load network
|
||||||
|
config_get private_key "${config}" "private_key"
|
||||||
|
config_get public_key "${config}" "public_key"
|
||||||
|
config_get mtu "${config}" "mtu"
|
||||||
|
config_get node_info "${config}" "node_info"
|
||||||
|
config_get node_info_privacy "${config}" "node_info_privacy"
|
||||||
|
|
||||||
|
if [ -z $private_key ]; then
|
||||||
|
proto_yggdrasil_generate_keypair
|
||||||
|
fi;
|
||||||
|
|
||||||
|
umask 077
|
||||||
|
mkdir -p "${ygg_dir}"
|
||||||
|
|
||||||
|
if [ $private_key = "auto" ]; then
|
||||||
|
proto_yggdrasil_generate_keypair
|
||||||
|
uci -t ${ygg_dir}/.uci.${config} batch <<EOF
|
||||||
|
set network.${config}.private_key='${private_key}'
|
||||||
|
set network.${config}.public_key='${public_key}'
|
||||||
|
EOF
|
||||||
|
uci -t ${ygg_dir}/.uci.${config} commit;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
# Generate config file
|
||||||
|
json_init
|
||||||
|
json_add_string "IfName" ${config}
|
||||||
|
json_add_string "AdminListen" ${ygg_sock}
|
||||||
|
|
||||||
|
json_add_string "PrivateKey" ${private_key}
|
||||||
|
json_add_string "PublicKey" ${public_key}
|
||||||
|
|
||||||
|
if [ ! -z $mtu ]; then
|
||||||
|
json_add_int "IfMTU" ${mtu}
|
||||||
|
fi;
|
||||||
|
|
||||||
|
if [ ! -z $node_info ]; then
|
||||||
|
json_add_string "NodeInfo" "%%_YGGDRASIL_NODEINFO_TEMPLATE_%%"
|
||||||
|
fi;
|
||||||
|
|
||||||
|
json_add_boolean "NodeInfoPrivacy" ${node_info_privacy}
|
||||||
|
|
||||||
|
# Peers
|
||||||
|
json_add_array "Peers"
|
||||||
|
config_foreach proto_yggdrasil_setup_peer_if_non_interface "yggdrasil_${config}_peer"
|
||||||
|
json_close_array
|
||||||
|
|
||||||
|
local peer_interfaces
|
||||||
|
peer_interfaces=""
|
||||||
|
config_foreach proto_yggdrasil_dump_peer_interface "yggdrasil_${config}_peer"
|
||||||
|
peer_interfaces=$(echo -e ${peer_interfaces} | sort | uniq)
|
||||||
|
|
||||||
|
json_add_object "InterfacePeers"
|
||||||
|
for peer_interface_filter in ${peer_interfaces}; do
|
||||||
|
json_add_array "${peer_interface_filter}"
|
||||||
|
config_foreach proto_yggdrasil_setup_peer_if_interface "yggdrasil_${config}_peer"
|
||||||
|
json_close_array
|
||||||
|
done
|
||||||
|
json_close_object
|
||||||
|
|
||||||
|
json_add_array "AllowedPublicKeys"
|
||||||
|
config_list_foreach "$config" allowed_public_key proto_yggdrasil_add_string
|
||||||
|
json_close_array
|
||||||
|
|
||||||
|
json_add_array "Listen"
|
||||||
|
config_list_foreach "$config" listen_address proto_yggdrasil_add_string
|
||||||
|
json_close_array
|
||||||
|
|
||||||
|
json_add_array "MulticastInterfaces"
|
||||||
|
config_foreach proto_yggdrasil_setup_multicast_interface "yggdrasil_${config}_interface"
|
||||||
|
json_close_array
|
||||||
|
|
||||||
|
json_dump > "${ygg_cfg}.1"
|
||||||
|
awk -v s='"%%_YGGDRASIL_NODEINFO_TEMPLATE_%%"' -v r="${node_info}" '{gsub(s, r)} 1' "${ygg_cfg}.1" > ${ygg_cfg}
|
||||||
|
rm "${ygg_cfg}.1"
|
||||||
|
|
||||||
|
proto_run_command "$config" /usr/sbin/yggdrasil -useconffile "${ygg_cfg}"
|
||||||
|
proto_init_update "$config" 1
|
||||||
|
proto_add_ipv6_address "$(yggdrasil -useconffile "${ygg_cfg}" -address)" "7"
|
||||||
|
proto_add_ipv6_prefix "$(yggdrasil -useconffile "${ygg_cfg}" -subnet)"
|
||||||
|
proto_send_update "$config"
|
||||||
|
}
|
||||||
|
|
||||||
|
proto_yggdrasil_teardown() {
|
||||||
|
local interface="$1"
|
||||||
|
proto_kill_command "$interface"
|
||||||
|
}
|
||||||
|
|
||||||
|
[ -n "$INCLUDE_ONLY" ] || {
|
||||||
|
add_protocol yggdrasil
|
||||||
|
}
|
|
@ -1,155 +0,0 @@
|
||||||
#!/usr/bin/env lua
|
|
||||||
|
|
||||||
dkjson = require("dkjson")
|
|
||||||
uci = require("uci")
|
|
||||||
|
|
||||||
UCI = {}
|
|
||||||
|
|
||||||
--- Return the configuration defaults as a table suitable for JSON output
|
|
||||||
--
|
|
||||||
-- Mostly taken from yggdrasil -genconf -json
|
|
||||||
-- @return table with configuration defaults
|
|
||||||
function UCI.defaults()
|
|
||||||
return {
|
|
||||||
AdminListen = "unix:///var/run/yggdrasil.sock", IfName = "ygg0",
|
|
||||||
NodeInfoPrivacy = false,
|
|
||||||
IfMTU = 65535,
|
|
||||||
|
|
||||||
Peers = { }, Listen = { }, MulticastInterfaces = { }, AllowedPublicKeys = { },
|
|
||||||
InterfacePeers = setmetatable({ }, {__jsontype = "object"}),
|
|
||||||
NodeInfo = setmetatable({ }, {__jsontype = "object"})
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
--- Return the yggdrasil configuration as a table suitable for JSON output
|
|
||||||
--
|
|
||||||
-- @return table with yggdrasil configuration
|
|
||||||
function UCI.get()
|
|
||||||
local obj = UCI.defaults()
|
|
||||||
|
|
||||||
local cursor = uci.cursor()
|
|
||||||
local config = cursor:get_all("yggdrasil", "yggdrasil")
|
|
||||||
if not config then return obj end
|
|
||||||
|
|
||||||
obj.PublicKey = config.PublicKey
|
|
||||||
obj.PrivateKey = config.PrivateKey
|
|
||||||
obj.AdminListen = config.AdminListen or obj.AdminListen
|
|
||||||
obj.IfName = config.IfName or obj.IfName
|
|
||||||
obj.NodeInfo = dkjson.decode(config.NodeInfo) or obj.NodeInfo
|
|
||||||
for _, v in pairs({ "NodeInfoPrivacy" }) do
|
|
||||||
if config[v] ~= nil then obj[v] = to_bool(config[v]) end
|
|
||||||
end
|
|
||||||
if config["IfMTU"] ~= nil then obj["IfMTU"] = tonumber(config["IfMTU"]) end
|
|
||||||
|
|
||||||
cursor:foreach("yggdrasil", "peer", function (s)
|
|
||||||
table.insert(obj.Peers, s.uri)
|
|
||||||
end)
|
|
||||||
cursor:foreach("yggdrasil", "listen_address", function (s)
|
|
||||||
table.insert(obj.Listen, s.uri)
|
|
||||||
end)
|
|
||||||
cursor:foreach("yggdrasil", "multicast_interface", function (s)
|
|
||||||
table.insert(obj.MulticastInterfaces, {
|
|
||||||
Beacon = to_bool(s.beacon), Listen = to_bool(s.listen),
|
|
||||||
Port = tonumber(s.port), Regex = s.regex
|
|
||||||
})
|
|
||||||
end)
|
|
||||||
cursor:foreach("yggdrasil", "allowed_public_key", function (s)
|
|
||||||
table.insert(obj.AllowedPublicKeys, s.key)
|
|
||||||
end)
|
|
||||||
|
|
||||||
cursor:foreach("yggdrasil", "interface_peer", function (s)
|
|
||||||
if obj.InterfacePeers[s.interface] == nil then
|
|
||||||
obj.InterfacePeers[s.interface] = {}
|
|
||||||
end
|
|
||||||
table.insert(obj.InterfacePeers[s["interface"]], s.uri)
|
|
||||||
end)
|
|
||||||
|
|
||||||
return obj
|
|
||||||
end
|
|
||||||
|
|
||||||
--- Parse and save updated configuration from JSON input
|
|
||||||
--
|
|
||||||
-- Transforms general settings into UCI sections, and replaces the UCI config's
|
|
||||||
-- contents with them.
|
|
||||||
-- @param table JSON input
|
|
||||||
-- @return Boolean whether saving succeeded
|
|
||||||
function UCI.set(obj)
|
|
||||||
local cursor = uci.cursor()
|
|
||||||
|
|
||||||
for i, section in pairs(cursor:get_all("yggdrasil")) do
|
|
||||||
cursor:delete("yggdrasil", section[".name"])
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
cursor:set("yggdrasil", "yggdrasil", "yggdrasil")
|
|
||||||
cursor:set("yggdrasil", "yggdrasil", "PublicKey", obj.PublicKey)
|
|
||||||
cursor:set("yggdrasil", "yggdrasil", "PrivateKey", obj.PrivateKey)
|
|
||||||
cursor:set("yggdrasil", "yggdrasil", "AdminListen", obj.AdminListen)
|
|
||||||
cursor:set("yggdrasil", "yggdrasil", "IfName", obj.IfName)
|
|
||||||
cursor:set("yggdrasil", "yggdrasil", "NodeInfoPrivacy", to_int(obj.NodeInfoPrivacy))
|
|
||||||
cursor:set("yggdrasil", "yggdrasil", "NodeInfo", dkjson.encode(obj.NodeInfo))
|
|
||||||
cursor:set("yggdrasil", "yggdrasil", "IfMTU", obj.IfMTU)
|
|
||||||
|
|
||||||
set_values(cursor, "peer", "uri", obj.Peers)
|
|
||||||
set_values(cursor, "listen_address", "uri", obj.Listen)
|
|
||||||
|
|
||||||
for _, interface in pairs(obj.MulticastInterfaces) do
|
|
||||||
local name = cursor:add("yggdrasil", "multicast_interface")
|
|
||||||
cursor:set("yggdrasil", name, "beacon", to_int(interface.Beacon))
|
|
||||||
cursor:set("yggdrasil", name, "listen", to_int(interface.Listen))
|
|
||||||
cursor:set("yggdrasil", name, "port", interface.Port)
|
|
||||||
cursor:set("yggdrasil", name, "regex", interface.Regex)
|
|
||||||
end
|
|
||||||
|
|
||||||
set_values(cursor, "allowed_public_key", "key", obj.AllowedPublicKeys)
|
|
||||||
|
|
||||||
for interface, peers in pairs(obj.InterfacePeers) do
|
|
||||||
for _, v in pairs(peers) do
|
|
||||||
local name = cursor:add("yggdrasil", "interface_peer")
|
|
||||||
cursor:set("yggdrasil", name, "interface", interface)
|
|
||||||
cursor:set("yggdrasil", name, "uri", v)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return cursor:commit("yggdrasil")
|
|
||||||
end
|
|
||||||
|
|
||||||
function set_values(cursor, section_name, parameter, values)
|
|
||||||
if values == nil then return false end
|
|
||||||
|
|
||||||
for k, v in pairs(values) do
|
|
||||||
local name = cursor:add("yggdrasil", section_name)
|
|
||||||
cursor:set("yggdrasil", name, parameter, v)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function to_int(bool) return bool and '1' or '0' end
|
|
||||||
|
|
||||||
function to_bool(int) return int ~= '0' end
|
|
||||||
|
|
||||||
function help()
|
|
||||||
print("JSON interface to /etc/config/yggdrasil\n\nExamples: \
|
|
||||||
ygguci get > /tmp/etc/yggdrasil.conf \
|
|
||||||
cat /tmp/etc/yggdrasil.conf | ygguci set \
|
|
||||||
uci changes \
|
|
||||||
ygguci get | yggdrasil -useconf")
|
|
||||||
end
|
|
||||||
|
|
||||||
-- main
|
|
||||||
|
|
||||||
if arg[1] == "get" then
|
|
||||||
local json = dkjson.encode(UCI.get(), { indent = true })
|
|
||||||
print(json)
|
|
||||||
elseif arg[1] == "set" then
|
|
||||||
local json = io.stdin:read("*a")
|
|
||||||
local obj, pos, err = dkjson.decode(json, 1, nil)
|
|
||||||
|
|
||||||
if obj then
|
|
||||||
UCI.set(obj)
|
|
||||||
else
|
|
||||||
print("dkjson: " .. err)
|
|
||||||
os.exit(1)
|
|
||||||
end
|
|
||||||
else
|
|
||||||
help()
|
|
||||||
end
|
|
|
@ -1,12 +1,12 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=crun
|
PKG_NAME:=crun
|
||||||
PKG_VERSION:=1.9.2
|
PKG_VERSION:=1.12
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://codeload.github.com/containers/crun/tar.gz/$(PKG_VERSION)?
|
PKG_SOURCE_URL:=https://codeload.github.com/containers/crun/tar.gz/$(PKG_VERSION)?
|
||||||
PKG_HASH:=a5ed2984a9ebb3e0e5cba0781832f03931423097a56f48a948ab034b46726aef
|
PKG_HASH:=e4afa9dc5b3b851435b990331a013c6cb6064f3206609782f01486dff2446522
|
||||||
|
|
||||||
PKG_BUILD_DEPENDS:=argp-standalone
|
PKG_BUILD_DEPENDS:=argp-standalone
|
||||||
PKG_BUILD_PARALLEL:=1
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=podman
|
PKG_NAME:=podman
|
||||||
PKG_VERSION:=4.7.1
|
PKG_VERSION:=4.8.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://github.com/containers/podman/archive/v$(PKG_VERSION)
|
PKG_SOURCE_URL:=https://github.com/containers/podman/archive/v$(PKG_VERSION)
|
||||||
PKG_HASH:=b785fe69041a0f222a8e1f8165816d767cb9bff5418f3f559547da82c0c279cc
|
PKG_HASH:=cd0afd1fb493b0c099fd8634525f318f35e4e84c1d7735d8426a722a4d5c8409
|
||||||
|
|
||||||
PKG_LICENSE:=Apache-2.0
|
PKG_LICENSE:=Apache-2.0
|
||||||
PKG_LICENSE_FILES:=LICENSE
|
PKG_LICENSE_FILES:=LICENSE
|
||||||
|
@ -39,7 +39,7 @@ define Package/podman
|
||||||
CATEGORY:=Utilities
|
CATEGORY:=Utilities
|
||||||
TITLE:=Podman
|
TITLE:=Podman
|
||||||
URL:=https://podman.io
|
URL:=https://podman.io
|
||||||
DEPENDS:=$(GO_ARCH_DEPENDS) +conmon +libgpgme +libseccomp +nsenter +zoneinfo-simple +kmod-veth +slirp4netns +netavark +aardvark-dns +catatonit +PODMAN_SELINUX_SUPPORT:libselinux
|
DEPENDS:=$(GO_ARCH_DEPENDS) +conmon +libgpgme +libseccomp +nsenter +zoneinfo-simple +kmod-veth +slirp4netns +netavark +aardvark-dns +catatonit +crun +PODMAN_SELINUX_SUPPORT:libselinux
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/podman/description
|
define Package/podman/description
|
||||||
|
|
|
@ -3,11 +3,14 @@
|
||||||
[containers]
|
[containers]
|
||||||
#annotations = []
|
#annotations = []
|
||||||
#apparmor_profile = "container-default"
|
#apparmor_profile = "container-default"
|
||||||
|
#base_hosts_file = ""
|
||||||
|
#cgroup_conf = []
|
||||||
cgroupns = "private"
|
cgroupns = "private"
|
||||||
cgroups = "enabled"
|
cgroups = "enabled"
|
||||||
netns = "private"
|
netns = "private"
|
||||||
#pidns = "private"
|
#pidns = "private"
|
||||||
#rootless_networking = "slirp4netns"
|
#userns = "host"
|
||||||
|
#utsns = "private"
|
||||||
#seccomp_profile = "/usr/share/containers/seccomp.json"
|
#seccomp_profile = "/usr/share/containers/seccomp.json"
|
||||||
#shm_size = "65536k"
|
#shm_size = "65536k"
|
||||||
|
|
||||||
|
@ -29,30 +32,116 @@ default_sysctls = [
|
||||||
"net.ipv4.ping_group_range=0 0",
|
"net.ipv4.ping_group_range=0 0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
#devices = []
|
||||||
|
#dns_options = []
|
||||||
|
#dns_searches = []
|
||||||
|
#dns_servers = []
|
||||||
|
#env = [
|
||||||
|
# "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
||||||
|
#]
|
||||||
|
|
||||||
|
#env_host = false
|
||||||
|
#host_containers_internal_ip = ""
|
||||||
|
#http_proxy = true
|
||||||
|
#init = false
|
||||||
|
#ipcns = "shareable"
|
||||||
|
#keyring = true
|
||||||
|
#label = true
|
||||||
|
#label_users = false
|
||||||
|
#log_driver = "k8s-file"
|
||||||
|
#log_size_max = -1
|
||||||
|
#log_tag = ""
|
||||||
|
#mounts = []
|
||||||
|
#prepare_volume_on_create = false
|
||||||
|
#privileged = false
|
||||||
|
#read_only = false
|
||||||
|
#seccomp_profile = "/usr/share/containers/seccomp.json"
|
||||||
|
#tz = ""
|
||||||
|
#umask = "0022"
|
||||||
|
#volumes = []
|
||||||
|
|
||||||
|
[secrets]
|
||||||
|
#driver = "file"
|
||||||
|
|
||||||
|
[secrets.opts]
|
||||||
|
#root = "/example/directory"
|
||||||
|
|
||||||
[network]
|
[network]
|
||||||
network_backend = "netavark"
|
network_backend = "netavark"
|
||||||
|
#netavark_plugin_dirs = [
|
||||||
|
# "/usr/local/libexec/netavark",
|
||||||
|
# "/usr/libexec/netavark",
|
||||||
|
# "/usr/local/lib/netavark",
|
||||||
|
# "/usr/lib/netavark",
|
||||||
|
#]
|
||||||
|
#firewall_driver = "none"
|
||||||
network_config_dir = "/etc/containers/networks/"
|
network_config_dir = "/etc/containers/networks/"
|
||||||
default_network = "podman"
|
default_network = "podman"
|
||||||
|
#default_subnet = "10.88.0.0/16"
|
||||||
|
#default_subnet_pools = [
|
||||||
|
# {"base" = "10.89.0.0/16", "size" = 24},
|
||||||
|
# {"base" = "10.90.0.0/15", "size" = 24},
|
||||||
|
# {"base" = "10.92.0.0/14", "size" = 24},
|
||||||
|
# {"base" = "10.96.0.0/11", "size" = 24},
|
||||||
|
# {"base" = "10.128.0.0/9", "size" = 24},
|
||||||
|
#]
|
||||||
|
|
||||||
|
default_rootless_network_cmd = "slirp4netns"
|
||||||
|
#dns_bind_port = 53
|
||||||
|
|
||||||
|
|
||||||
[engine]
|
[engine]
|
||||||
|
#add_compression = ["gzip", "zstd", "zstd:chunked"]
|
||||||
|
#compat_api_enforce_docker_hub = true
|
||||||
|
#compose_providers=[]
|
||||||
|
#compose_warning_logs = true
|
||||||
|
#compression_format = "gzip"
|
||||||
|
#compression_level = 5
|
||||||
cgroup_manager = "cgroupfs"
|
cgroup_manager = "cgroupfs"
|
||||||
|
|
||||||
|
conmon_path = [ "/usr/bin/conmon" ]
|
||||||
|
#conmon_env_vars = [
|
||||||
|
# "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||||
|
#]
|
||||||
|
|
||||||
|
#database_backend = ""
|
||||||
|
#detach_keys = "ctrl-p,ctrl-q"
|
||||||
|
#enable_port_reservation = true
|
||||||
|
#env = []
|
||||||
|
#events_logfile_path=""
|
||||||
|
#events_logfile_max_size = "1m"
|
||||||
events_logger = "none"
|
events_logger = "none"
|
||||||
|
#events_container_create_inspect_data = false
|
||||||
|
#image_default_format = ""
|
||||||
#image_default_transport = "docker://"
|
#image_default_transport = "docker://"
|
||||||
#image_parallel_copies = 0
|
#image_parallel_copies = 0
|
||||||
|
#image_volume_mode = ""
|
||||||
#infra_command = "/pause"
|
#infra_command = "/pause"
|
||||||
#infra_image = "k8s.gcr.io/pause:3.4.1"
|
#infra_image = ""
|
||||||
#lock_type** = "shm"
|
#lock_type = "shm"
|
||||||
|
#multi_image_archive = false
|
||||||
#namespace = ""
|
#namespace = ""
|
||||||
#network_cmd_path = ""
|
network_cmd_path = "/usr/bin/slirp4netns"
|
||||||
|
#network_cmd_options = []
|
||||||
|
#no_pivot_root = false
|
||||||
|
#num_locks = 2048
|
||||||
|
#pod_exit_policy = "continue"
|
||||||
|
#pull_policy = "missing"
|
||||||
|
#remote = false
|
||||||
|
|
||||||
runtime = "crun"
|
runtime = "crun"
|
||||||
# runtime = "runc"
|
|
||||||
# runtime = "uxc"
|
|
||||||
|
|
||||||
runtime_supports_json = ["crun", "runc", "kata", "uxc"]
|
runtime_supports_json = ["crun", "runc", "kata", "runsc", "youki", "krun", "uxc"]
|
||||||
#runtime_supports_kvm = ["kata", "krun"]
|
#runtime_supports_kvm = ["kata", "krun"]
|
||||||
#runtime_supports_nocgroups = ["crun", "krun", "uxc"]
|
#runtime_supports_nocgroups = ["crun", "krun", "uxc"]
|
||||||
|
#service_timeout = 5
|
||||||
|
#stop_timeout = 10
|
||||||
|
#exit_command_delay = 300
|
||||||
#static_dir = "/var/lib/containers/storage/libpod"
|
#static_dir = "/var/lib/containers/storage/libpod"
|
||||||
|
tmp_dir = "/var/run/libpod"
|
||||||
|
#volume_path = "/var/lib/containers/storage/volumes"
|
||||||
|
#volume_plugin_timeout = 5
|
||||||
|
#podmansh_timeout = 30
|
||||||
|
|
||||||
[engine.runtimes]
|
[engine.runtimes]
|
||||||
crun = [
|
crun = [
|
||||||
|
@ -67,8 +156,19 @@ uxc = [
|
||||||
"/sbin/uxc",
|
"/sbin/uxc",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[engine.volume_plugins]
|
||||||
|
#testplugin = "/run/podman/plugins/test.sock"
|
||||||
|
|
||||||
[machine]
|
[machine]
|
||||||
#cpus = 1
|
#cpus = 1
|
||||||
#disk_size = 10
|
#disk_size = 10
|
||||||
#image = "testing"
|
#image = "testing"
|
||||||
#memory = 2048
|
#memory = 2048
|
||||||
|
#user = "core"
|
||||||
|
#volumes = [
|
||||||
|
# "$HOME:$HOME",
|
||||||
|
#]
|
||||||
|
#provider = ""
|
||||||
|
|
||||||
|
[farms]
|
||||||
|
#[farms.list]
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/Makefile
|
--- a/Makefile
|
||||||
+++ b/Makefile
|
+++ b/Makefile
|
||||||
@@ -219,7 +219,7 @@ GV_SHA=db608827124caa71ba411cec8ea959bb9
|
@@ -224,7 +224,7 @@ GV_VERSION=v0.7.1
|
||||||
default: all
|
default: all
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
.PHONY: binaries
|
.PHONY: binaries
|
||||||
ifeq ($(shell uname -s),FreeBSD)
|
ifeq ($(shell uname -s),FreeBSD)
|
||||||
@@ -804,7 +804,7 @@ rpm-install: package ## Install rpm pac
|
@@ -803,7 +803,7 @@ rpm-install: package ## Install rpm pac
|
||||||
/usr/bin/podman info # will catch a broken conmon
|
/usr/bin/podman info # will catch a broken conmon
|
||||||
|
|
||||||
.PHONY: install
|
.PHONY: install
|
||||||
|
|
|
@ -7,12 +7,12 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=tesseract
|
PKG_NAME:=tesseract
|
||||||
PKG_VERSION:=4.1.1
|
PKG_VERSION:=5.3.3
|
||||||
PKG_RELEASE:=3
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://codeload.github.com/tesseract-ocr/tesseract/tar.gz/$(PKG_VERSION)?
|
PKG_SOURCE_URL:=https://codeload.github.com/tesseract-ocr/tesseract/tar.gz/$(PKG_VERSION)?
|
||||||
PKG_HASH:=2a66ff0d8595bff8f04032165e6c936389b1e5727c3ce5a27b3e059d218db1cb
|
PKG_HASH:=dc4329f85f41191b2d813b71b528ba6047745813474e583ccce8795ff2ff5681
|
||||||
|
|
||||||
PKG_MAINTAINER:=Valentin Kivachuk <vk18496@gmail.com>
|
PKG_MAINTAINER:=Valentin Kivachuk <vk18496@gmail.com>
|
||||||
PKG_LICENSE:=Apache-2.0
|
PKG_LICENSE:=Apache-2.0
|
||||||
|
@ -36,15 +36,17 @@ TARGET_CFLAGS:=$(filter-out -O%,$(TARGET_CFLAGS)) -O3
|
||||||
|
|
||||||
CMAKE_OPTIONS += \
|
CMAKE_OPTIONS += \
|
||||||
-DAUTO_OPTIMIZE=OFF \
|
-DAUTO_OPTIMIZE=OFF \
|
||||||
-DBUILD_TRAINING_TOOLS=OFF
|
-DBUILD_SHARED_LIBS=ON \
|
||||||
|
-DBUILD_TRAINING_TOOLS=OFF \
|
||||||
|
-DDISABLE_CURL=ON
|
||||||
|
|
||||||
define Build/InstallDev
|
define Build/InstallDev
|
||||||
$(INSTALL_DIR) $(1)/usr/include
|
$(INSTALL_DIR) $(1)/usr/include
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/tesseract $(1)/usr/include/
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/tesseract $(1)/usr/include/
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libtesseract.so* $(1)/usr/lib/
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libtesseract.so* $(1)/usr/lib/
|
||||||
$(INSTALL_DIR) $(1)/usr/lib/cmake
|
$(INSTALL_DIR) $(1)/usr/lib/cmake/tesseract
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/cmake/*.cmake $(1)/usr/lib/cmake/
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/cmake/tesseract/*.cmake $(1)/usr/lib/cmake/tesseract
|
||||||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/tesseract.pc $(1)/usr/lib/pkgconfig/
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/tesseract.pc $(1)/usr/lib/pkgconfig/
|
||||||
endef
|
endef
|
||||||
|
|
|
@ -1,18 +1,27 @@
|
||||||
--- a/CMakeLists.txt
|
--- a/cmake/CheckFunctions.cmake
|
||||||
+++ b/CMakeLists.txt
|
+++ b/cmake/CheckFunctions.cmake
|
||||||
@@ -252,15 +252,6 @@ set(AVX2_OPT OFF)
|
@@ -29,24 +29,6 @@ function(check_leptonica_tiff_support)
|
||||||
set(FMA_OPT OFF)
|
" return ret_val;}\n")
|
||||||
set(SSE41_OPT OFF)
|
if(${CMAKE_VERSION} VERSION_LESS "3.25")
|
||||||
set(MARCH_NATIVE_OPT OFF)
|
message(STATUS "Testing TIFF support in Leptonica is available with CMake >= 3.25 (you have ${CMAKE_VERSION}))")
|
||||||
-foreach(flag ${_enable_vector_unit_list}) # from OptimizeForArchitecture()
|
- else()
|
||||||
- string(TOUPPER "${flag}" flag)
|
- set(CMAKE_TRY_COMPILE_CONFIGURATION ${CMAKE_BUILD_TYPE})
|
||||||
- string(REPLACE "\." "_" flag "${flag}")
|
- try_run(
|
||||||
- set(simd_flags "${simd_flags} -D${flag}")
|
- LEPT_TIFF_RESULT
|
||||||
- string(REPLACE "_" "" flag "${flag}")
|
- LEPT_TIFF_COMPILE_SUCCESS
|
||||||
- if("${flag}" MATCHES "AVX|AVX2|FMA|SSE41")
|
- SOURCE_FROM_CONTENT tiff_test.cpp "${TIFF_TEST}"
|
||||||
- set("${flag}_OPT" ON)
|
- CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${Leptonica_INCLUDE_DIRS}"
|
||||||
|
- LINK_LIBRARIES ${Leptonica_LIBRARIES}
|
||||||
|
- COMPILE_OUTPUT_VARIABLE
|
||||||
|
- COMPILE_OUTPUT)
|
||||||
|
- if(NOT LEPT_TIFF_COMPILE_SUCCESS)
|
||||||
|
- message(STATUS "COMPILE_OUTPUT: ${COMPILE_OUTPUT}")
|
||||||
|
- message(STATUS "Leptonica_INCLUDE_DIRS: ${Leptonica_INCLUDE_DIRS}")
|
||||||
|
- message(STATUS "Leptonica_LIBRARIES: ${Leptonica_LIBRARIES}")
|
||||||
|
- message(STATUS "LEPT_TIFF_RESULT: ${LEPT_TIFF_RESULT}")
|
||||||
|
- message(STATUS "LEPT_TIFF_COMPILE: ${LEPT_TIFF_COMPILE}")
|
||||||
|
- message(WARNING "Failed to compile test")
|
||||||
- endif()
|
- endif()
|
||||||
-endforeach(flag)
|
endif()
|
||||||
if (NOT MSVC)
|
endfunction(check_leptonica_tiff_support)
|
||||||
set(MARCH_NATIVE_FLAGS "${MARCH_NATIVE_FLAGS} -O3 -ffast-math")
|
|
||||||
endif()
|
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
--- a/src/ccutil/ocrclass.h
|
|
||||||
+++ b/src/ccutil/ocrclass.h
|
|
||||||
@@ -28,6 +28,7 @@
|
|
||||||
|
|
||||||
#include <chrono>
|
|
||||||
#include <ctime>
|
|
||||||
+#include <sys/time.h>
|
|
||||||
#ifdef _WIN32
|
|
||||||
#include <winsock2.h> // for timeval
|
|
||||||
#endif
|
|
Loading…
Reference in a new issue