Merge branch 'openwrt:master' into master

This commit is contained in:
Hayzam Sherif 2023-12-03 21:24:02 +05:30 committed by GitHub
commit 971f57eb01
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
61 changed files with 10101 additions and 643 deletions

View file

@ -13,7 +13,7 @@ mkdir -p /var/lock/
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
tar -xzOf "$PKG" ./control.tar.gz | tar xzf - ./control
@ -42,7 +42,7 @@ for PKG in /ci/*.ipk; do
continue
fi
export PKG_NAME PKG_VERSION CI_HELPER
export PKG_NAME PKG_VERSION
if [ -f "$PRE_TEST_SCRIPT" ]; then
echo "Use package specific pre-test.sh"

View file

@ -43,7 +43,7 @@ jobs:
fi
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)"
else
err "Commit subject line MUST start with '<package name>: ' ($subject)"

View file

@ -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
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
a `gpsd-clients` IPK package.
a `gpsd-clients` IPK packages.
```shell
#!/bin/sh

View file

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=node
PKG_VERSION:=v20.9.0
PKG_VERSION:=v20.10.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
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_LICENSE:=MIT

View file

@ -1,6 +1,6 @@
--- a/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, '..', '..');

View file

@ -15,7 +15,7 @@ PKG_RELEASE:=1
PKG_SOURCE_URL:=https://www.cpan.org/src/5.0
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_FILES:=Copying Artistic README

View file

@ -1,7 +1,7 @@
# Set the version here
PERL_REVISION=5
PERL_VERSION=38
PERL_SUBVERSION=0
PERL_SUBVERSION=2
# (api_revison, api_version, api_subversion) = (revision, version, 0) usually
PERL_API_REVISION=5

View file

@ -120,8 +120,8 @@
!NO!SUBS!
case "$osname" in
@@ -1133,8 +1134,8 @@ pod/perl5380delta.pod: pod/perldelta.pod
$(LNS) perldelta.pod pod/perl5380delta.pod
@@ -1133,8 +1134,8 @@ pod/perl5382delta.pod: pod/perldelta.pod
$(LNS) perldelta.pod pod/perl5382delta.pod
extra.pods: $(MINIPERL_EXE)
- -@test ! -f extra.pods || rm -f `cat extra.pods`
@ -153,14 +153,14 @@
# Like distclean but also removes emacs backups and *.orig.
veryclean: _verycleaner _mopup _clobber
- -@rm -f Obsolete Wanted
+ $(RMS) Obsolete Wanted
+ @$(RMS) Obsolete Wanted
# Do not 'make _mopup' directly.
_mopup:
- 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)
-rmdir .depending
- -rm *.depends makedepend_file
-rm *.depends makedepend_file
- -@test -f extra.pods && rm -f `cat extra.pods`
- -@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
@ -169,7 +169,6 @@
- -rm -f cygwin.c libperl*.def libperl*.dll cygperl*.dll *.exe.stackdump
- -rm -f $(PERL_EXE) $(MINIPERL_EXE) $(LIBPERL) libperl.* microperl
- -rm -f config.arch config.over $(DTRACE_H)
+ $(RMS) *.depends makedepend_file
+ -@test -f extra.pods && $(RMS) `cat extra.pods`
+ -@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

View file

@ -140,7 +140,7 @@ endef
define Package/perlbase-b/install
$(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
$(eval $(call BuildPackage,perlbase-b))
@ -405,7 +405,6 @@ endef
define Package/perlbase-digest/install
$(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)
$(INSTALL_DIR) $(1)/$(PERL_TESTSDIR)/cpan/Digest-SHA/src
endef
$(eval $(call BuildPackage,perlbase-digest))
@ -543,9 +542,9 @@ DEPENDS+=+perlbase-config
endef
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/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
$(eval $(call BuildPackage,perlbase-essential))
@ -558,7 +557,7 @@ DEPENDS+=+perlbase-essential +perlbase-feature +perlbase-version
endef
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)
endef
@ -891,7 +890,7 @@ endef
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/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
$(eval $(call BuildPackage,perlbase-locale))
@ -905,7 +904,7 @@ endef
define Package/perlbase-math/install
$(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
$(eval $(call BuildPackage,perlbase-math))
@ -1128,7 +1127,7 @@ endef
define Package/perlbase-pod/install
$(call perlmod/Install,$(1),Pod,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
$(CP) $(PKG_INSTALL_DIR)/usr/bin/pod2man $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/pod2text $(1)/usr/bin/
@ -1188,7 +1187,6 @@ endef
define Package/perlbase-scalar/install
$(call perlmod/Install,$(1),Scalar Sub,)
$(call perlmod/InstallBaseTests,$(1),cpan/Scalar-List-Utils/t)
$(INSTALL_DIR) $(1)/$(PERL_TESTSDIR)/cpan/Scalar-List-Utils/blib
endef
$(eval $(call BuildPackage,perlbase-scalar))
@ -1368,7 +1366,7 @@ DEPENDS+=+perlbase-base +perlbase-config +perlbase-essential +perlbase-io +perlb
endef
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/InstallBaseTests,$(1),cpan/Test-Harness/t cpan/Test-Simple/t dist/Test/t)
$(INSTALL_DIR) $(1)/usr/bin

View file

@ -1,4 +1,4 @@
PERL_VERSION:=5.38.0
PERL_VERSION:=5.38.2
PERL_EXPLODE:=$(subst ., ,$(PERL_VERSION))

View file

@ -8,14 +8,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-idna
PKG_VERSION:=3.4
PKG_VERSION:=3.6
PKG_RELEASE:=1
PYPI_NAME:=idna
PKG_HASH:=814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4
PKG_HASH:=9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE.rst
PKG_LICENSE_FILES:=LICENSE.md
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
PKG_BUILD_DEPENDS:=python-flit-core/host
@ -30,9 +30,7 @@ define Package/python3-idna
SUBMENU:=Python
TITLE:=IDNA library
URL:=https://github.com/kjd/idna
DEPENDS:= \
+python3-light \
+python3-codecs
DEPENDS:=+python3-light +python3-codecs
endef
define Package/python3-idna/description

View 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

View 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))

View 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

View file

@ -1,11 +1,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-jsonschema
PKG_VERSION:=4.17.3
PKG_RELEASE:=3
PKG_VERSION:=4.19.1
PKG_RELEASE:=1
PYPI_NAME:=jsonschema
PKG_HASH:=0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d
PKG_HASH:=ec84cc37cfa703ef7cd4928db24f9cb31428a5d0fa77747b8b51a847458e0bbf
PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>
PKG_LICENSE:=MIT
@ -22,9 +22,16 @@ define Package/python3-jsonschema
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=An implementation of JSON Schema validation
URL:=https://github.com/Julian/jsonschema
DEPENDS:=+python3-light +python3-attrs +python3-urllib \
+python3-six +python3-pyrsistent +python3-setuptools
URL:=https://github.com/python-jsonschema/jsonschema
DEPENDS:= \
+python3-light \
+python3-decimal \
+python3-urllib \
+python3-uuid \
+python3-attrs \
+python3-jsonschema-specifications \
+python3-referencing \
+python3-rpds-py
endef
define Package/python3-jsonschema/description

View 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

View file

@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-pyasn1
PKG_VERSION:=0.5.0
PKG_VERSION:=0.5.1
PKG_RELEASE:=1
PYPI_NAME:=pyasn1
PKG_HASH:=97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde
PKG_HASH:=6d391a96e59b23130a5cfa74d6fd7f388dbbe26cc8f1edf39fdddf08d9d6676c
PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=LICENSE.rst

View 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

View 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))

View 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

View 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))

View 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

View file

@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-setuptools
PKG_VERSION:=68.2.2
PKG_VERSION:=69.0.2
PKG_RELEASE:=1
PYPI_NAME:=setuptools
PKG_HASH:=4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87
PKG_HASH:=735896e78a4742605974de002ac60562d286fa8051a7e2299445e8e8fbb01aa6
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE

View file

@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-wheel
PKG_VERSION:=0.41.3
PKG_VERSION:=0.42.0
PKG_RELEASE:=1
PYPI_NAME:=wheel
PKG_HASH:=4d4987ce51a49370ea65c0bfd2234e8ce80a12780820d9dc462597a6e60d0841
PKG_HASH:=c45be39f7882c9d34243236f2d63cbd58039e360f85d0913425fbd7ceea617a8
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE.txt

View 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))

View file

@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=nghttp3
PKG_VERSION:=1.0.0
PKG_VERSION:=1.1.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/ngtcp2/nghttp3/releases/download/v$(PKG_VERSION)/
PKG_HASH:=2e5b5a39415b9a0d160bbcb90b37bef7d8aee44ae504e8c0ddcb31aa92435988
PKG_SOURCE_URL:=https://codeload.github.com/ngtcp2/nghttp3/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=b3ffb23a90442a0eafe8bfbefbc8b4ffb5179d68a7c0b8a416a34cf04b28d7c5
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
@ -25,7 +25,7 @@ define Package/libnghttp3
endef
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
CMAKE_OPTIONS += -DENABLE_LIB_ONLY=ON

View file

@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ngtcp2
PKG_VERSION:=1.0.1
PKG_VERSION:=1.1.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/ngtcp2/ngtcp2/releases/download/v$(PKG_VERSION)/
PKG_HASH:=df03e7e91110fcbb165ae048fa671f1dd39f77b841df3a14aef076a1c192cc27
PKG_SOURCE_URL:=https://codeload.github.com/ngtcp2/ngtcp2/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=987d784643edea4f2859c405f7dfbc53871a9f7ae5fcddf5fb12ec5dfce1ef22
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
@ -26,7 +26,8 @@ define Package/libngtcp2
endef
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
CMAKE_OPTIONS += -DENABLE_LIB_ONLY=ON

View file

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=xmlrpc-c
PKG_VERSION:=1.51.07
PKG_VERSION:=1.54.06
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
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_LICENSE:=VARIOUS
@ -42,22 +42,15 @@ define Package/xmlrpc-c-internal
$(call Package/xmlrpc-c/Default)
TITLE+= (uses internal expat variant)
DEPENDS:=+xmlrpc-c-common
# PROVIDES:=xmlrpc-c
PROVIDES:=xmlrpc-c
VARIANT:=internal
HIDDEN:=1
endef
define Package/xmlrpc-c
$(call Package/xmlrpc-c/Default)
TITLE+= (uses internal expat variant)
DEPENDS:=+xmlrpc-c-internal
endef
define Package/xmlrpc-c-libxml2
$(call Package/xmlrpc-c/Default)
TITLE+= (uses libxml2)
DEPENDS:=+xmlrpc-c-common +libxml2 @BROKEN
# PROVIDES:=xmlrpc-c
DEPENDS:=+xmlrpc-c-common +libxml2
PROVIDES:=xmlrpc-c
VARIANT:=libxml2
endef
@ -76,7 +69,7 @@ endef
define Package/xmlrpc-c-abyss
$(call Package/xmlrpc-c/Default)
TITLE+= - abyss
DEPENDS:=+xmlrpc-c-common @BROKEN
DEPENDS:=+xmlrpc-c-common
endef
define Package/xmlrpc-c-server-abyss
@ -101,11 +94,10 @@ Package/xmlrpc-c-internal/description += Uses internal expat variant (stripped d
CONFIGURE_ARGS+= \
--disable-wininet-client \
--disable-libwww-client \
--disable-abyss-server \
--disable-cgi-server \
--disable-cplusplus \
--disable-abyss-threads \
--without-libwww-ssl
--without-libwww-ssl \
--disable-abyss-openssl
ifeq ($(BUILD_VARIANT),libxml2)
CONFIGURE_ARGS += \
@ -118,7 +110,7 @@ ifeq ($(BUILD_VARIANT),internal)
endif
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)
endef
@ -208,15 +200,10 @@ define Package/xmlrpc-c-common/install
$(1)/usr/lib/
endef
define Package/xmlrpc-c/install
true
endef
$(eval $(call BuildPackage,xmlrpc-c))
$(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-server))
#$(eval $(call BuildPackage,xmlrpc-c-abyss))
#$(eval $(call BuildPackage,xmlrpc-c-server-abyss))
$(eval $(call BuildPackage,xmlrpc-c-abyss))
$(eval $(call BuildPackage,xmlrpc-c-server-abyss))
$(eval $(call BuildPackage,xmlrpc-c-client))

View 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);
}
}

View 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 = \

View file

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=postfix
PKG_VERSION:=3.8.2
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:= \
@ -172,7 +172,7 @@ ifdef CONFIG_POSTFIX_PGSQL
endif
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
else
CCARGS+=-DNO_PCRE

View file

@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=aardvark-dns
PKG_VERSION:=1.8.0
PKG_VERSION:=1.9.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
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_LICENSE:=Apache-2.0

View file

@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=fail2ban
PKG_VERSION:=0.11.2
PKG_RELEASE:=8
PKG_RELEASE:=9
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/fail2ban/fail2ban/tar.gz/$(PKG_VERSION)?

View file

@ -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

View file

@ -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

View file

@ -8,19 +8,19 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=freeradius3
PKG_VERSION:=3.0.26
PKG_RELEASE:=3
PKG_VERSION:=3_0_26
PKG_RELEASE:=4
PKG_SOURCE:=freeradius-server-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://github.com/FreeRADIUS/freeradius-server/releases/download/release_$(subst .,_,$(PKG_VERSION))/
PKG_HASH:=9a65314c462da4d4c4204df72c45f210de671f89317299b01f78549ac4503f59
PKG_SOURCE:=release_$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/FreeRADIUS/freeradius-server/tar.gz/release_$(PKG_VERSION)?
PKG_HASH:=6aea98d6126035e7ccca483d8b3faea447030169639807017ec98985b78fb2ca
PKG_MAINTAINER:=
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYRIGHT LICENSE
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
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_reject
/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/pre-proxy
endef
define Package/freeradius3-mod-attr-rewrite
$(call Package/freeradius3/Default)
DEPENDS:=freeradius3
TITLE:=ATTR rewrite module
endef
define Package/freeradius3-mod-chap
$(call Package/freeradius3/Default)
DEPENDS:=freeradius3
@ -152,6 +147,26 @@ define Package/freeradius3-mod-chap/conffiles
/etc/freeradius3/mods-enabled/chap
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
$(call Package/freeradius3/Default)
DEPENDS:=freeradius3
@ -174,6 +189,17 @@ define Package/freeradius3-mod-digest/conffiles
/etc/freeradius3/mods-enabled/digest
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
$(call Package/freeradius3/Default)
DEPENDS:=freeradius3
@ -188,6 +214,12 @@ define Package/freeradius3-mod-eap/conffiles
/etc/freeradius3/sites-available/inner-tunnel
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
$(call Package/freeradius3/Default)
DEPENDS:=freeradius3-mod-eap
@ -277,6 +309,26 @@ define Package/freeradius3-mod-files/conffiles
/etc/freeradius3/mods-config/files/pre-proxy
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
$(call Package/freeradius3/Default)
DEPENDS:=freeradius3 +libopenldap @FREERADIUS3_OPENSSL
@ -287,6 +339,16 @@ define Package/freeradius3-mod-ldap/conffiles
/etc/freeradius3/mods-available/ldap
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
$(call Package/freeradius3/Default)
DEPENDS:=freeradius3
@ -309,6 +371,16 @@ define Package/freeradius3-mod-mschap/conffiles
/etc/freeradius3/mods-enabled/mschap
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
$(call Package/freeradius3/Default)
DEPENDS:=freeradius3
@ -378,6 +450,36 @@ define Package/freeradius3-mod-realm/conffiles
/etc/freeradius3/mods-enabled/realm
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
$(call Package/freeradius3/Default)
DEPENDS:=freeradius3 +libcurl +libjson-c
@ -388,6 +490,27 @@ define Package/freeradius3-mod-rest/conffiles
/etc/freeradius3/mods-available/rest
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
$(call Package/freeradius3/Default)
DEPENDS:=freeradius3
@ -398,6 +521,16 @@ define Package/freeradius3-mod-sql/conffiles
/etc/freeradius3/mods-available/sql
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
$(call Package/freeradius3/Default)
DEPENDS:=freeradius3-mod-sql +libmysqlclient
@ -437,7 +570,7 @@ endef
define Package/freeradius3-mod-sqlcounter
$(call Package/freeradius3/Default)
DEPENDS:=+freeradius3-mod-sql
TITLE:=Packet counter using accounting records written into an SQL database
TITLE:=Module sqlcounter
endef
define Package/freeradius3-mod-sqlcounter/conffiles
@ -469,6 +602,46 @@ define Package/freeradius3-mod-unix/conffiles
/etc/freeradius3/mods-enabled/unix
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
$(call Package/freeradius3/Default)
DEPENDS:=+freeradius3-common
@ -498,37 +671,21 @@ CONFIGURE_ARGS+= \
--with-raddbdir=/etc/freeradius3 \
--with-radacctdir=/var/db/radacct \
--with-logdir=/var/log \
--without-edir \
--without-pcre \
--without-snmp \
--without-rlm_cache \
--without-rlm_cache_memcached \
--without-rlm_couchbase \
--without-rlm_counter \
--without-rlm_eap_ikev2 \
--without-rlm_eap_sim \
--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_python \
--without-rlm_redis \
--without-rlm_rediswho \
--without-rlm_ruby \
--without-rlm_securid \
--without-rlm_smsotp \
--without-rlm_sql_db2 \
--without-rlm_sql_firebird \
--without-rlm_sql_freetds \
--without-rlm_sql_iodbc \
--without-rlm_sql_oracle \
--without-rlm_sql_unixodbc \
--without-rlm_unbound \
--without-rlm_yubikey \
CONFIGURE_LIBS+= -latomic
@ -536,10 +693,20 @@ PKG_DICTIONARIES:= \
compat \
freeradius freeradius.internal \
rfc2865 rfc2866 rfc2867 rfc2868 rfc2869 rfc3162 rfc3576 rfc3580 \
rfc4372 rfc4675 rfc4679 rfc5580\
rfc4072 rfc4372 rfc4675 rfc4679 rfc5580 rfc6911 \
microsoft \
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),)
CONFIGURE_ARGS+= \
--with-rlm_eap_peap \
@ -580,6 +747,14 @@ else
CONFIGURE_ARGS+= --without-rlm_eap_ttls
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),)
CONFIGURE_ARGS+= --with-rlm_ldap \
--with-rlm_ldap-include-dir="$(STAGING_DIR)/usr/include" \
@ -603,6 +778,24 @@ else
CONFIGURE_ARGS+= --without-rlm_radutmp
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),)
CONFIGURE_ARGS+= --with-rlm_rest
else
@ -653,6 +846,15 @@ else
CONFIGURE_ARGS+= --without-rlm_unix
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)
TARGET_CFLAGS+= -DLIBBSD_OVERLAY -I$(STAGING_DIR)/usr/include/bsd \
-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-attr-filter,rlm_attr_filter,))
$(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-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-fast,rlm_eap_fast,))
$(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-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-expr,rlm_expr,))
$(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-linelog,rlm_linelog,))
$(eval $(call BuildPlugin,freeradius3-mod-logintime,rlm_logintime,))
$(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-passwd,rlm_passwd,))
$(eval $(call BuildPlugin,freeradius3-mod-preprocess,rlm_preprocess,))
$(eval $(call BuildPlugin,freeradius3-mod-python3,rlm_python3,))
$(eval $(call BuildPlugin,freeradius3-mod-radutmp,rlm_radutmp,))
$(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-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-map,rlm_sql_map,))
$(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-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-sqlippool,rlm_sqlippool,))
$(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))

File diff suppressed because it is too large Load diff

View file

@ -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))

View file

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=iperf
PKG_VERSION:=3.15
PKG_RELEASE:=2
PKG_VERSION:=3.16
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://downloads.es.net/pub/iperf
PKG_HASH:=bdb77c11f72bce90214883159577fa24412013e62b2083cf5f54391d79b1d8ff
PKG_HASH:=cc740c6bbea104398cc3e466befc515a25896ec85e44a662d5f4a767b9cf713e
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_LICENSE:=BSD-3-Clause
@ -45,7 +45,7 @@ define Package/iperf3-ssl
$(call Package/iperf3/default)
TITLE+= with iperf_auth support
VARIANT:=ssl
DEPENDS:=+libopenssl
DEPENDS:=+libopenssl +libatomic
CONFLICTS:=iperf3
endef
@ -54,9 +54,11 @@ define Package/libiperf3
CATEGORY:=Libraries
TITLE:=Internet Protocol bandwidth measuring library
URL:=https://github.com/esnet/iperf
DEPENDS+=+libatomic
endef
TARGET_CFLAGS += -D_GNU_SOURCE
TARGET_LDFLAGS += -latomic
ifeq ($(BUILD_VARIANT),ssl)
CONFIGURE_ARGS += --with-openssl="$(STAGING_DIR)/usr" --disable-shared

View file

@ -9,17 +9,19 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=mosquitto
PKG_VERSION:=2.0.17
PKG_VERSION:=2.0.18
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_FILES:=LICENSE.txt
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)/cmake.mk
define Package/mosquitto/default
SECTION:=net
@ -163,9 +165,9 @@ Package/mosquitto-nossl/conffiles = $(Package/mosquitto-ssl/conffiles)
define Package/mosquitto/install/default
$(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_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)/
endef
@ -177,69 +179,69 @@ define Package/mosquitto-ssl/install
$(call Package/mosquitto/install/default,$(1))
ifeq ($(CONFIG_MOSQUITTO_PASSWD),y)
$(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
ifeq ($(CONFIG_MOSQUITTO_DYNAMIC_SECURITY),y)
$(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
endef
define Package/mosquitto-client-nossl/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/client/mosquitto_pub $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/client/mosquitto_sub $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/client/mosquitto_rr $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mosquitto_pub $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mosquitto_sub $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mosquitto_rr $(1)/usr/bin
endef
define Package/mosquitto-client-ssl/install
$(call Package/mosquitto-client-nossl/install,$(1))
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
endef
# This installs files into ./staging_dir/. so that you can cross compile from the host
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_BUILD_DIR)/include/*.h $(1)/usr/include
$(CP) $(PKG_BUILD_DIR)/lib/cpp/mosquittopp.h $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/lib/libmosquitto.so.1 $(1)/usr/lib/
$(CP) $(PKG_BUILD_DIR)/lib/cpp/libmosquittopp.so.1 $(1)/usr/lib/
$(LN) libmosquitto.so.1 $(1)/usr/lib/libmosquitto.so
$(LN) libmosquittopp.so.1 $(1)/usr/lib/libmosquittopp.so
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libmosquitto.so* $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libmosquittopp.so* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_BUILD_DIR)/libmosquitto.pc.in $(1)/usr/lib/pkgconfig/libmosquitto.pc
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
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig
endef
# This installs files on the target. Compare with Build/InstallDev
define Package/libmosquitto-ssl/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/libmosquitto.so.1 $(1)/usr/lib/
$(LN) libmosquitto.so.1 $(1)/usr/lib/libmosquitto.so
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libmosquitto.so.* $(1)/usr/lib/
endef
Package/libmosquitto-nossl/install = $(Package/libmosquitto-ssl/install)
define Package/libmosquittopp/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/cpp/libmosquittopp.so.1 $(1)/usr/lib/
$(LN) libmosquittopp.so.1 $(1)/usr/lib/libmosquittopp.so
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libmosquittopp.so.* $(1)/usr/lib/
endef
# 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)
MAKE_FLAGS += WITH_TLS=no WITH_WEBSOCKETS=no
CMAKE_OPTIONS += -DWITH_TLS=OFF -DWITH_WEBSOCKETS=OFF
else
MAKE_FLAGS += WITH_WEBSOCKETS=$(if $(CONFIG_MOSQUITTO_LWS),"yes","no")
MAKE_FLAGS += WITH_TLS_PSK=$(if $(CONFIG_OPENSSL_WITH_PSK),"yes","no")
CMAKE_OPTIONS += -DWITH_TLS_PSK=O$(if $(CONFIG_OPENSSL_WITH_PSK),N,FF)
CMAKE_OPTIONS += -DWITH_WEBSOCKETS=O$(if $(CONFIG_MOSQUITTO_LWS),N,FF)
endif
$(eval $(call BuildPackage,mosquitto-ssl))

View file

@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=netavark
PKG_VERSION:=1.8.0
PKG_VERSION:=1.9.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
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_LICENSE:=Apache-2.0

View file

@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=netbird
PKG_VERSION:=0.24.2
PKG_VERSION:=0.24.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
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_LICENSE:=BSD-3-Clause

View file

@ -8,8 +8,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=snort
PKG_VERSION:=2.9.19
PKG_RELEASE:=2
PKG_VERSION:=2.9.20
PKG_RELEASE:=1
PKG_LICENSE:=GPL-2.0
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_URL:=https://www.snort.org/downloads/archive/snort/ \
@SF/$(PKG_NAME)
PKG_HASH:=b12fc6db72afb58987a2bf1954b8f45bde02047c235513c7663857b9506369c7
PKG_HASH:=29400e13f53b1831e0b8b10ec1224a1cbaa6dc1533a5322a20dd80bb84b4981c
PKG_BUILD_DEPENDS:=libtirpc
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION)
@ -31,7 +31,7 @@ define Package/snort
SUBMENU:=Firewall
SECTION:=net
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
URL:=http://www.snort.org/
CONFLICTS:=snort3
@ -57,8 +57,8 @@ CONFIGURE_ARGS += \
--with-dnet-libraries="$(STAGING_DIR)/usr/lib" \
--with-libpcap-includes="$(STAGING_DIR)/usr/include" \
--with-libpcap-libraries="$(STAGING_DIR)/usr/lib" \
--with-libpcre-includes="$(STAGING_DIR)/usr/include" \
--with-libpcre-libraries="$(STAGING_DIR)/usr/lib" \
--with-libpcre2-includes="$(STAGING_DIR)/usr/include" \
--with-libpcre2-libraries="$(STAGING_DIR)/usr/lib" \
--with-daq-includes="$(STAGING_DIR)/usr/include/daq2" \
--with-daq-libraries="$(STAGING_DIR)/usr/lib/daq2" \
--disable-static-daq

File diff suppressed because it is too large Load diff

View file

@ -6,12 +6,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=snort3
PKG_VERSION:=3.1.74.0
PKG_RELEASE:=2
PKG_VERSION:=3.1.75.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_VERSION).tar.gz
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_LICENSE:=GPL-2.0-only

View file

@ -15,8 +15,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=wifischedule
PKG_VERSION:=1
PKG_RELEASE:=3
PKG_VERSION:=1.0.5
PKG_RELEASE:=1
PKG_LICENSE:=PRPL
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_DIR) $(1)/etc/config
$(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
$(eval $(call BuildPackage,wifischedule))

View file

@ -74,10 +74,11 @@ Then call the script as follows in order to get the necessary cron jobs created:
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.
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.
forcestop: Stop wifi immediately.
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
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.

View file

@ -0,0 +1,8 @@
#!/bin/sh /etc/rc.common
# Startup Script for wifi_schedule
START=100
start() {
/usr/bin/wifi_schedule.sh startup
}

View file

@ -14,6 +14,8 @@
#
# Author: Nils Koenig <openwrt@newk.it>
set -o pipefail
SCRIPT=$0
LOCKFILE=/tmp/wifi_schedule.lock
LOGFILE=/tmp/log/wifi_schedule.log
@ -122,10 +124,46 @@ _enable_wifi_schedule()
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()
{
local n=$(cat /proc/net/wireless | wc -l)
cat /proc/net/wireless | tail -n $(($n - 2))|awk -F':' '{print $1}'| sed 's/ //'
iwinfo | grep ESSID | cut -f 1 -s -d" "
}
@ -218,6 +256,38 @@ _create_cron_entries()
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()
{
local global_enabled
@ -231,7 +301,7 @@ check_cron_status()
disable_wifi()
{
_rm_cron_script "${SCRIPT} recheck"
/sbin/wifi down
_set_status_wifi_uci 1
local unload_modules
unload_modules=$(_get_uci_value_raw ${GLOBAL}.unload_modules) || _exit 1
if [[ "${unload_modules}" == "1" ]]; then
@ -241,7 +311,7 @@ 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
if [ ! -e ${iwinfo} ]; then
_log "${iwinfo} not available, skipping"
@ -261,14 +331,18 @@ soft_disable_wifi()
fi
if [ -n "${stations}" ]; then
_disable_wifi=0
_disable_wifi=1
_log "Station(s) $(echo ${stations}) associated on ${_if}"
fi
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."
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
_log "Could not disable wifi due to associated stations, retrying..."
local recheck_interval=$(_get_uci_value ${GLOBAL}.recheck_interval)
@ -276,6 +350,17 @@ soft_disable_wifi()
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()
{
_rm_cron_script "${SCRIPT} recheck"
@ -284,18 +369,20 @@ enable_wifi()
if [[ "${unload_modules}" == "1" ]]; then
_load_modules
fi
_set_status_wifi_uci 0
/sbin/wifi
}
usage()
{
echo ""
echo "$0 cron|start|stop|forcestop|recheck|getmodules|savemodules|help"
echo "$0 cron|start|startup|stop|forcestop|recheck|getmodules|savemodules|help"
echo ""
echo " UCI Config File: /etc/config/${PACKAGE}"
echo ""
echo " cron: Create cronjob entries."
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 " forcestop: Stop wifi immediately."
echo " recheck: Recheck if wifi can be disabled now."
@ -305,16 +392,28 @@ usage()
echo ""
}
_cleanup()
{
lock -u ${LOCKFILE}
rm ${LOCKFILE}
}
###############################################################################
# MAIN
###############################################################################
trap _cleanup EXIT
LOGGING=$(_get_uci_value ${GLOBAL}.logging) || _exit 1
_log ${SCRIPT} $1 $2
lock ${LOCKFILE}
case "$1" in
cron) check_cron_status ;;
cron)
check_cron_status
startup
;;
start) enable_wifi ;;
startup) startup ;;
forcestop) disable_wifi ;;
stop) soft_disable_wifi ;;
recheck) soft_disable_wifi ;;

View file

@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=yggdrasil
PKG_VERSION:=0.4.7
PKG_VERSION:=0.5.4
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/yggdrasil-network/yggdrasil-go/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=47429f75b87d9b2450108471991e84c90d748606642e8778e9f578485b05a56f
PKG_HASH:=c1cceb9a7a4a8959536b1d930ca081bcfbc76ab655e4bcb55d5d0ab6520d9241
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-go-$(PKG_VERSION)
PKG_MAINTAINER:=William Fleurant <meshnet@protonmail.com>
@ -33,7 +33,7 @@ define Package/yggdrasil
SUBMENU:=Routing and Redirection
TITLE:=Yggdrasil supports end-to-end encrypted IPv6 networks
URL:=https://yggdrasil-network.github.io/
DEPENDS:=$(GO_ARCH_DEPENDS) @IPV6 +kmod-tun +dkjson +libuci-lua
DEPENDS:=$(GO_ARCH_DEPENDS) @IPV6 +kmod-tun
endef
define Package/yggdrasil/description
@ -46,14 +46,9 @@ define Package/yggdrasil/description
interfaces simultaneously with much greater throughput.
endef
define Package/yggdrasil/conffiles
/etc/config/yggdrasil
endef
define Package/yggdrasil/install
$(INSTALL_DIR) \
$(1)/etc/init.d \
$(1)/etc/uci-defaults \
$(1)/lib/netifd/proto \
$(1)/usr/sbin
$(INSTALL_BIN) \
@ -65,16 +60,8 @@ define Package/yggdrasil/install
$(1)/usr/sbin
$(INSTALL_BIN) \
./files/ygguci \
$(1)/usr/sbin
$(INSTALL_BIN) \
./files/yggdrasil.defaults \
$(1)/etc/uci-defaults/yggdrasil
$(INSTALL_BIN) \
./files/yggdrasil.init \
$(1)/etc/init.d/yggdrasil
./files/yggdrasil.sh \
$(1)/lib/netifd/proto
endef
$(eval $(call GoBinPackage,yggdrasil))

View file

@ -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

View file

@ -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
View 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
}

View file

@ -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

View file

@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=crun
PKG_VERSION:=1.9.2
PKG_VERSION:=1.12
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
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_PARALLEL:=1

View file

@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=podman
PKG_VERSION:=4.7.1
PKG_VERSION:=4.8.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
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_FILES:=LICENSE
@ -39,7 +39,7 @@ define Package/podman
CATEGORY:=Utilities
TITLE:=Podman
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
define Package/podman/description

View file

@ -3,11 +3,14 @@
[containers]
#annotations = []
#apparmor_profile = "container-default"
#base_hosts_file = ""
#cgroup_conf = []
cgroupns = "private"
cgroups = "enabled"
netns = "private"
#pidns = "private"
#rootless_networking = "slirp4netns"
#userns = "host"
#utsns = "private"
#seccomp_profile = "/usr/share/containers/seccomp.json"
#shm_size = "65536k"
@ -29,30 +32,116 @@ default_sysctls = [
"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_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/"
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]
#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"
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_container_create_inspect_data = false
#image_default_format = ""
#image_default_transport = "docker://"
#image_parallel_copies = 0
#image_volume_mode = ""
#infra_command = "/pause"
#infra_image = "k8s.gcr.io/pause:3.4.1"
#lock_type** = "shm"
#infra_image = ""
#lock_type = "shm"
#multi_image_archive = false
#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 = "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_nocgroups = ["crun", "krun", "uxc"]
#service_timeout = 5
#stop_timeout = 10
#exit_command_delay = 300
#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]
crun = [
@ -67,8 +156,19 @@ uxc = [
"/sbin/uxc",
]
[engine.volume_plugins]
#testplugin = "/run/podman/plugins/test.sock"
[machine]
#cpus = 1
#disk_size = 10
#image = "testing"
#memory = 2048
#user = "core"
#volumes = [
# "$HOME:$HOME",
#]
#provider = ""
[farms]
#[farms.list]

View file

@ -1,6 +1,6 @@
--- a/Makefile
+++ b/Makefile
@@ -219,7 +219,7 @@ GV_SHA=db608827124caa71ba411cec8ea959bb9
@@ -224,7 +224,7 @@ GV_VERSION=v0.7.1
default: all
.PHONY: all
@ -9,7 +9,7 @@
.PHONY: binaries
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
.PHONY: install

View file

@ -7,12 +7,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=tesseract
PKG_VERSION:=4.1.1
PKG_RELEASE:=3
PKG_VERSION:=5.3.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
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_LICENSE:=Apache-2.0
@ -36,15 +36,17 @@ TARGET_CFLAGS:=$(filter-out -O%,$(TARGET_CFLAGS)) -O3
CMAKE_OPTIONS += \
-DAUTO_OPTIMIZE=OFF \
-DBUILD_TRAINING_TOOLS=OFF
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TRAINING_TOOLS=OFF \
-DDISABLE_CURL=ON
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/tesseract $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libtesseract.so* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/cmake
$(CP) $(PKG_INSTALL_DIR)/usr/cmake/*.cmake $(1)/usr/lib/cmake/
$(INSTALL_DIR) $(1)/usr/lib/cmake/tesseract
$(CP) $(PKG_INSTALL_DIR)/usr/lib/cmake/tesseract/*.cmake $(1)/usr/lib/cmake/tesseract
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/tesseract.pc $(1)/usr/lib/pkgconfig/
endef

View file

@ -1,18 +1,27 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -252,15 +252,6 @@ set(AVX2_OPT OFF)
set(FMA_OPT OFF)
set(SSE41_OPT OFF)
set(MARCH_NATIVE_OPT OFF)
-foreach(flag ${_enable_vector_unit_list}) # from OptimizeForArchitecture()
- string(TOUPPER "${flag}" flag)
- string(REPLACE "\." "_" flag "${flag}")
- set(simd_flags "${simd_flags} -D${flag}")
- string(REPLACE "_" "" flag "${flag}")
- if("${flag}" MATCHES "AVX|AVX2|FMA|SSE41")
- set("${flag}_OPT" ON)
--- a/cmake/CheckFunctions.cmake
+++ b/cmake/CheckFunctions.cmake
@@ -29,24 +29,6 @@ function(check_leptonica_tiff_support)
" return ret_val;}\n")
if(${CMAKE_VERSION} VERSION_LESS "3.25")
message(STATUS "Testing TIFF support in Leptonica is available with CMake >= 3.25 (you have ${CMAKE_VERSION}))")
- else()
- set(CMAKE_TRY_COMPILE_CONFIGURATION ${CMAKE_BUILD_TYPE})
- try_run(
- LEPT_TIFF_RESULT
- LEPT_TIFF_COMPILE_SUCCESS
- SOURCE_FROM_CONTENT tiff_test.cpp "${TIFF_TEST}"
- 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()
-endforeach(flag)
if (NOT MSVC)
set(MARCH_NATIVE_FLAGS "${MARCH_NATIVE_FLAGS} -O3 -ffast-math")
endif()
endif()
endfunction(check_leptonica_tiff_support)

View file

@ -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