--- /dev/null
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Comment: LEDE GnuPG key for unattended build jobs
+
+mQINBFeXZ7wBEAC3QZ+jhWrdj2XW9AdZpZrgHETZCW7lXxI3pJ2kS4UXNq+40KR2
+GJOdsXDnLb7ZiHNn6yio6qKLXFD/bimxK+22HSJlc3LSF2kKzNrgKoFR2rIKbL3c
+Us7GpWY8VqGTrfwR6OQNcoWqa1n5/tK9xuqKhfpoA2Eci8K+w5YCzCmnOz2vzbgS
+ptuFshTKYI2Z/DLQZyP+OQkEYPfCdani2KsISn4DTx8xFjmW/sb/zf0isemTwWyK
+Oh76FTa0tYdjTtAv3JHqyr2XkddM/oUSc09baCOfhUdo7Ep5rUqKw7BQsjreBYoZ
+WcL/hmlIksUrFlqo/HRpoBgCZpSjsF/Z9otZpSugMHVVlRCnAKQiWxWAd+V+y2FG
+q79myPgiMkbkaIrCelrUhDFRQ5wTnfAppFolw+xtT9bwdkwxZDNBe6PCYuLqD8wg
+jtDtt3q5UaUOMGJrMDKZ0Wi6ycdl/sM59kLfyBV4ybmYkwOLTlMvOATiyUZeJJZO
+2bTKBvD+izsx3Ea4VLPWYSFmk6QwaOMtj6tcXwBgtljzqMJ0S9Gubmopy3WAkP/m
+/6ETJpuIupqEtvbRTX4O/+qnBgY40aQX7B4NgJi2SypP/WML5v2B2amLlhTcN+we
+ULWyH9KvfKny5mrtG5C9xq1eAgKtB2QEDEbRyz34DWVWGpqIY1mscaNv8wARAQAB
+tFtMRURFIEJ1aWxkIFN5c3RlbSAoTEVERSBHbnVQRyBrZXkgZm9yIHVuYXR0ZW5k
+ZWQgYnVpbGQgam9icykgPGxlZGUtYWRtQGxpc3RzLmluZnJhZGVhZC5vcmc+iQI4
+BBMBAgAiBQJXl2e8AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDNhLzt
+YmRx8aJ2D/9eRQWekaeX8eAcAgzguFS12ODlg23lJx00d0zLhZcA6LycYJRmFN+M
+0tsVDZ6y7bLy1/h0YFYvYlJk4ZE+6sb4I/GSkMyqeZAy8whELYfEphXVYx0/wgyn
+d57wE0lDo8/zmt3rK1eD0zJioN7cL3A/t3L++al4gwmqtTfUIl96AXc3YBe/rwXS
+i7ShENVKYjTaMugP5BJ9kUZuaIjmXZWvREbURgBMWR7uR56XKJBwDBQMtHq2AoZs
+2iNR3dG8r70Sb/cMSgAqhwDZfeV71r7+Pd+asvxYb0JeNNgZ2ss/BA5yapUKZLgu
+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
+GPeIoGmFL85qtFOzc4sqYQGhLj9iMRfmNw==
+=W2Tk
+-----END PGP PUBLIC KEY BLOCK-----
--- /dev/null
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Comment: LEDE 17.01 "Reboot" public key
+
+mQINBFh9DQ8BEACmjR9z4mEXjTWBTcqHI8U38III55qStU4zX4mtYEm8KjaNyBu0
+F8ghe22IAPQcHuvQh0lzr2AoTYi+ZAUlHrLb3s+YdJJD2KoSD1nXW8PgtoT92tai
+utJjSKsB2ZWJc4nskAYXTkDmhTuuHBEg9hvljhXkrPxmcEDN/v1f5fv82U8JLYwt
+g1mGJmW7SsdKtkJbAmEMCi/MFFA2fxLNV33qGhzm4UeAsUrLIGBjbCtU/BK8Im28
+eAF9VP08OUK/QX7te6K6qumvuEIIc/GG4yatdbxltS1SjWYMS0vpqXm4v50CoMaB
+/XCcdq1zlIyIxQW9UF6xJDLhsHv/3iOginR/vRDbdRWk/YPwlx/d9h9GK309YhXu
+GUK/lrBHIZwZ4VEowYjK76isXmRuU9ZeTK9SeKdIyLzYg5NIXW9cvGR+4NKIqfmE
+xxbVupm7Vc+3n4KUdS2t9SLXdkG+YYmyDabftyuACU2+xeHyKcUBn4yxbrcBp5Rs
+5RgOIn/2BtiEQNSc8AagU1ie57VGErrwrpdW/Cmxrs+KG7Io8Pwv+nG9M53DqPwb
+Zuun75iuni9wAR5IVUsUWdIoalb/I4ht58FDOt2iS/KdVwi8yyCHS8gH1J3MzZWP
+Yy9k0pgup54CTXGv/KzDOAsPZzkwNiziWIVE0N49bZFkO0CXgAufOAEtewARAQAB
+tFNMRURFIFJlbGVhc2UgQnVpbGRlciAoMTcuMDEgIlJlYm9vdCIgU2lnbmluZyBL
+ZXkpIDxsZWRlLWRldkBsaXN0cy5sZWRlLXByb2plY3Qub3JnPokCPgQTAQIAKAUC
+WH0NDwIbAwUJA8JnAAYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQgzxgENUr
+u2tMaA//aRvfrOoMTVtjw+Pru+hBC7IhkusJ70x8gUxSPmHZX0+KvIvILyAeVEho
+TW5lMwwo6b66GcBmP53qu/rech8HyunyyDUYFEvdE/ym3uO6NpE/3N/Z69TJiC+k
+1imElx5njTZkH/qZSClqN8j6ehspywnSKWNfSOM/9K1G7qtWgiqIaDYa+sdtRHjx
+oh4dtKiauUced0C1i7V1vT1ko8iZKWFiwj9GJSaoVxyUwI2fG3iV2qdcinPCL0nU
+BfVIhU5cXMZ6VtVg5Ly6NqUbrhZzVVl8DMnu5z4MOLZWseob4LhK5W0v+DUTezJS
+Cvei+woJ3SIy0CLXe6eDKwbCS5kCaoNbExeTnSz7/Mg14NjREhtWkq79rnHrH9MV
+QAXyjmd3q0D5sDLzk8nQ3fGaH1Zg+o+VECkwEwz4ypctXqRAcHyIkYHmv8rFYlQY
+dJlfs1NgZzk9EWfZ0/RLUdqNx6beKm27r2W1j+gcaM01sk5q9TPZeuNHh8psFlCD
+b5mq6XBstA9NwN9pg5zS+UkfjjMU5FiBIEVv4Lt/dblNkjID/+XUBkHpSAz13GDW
+k0ElkSBgBvz8TSm68EUGTfTVhK21x+1x15/8AUoV8V+4txncMhnJNmrEcKolnMeF
+96xgcoHpPszlHxjiwS6hrFPDyhfYwU9plDI7ojcIleqK98XjRHY=
+=aN5O
+-----END PGP PUBLIC KEY BLOCK-----
+++ /dev/null
------BEGIN PGP PUBLIC KEY BLOCK-----
-Comment: LEDE GnuPG key for unattended build jobs
-
-mQINBFeXZ7wBEAC3QZ+jhWrdj2XW9AdZpZrgHETZCW7lXxI3pJ2kS4UXNq+40KR2
-GJOdsXDnLb7ZiHNn6yio6qKLXFD/bimxK+22HSJlc3LSF2kKzNrgKoFR2rIKbL3c
-Us7GpWY8VqGTrfwR6OQNcoWqa1n5/tK9xuqKhfpoA2Eci8K+w5YCzCmnOz2vzbgS
-ptuFshTKYI2Z/DLQZyP+OQkEYPfCdani2KsISn4DTx8xFjmW/sb/zf0isemTwWyK
-Oh76FTa0tYdjTtAv3JHqyr2XkddM/oUSc09baCOfhUdo7Ep5rUqKw7BQsjreBYoZ
-WcL/hmlIksUrFlqo/HRpoBgCZpSjsF/Z9otZpSugMHVVlRCnAKQiWxWAd+V+y2FG
-q79myPgiMkbkaIrCelrUhDFRQ5wTnfAppFolw+xtT9bwdkwxZDNBe6PCYuLqD8wg
-jtDtt3q5UaUOMGJrMDKZ0Wi6ycdl/sM59kLfyBV4ybmYkwOLTlMvOATiyUZeJJZO
-2bTKBvD+izsx3Ea4VLPWYSFmk6QwaOMtj6tcXwBgtljzqMJ0S9Gubmopy3WAkP/m
-/6ETJpuIupqEtvbRTX4O/+qnBgY40aQX7B4NgJi2SypP/WML5v2B2amLlhTcN+we
-ULWyH9KvfKny5mrtG5C9xq1eAgKtB2QEDEbRyz34DWVWGpqIY1mscaNv8wARAQAB
-tFtMRURFIEJ1aWxkIFN5c3RlbSAoTEVERSBHbnVQRyBrZXkgZm9yIHVuYXR0ZW5k
-ZWQgYnVpbGQgam9icykgPGxlZGUtYWRtQGxpc3RzLmluZnJhZGVhZC5vcmc+iQI4
-BBMBAgAiBQJXl2e8AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDNhLzt
-YmRx8aJ2D/9eRQWekaeX8eAcAgzguFS12ODlg23lJx00d0zLhZcA6LycYJRmFN+M
-0tsVDZ6y7bLy1/h0YFYvYlJk4ZE+6sb4I/GSkMyqeZAy8whELYfEphXVYx0/wgyn
-d57wE0lDo8/zmt3rK1eD0zJioN7cL3A/t3L++al4gwmqtTfUIl96AXc3YBe/rwXS
-i7ShENVKYjTaMugP5BJ9kUZuaIjmXZWvREbURgBMWR7uR56XKJBwDBQMtHq2AoZs
-2iNR3dG8r70Sb/cMSgAqhwDZfeV71r7+Pd+asvxYb0JeNNgZ2ss/BA5yapUKZLgu
-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
-GPeIoGmFL85qtFOzc4sqYQGhLj9iMRfmNw==
-=W2Tk
------END PGP PUBLIC KEY BLOCK-----
+++ /dev/null
------BEGIN PGP PUBLIC KEY BLOCK-----
-Comment: LEDE 17.01 "Reboot" public key
-
-mQINBFh9DQ8BEACmjR9z4mEXjTWBTcqHI8U38III55qStU4zX4mtYEm8KjaNyBu0
-F8ghe22IAPQcHuvQh0lzr2AoTYi+ZAUlHrLb3s+YdJJD2KoSD1nXW8PgtoT92tai
-utJjSKsB2ZWJc4nskAYXTkDmhTuuHBEg9hvljhXkrPxmcEDN/v1f5fv82U8JLYwt
-g1mGJmW7SsdKtkJbAmEMCi/MFFA2fxLNV33qGhzm4UeAsUrLIGBjbCtU/BK8Im28
-eAF9VP08OUK/QX7te6K6qumvuEIIc/GG4yatdbxltS1SjWYMS0vpqXm4v50CoMaB
-/XCcdq1zlIyIxQW9UF6xJDLhsHv/3iOginR/vRDbdRWk/YPwlx/d9h9GK309YhXu
-GUK/lrBHIZwZ4VEowYjK76isXmRuU9ZeTK9SeKdIyLzYg5NIXW9cvGR+4NKIqfmE
-xxbVupm7Vc+3n4KUdS2t9SLXdkG+YYmyDabftyuACU2+xeHyKcUBn4yxbrcBp5Rs
-5RgOIn/2BtiEQNSc8AagU1ie57VGErrwrpdW/Cmxrs+KG7Io8Pwv+nG9M53DqPwb
-Zuun75iuni9wAR5IVUsUWdIoalb/I4ht58FDOt2iS/KdVwi8yyCHS8gH1J3MzZWP
-Yy9k0pgup54CTXGv/KzDOAsPZzkwNiziWIVE0N49bZFkO0CXgAufOAEtewARAQAB
-tFNMRURFIFJlbGVhc2UgQnVpbGRlciAoMTcuMDEgIlJlYm9vdCIgU2lnbmluZyBL
-ZXkpIDxsZWRlLWRldkBsaXN0cy5sZWRlLXByb2plY3Qub3JnPokCPgQTAQIAKAUC
-WH0NDwIbAwUJA8JnAAYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQgzxgENUr
-u2tMaA//aRvfrOoMTVtjw+Pru+hBC7IhkusJ70x8gUxSPmHZX0+KvIvILyAeVEho
-TW5lMwwo6b66GcBmP53qu/rech8HyunyyDUYFEvdE/ym3uO6NpE/3N/Z69TJiC+k
-1imElx5njTZkH/qZSClqN8j6ehspywnSKWNfSOM/9K1G7qtWgiqIaDYa+sdtRHjx
-oh4dtKiauUced0C1i7V1vT1ko8iZKWFiwj9GJSaoVxyUwI2fG3iV2qdcinPCL0nU
-BfVIhU5cXMZ6VtVg5Ly6NqUbrhZzVVl8DMnu5z4MOLZWseob4LhK5W0v+DUTezJS
-Cvei+woJ3SIy0CLXe6eDKwbCS5kCaoNbExeTnSz7/Mg14NjREhtWkq79rnHrH9MV
-QAXyjmd3q0D5sDLzk8nQ3fGaH1Zg+o+VECkwEwz4ypctXqRAcHyIkYHmv8rFYlQY
-dJlfs1NgZzk9EWfZ0/RLUdqNx6beKm27r2W1j+gcaM01sk5q9TPZeuNHh8psFlCD
-b5mq6XBstA9NwN9pg5zS+UkfjjMU5FiBIEVv4Lt/dblNkjID/+XUBkHpSAz13GDW
-k0ElkSBgBvz8TSm68EUGTfTVhK21x+1x15/8AUoV8V+4txncMhnJNmrEcKolnMeF
-96xgcoHpPszlHxjiwS6hrFPDyhfYwU9plDI7ojcIleqK98XjRHY=
-=aN5O
------END PGP PUBLIC KEY BLOCK-----
wget "$SDK_PATH/sha256sums.gpg" -O sha256sums.asc
# LEDE Build System (LEDE GnuPG key for unattended build jobs)
- gpg --import $PACKAGES_DIR/.travis/626471F1.asc
+ gpg --import $PACKAGES_DIR/.keys/626471F1.asc
echo '54CC74307A2C6DC9CE618269CD84BCED626471F1:6:' | gpg --import-ownertrust
# LEDE Release Builder (17.01 "Reboot" Signing Key)
- gpg --import $PACKAGES_DIR/.travis/D52BBB6B.asc
+ gpg --import $PACKAGES_DIR/.keys/D52BBB6B.asc
echo 'B09BE781AE8A0CD4702FDCD3833C6010D52BBB6B:6:' | gpg --import-ownertrust
echo_blue "=== Verifying sha256sums signature"
include $(TOPDIR)/rules.mk
PKG_NAME:=perl-text-csv_xs
-PKG_VERSION:=1.34
+PKG_VERSION:=1.35
PKG_RELEASE:=1
PKG_SOURCE_URL:=http://www.cpan.org/authors/id/H/HM/HMBRAND/
PKG_SOURCE:=Text-CSV_XS-$(PKG_VERSION).tgz
-PKG_HASH:=ea3aa6fe50e8ef9c07f4304ace98fca413c9c6cf60d84efc32c314b902e8a134
+PKG_HASH:=2b4f111e9486b230b02bfabbbf50c453f959d18ec17351a930e41f0959b358b7
PKG_LICENSE:=GPL-1.0+ Artistic-1.0-Perl
PKG_MAINTAINER:=Philip Prindeville <philipp@redfish-solutions.com>
include $(TOPDIR)/rules.mk
PKG_NAME:=perl
-PKG_VERSION:=5.26.1
-PKG_RELEASE:=3
+PKG_VERSION:=5.26.2
+PKG_RELEASE:=1
PKG_SOURCE_URL:=\
https://cpan.metacpan.org/src/5.0 \
https://mirrors.sonic.net/cpan/src/5.0 \
https://www.cpan.org/src/5.0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_HASH:=fe8208133e73e47afc3251c08d2c21c5a60160165a8ab8b669c43a420e4ec680
+PKG_HASH:=0f8c0fb1b0db4681adb75c3ba0dd77a0472b1b359b9e80efd79fc27b4352132c
PKG_LICENSE:=GPL-1.0+ Artistic-1.0-Perl
PKG_LICENSE_FILES:=Copying Artistic README
# Set the version here
PERL_REVISION=5
PERL_VERSION=26
-PERL_SUBVERSION=1
+PERL_SUBVERSION=2
# (api_revison, api_version, api_subversion) = (revision, version, 0) usually
PERL_API_REVISION=5
---- a/pp.c
-+++ b/pp.c
-@@ -43,7 +43,7 @@ extern Pid_t getpid (void);
- * Some BSDs and Cygwin default to POSIX math instead of IEEE.
- * This switches them over to IEEE.
- */
--#if defined(LIBM_LIB_VERSION)
-+#if defined(LIBM_LIB_VERSION) && (defined(__GLIBC__) || defined(__UCLIBC__))
- _LIB_VERSION_TYPE _LIB_VERSION = _IEEE_;
+--- a/perl.c
++++ b/perl.c
+@@ -286,7 +286,7 @@ perl_construct(pTHXx)
+ PL_localpatches = local_patches; /* For possible -v */
#endif
+-#if defined(LIBM_LIB_VERSION)
++#if defined(LIBM_LIB_VERSION) && (defined(__GLIBC__) || defined(__UCLIBC__))
+ /*
+ * Some BSDs and Cygwin default to POSIX math instead of IEEE.
+ * This switches them over to IEEE.
===================================================================
--- perl-5.26.1.orig/perl.c
+++ perl-5.26.1/perl.c
-@@ -1870,16 +1870,6 @@ S_Internals_V(pTHX_ CV *cv)
+@@ -1878,16 +1878,6 @@ S_Internals_V(pTHX_ CV *cv)
PUSHs(Perl_newSVpvn_flags(aTHX_ non_bincompat_options,
sizeof(non_bincompat_options) - 1, SVs_TEMP));
--- a/Makefile.SH 2017-10-15 18:57:08.436234652 -0600
+++ b/Makefile.SH 2017-10-15 19:02:47.587658819 -0600
-@@ -327,7 +327,7 @@ PATH_SEP = $p_
+@@ -328,7 +328,7 @@ PATH_SEP = $p_
# Macros to invoke a copy of miniperl during the build. Targets which
# are built using these macros should depend on \$(MINIPERL_EXE)
MINIPERL_EXE = miniperl\$(EXE_EXT)
# Macros to invoke sort the MANIFEST during build
MANIFEST_SRT = MANIFEST.srt
-@@ -990,7 +990,7 @@ NAMESPACEFLAGS = -force_flat_namespace
+@@ -991,7 +991,7 @@ NAMESPACEFLAGS = -force_flat_namespace
@$(RMS) miniperl.xok
$(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o $(MINIPERL_EXE) \
$(miniperl_objs) $(libs)
$(MINIPERL) -f write_buildcustomize.pl
!NO!SUBS!
;;
-@@ -1001,16 +1001,16 @@ lib/buildcustomize.pl: $& $(miniperl_obj
+@@ -1002,16 +1002,16 @@ lib/buildcustomize.pl: $& $(miniperl_obj
@\$(RMS) miniperl.xok
@\$(RMS) \$(MINIPERL_EXE)
\$(LNS) \$(HOST_PERL) \$(MINIPERL_EXE)
#
PYTHON_VERSION:=2.7
-PYTHON_VERSION_MICRO:=14
+PYTHON_VERSION_MICRO:=15
-PYTHON_SETUPTOOLS_VERSION:=28.8.0
-PYTHON_PIP_VERSION:=9.0.1
+PYTHON_SETUPTOOLS_PKG_RELEASE:=1
+PYTHON_PIP_PKG_RELEASE:=1
+
+PYTHON_SETUPTOOLS_VERSION:=39.0.1
+PYTHON_PIP_VERSION:=9.0.3
+
+PYTHON_SETUPTOOLS_VERSION:=$(PYTHON_SETUPTOOLS_VERSION)-$(PYTHON_SETUPTOOLS_PKG_RELEASE)
+PYTHON_PIP_VERSION:=$(PYTHON_PIP_VERSION)-$(PYTHON_PIP_PKG_RELEASE)
PKG_NAME:=python
PKG_VERSION:=$(PYTHON_VERSION).$(PYTHON_VERSION_MICRO)
-PKG_RELEASE:=10
+PKG_RELEASE:=1
PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.python.org/ftp/python/$(PKG_VERSION)
-PKG_HASH:=71ffb26e09e78650e424929b2b457b9c912ac216576e6bd9e7d204ed03296a66
+PKG_HASH:=22d9b1ac5b26135ad2b8c2901a9413537e08749a753356ee913c84dbd2df5574
PKG_LICENSE:=PSF
PKG_LICENSE_FILES:=LICENSE Modules/_ctypes/libffi_msvc/LICENSE Modules/_ctypes/darwin/LICENSE Modules/_ctypes/libffi/LICENSE Modules/_ctypes/libffi_osx/LICENSE Tools/pybench/LICENSE
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -1110,6 +1110,7 @@ libinstall: build_all $(srcdir)/Lib/$(PL
+@@ -1127,6 +1127,7 @@ libinstall: build_all $(srcdir)/Lib/$(PL
done; \
done
$(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
if test -d $(DESTDIR)$(LIBDEST)/distutils/tests; then \
$(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
$(DESTDIR)$(LIBDEST)/distutils/tests ; \
-@@ -1136,6 +1137,7 @@ libinstall: build_all $(srcdir)/Lib/$(PL
+@@ -1153,6 +1154,7 @@ libinstall: build_all $(srcdir)/Lib/$(PL
$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
-@@ -79,7 +79,7 @@ int Py_InteractiveFlag; /* Needed by Py_
+@@ -71,7 +71,7 @@ int Py_InteractiveFlag; /* Needed by Py_
int Py_InspectFlag; /* Needed to determine whether to exit at SystemExit */
int Py_NoSiteFlag; /* Suppress 'import site' */
int Py_BytesWarningFlag; /* Warn on str(bytes) and str(buffer) */
int Py_UseClassExceptionsFlag = 1; /* Needed by bltinmodule.c: deprecated */
int Py_FrozenFlag; /* Needed by getpath.c */
int Py_UnicodeFlag = 0; /* Needed by compile.c */
-@@ -185,7 +185,7 @@ Py_InitializeEx(int install_sigs)
- if ((p = Py_GETENV("PYTHONOPTIMIZE")) && *p != '\0')
- Py_OptimizeFlag = add_flag(Py_OptimizeFlag, p);
- if ((p = Py_GETENV("PYTHONDONTWRITEBYTECODE")) && *p != '\0')
-- Py_DontWriteBytecodeFlag = add_flag(Py_DontWriteBytecodeFlag, p);
-+ Py_DontWriteBytecodeFlag = atoi(p);
- /* The variable is only tested for existence here; _PyRandom_Init will
- check its value further. */
- if ((p = Py_GETENV("PYTHONHASHSEED")) && *p != '\0')
-diff --git a/configure b/configure
-index 4c0435e..0068a9d 100755
--- a/configure
+++ b/configure
-@@ -7045,7 +7045,7 @@ sys/param.h sys/poll.h sys/random.h sys/select.h sys/socket.h sys/statvfs.h sys/
+@@ -7077,7 +7077,7 @@ sys/param.h sys/poll.h sys/random.h sys/
sys/termio.h sys/time.h \
sys/times.h sys/types.h sys/un.h sys/utsname.h sys/wait.h pty.h libutil.h \
sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \
--bluetooth/bluetooth.h linux/tipc.h spawn.h util.h alloca.h
-+linux/tipc.h spawn.h util.h alloca.h
+-bluetooth/bluetooth.h linux/tipc.h spawn.h util.h alloca.h sys/sysmacros.h
++linux/tipc.h spawn.h util.h alloca.h sys/sysmacros.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-@@ -7267,6 +7267,24 @@ fi
+@@ -7299,6 +7299,24 @@ fi
fi
# On Linux, netlink.h requires asm/types.h
for ac_header in linux/netlink.h
do :
-diff --git a/configure.ac b/configure.ac
-index 780f275..dceca1c 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -1702,10 +1702,17 @@ sys/param.h sys/poll.h sys/random.h sys/select.h sys/socket.h sys/statvfs.h sys/
+@@ -1732,10 +1732,17 @@ sys/param.h sys/poll.h sys/random.h sys/
sys/termio.h sys/time.h \
sys/times.h sys/types.h sys/un.h sys/utsname.h sys/wait.h pty.h libutil.h \
sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \
--bluetooth/bluetooth.h linux/tipc.h spawn.h util.h alloca.h)
-+linux/tipc.h spawn.h util.h alloca.h)
+-bluetooth/bluetooth.h linux/tipc.h spawn.h util.h alloca.h sys/sysmacros.h)
++linux/tipc.h spawn.h util.h alloca.h sys/sysmacros.h)
AC_HEADER_DIRENT
AC_HEADER_MAJOR
+++ /dev/null
---- a/Modules/_cursesmodule.c
-+++ b/Modules/_cursesmodule.c
-@@ -117,7 +117,6 @@ char *PyCursesVersion = "2.2";
- #defines many common symbols (such as "lines") which breaks the
- curses module in other ways. So the code will just specify
- explicit prototypes here. */
--extern int setupterm(char *,int,int *);
- #ifdef __sgi
- #include <term.h>
- #endif
--- a/Lib/py_compile.py
+++ b/Lib/py_compile.py
-@@ -108,6 +108,7 @@ def compile(file, cfile=None, dfile=None, doraise=False):
+@@ -108,6 +108,7 @@ def compile(file, cfile=None, dfile=None
timestamp = long(os.fstat(f.fileno()).st_mtime)
except AttributeError:
timestamp = long(os.stat(file).st_mtime)
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -625,6 +625,16 @@ regen-all: regen-opcode-targets regen-gr
+@@ -634,6 +634,16 @@ regen-all: regen-opcode-targets regen-gr
############################################################################
# Special rules for object files
Modules/getbuildinfo.o: $(PARSER_OBJS) \
$(OBJECT_OBJS) \
$(PYTHON_OBJS) \
-@@ -633,6 +643,8 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \
+@@ -642,6 +652,8 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \
$(MODOBJS) \
$(srcdir)/Modules/getbuildinfo.c
$(CC) -c $(PY_CFLAGS) \
# Note: keep in sync with setuptools & pip
PYTHON3_VERSION_MAJOR:=3
PYTHON3_VERSION_MINOR:=6
-PYTHON3_VERSION_MICRO:=4
+PYTHON3_VERSION_MICRO:=5
PYTHON3_VERSION:=$(PYTHON3_VERSION_MAJOR).$(PYTHON3_VERSION_MINOR)
-PYTHON3_SETUPTOOLS_VERSION:=28.8.0
-PYTHON3_PIP_VERSION:=9.0.1
+PYTHON3_SETUPTOOLS_PKG_RELEASE:=1
+PYTHON3_PIP_PKG_RELEASE:=1
+
+PYTHON3_SETUPTOOLS_VERSION:=39.0.1
+PYTHON3_PIP_VERSION:=9.0.3
+
+PYTHON3_SETUPTOOLS_VERSION:=$(PYTHON3_SETUPTOOLS_VERSION)-$(PYTHON3_SETUPTOOLS_PKG_RELEASE)
+PYTHON3_PIP_VERSION:=$(PYTHON3_PIP_VERSION)-$(PYTHON3_PIP_PKG_RELEASE)
PYTHON_VERSION_MICRO:=$(PYTHON3_VERSION_MICRO)
PKG_NAME:=python3
-PKG_RELEASE:=5
+PKG_RELEASE:=1
PKG_VERSION:=$(PYTHON_VERSION).$(PYTHON_VERSION_MICRO)
PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.python.org/ftp/python/$(PKG_VERSION)
-PKG_HASH:=159b932bf56aeaa76fd66e7420522d8c8853d486b8567c459b84fe2ed13bcaba
+PKG_HASH:=f434053ba1b5c8a5cc597e966ead3c5143012af827fd3f0697d21450bb8d87a6
PKG_LICENSE:=PSF
PKG_LICENSE_FILES:=LICENSE Modules/_ctypes/libffi_msvc/LICENSE Modules/_ctypes/darwin/LICENSE Modules/_ctypes/libffi/LICENSE Modules/_ctypes/libffi_osx/LICENSE Tools/pybench/LICENSE
int Py_NoUserSiteDirectory = 0; /* for -s and site.py */
int Py_UnbufferedStdioFlag = 0; /* Unbuffered binary std{in,out,err} */
int Py_HashRandomizationFlag = 0; /* for -R and PYTHONHASHSEED */
-@@ -329,7 +329,7 @@ _Py_InitializeEx_Private(int install_sig
- if ((p = Py_GETENV("PYTHONOPTIMIZE")) && *p != '\0')
- Py_OptimizeFlag = add_flag(Py_OptimizeFlag, p);
- if ((p = Py_GETENV("PYTHONDONTWRITEBYTECODE")) && *p != '\0')
-- Py_DontWriteBytecodeFlag = add_flag(Py_DontWriteBytecodeFlag, p);
-+ Py_DontWriteBytecodeFlag = atoi(p);
- /* The variable is only tested for existence here; _PyRandom_Init will
- check its value further. */
- if ((p = Py_GETENV("PYTHONHASHSEED")) && *p != '\0')
--- a/configure
+++ b/configure
-@@ -14986,7 +14986,7 @@ $as_echo_n "checking ABIFLAGS... " >&6;
+@@ -14995,7 +14995,7 @@ $as_echo_n "checking ABIFLAGS... " >&6;
$as_echo "$ABIFLAGS" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking SOABI" >&5
$as_echo_n "checking SOABI... " >&6; }
--- a/configure.ac
+++ b/configure.ac
-@@ -4639,7 +4639,7 @@ AC_SUBST(SOABI)
+@@ -4647,7 +4647,7 @@ AC_SUBST(SOABI)
AC_MSG_CHECKING(ABIFLAGS)
AC_MSG_RESULT($ABIFLAGS)
AC_MSG_CHECKING(SOABI)
abi=sys.abiflags,
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -1338,7 +1338,7 @@ libinstall: build_all $(srcdir)/Modules/
+@@ -1350,7 +1350,7 @@ libinstall: build_all $(srcdir)/Modules/
esac; \
done; \
done
$(DESTDIR)$(LIBDEST); \
$(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
ifeq (@COMPILE_ALL_TESTS@,yes)
-@@ -1475,7 +1475,7 @@ sharedinstall: sharedmods
+@@ -1487,7 +1487,7 @@ sharedinstall: sharedmods
--install-scripts=$(BINDIR) \
--install-platlib=$(DESTSHARED) \
--root=$(DESTDIR)/
# Here are a couple of targets for MacOSX again, to install a full
--- a/configure
+++ b/configure
-@@ -15005,7 +15005,7 @@ LDVERSION='$(VERSION)$(ABIFLAGS)'
+@@ -15014,7 +15014,7 @@ LDVERSION='$(VERSION)$(ABIFLAGS)'
$as_echo "$LDVERSION" >&6; }
LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"
--- a/configure.ac
+++ b/configure.ac
-@@ -4656,7 +4656,7 @@ AC_MSG_RESULT($LDVERSION)
+@@ -4664,7 +4664,7 @@ AC_MSG_RESULT($LDVERSION)
dnl define LIBPL after ABIFLAGS and LDVERSION is defined.
AC_SUBST(PY_ENABLE_SHARED)
include $(TOPDIR)/rules.mk
PKG_NAME:=alsa-lib
-PKG_VERSION:=1.1.5
+PKG_VERSION:=1.1.6
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=ftp://ftp.alsa-project.org/pub/lib/ \
http://distfiles.gentoo.org/distfiles/
-PKG_HASH:=f4f68ad3c6da36b0b5241ac3c798a7a71e0e97d51f972e9f723b3f20a9650ae6
+PKG_HASH:=5f2cd274b272cae0d0d111e8a9e363f08783329157e8dd68b3de0c096de6d724
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>, \
Peter Wagner <tripolar@gmx.at>
include $(TOPDIR)/rules.mk
PKG_NAME:=cyrus-sasl
-PKG_VERSION:=2.1.26
-PKG_RELEASE:=3
+PKG_VERSION_BASE:=2.1.27
+PKG_VERSION:=$(PKG_VERSION_BASE)-rc7
+PKG_RELEASE:=1
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=ftp://ftp.cyrusimap.org/cyrus-sasl/
-PKG_HASH:=8fbc5136512b59bb793657f36fadda6359cae3b08f01fd16b3d406f1345b7bc3
+PKG_SOURCE_URL:=https://www.cyrusimap.org/releases/
+PKG_HASH:=c1846b80e80286c94941a1e27974bba759b171ccad25d5b49bd8d9deab10f54b
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION_BASE)
PKG_LICENSE:=BSD-4c BSD
PKG_LICENSE_FILES:=COPYING cmulocal/COPYING saslauthd/COPYING
include $(TOPDIR)/rules.mk
PKG_NAME:=dtc
-PKG_VERSION:=1.4.2
+PKG_VERSION:=1.4.6
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_HASH:=13456ee9840abbbcb956d0711c580d28524e2ee17840e556e744311f2d8afaac
-PKG_SOURCE_URL:=https://www.kernel.org/pub/software/utils/dtc
+PKG_HASH:=382302bfcc3c40734be80ac620983971d911ec4cde798f551873f3eb008c7b7e
+PKG_SOURCE_URL:=@KERNEL/software/utils/dtc
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=GPL
PKG_INSTALL:=1
endef
+# See Documentation/manual.txt for details about each utility
+define Package/fdt-utils
+ SECTION:=utils
+ CATEGORY:=Utilities
+ TITLE:=Flat Device Tree Utilities
+ URL:=http://devicetree.org/Device_Tree_Compiler
+endef
+
+define Package/fdt-utils/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/bin/convert-dtsv0 $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/bin/fdtdump $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/bin/fdtget $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/bin/fdtput $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/bin/fdtoverlay $(1)/usr/bin
+endef
+
+
define Package/libfdt
SECTION:=libs
CATEGORY:=Libraries
TARGET_CFLAGS += \
$(FPIC)
+# NO_PYTHON is for disabling pylibfdt
MAKE_FLAGS += \
PREFIX= \
+ NO_PYTHON=1 \
CFLAGS="$(TARGET_CFLAGS)"
define Build/InstallDev
endef
$(eval $(call BuildPackage,dtc))
+$(eval $(call BuildPackage,fdt-utils))
$(eval $(call BuildPackage,libfdt))
include $(TOPDIR)/rules.mk
PKG_NAME:=poco
-PKG_VERSION:=1.7.7
+PKG_VERSION:=1.8.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://pocoproject.org/releases/$(PKG_NAME)-$(PKG_VERSION)
-PKG_HASH:=17783e30f5ef9c852544ac0e9d1fd316c4804317026059a9d6aad798b61c77f8
+PKG_HASH:=2e4c07ac73174ee06c7e2c7cf2b7642a5b3aea81d0203e1c069b32ac4a8ecfbc
PKG_LICENSE:=BSL-1.0
PKG_LICENSE_FILES:=LICENSE
--- a/Foundation/src/Error.cpp
+++ b/Foundation/src/Error.cpp
-@@ -66,7 +66,7 @@
- without -D_GNU_SOURCE is needed, otherwise the GNU version is
- preferred.
- */
--#if defined _GNU_SOURCE && !POCO_ANDROID
-+#if (defined _GNU_SOURCE && (defined __GLIBC__ || defined __UCLIBC__)) && !POCO_ANDROID
- char errmsg[256] = "";
- return std::string(strerror_r(errorCode, errmsg, 256));
- #elif (_XOPEN_SOURCE >= 600) || POCO_ANDROID
+@@ -70,7 +70,7 @@ namespace Poco {
+
+ #if (_XOPEN_SOURCE >= 600) || POCO_ANDROID || __APPLE__
+ setMessage(strerror_r(err, _buffer, sizeof(_buffer)));
+-#elif _GNU_SOURCE
++#elif (_GNU_SOURCE && (defined __GLIBC__ || defined __UCLIBC__))
+ setMessage(strerror_r(err, _buffer, sizeof(_buffer)));
+ #else
+ setMessage(strerror(err));
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=$(PKG_VERSION)
+PKG_BUILD_DEPENDS:=protobuf-c/host
+
PKG_INSTALL:=1
PKG_FIXUP:=autoreconf
PKG_MAINTAINER:=Jacob Siverskog <jacob@teenageengineering.com>
include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
define Package/libprotobuf-c
TITLE:=Protocol Buffers library
endef
$(eval $(call BuildPackage,libprotobuf-c))
+$(eval $(call HostBuild))
+
PKG_NAME:=sbc
PKG_VERSION:=1.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=https://www.kernel.org/pub/linux/bluetooth/
+PKG_SOURCE_URL:=@KERNEL/linux/bluetooth/
PKG_HASH:=e61022cf576f14190241e7071753fdacdce5d1dea89ffd704110fc50be689309
PKG_LICENSE:=LGPL-2.1+
Needed for A2DP support.
endef
+TARGET_CFLAGS += -flto
+TARGET_LDFLAGS += -flto
+
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/sbc
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/sbc/sbc.h $(1)/usr/include/sbc/
include $(TOPDIR)/rules.mk
PKG_NAME:=tvheadend
-PKG_VERSION:=4.0.9
+PKG_VERSION:=4.0.10
PKG_RELEASE:=1
PKG_SOURCE_SUBDIR:=$(PKG_NAME)
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
-PKG_MIRROR_HASH:=c18e3803d6e36348442ccf3b0ac4868948692491c7dd646d48576f5aec09cdd8
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.xz
+PKG_MIRROR_HASH:=afe42bcf683e8576ca8ccd4755ea308f79195e92f7c30fc5961973e238f49105
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/tvheadend/tvheadend.git
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
--disable-libav \
--enable-bundle
+TARGET_CFLAGS += -Wno-error=pointer-compare
+
define Build/Prepare
$(call Build/Prepare/Default)
echo 'Tvheadend $(shell echo $(PKG_SOURCE_VERSION) | sed "s/^v//")~openwrt$(PKG_RELEASE)' \
## Installation & Usage
* install 'adblock' (_opkg install adblock_)
-* at minimum configure the appropriate dns backend ('dnsmasq' by default), the donwload utility and enable the adblock service in _/etc/config/adblock_
+* at minimum configure the appropriate dns backend ('dnsmasq' by default), the download utility and enable the adblock service in _/etc/config/adblock_
* control the adblock service manually with _/etc/init.d/adblock_ start/stop/restart/reload/suspend/resume/status or use the LuCI frontend
## LuCI adblock companion package
PKG_NAME:=isc-dhcp
UPSTREAM_NAME:=dhcp
-PKG_VERSION:=4.4.0
-PKG_RELEASE:=4
+PKG_VERSION:=4.4.1
+PKG_RELEASE:=1
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE_URL:=ftp://ftp.isc.org/isc/dhcp/$(PKG_VERSION) \
http://ftp.funet.fi/pub/mirrors/ftp.isc.org/isc/dhcp/$(PKG_VERSION) \
http://ftp.iij.ad.jp/pub/network/isc/dhcp/$(PKG_VERSION)
-PKG_HASH:=4a90be0f22ad81c987f5584661b60a594f1b21c581b82bfba3ae60f89ae44397
+PKG_HASH:=2a22508922ab367b4af4664a0472dc220cc9603482cf3c16d9aff14f3a76b608
PKG_FIXUP:=autoreconf
PKG_BUILD_PARALLEL:=1
PKG_NAME:=kadnode
PKG_VERSION:=2.2.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=https://github.com/mwarning/KadNode
-PKG_SOURCE_VERSION:=c63e734950787d35c8bf1363448430942d1bb39d
-PKG_MIRROR_HASH:=dcecfb14169ac5c4c28bcf147681f6823aa2d8a37d29d35ab3e76b613cce085c
PKG_LICENSE:=MIT
+PKG_SOURCE_URL:=https://codeload.github.com/mwarning/KadNode/tar.gz/v$(PKG_VERSION)?
+PKG_SOURCE:=KadNode-$(PKG_VERSION).tar.gz
+PKG_HASH:=1b3ccaa01cbb7548ef268d8b562059452826dc774529303c494418d1a450ca97
+PKG_BUILD_DIR:=$(BUILD_DIR)/KadNode-$(PKG_VERSION)
+
+
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
MAKE_FLAGS += FEATURES="$(FEATURES)"
+# Make binary smaller
+TARGET_CFLAGS += -ffunction-sections -fdata-sections
+TARGET_LDFLAGS += -Wl,--gc-sections
+
define Package/kadnode/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/build/kadnode $(1)/usr/bin/
--- /dev/null
+From 12f6ca15b1b80f7fedb3ae3cf9067a8045a9a8fd Mon Sep 17 00:00:00 2001
+From: Moritz Warning <moritzwarning@web.de>
+Date: Wed, 2 May 2018 19:54:37 +0200
+Subject: [PATCH] LFLAGS => LDFLAGS
+
+---
+ Makefile | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 62be30a..ae994fc 100644
+--- a/Makefile
++++ b/Makefile
+@@ -2,7 +2,7 @@
+ CC ?= gcc
+ CFLAGS ?= -Os -Wall -Wwrite-strings -pedantic
+ CFLAGS += -std=gnu99 -I/usr/local/include
+-LFLAGS += -L/usr/local/lib -lc
++LDFLAGS += -L/usr/local/lib -lc
+ FEATURES ?= dns lpd tls bob cmd debug nss #natpmp upnp
+
+ OBJS = build/searches.o build/kad.o build/log.o \
+@@ -30,7 +30,7 @@ endif
+ ifeq ($(findstring bob,$(FEATURES)),bob)
+ OBJS += build/ext-bob.o
+ CFLAGS += -DBOB
+- LFLAGS += -lmbedtls -lmbedx509 -lmbedcrypto
++ LDFLAGS += -lmbedtls -lmbedx509 -lmbedcrypto
+ endif
+
+ ifeq ($(findstring cmd,$(FEATURES)),cmd)
+@@ -56,20 +56,20 @@ endif
+ ifeq ($(findstring tls,$(FEATURES)),tls)
+ OBJS += build/ext-tls-client.o build/ext-tls-server.o
+ CFLAGS += -DTLS
+- LFLAGS += -lmbedtls -lmbedx509 -lmbedcrypto
++ LDFLAGS += -lmbedtls -lmbedx509 -lmbedcrypto
+ endif
+
+ ifeq ($(findstring upnp,$(FEATURES)),upnp)
+ OBJS += build/upnp.o
+ CFLAGS += -DFWD_UPNP
+- LFLAGS += -Wl,-Bdynamic -lminiupnpc
++ LDFLAGS += -Wl,-Bdynamic -lminiupnpc
+ ENABLE_FORWARDING = 1
+ endif
+
+ ifeq ($(findstring natpmp,$(FEATURES)),natpmp)
+ OBJS += build/natpmp.o
+ CFLAGS += -DFWD_NATPMP
+- LFLAGS += -Wl,-Bdynamic -lnatpmp
++ LDFLAGS += -Wl,-Bdynamic -lnatpmp
+ ENABLE_FORWARDING = 1
+ endif
+
+@@ -94,7 +94,7 @@ libkadnode.so: build/libkadnode.o $(OBJS)
+ $(CC) -shared $(OBJS) build/libkadnode.o -o build/libkadnode.so
+
+ kadnode: build/main.o $(OBJS) $(EXTRA)
+- $(CC) build/main.o $(OBJS) -o build/kadnode $(LFLAGS)
++ $(CC) build/main.o $(OBJS) -o build/kadnode $(LDFLAGS)
+ ln -s kadnode build/kadnode-ctl 2> /dev/null || true
+
+ clean:
+--
+2.17.0
+
include $(TOPDIR)/rules.mk
PKG_NAME:=keepalived
-PKG_VERSION:=1.3.9
-PKG_RELEASE:=2
+PKG_VERSION:=1.4.4
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:= http://www.keepalived.org/software
-PKG_HASH:=d5bdd25530acf60989222fd92fbfd596e06ecc356a820f4c1015708b76a8d4f3
+PKG_SOURCE_URL:=http://www.keepalived.org/software
+PKG_HASH:=147c2b3b782223128551fd0a1564eaa30ed84a94b68c50ec5087747941314704
PKG_LICENSE:=GPL-2.0+
PKG_LICENSE_FILES:=COPYING
include $(TOPDIR)/rules.mk
PKG_NAME:=lftp
-PKG_VERSION:=4.8.2
-PKG_RELEASE:=2
+PKG_VERSION:=4.8.3
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://lftp.tech/ftp/ \
https://mirror.csclub.uwaterloo.ca/gentoo-distfiles/distfiles/
-PKG_HASH:=5c875b8476e05e856ebc8eec458e43317b2bebd6ed5f7725a733d4591548cd9c
+PKG_HASH:=de7aee451afaa1aa391f7076b5f602922c2da0e05524a8d8fea413eda83cc78b
PKG_LICENSE:=GPL-3.0+
--without-libiconv-prefix \
--without-libintl-prefix \
--without-gnutls \
- --without-libidn \
+ --without-libidn2 \
--without-libresolv \
--with-openssl="$(STAGING_DIR)/usr" \
--with-readline="$(STAGING_DIR)/usr" \
--- /dev/null
+#
+# Copyright (C) 2006-2014 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:=miniupnpd
+PKG_VERSION:=2.0.20180503
+PKG_RELEASE:=1
+
+PKG_SOURCE_URL:=http://miniupnp.free.fr/files
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_HASH:=b61bed16865f8692803a9f155523ca7c6e01c65db20362b6173226b08ce12a0c
+
+PKG_MAINTAINER:=Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
+PKG_LICENSE:=BSD-3-Clause
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/version.mk
+
+define Package/miniupnpd
+ SECTION:=net
+ CATEGORY:=Network
+ DEPENDS:=+iptables +libip4tc +IPV6:libip6tc +IPV6:ip6tables +libuuid
+ TITLE:=Lightweight UPnP IGD, NAT-PMP & PCP daemon
+ SUBMENU:=Firewall
+ URL:=http://miniupnp.free.fr/
+endef
+
+define Package/miniupnpd/conffiles
+/etc/config/upnpd
+endef
+
+define Build/Prepare
+ $(call Build/Prepare/Default)
+ echo "$(VERSION_NUMBER)" | tr '() ' '_' >$(PKG_BUILD_DIR)/os.openwrt
+endef
+
+MAKE_FLAGS += \
+ TARGET_OPENWRT=1 TEST=0 LIBS="" \
+ CC="$(TARGET_CC) -DIPTABLES_143 -lip4tc -luuid \
+ $(if $(CONFIG_IPV6),-lip6tc)" \
+ CONFIG_OPTIONS="--portinuse --leasefile --igd2 \
+ $(if $(CONFIG_IPV6),--ipv6)" \
+ -f Makefile.linux miniupnpd
+
+define Package/miniupnpd/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_DIR) $(1)/etc/config
+ $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
+ $(INSTALL_DIR) $(1)/etc/uci-defaults
+ $(INSTALL_DIR) $(1)/usr/share/miniupnpd
+
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/miniupnpd $(1)/usr/sbin/miniupnpd
+ $(INSTALL_BIN) ./files/miniupnpd.init $(1)/etc/init.d/miniupnpd
+ $(INSTALL_CONF) ./files/upnpd.config $(1)/etc/config/upnpd
+ $(INSTALL_DATA) ./files/miniupnpd.hotplug $(1)/etc/hotplug.d/iface/50-miniupnpd
+ $(INSTALL_BIN) ./files/miniupnpd.defaults $(1)/etc/uci-defaults/99-miniupnpd
+ $(INSTALL_DATA) ./files/firewall.include $(1)/usr/share/miniupnpd/firewall.include
+endef
+
+$(eval $(call BuildPackage,miniupnpd))
--- /dev/null
+#!/bin/sh
+# miniupnpd integration for firewall3
+
+IPTABLES=/usr/sbin/iptables
+IP6TABLES=/usr/sbin/ip6tables
+
+$IPTABLES -t filter -N MINIUPNPD 2>/dev/null
+$IPTABLES -t nat -N MINIUPNPD 2>/dev/null
+$IPTABLES -t nat -N MINIUPNPD-POSTROUTING 2>/dev/null
+
+[ -x $IP6TABLES ] && $IP6TABLES -t filter -N MINIUPNPD 2>/dev/null
+
+. /lib/functions/network.sh
+
+# helper to insert in chain as penultimate
+iptables_prepend_rule() {
+ local iptables="$1"
+ local table="$2"
+ local chain="$3"
+ local target="$4"
+
+ $iptables -t "$table" -I "$chain" $($iptables -t "$table" --line-numbers -nL "$chain" | \
+ sed -ne '$s/[^0-9].*//p') -j "$target"
+}
+
+ADDED=0
+
+add_extzone_rules() {
+ local ext_zone="$1"
+
+ [ -z "$ext_zone" ] && return
+
+ # IPv4 - due to NAT, need to add both to nat and filter table
+ # need to insert as penultimate rule for forward & postrouting since final rule might be a fw3 REJECT
+ iptables_prepend_rule "$IPTABLES" filter "zone_${ext_zone}_forward" MINIUPNPD
+ $IPTABLES -t nat -A "zone_${ext_zone}_prerouting" -j MINIUPNPD
+ iptables_prepend_rule "$IPTABLES" nat "zone_${ext_zone}_postrouting" MINIUPNPD-POSTROUTING
+
+ # IPv6 if available - filter only
+ [ -x $IP6TABLES ] && {
+ iptables_prepend_rule "$IP6TABLES" filter "zone_${ext_zone}_forward" MINIUPNPD
+ }
+ ADDED=$(($ADDED + 1))
+}
+
+# By default, user configuration is king.
+
+for ext_iface in $(uci -q get upnpd.config.external_iface); do
+ add_extzone_rules $(fw3 -q network "$ext_iface")
+done
+
+add_extzone_rules $(uci -q get upnpd.config.external_zone)
+
+[ "$ADDED" -ne 0 ] && exit 0
+
+# If really nothing is available, resort to network_find_wan{,6} and
+# assume external interfaces all have same firewall zone.
+
+# (This heuristic may fail horribly, in case of e.g. multihoming, so
+# please set external_zone in that case!)
+
+network_find_wan wan_iface
+network_find_wan6 wan6_iface
+
+for ext_iface in $wan_iface $wan6_iface; do
+ # fw3 -q network fails on sub-interfaces => map to device first
+ network_get_device ext_device $ext_iface
+ add_extzone_rules $(fw3 -q device "$ext_device")
+done
--- /dev/null
+#!/bin/sh
+
+uci -q batch <<-EOT
+ delete firewall.miniupnpd
+ set firewall.miniupnpd=include
+ set firewall.miniupnpd.type=script
+ set firewall.miniupnpd.path=/usr/share/miniupnpd/firewall.include
+ set firewall.miniupnpd.family=any
+ set firewall.miniupnpd.reload=1
+ commit firewall
+EOT
+
+exit 0
--- /dev/null
+#!/bin/sh
+
+/etc/init.d/miniupnpd enabled || exit 0
+
+. /lib/functions/service.sh
+
+# If miniupnpd is not running:
+# - check on _any_ event (even updates may contribute to network_find_wan*)
+
+# If miniupnpd _is_ running:
+# - check only on ifup (otherwise lease updates etc would cause
+# miniupnpd state loss)
+
+[ "$ACTION" != "ifup" ] && service_check /usr/sbin/miniupnpd && exit 0
+
+tmpconf="/var/etc/miniupnpd.conf"
+extiface=$(uci get upnpd.config.external_iface)
+extzone=$(uci get upnpd.config.external_zone)
+
+. /lib/functions/network.sh
+
+if [ -z "$extiface" ] ; then
+ # manual external zone (if dynamically find interfaces
+ # belonging to it) overrides network_find_wan*
+ if [ -n "$extzone" ] ; then
+ ifname=$(fw3 -q zone $extzone | head -1)
+ fi
+ [ -n "$extiface" ] || network_find_wan extiface
+ [ -n "$extiface" ] || network_find_wan6 extiface
+fi
+
+[ -n "$ifname" ] || network_get_device ifname "$extiface"
+grep -q "ext_ifname=$ifname" "$tmpconf" || /etc/init.d/miniupnpd restart
--- /dev/null
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006-2014 OpenWrt.org
+
+START=94
+STOP=15
+
+SERVICE_USE_PID=1
+
+upnpd_get_port_range() {
+ local var="$1"; shift
+ local val
+
+ config_get val "$@"
+
+ case "$val" in
+ [0-9]*[:-][0-9]*)
+ export -n -- "${var}_start=${val%%[:-]*}"
+ export -n -- "${var}_end=${val##*[:-]}"
+ ;;
+ [0-9]*)
+ export -n -- "${var}_start=$val"
+ export -n -- "${var}_end="
+ ;;
+ esac
+}
+
+conf_rule_add() {
+ local cfg="$1"
+ local tmpconf="$2"
+ local action external_port_start external_port_end int_addr
+ local internal_port_start internal_port_end comment
+
+ config_get action "$cfg" action "deny" # allow or deny
+ upnpd_get_port_range "ext" "$cfg" ext_ports "0-65535" # external ports: x, x-y, x:y
+ config_get int_addr "$cfg" int_addr "0.0.0.0/0" # ip or network and subnet mask (internal)
+ upnpd_get_port_range "int" "$cfg" int_ports "0-65535" # internal ports: x, x-y, x:y or range
+ config_get comment "$cfg" comment "ACL" # comment
+
+ # Make a single IP IP/32 so that miniupnpd.conf can use it.
+ [ "${int_addr%/*}" = "$int_addr" ] && int_addr="$int_addr/32"
+
+ echo "$action $ext_start${ext_end:+-}$ext_end $int_addr $int_start${int_end:+-}$int_end #$comment" >>$tmpconf
+}
+
+upnpd_write_bool() {
+ local opt="$1"
+ local def="${2:-0}"
+ local alt="${3:-$opt}"
+ local val
+
+ config_get_bool val config "$opt" "$def"
+ if [ "$val" -eq 0 ]; then
+ echo "$alt=no" >> $tmpconf
+ else
+ echo "$alt=yes" >> $tmpconf
+ fi
+}
+
+boot() {
+ return
+}
+
+start() {
+ config_load "upnpd"
+ local extiface intiface upload download logging secure enabled natpmp
+ local extip port usesysuptime conffile serial_number model_number
+ local uuid notify_interval presentation_url enable_upnp
+ local upnp_lease_file clean_ruleset_threshold clean_ruleset_interval
+ local ipv6_listening_ip enabled
+
+ config_get_bool enabled config enabled 1
+
+ [ "$enabled" -eq 0 ] && return 1
+
+ config_get extiface config external_iface
+ config_get extzone config external_zone
+ config_get intiface config internal_iface
+ config_get extip config external_ip
+ config_get port config port 5000
+ config_get upload config upload
+ config_get download config download
+ config_get_bool logging config log_output 0
+ config_get conffile config config_file
+ config_get serial_number config serial_number
+ config_get model_number config model_number
+ config_get uuid config uuid
+ config_get notify_interval config notify_interval
+ config_get presentation_url config presentation_url
+ config_get upnp_lease_file config upnp_lease_file
+ config_get clean_ruleset_threshold config clean_ruleset_threshold
+ config_get clean_ruleset_interval config clean_ruleset_interval
+ config_get ipv6_listening_ip config ipv6_listening_ip
+
+ local args ifname
+
+ . /lib/functions/network.sh
+
+ # manual external interface overrides everything
+ if [ -z "$extiface" ] ; then
+ # manual external zone (if dynamically find interfaces
+ # belonging to it) overrides network_find_wan*
+ if [ -n "$extzone" ] ; then
+ ifname=$(fw3 -q zone $extzone | head -1)
+ fi
+ [ -n "$extiface" ] || network_find_wan extiface
+ [ -n "$extiface" ] || network_find_wan6 extiface
+ fi
+
+ [ -n "$ifname" ] || network_get_device ifname $extiface
+
+ if [ -n "$conffile" ]; then
+ args="-f $conffile"
+ else
+ local tmpconf="/var/etc/miniupnpd.conf"
+ args="-f $tmpconf"
+ mkdir -p /var/etc
+
+ echo "ext_ifname=$ifname" >$tmpconf
+
+ [ -n "$extip" ] && \
+ echo "ext_ip=$extip" >>$tmpconf
+
+ local iface
+ for iface in ${intiface:-lan}; do
+ local device
+ network_get_device device "$iface" && {
+ echo "listening_ip=$device" >>$tmpconf
+ }
+ done
+
+ [ "$port" != "auto" ] && \
+ echo "port=$port" >>$tmpconf
+
+ config_load "upnpd"
+ upnpd_write_bool enable_natpmp 1
+ upnpd_write_bool enable_upnp 1
+ upnpd_write_bool secure_mode 1
+ upnpd_write_bool pcp_allow_thirdparty 0
+ upnpd_write_bool system_uptime 1
+ upnpd_write_bool igdv1 0 force_igd_desc_v1
+
+ [ -n "$upnp_lease_file" ] && \
+ echo "lease_file=$upnp_lease_file" >>$tmpconf
+
+ [ -n "$upload" -a -n "$download" ] && {
+ echo "bitrate_down=$(($download * 1024 * 8))" >>$tmpconf
+ echo "bitrate_up=$(($upload * 1024 * 8))" >>$tmpconf
+ }
+
+ [ -n "${presentation_url}" ] && \
+ echo "presentation_url=${presentation_url}" >>$tmpconf
+
+ [ -n "${notify_interval}" ] && \
+ echo "notify_interval=${notify_interval}" >>$tmpconf
+
+ [ -n "${clean_ruleset_threshold}" ] && \
+ echo "clean_ruleset_threshold=${clean_ruleset_threshold}" >>$tmpconf
+
+ [ -n "${clean_ruleset_interval}" ] && \
+ echo "clean_ruleset_interval=${clean_ruleset_interval}" >>$tmpconf
+
+ [ -n "${ipv6_listening_ip}" ] && \
+ echo "ipv6_listening_ip=${ipv6_listening_ip}" >>$tmpconf
+
+ [ -z "$uuid" ] && {
+ uuid="$(cat /proc/sys/kernel/random/uuid)"
+ uci set upnpd.config.uuid=$uuid
+ uci commit upnpd
+ }
+
+ [ "$uuid" = "nocli" ] || \
+ echo "uuid=$uuid" >>$tmpconf
+
+ [ -n "${serial_number}" ] && \
+ echo "serial=${serial_number}" >>$tmpconf
+
+ [ -n "${model_number}" ] && \
+ echo "model_number=${model_number}" >>$tmpconf
+
+ config_foreach conf_rule_add perm_rule "$tmpconf"
+ fi
+
+
+ if [ -n "$ifname" ]; then
+ # start firewall
+ iptables -L MINIUPNPD >/dev/null 2>&1 || fw3 reload
+
+ if [ "$logging" = "1" ]; then
+ SERVICE_DAEMONIZE=1 \
+ service_start /usr/sbin/miniupnpd $args -d
+ else
+ SERVICE_DAEMONIZE= \
+ service_start /usr/sbin/miniupnpd $args
+ fi
+ else
+ logger -t "upnp daemon" "external interface not found, not starting"
+ fi
+}
+
+stop() {
+ service_stop /usr/sbin/miniupnpd
+
+ iptables -t nat -F MINIUPNPD 2>/dev/null
+ iptables -t nat -F MINIUPNPD-POSTROUTING 2>/dev/null
+ iptables -t filter -F MINIUPNPD 2>/dev/null
+
+ [ -x /usr/sbin/ip6tables ] && {
+ ip6tables -t filter -F MINIUPNPD 2>/dev/null
+ }
+}
--- /dev/null
+config upnpd config
+ option enabled 0
+ option enable_natpmp 1
+ option enable_upnp 1
+ option secure_mode 1
+ option log_output 0
+ option download 1024
+ option upload 512
+#by default, looked up dynamically from ubus
+# option external_iface wan
+ option internal_iface lan
+ option port 5000
+ option upnp_lease_file /var/upnp.leases
+ option igdv1 0
+
+config perm_rule
+ option action allow
+ option ext_ports 1024-65535
+ option int_addr 0.0.0.0/0 # Does not override secure_mode
+ option int_ports 1024-65535
+ option comment "Allow high ports"
+
+config perm_rule
+ option action deny
+ option ext_ports 0-65535
+ option int_addr 0.0.0.0/0
+ option int_ports 0-65535
+ option comment "Default deny"
--- /dev/null
+--- a/genconfig.sh
++++ b/genconfig.sh
+@@ -379,12 +379,19 @@ case $FW in
+ esac
+
+ # UUID API
+-if grep uuid_create /usr/include/uuid.h > /dev/null 2>&1 ; then
+- echo "#define BSD_UUID" >> ${CONFIGFILE}
+-fi
+-if grep uuid_generate /usr/include/uuid/uuid.h > /dev/null 2>&1 ; then
+- echo "#define LIB_UUID" >> ${CONFIGFILE}
+-fi
++case $OS_NAME in
++ OpenWRT)
++ echo "#define LIB_UUID" >> ${CONFIGFILE}
++ ;;
++ *)
++ if grep uuid_create /usr/include/uuid.h > /dev/null 2>&1 ; then
++ echo "#define BSD_UUID" >> ${CONFIGFILE}
++ fi
++ if grep uuid_generate /usr/include/uuid/uuid.h > /dev/null 2>&1 ; then
++ echo "#define LIB_UUID" >> ${CONFIGFILE}
++ fi
++ ;;
++esac
+
+ # set V6SOCKETS_ARE_V6ONLY to 0 if it was not set above
+ if [ -z "$V6SOCKETS_ARE_V6ONLY" ] ; then
+--- a/Makefile.linux
++++ b/Makefile.linux
+@@ -73,7 +73,10 @@ CPPFLAGS += -DIPTABLES_143
+ endif
+
+ CFLAGS += $(shell $(PKG_CONFIG) --cflags libiptc)
++#OpenWrt packager passes correct libraries
++ifeq ($(TARGET_OPENWRT),)
+ LDLIBS += $(shell $(PKG_CONFIG) --static --libs-only-l libiptc)
++endif
+ LDFLAGS += $(shell $(PKG_CONFIG) --libs-only-L libiptc)
+ LDFLAGS += $(shell $(PKG_CONFIG) --libs-only-other libiptc)
+ else
+@@ -153,6 +156,8 @@ LDLIBS += $(shell $(PKG_CONFIG) --static
+ LDLIBS += $(shell $(PKG_CONFIG) --static --libs-only-l libnetfilter_conntrack)
+ endif # ($(TEST),1)
+
++# OpenWrt packager disables https server for IGD v2 and hardcodes libuuid support
++ifeq ($(TARGET_OPENWRT),)
+ LDLIBS += $(shell $(PKG_CONFIG) --static --libs-only-l libssl)
+
+ TEST := $(shell $(PKG_CONFIG) --exists uuid && echo 1)
+@@ -161,6 +166,7 @@ LDLIBS += $(shell $(PKG_CONFIG) --static
+ else
+ $(info please install uuid-dev package / libuuid)
+ endif # ($(TEST),1)
++endif # ($(TARGET_OPENWRT,)
+
+ TESTUPNPDESCGENOBJS = testupnpdescgen.o upnpdescgen.o
+
include $(TOPDIR)/rules.mk
PKG_NAME:=mosquitto
-PKG_VERSION:=1.4.15
+PKG_VERSION:=1.5
PKG_RELEASE:=3
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE.txt
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://mosquitto.org/files/source/
-PKG_HASH:=7d3b3e245a3b4ec94b05678c8199c806359737949f4cfe0bf936184f6ca89a83
+PKG_HASH:=80c9606a906c736fe582b67bdfb650ee45239fea058fe34927f81277d3486e21
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
START=80
USE_PROCD=1
TCONF=/tmp/mosquitto.generated.conf
+CONF_WATCH=/etc/config/mosquitto
# Usage: append_if cfg uci_name output_name
# add a config line of the form "output_name <value>"
local cfg="$1"
local uci_name="$2"
local out_name="$3"
+ if [ -z "$out_name" ]; then
+ out_name=$uci_name
+ fi
config_get val $cfg $uci_name
if [ -n "$val" ]; then
config_get_bool real $cfg $uci_name
config_get port "$1" port 1883
echo "port $port" >> $TCONF
- append_if "$1" protocol
+ append_if "$1" acl_file
+ append_optional_bool "$1" allow_anonymous
+ append_optional_bool "$1" allow_duplicate_messages
+ append_if "$1" clientid_prefixes
+ append_optional_bool "$1" connection_messages
+ append_if "$1" include_dir
+ append_if "$1" log_facility
+ append_optional_bool "$1" log_timestamp
+ config_get log_types "$1" log_types
+ for log_type in $log_types; do
+ echo "log_dest $log_type" >> $TCONF
+ done
+ append_if "$1" max_inflight_bytes
append_if "$1" max_inflight_messages
+ append_if "$1" max_queued_bytes
append_if "$1" max_queued_messages
+ append_if "$1" message_size_limit
+ append_if "$1" passwd_file
+ append_if "$1" pid_file
+ append_if "$1" psk_file
+ append_optional_bool "$1" queue_qos0_messages
+ append_optional_bool "$1" set_tcp_nodelay
+ append_if "$1" protocol
append_if "$1" sys_interval
+ append_if "$1" upgrade_outgoing_qos
+ append_if "$1" user
}
convert_persistence() {
append_if "$cfg" client_expiration persistent_client_expiration
append_if "$cfg" autosave_interval
- append_optional_bool "$cfg" autosave_on_changes autosave_on_changes
- append_optional_bool "$cfg" persistence persistence
+ append_optional_bool "$cfg" autosave_on_changes
+ append_optional_bool "$cfg" persistence
append_if "$cfg" file persistence_file
+ append_if "$cfg" store_clean_interval
config_get loc "$cfg" location
if [ -n "$loc" ]; then
[ -d "$loc" ] || {
echo "listener $port" >> $TCONF
fi
- append_if "$1" protocol
append_if "$1" http_dir
- append_optional_bool "$1" use_username_as_clientid use_username_as_clientid
+ append_if "$1" max_connections
+ append_if "$1" mount_point
+ append_if "$1" protocol
+ append_optional_bool "$1" use_username_as_clientid
+ append_if "$1" websockets_log_level
+
append_if "$1" cafile
append_if "$1" capath
append_if "$1" certfile
+ append_if "$1" ciphers
+ append_if "$1" crlfile
append_if "$1" keyfile
+ append_optional_bool "$1" require_certificate
append_if "$1" tls_version
- append_optional_bool "$1" require_certificate require_certificate
- append_optional_bool "$1" use_identity_as_username use_identity_as_username
- append_if "$1" crlfile
- append_if "$1" ciphers
+ append_optional_bool "$1" use_identity_as_username
+ append_optional_bool "$1" use_subject_as_username
append_if "$1" psk_hint
}
config_get conn "$1" connection
config_get addr "$1" address
if [ -z "$conn" -o -z "$addr" ]; then
- echo "Ignoring bridge section, misisng connection/address"
+ echo "Ignoring bridge section with missing connection/address"
return
fi
+ # Also invalid if no topics are defined, mosquitto will not start!
+ config_get tlen "$1" "topic_LENGTH"
+ if [ -z "$tlen" ]; then
+ echo "Ignoring bridge section with no topics defined"
+ return
+ fi
+
echo "" >> $TCONF
echo "# Bridge connection from UCI section" >> $TCONF
append_if "$1" connection
append_if "$1" address
- config_list_foreach "$1" topic add_topic
- append_optional_bool "$1" cleansession cleansession
- append_optional_bool "$1" try_private try_private
- append_optional_bool "$1" notifications notifications
- append_optional_bool "$1" round_robin round_robin
-
+ append_optional_bool "$1" attempt_unsubscribe bridge_attempt_unsubscribe
+ append_if "$1" protocol_version bridge_protocol_version
+ append_optional_bool "$1" cleansession
+ append_if "$1" keepalive_interval
+ append_if "$1" idle_timeout
+ append_if "$1" local_clientid
+ append_if "$1" local_password
+ append_if "$1" local_username
+ append_optional_bool "$1" notifications
+ append_optional_bool "$1" notifications_local_only
+ append_if "$1" notification_topic
# Note, deprecated upstream, preserve old uci configs
append_if "$1" clientid remote_clientid
append_if "$1" remote_clientid
- append_if "$1" local_clientid
- append_if "$1" notification_topic
- append_if "$1" keepalive_interval
- append_if "$1" start_type
+ # Note, deprecated upstream, preserve old uci configs
+ append_if "$1" password remote_password
+ append_if "$1" remote_password
+ # Note, deprecated upstream, preserve old uci configs
+ append_if "$1" username remote_username
+ append_if "$1" remote_username
append_if "$1" restart_timeout
- append_if "$1" idle_timeout
+ append_optional_bool "$1" round_robin
+ append_if "$1" start_type
append_if "$1" threshold
- append_if "$1" protocol_version bridge_protocol_version
- append_optional_bool "$1" attempt_unsubscribe bridge_attempt_unsubscribe
- append_if "$1" identity bridge_identity
- append_if "$1" psk bridge_psk
- append_if "$1" tls_version bridge_tls_version
+ config_list_foreach "$1" topic add_topic
+ append_optional_bool "$1" try_private
- append_if "$1" restart_timeout
- append_if "$1" capath bridge_capath
append_if "$1" cafile bridge_cafile
+ append_if "$1" capath bridge_capath
append_if "$1" certfile bridge_certfile
+ append_if "$1" identity bridge_identity
+ append_optional_bool "$1" insecure bridge_insecure
append_if "$1" keyfile bridge_keyfile
- # Note, deprecated upstream, preserve old uci configs
- append_if "$1" username remote_username
- # Note, deprecated upstream, preserve old uci configs
- append_if "$1" password remote_password
- append_if "$1" remote_username
- append_if "$1" remote_password
+ append_if "$1" psk bridge_psk
+ append_if "$1" tls_version bridge_tls_version
}
convert_uci
else
CONF=/etc/mosquitto/mosquitto.conf
+ CONF_WATCH=$CONF
fi
config_get write_pid "$cfg" write_pid 0
procd_set_param command mosquitto
procd_append_param command -c $CONF
# Makes /etc/init.d/mosquitto reload work if you edit the final file.
- procd_set_param file $CONF
+ procd_set_param file $CONF_WATCH
[ "$write_pid" -eq 1 ] && procd_set_param pidfile /var/run/mosquitto.pid
procd_close_instance
}
+++ /dev/null
-diff --git a/config.mk b/config.mk
-index bfaa208..2a3e2bf 100644
---- a/config.mk
-+++ b/config.mk
-@@ -87,7 +87,6 @@ WITH_SOCKS:=yes
- # Also bump lib/mosquitto.h, CMakeLists.txt,
- # installer/mosquitto.nsi, installer/mosquitto-cygwin.nsi
- VERSION=1.4.15
--TIMESTAMP:=$(shell date "+%F %T%z")
-
- # Client library SO version. Bump if incompatible API/ABI changes are made.
- SOVERSION=1
-@@ -115,7 +114,7 @@ LIB_CFLAGS:=${CFLAGS} ${CPPFLAGS} -I. -I.. -I../lib
- LIB_CXXFLAGS:=$(LIB_CFLAGS) ${CPPFLAGS}
- LIB_LDFLAGS:=${LDFLAGS}
-
--BROKER_CFLAGS:=${LIB_CFLAGS} ${CPPFLAGS} -DVERSION="\"${VERSION}\"" -DTIMESTAMP="\"${TIMESTAMP}\"" -DWITH_BROKER
-+BROKER_CFLAGS:=${LIB_CFLAGS} ${CPPFLAGS} -DVERSION="\"${VERSION}\"" -DWITH_BROKER
- CLIENT_CFLAGS:=${CFLAGS} ${CPPFLAGS} -I../lib -DVERSION="\"${VERSION}\""
-
- ifneq ($(or $(findstring $(UNAME),FreeBSD), $(findstring $(UNAME),OpenBSD)),)
-diff --git a/src/conf.c b/src/conf.c
-index 25d80a6..9ab0599 100644
---- a/src/conf.c
-+++ b/src/conf.c
-@@ -338,7 +338,7 @@ void mqtt3_config_cleanup(struct mqtt3_config *config)
-
- static void print_usage(void)
- {
-- printf("mosquitto version %s (build date %s)\n\n", VERSION, TIMESTAMP);
-+ printf("mosquitto version %s\n\n", VERSION);
- printf("mosquitto is an MQTT v3.1.1/v3.1 broker.\n\n");
- printf("Usage: mosquitto [-c config_file] [-d] [-h] [-p port]\n\n");
- printf(" -c : specify the broker config file.\n");
-diff --git a/src/mosquitto.c b/src/mosquitto.c
-index 22b6372..b581f45 100644
---- a/src/mosquitto.c
-+++ b/src/mosquitto.c
-@@ -291,7 +291,7 @@ int main(int argc, char *argv[])
- rc = 1;
- return rc;
- }
-- _mosquitto_log_printf(NULL, MOSQ_LOG_INFO, "mosquitto version %s (build date %s) starting", VERSION, TIMESTAMP);
-+ _mosquitto_log_printf(NULL, MOSQ_LOG_INFO, "mosquitto version %s starting", VERSION);
- if(int_db.config_file){
- _mosquitto_log_printf(NULL, MOSQ_LOG_INFO, "Config loaded from %s.", int_db.config_file);
- }else{
-@@ -308,8 +308,6 @@ int main(int argc, char *argv[])
- /* Set static $SYS messages */
- snprintf(buf, 1024, "mosquitto version %s", VERSION);
- mqtt3_db_messages_easy_queue(&int_db, NULL, "$SYS/broker/version", 2, strlen(buf), buf, 1);
-- snprintf(buf, 1024, "%s", TIMESTAMP);
-- mqtt3_db_messages_easy_queue(&int_db, NULL, "$SYS/broker/timestamp", 2, strlen(buf), buf, 1);
- }
- #endif
-
include $(TOPDIR)/rules.mk
PKG_NAME:=shorewall-core
-PKG_MAJOR_MINOR_VERSION:=5.1
-PKG_BUGFIX_MAJOR_VERSION:=12
-PKG_BUGFIX_MINOR_VERSION:=.4
+PKG_MAJOR_MINOR_VERSION:=5.2
+PKG_BUGFIX_MAJOR_VERSION:=0
+PKG_BUGFIX_MINOR_VERSION:=.1
PKG_VERSION:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)$(PKG_BUGFIX_MINOR_VERSION)
PKG_DIRECTORY:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)
PKG_RELEASE:=1
http://shorewall.de/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/ \
http://www.shorewall.com.au/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=40d2aa222fe474908534dd1392cd7dbcc304640dcbe7b983719588cdd908ebfd
+PKG_HASH:=5913e3f8e2b2d38cef1669d0add21720cc72bcf8bc275c765eb1f50896a97b87
PKG_MAINTAINER:=Willem van den Akker <wvdakker@wilsoft.nl>
PKG_LICENSE:=GPL-2.0+
include $(TOPDIR)/rules.mk
PKG_NAME:=shorewall-lite
-PKG_MAJOR_MINOR_VERSION:=5.1
-PKG_BUGFIX_MAJOR_VERSION:=12
-PKG_BUGFIX_MINOR_VERSION:=.4
+PKG_MAJOR_MINOR_VERSION:=5.2
+PKG_BUGFIX_MAJOR_VERSION:=0
+PKG_BUGFIX_MINOR_VERSION:=.1
PKG_VERSION:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)$(PKG_BUGFIX_MINOR_VERSION)
PKG_DIRECTORY:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)
PKG_RELEASE:=1
http://shorewall.de/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/ \
http://www.shorewall.com.au/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=d11af6fdf869d7921332b7f4fb968d7f8db5bfd8e7be3d8f4c384fee26cd6a43
+PKG_HASH:=4a7f931868456b32fa69b6c851e4401a0bda60e4e0091773ac711da953116f6b
PKG_MAINTAINER:=Willem van den Akker <wvdakker@wilsoft.nl>
PKG_LICENSE:=GPL-2.0+
include $(TOPDIR)/rules.mk
PKG_NAME:=shorewall
-PKG_MAJOR_MINOR_VERSION:=5.1
-PKG_BUGFIX_MAJOR_VERSION:=12
-PKG_BUGFIX_MINOR_VERSION:=.4
+PKG_MAJOR_MINOR_VERSION:=5.2
+PKG_BUGFIX_MAJOR_VERSION:=0
+PKG_BUGFIX_MINOR_VERSION:=.1
PKG_VERSION:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)$(PKG_BUGFIX_MINOR_VERSION)
PKG_DIRECTORY:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)
PKG_RELEASE:=1
http://shorewall.de/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/ \
http://www.shorewall.com.au/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=60ee5749f964b09084e2d15076b246870f442168f20f6b15bb1feb32641c0019
+PKG_HASH:=a2e962e0eb898cc50fc711763f72639bfa8589abdc95a81e20e4bee8a228cd1d
PKG_MAINTAINER:=Willem van den Akker <wvdakker@wilsoft.nl>
PKG_LICENSE:=GPL-2.0+
include $(TOPDIR)/rules.mk
PKG_NAME:=shorewall6-lite
-PKG_MAJOR_MINOR_VERSION:=5.1
-PKG_BUGFIX_MAJOR_VERSION:=12
-PKG_BUGFIX_MINOR_VERSION:=.4
+PKG_MAJOR_MINOR_VERSION:=5.2
+PKG_BUGFIX_MAJOR_VERSION:=0
+PKG_BUGFIX_MINOR_VERSION:=.1
PKG_VERSION:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)$(PKG_BUGFIX_MINOR_VERSION)
PKG_DIRECTORY:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)
PKG_RELEASE:=1
http://shorewall.de/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/ \
http://www.shorewall.com.au/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=1f21b9f8d8c3038ded27b7feb3f7fc348551a92e3d77a845ce9996ab066c39c5
+PKG_HASH:=1ff0f4e264afa75034e5fb94878339367a442f7da55b5fc61ed70dd1fd4f6027
PKG_MAINTAINER:=Willem van den Akker <wvdakker@wilsoft.nl>
PKG_LICENSE:=GPL-2.0+
include $(TOPDIR)/rules.mk
PKG_NAME:=shorewall6
-PKG_MAJOR_MINOR_VERSION:=5.1
-PKG_BUGFIX_MAJOR_VERSION:=12
-PKG_BUGFIX_MINOR_VERSION:=.4
+PKG_MAJOR_MINOR_VERSION:=5.2
+PKG_BUGFIX_MAJOR_VERSION:=0
+PKG_BUGFIX_MINOR_VERSION:=.1
PKG_VERSION:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)$(PKG_BUGFIX_MINOR_VERSION)
PKG_DIRECTORY:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)
PKG_RELEASE:=1
http://shorewall.de/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/ \
http://www.shorewall.com.au/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=a5ab3785c8a21143e28eddc68f3562a2edab7c03ce740c2c8ca98419ac25797b
+PKG_HASH:=29cab053cbb2e800d117805135be4158b75fbe08be964da2a14bf34ed3aada17
PKG_MAINTAINER:=Willem van den Akker <wvdakker@wilsoft.nl>
PKG_LICENSE:=GPL-2.0+
include $(TOPDIR)/rules.mk
PKG_NAME:=sqm-scripts
-PKG_SOURCE_VERSION:=8217081f7e52af342c362b29480461575c496387
-PKG_VERSION:=1.1.3
-PKG_RELEASE:=2
+PKG_SOURCE_VERSION:=79c3aa11fed485fca1481b077082e561e5dbceec
+PKG_VERSION:=1.2.2
+PKG_RELEASE:=1
PKG_LICENSE:=GPLv2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE).tar.xz
-PKG_MIRROR_HASH:=a287ce3bf68ed76f4fd7ae3df5e0066d99105b5c139c88bce99555dcb1d230a3
+PKG_MIRROR_HASH:=0bca492ff5da37923b0d6878f4b53af85e59db03b255ff22bd03c2c0a74e4644
PKG_SOURCE_URL:=https://github.com/tohojo/sqm-scripts.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)
include $(TOPDIR)/rules.mk
PKG_NAME:=unbound
-PKG_VERSION:=1.7.0
-PKG_RELEASE:=2
+PKG_VERSION:=1.7.1
+PKG_RELEASE:=1
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.unbound.net/downloads
-PKG_HASH:=94dd9071fb13d8ccd122a3ac67c4524a3324d0e771fc7a8a7c49af8abfb926a2
+PKG_HASH:=56e085ef582c5372a20207de179d0edb4e541e59f87be7d4ee1d00d12008628d
PKG_BUILD_PARALLEL:=1
PKG_FIXUP:=autoreconf
##############################################################################
unbound_mkdir() {
- local dhcp_origin=$( uci_get dhcp.@odhcpd[0].leasefile )
- local dhcp_dir=$( dirname $dhcp_origin )
local filestuff
+ if [ "$UNBOUND_D_DHCP_LINK" = "odhcpd" ] ; then
+ local dhcp_origin=$( uci_get dhcp.@odhcpd[0].leasefile )
+ local dhcp_dir=$( dirname $dhcp_origin )
- if [ "$UNBOUND_D_DHCP_LINK" = "odhcpd" -a ! -d "$dhcp_dir" ] ; then
- # make sure odhcpd has a directory to write (not done itself, yet)
- mkdir -p "$dhcp_dir"
- fi
+ if [ ! -d "$dhcp_dir" ] ; then
+ # make sure odhcpd has a directory to write (not done itself, yet)
+ mkdir -p "$dhcp_dir"
+ fi
+ fi
if [ -f $UNBOUND_KEYFILE ] ; then
filestuff=$( cat $UNBOUND_KEYFILE )
-#
-# Example configuration file.
-#
--# See unbound.conf(5) man page, version 1.7.0.
+-# See unbound.conf(5) man page, version 1.7.1.
-#
-# this is a comment.
+##############################################################################
include $(TOPDIR)/rules.mk
PKG_NAME:=vnstat
-PKG_VERSION:=1.17
+PKG_VERSION:=1.18
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://humdi.net/vnstat
-PKG_HASH:=18e4c53576ca9e1ef2f0e063a6d83b0c44e3b1cf008560d658745df5c9aa7971
+PKG_HASH:=d7193592b9e7445fa5cbe8af7d3b39982f165ee8fc58041ff41f509b37c687d5
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
PKG_INSTALL:=1
include $(TOPDIR)/rules.mk
PKG_NAME:=zerotier
-PKG_VERSION:=1.2.4
-PKG_RELEASE:=4
+PKG_VERSION:=1.2.8
+PKG_RELEASE:=2
PKG_LICENSE:=GPL-3.0
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/zerotier/ZeroTierOne
-PKG_SOURCE_SUBDIR:=ZeroTierOne-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=fe5257df81c4ec4b5d48f707eb794de0748b7ac0
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_MIRROR_HASH:=131436529d26f8eb975a0a8705b489cc22a1139c323755895c1776db579003bc
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
+PKG_SOURCE_URL:=https://codeload.github.com/zerotier/ZeroTierOne/tar.gz/$(PKG_VERSION)?
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_HASH:=08e2df34550d6bb68e106eaac48babb481160046818b0944ec41f1e158548a47
+PKG_BUILD_DIR:=$(BUILD_DIR)/ZeroTierOne-$(PKG_VERSION)
+
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
endif
endef
+# Make binary smaller
+TARGET_CFLAGS += -ffunction-sections -fdata-sections
+TARGET_LDFLAGS += -Wl,--gc-sections
+
define Package/zerotier/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/zerotier-one $(1)/usr/bin/
--- /dev/null
+From c578216351a4daa3916265b39b14f7c23ef15c90 Mon Sep 17 00:00:00 2001
+From: Moritz Warning <moritzwarning@web.de>
+Date: Mon, 23 Apr 2018 22:12:31 +0200
+Subject: [PATCH 1/4] find miniupnpc.h in staging directory
+
+---
+ make-linux.mk | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/make-linux.mk b/make-linux.mk
+index 2e6a8632..0cd955d1 100644
+--- a/make-linux.mk
++++ b/make-linux.mk
+@@ -22,8 +22,8 @@ ONE_OBJS+=osdep/LinuxEthernetTap.o
+ # otherwise build into binary as done on Mac and Windows.
+ ONE_OBJS+=osdep/PortMapper.o
+ override DEFS+=-DZT_USE_MINIUPNPC
+-MINIUPNPC_IS_NEW_ENOUGH=$(shell grep -sqr '.*define.*MINIUPNPC_VERSION.*"2..*"' /usr/include/miniupnpc/miniupnpc.h && echo 1)
+-#MINIUPNPC_IS_NEW_ENOUGH=$(shell grep -sqr '.*define.*MINIUPNPC_VERSION.*"2.."' /usr/include/miniupnpc/miniupnpc.h && echo 1)
++MINIUPNPC_IS_NEW_ENOUGH=$(shell grep -sqr '.*define.*MINIUPNPC_VERSION.*"2..*"' $(STAGING_DIR)/usr/include/miniupnpc/miniupnpc.h && echo 1)
++#MINIUPNPC_IS_NEW_ENOUGH=$(shell grep -sqr '.*define.*MINIUPNPC_VERSION.*"2.."' $(STAGING_DIR)/usr/include/miniupnpc/miniupnpc.h && echo 1)
+ ifeq ($(MINIUPNPC_IS_NEW_ENOUGH),1)
+ override DEFS+=-DZT_USE_SYSTEM_MINIUPNPC
+ LDLIBS+=-lminiupnpc
+--
+2.17.0
+
+++ /dev/null
-From 61b69f74fecf3c34c0fd2003897c92790ca5a9f5 Mon Sep 17 00:00:00 2001
-From: Moritz Warning <moritzwarning@web.de>
-Date: Thu, 4 May 2017 22:13:55 +0200
-Subject: [PATCH 1/2] use external libminiupnpc and libnatpmp
-
----
- make-linux.mk | 20 ++++++++++----------
- 1 file changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/make-linux.mk b/make-linux.mk
-index 87d29af..f5b3d8d 100644
---- a/make-linux.mk
-+++ b/make-linux.mk
-@@ -22,20 +22,20 @@ OBJS+=ext/http-parser/http_parser.o
- # otherwise build into binary as done on Mac and Windows.
- OBJS+=osdep/PortMapper.o
- DEFS+=-DZT_USE_MINIUPNPC
--MINIUPNPC_IS_NEW_ENOUGH=$(shell grep -sqr '.*define.*MINIUPNPC_VERSION.*"2.."' /usr/include/miniupnpc/miniupnpc.h && echo 1)
--ifeq ($(MINIUPNPC_IS_NEW_ENOUGH),1)
-+#MINIUPNPC_IS_NEW_ENOUGH=$(shell grep -sqr '.*define.*MINIUPNPC_VERSION.*"2.."' /usr/include/miniupnpc/miniupnpc.h && echo 1)
-+#ifeq ($(MINIUPNPC_IS_NEW_ENOUGH),1)
- DEFS+=-DZT_USE_SYSTEM_MINIUPNPC
- LDLIBS+=-lminiupnpc
--else
-- DEFS+=-DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING=\"Linux\" -DMINIUPNPC_VERSION_STRING=\"2.0\" -DUPNP_VERSION_STRING=\"UPnP/1.1\" -DENABLE_STRNATPMPERR
-- OBJS+=ext/miniupnpc/connecthostport.o ext/miniupnpc/igd_desc_parse.o ext/miniupnpc/minisoap.o ext/miniupnpc/minissdpc.o ext/miniupnpc/miniupnpc.o ext/miniupnpc/miniwget.o ext/miniupnpc/minixml.o ext/miniupnpc/portlistingparse.o ext/miniupnpc/receivedata.o ext/miniupnpc/upnpcommands.o ext/miniupnpc/upnpdev.o ext/miniupnpc/upnperrors.o ext/miniupnpc/upnpreplyparse.o
--endif
--ifeq ($(wildcard /usr/include/natpmp.h),)
-- OBJS+=ext/libnatpmp/natpmp.o ext/libnatpmp/getgateway.o
--else
-+#else
-+# DEFS+=-DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING=\"Linux\" -DMINIUPNPC_VERSION_STRING=\"2.0\" -DUPNP_VERSION_STRING=\"UPnP/1.1\" -DENABLE_STRNATPMPERR
-+# OBJS+=ext/miniupnpc/connecthostport.o ext/miniupnpc/igd_desc_parse.o ext/miniupnpc/minisoap.o ext/miniupnpc/minissdpc.o ext/miniupnpc/miniupnpc.o ext/miniupnpc/miniwget.o ext/miniupnpc/minixml.o ext/miniupnpc/portlistingparse.o ext/miniupnpc/receivedata.o ext/miniupnpc/upnpcommands.o ext/miniupnpc/upnpdev.o ext/miniupnpc/upnperrors.o ext/miniupnpc/upnpreplyparse.o
-+#endif
-+#ifeq ($(wildcard /usr/include/natpmp.h),)
-+# OBJS+=ext/libnatpmp/natpmp.o ext/libnatpmp/getgateway.o
-+#else
- LDLIBS+=-lnatpmp
- DEFS+=-DZT_USE_SYSTEM_NATPMP
--endif
-+#endif
-
- ifeq ($(ZT_ENABLE_CLUSTER),1)
- DEFS+=-DZT_ENABLE_CLUSTER
---
-2.1.4
-
+++ /dev/null
-From b8a0598002fd08618d20cd1bbfb03559435241a8 Mon Sep 17 00:00:00 2001
-From: Moritz Warning <moritzwarning@web.de>
-Date: Thu, 4 May 2017 22:35:58 +0200
-Subject: [PATCH 2/2] pin target to linux
-
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 9511862..d5b0dfc 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,6 +1,6 @@
- # Common makefile -- loads make rules for each platform
-
--OSTYPE=$(shell uname -s)
-+OSTYPE=Linux
-
- ifeq ($(OSTYPE),Darwin)
- include make-mac.mk
---
-2.1.4
-
--- /dev/null
+From 7cfe751128d412a9b780ba5e4cb11908fc71cd3d Mon Sep 17 00:00:00 2001
+From: Moritz Warning <moritzwarning@web.de>
+Date: Mon, 30 Apr 2018 16:14:30 +0200
+Subject: [PATCH 2/4] remove -pie
+
+fixes relocation "against `a local symbol' can not be used
+when making a shared object; recompile with -fPIC" error
+---
+ make-linux.mk | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/make-linux.mk b/make-linux.mk
+index 0cd955d1..add1d3ae 100644
+--- a/make-linux.mk
++++ b/make-linux.mk
+@@ -71,11 +71,11 @@ ifeq ($(ZT_DEBUG),1)
+ # C25519 in particular is almost UNUSABLE in -O0 even on a 3ghz box!
+ node/Salsa20.o node/SHA512.o node/C25519.o node/Poly1305.o: CXXFLAGS=-Wall -O2 -g -pthread $(INCLUDES) $(DEFS)
+ else
+- CFLAGS?=-O3 -fstack-protector -fPIE
++ CFLAGS?=-O3 -fstack-protector
+ override CFLAGS+=-Wall -Wno-deprecated -pthread $(INCLUDES) -DNDEBUG $(DEFS)
+- CXXFLAGS?=-O3 -fstack-protector -fPIE
++ CXXFLAGS?=-O3 -fstack-protector
+ override CXXFLAGS+=-Wall -Wno-deprecated -std=c++11 -pthread $(INCLUDES) -DNDEBUG $(DEFS)
+- LDFLAGS=-pie -Wl,-z,relro,-z,now
++ LDFLAGS=-Wl,-z,relro,-z,now
+ STRIP?=strip
+ STRIP+=--strip-all
+ endif
+--
+2.17.0
+
+++ /dev/null
-Index: ZeroTierOne-1.2.4/ext/json/json.hpp
-===================================================================
---- ZeroTierOne-1.2.4.orig/ext/json/json.hpp
-+++ ZeroTierOne-1.2.4/ext/json/json.hpp
-@@ -64,7 +64,7 @@ SOFTWARE.
- #endif
- #elif defined(__GNUC__)
- #define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
-- #if GCC_VERSION < 40900
-+ #if GCC_VERSION < 40800
- #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers"
- #endif
- #endif
--- /dev/null
+From bfb1a652dbf897dc065d2a1414296eb145a2224b Mon Sep 17 00:00:00 2001
+From: Moritz Warning <moritzwarning@web.de>
+Date: Mon, 23 Apr 2018 22:31:03 +0200
+Subject: [PATCH 3/4] remove -march=armv5
+
+---
+ make-linux.mk | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/make-linux.mk b/make-linux.mk
+index add1d3ae..49e14f70 100644
+--- a/make-linux.mk
++++ b/make-linux.mk
+@@ -229,12 +229,12 @@ endif
+ # ARM32 hell -- use conservative CFLAGS
+ ifeq ($(ZT_ARCHITECTURE),3)
+ ifeq ($(shell if [ -e /usr/bin/dpkg ]; then dpkg --print-architecture; fi),armel)
+- override CFLAGS+=-march=armv5 -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
+- override CXXFLAGS+=-march=armv5 -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
++ override CFLAGS+=-mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
++ override CXXFLAGS+=-mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
+ ZT_USE_ARM32_NEON_ASM_CRYPTO=0
+ else
+- override CFLAGS+=-march=armv5 -mno-unaligned-access -marm
+- override CXXFLAGS+=-march=armv5 -mno-unaligned-access -marm
++ override CFLAGS+=-mno-unaligned-access -marm
++ override CXXFLAGS+=-mno-unaligned-access -marm
+ endif
+ endif
+
+--
+2.17.0
+
+++ /dev/null
-From ab8ececbe70f7c83667d6ebb592fc1df17ad26a4 Mon Sep 17 00:00:00 2001
-From: Moritz Warning <moritzwarning@web.de>
-Date: Sat, 20 Jan 2018 21:55:52 +0100
-Subject: [PATCH] Revert "Do not serve controller requests until init is done."
-
-This reverts commit f4feccc6265cc480b84c85f897b225714072d4ec.
----
- controller/JSONDB.cpp | 20 +++++++-------------
- controller/JSONDB.hpp | 15 +++++++--------
- 2 files changed, 14 insertions(+), 21 deletions(-)
-
-diff --git a/controller/JSONDB.cpp b/controller/JSONDB.cpp
-index d3e76fc1..007e0fec 100644
---- a/controller/JSONDB.cpp
-+++ b/controller/JSONDB.cpp
-@@ -26,8 +26,7 @@ static const nlohmann::json _EMPTY_JSON(nlohmann::json::object());
- static const std::map<std::string,std::string> _ZT_JSONDB_GET_HEADERS;
-
- JSONDB::JSONDB(const std::string &basePath) :
-- _basePath(basePath),
-- _ready(false)
-+ _basePath(basePath)
- {
- if ((_basePath.length() > 7)&&(_basePath.substr(0,7) == "http://")) {
- // TODO: this doesn't yet support IPv6 since bracketed address notiation isn't supported.
-@@ -50,7 +49,7 @@ JSONDB::JSONDB(const std::string &basePath) :
- OSUtils::mkdir(_basePath.c_str());
- OSUtils::lockDownFile(_basePath.c_str(),true); // networks might contain auth tokens, etc., so restrict directory permissions
- }
-- _ready = _reload(_basePath,std::string());
-+ _reload(_basePath,std::string());
- }
-
- bool JSONDB::writeRaw(const std::string &n,const std::string &obj)
-@@ -84,13 +83,9 @@ bool JSONDB::put(const std::string &n,const nlohmann::json &obj)
-
- const nlohmann::json &JSONDB::get(const std::string &n)
- {
-- while (!_ready) {
-- Thread::sleep(250);
-- _ready = _reload(_basePath,std::string());
-- }
--
- if (!_isValidObjectName(n))
- return _EMPTY_JSON;
-+
- std::map<std::string,_E>::iterator e(_db.find(n));
- if (e != _db.end())
- return e->second.obj;
-@@ -138,7 +133,7 @@ void JSONDB::erase(const std::string &n)
- _db.erase(n);
- }
-
--bool JSONDB::_reload(const std::string &p,const std::string &b)
-+void JSONDB::_reload(const std::string &p,const std::string &b)
- {
- if (_httpAddr) {
- std::string body;
-@@ -155,11 +150,11 @@ bool JSONDB::_reload(const std::string &p,const std::string &b)
- _db[tmp].obj = i.value();
- }
- }
-- return true;
- }
-- } catch ( ... ) {} // invalid JSON, so maybe incomplete request
-+ } catch ( ... ) {
-+ // TODO: report error?
-+ }
- }
-- return false;
- } else {
- std::vector<std::string> dl(OSUtils::listDirectory(p.c_str(),true));
- for(std::vector<std::string>::const_iterator di(dl.begin());di!=dl.end();++di) {
-@@ -169,7 +164,6 @@ bool JSONDB::_reload(const std::string &p,const std::string &b)
- this->_reload((p + ZT_PATH_SEPARATOR + *di),(b + *di + ZT_PATH_SEPARATOR));
- }
- }
-- return true;
- }
- }
-
-diff --git a/controller/JSONDB.hpp b/controller/JSONDB.hpp
-index beafbaf5..c19112ed 100644
---- a/controller/JSONDB.hpp
-+++ b/controller/JSONDB.hpp
-@@ -36,7 +36,6 @@
- #include "../ext/json/json.hpp"
- #include "../osdep/OSUtils.hpp"
- #include "../osdep/Http.hpp"
--#include "../osdep/Thread.hpp"
-
- namespace ZeroTier {
-
-@@ -48,6 +47,12 @@ class JSONDB
- public:
- JSONDB(const std::string &basePath);
-
-+ inline void reload()
-+ {
-+ _db.clear();
-+ _reload(_basePath,std::string());
-+ }
-+
- bool writeRaw(const std::string &n,const std::string &obj);
-
- bool put(const std::string &n,const nlohmann::json &obj);
-@@ -74,11 +79,6 @@ public:
- template<typename F>
- inline void filter(const std::string &prefix,F func)
- {
-- while (!_ready) {
-- Thread::sleep(250);
-- _ready = _reload(_basePath,std::string());
-- }
--
- for(std::map<std::string,_E>::iterator i(_db.lower_bound(prefix));i!=_db.end();) {
- if ((i->first.length() >= prefix.length())&&(!memcmp(i->first.data(),prefix.data(),prefix.length()))) {
- if (!func(i->first,get(i->first))) {
-@@ -94,7 +94,7 @@ public:
- inline bool operator!=(const JSONDB &db) const { return (!(*this == db)); }
-
- private:
-- bool _reload(const std::string &p,const std::string &b);
-+ void _reload(const std::string &p,const std::string &b);
- bool _isValidObjectName(const std::string &n);
- std::string _genPath(const std::string &n,bool create);
-
-@@ -108,7 +108,6 @@ private:
- InetAddress _httpAddr;
- std::string _basePath;
- std::map<std::string,_E> _db;
-- volatile bool _ready;
- };
-
- } // namespace ZeroTier
---
-2.15.1
-
--- /dev/null
+From a2cf8bf645d25f18cbc2ed7ad4b9a25725811afd Mon Sep 17 00:00:00 2001
+From: Moritz Warning <moritzwarning@web.de>
+Date: Wed, 2 May 2018 16:06:46 +0200
+Subject: [PATCH 4/4] accept external linker flags
+
+---
+ make-linux.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/make-linux.mk b/make-linux.mk
+index 49e14f70..8e766bfb 100644
+--- a/make-linux.mk
++++ b/make-linux.mk
+@@ -75,7 +75,7 @@ else
+ override CFLAGS+=-Wall -Wno-deprecated -pthread $(INCLUDES) -DNDEBUG $(DEFS)
+ CXXFLAGS?=-O3 -fstack-protector
+ override CXXFLAGS+=-Wall -Wno-deprecated -std=c++11 -pthread $(INCLUDES) -DNDEBUG $(DEFS)
+- LDFLAGS=-Wl,-z,relro,-z,now
++ LDFLAGS+=-Wl,-z,relro,-z,now
+ STRIP?=strip
+ STRIP+=--strip-all
+ endif
+--
+2.17.0
+
+++ /dev/null
-From 14a8fe1f7cdef1f1e0c0842f6fedde154cf4ab57 Mon Sep 17 00:00:00 2001
-From: Moritz Warning <moritzwarning@web.de>
-Date: Thu, 12 Apr 2018 17:09:16 +0200
-Subject: [PATCH 5/5] remove -pie
-
-this prevents immediate segfault on start
----
- make-linux.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/make-linux.mk b/make-linux.mk
-index f5b3d8df..8589e5d6 100644
---- a/make-linux.mk
-+++ b/make-linux.mk
-@@ -67,7 +67,7 @@ else
- override CFLAGS+=-Wall -fPIE -pthread $(INCLUDES) -DNDEBUG $(DEFS)
- CXXFLAGS?=-O3 -fstack-protector
- override CXXFLAGS+=-Wall -Wno-unused-result -Wreorder -fPIE -std=c++11 -pthread $(INCLUDES) -DNDEBUG $(DEFS)
-- override LDFLAGS+=-pie -Wl,-z,relro,-z,now
-+ override LDFLAGS+=-Wl,-z,relro,-z,now
- STRIP?=strip
- STRIP+=--strip-all
- endif
---
-2.16.3
-
include $(TOPDIR)/rules.mk
PKG_NAME:=mpg123
-PKG_VERSION:=1.25.8
+PKG_VERSION:=1.25.10
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/mpg123
-PKG_HASH:=79da51efae011814491f07c95cb5e46de0476aca7a0bf240ba61cfc27af8499b
+PKG_HASH:=6c1337aee2e4bf993299851c70b7db11faec785303cfca3a5c3eb5f329ba7023
PKG_MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
PKG_FIXUP:=libtool
include $(TOPDIR)/rules.mk
PKG_NAME:=acpica-unix
-PKG_VERSION:=20171215
+PKG_VERSION:=20180427
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://acpica.org/sites/$(patsubst %-unix,%,$(PKG_NAME))/files/$(PKG_SOURCE_URL)
-PKG_HASH:=1287c3d75c7956680dbb7e90151caef0255797eb29e18dd55588d713ada97d14
+PKG_HASH:=ae01b2d9e06192dca8fec9ccba327f766454e10935f98f608ec7de2690fd0c16
PKG_MAINTAINER:=Philip Prindeville <philipp@redfish-solutions.com>
PKG_LICENSE:=GPL-2.0
include $(TOPDIR)/rules.mk
-BASE_VERSION:=4.4
-
PKG_NAME:=bash
-PKG_VERSION:=$(BASE_VERSION).12
-PKG_RELEASE:=1
+PKG_VERSION:=4.4.18
+PKG_RELEASE:=2
-PKG_SOURCE:=$(PKG_NAME)-$(BASE_VERSION).tar.gz
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@GNU/bash
-PKG_HASH:=d86b3392c1202e8ff5a423b302e6284db7f8f435ea9f39b5b1b20fd3ac36dfcb
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BASE_VERSION)
+PKG_HASH:=604d9eec5e4ed5fd2180ee44dd756ddca92e0b6aa4217bbab2b6227380317f23
PKG_LICENSE:=GPL-3.0+
PKG_LICENSE_FILES:=COPYING
PKG_MAINTAINER:=Marcel Denia <naoir@gmx.net>
-PKG_CHECK_FORMAT_SECURITY:=0
+PKG_INSTALL:=1
+
include $(INCLUDE_DIR)/package.mk
define Package/bash
CATEGORY:=Utilities
SUBMENU:=Shells
TITLE:=The GNU Bourne Again SHell
- DEPENDS:=+libncurses
+ DEPENDS:=+libncurses +libreadline
URL:=http://www.gnu.org/software/bash/
endef
incorporates useful features from the Korn and C shells (ksh and csh).
endef
-
-define Build/Configure
- $(call Build/Configure/Default, \
- --without-bash-malloc \
- --bindir=/bin \
- )
-endef
-
-
-define Build/Compile
- $(MAKE) -C $(PKG_BUILD_DIR)/builtins LDFLAGS_FOR_BUILD= mkbuiltins
- $(MAKE) -C $(PKG_BUILD_DIR) \
- DESTDIR="$(PKG_INSTALL_DIR)" \
- SHELL="/bin/bash" \
- all install
-endef
+# Bash detects and enables certain features by runtest simple piece of code
+# which is not viable when doing cross compilation and default to no in many
+# cases. Grep for 'cross.compil' in aclocal.m4 and config-bot.h for details
+#
+# bash_cv_job_control_missing: Job control is needed for bash to be used as the
+# default shell
+#
+# bash_cv_getcwd_malloc: The replacement by bash does not work well with
+# overlayfs. See "bash getcwd errors when running under OverlayFS"
+# http://permalink.gmane.org/gmane.linux.embedded.yocto.general/25204
+#
+# bash_cv_dev_fd: The test is done on build system but OpenWrt currently does
+# not have /dev/fd, it provides /proc/self/fd/ instead
+#
+# bash_cv_sys_named_pipes: Required for process substituion
+CONFIGURE_VARS += \
+ ac_cv_rl_prefix="$(STAGING_DIR)/usr" \
+ ac_cv_rl_version="7.0" \
+ bash_cv_getcwd_malloc=yes \
+ bash_cv_job_control_missing=present \
+ bash_cv_dev_fd=whacky \
+ bash_cv_sys_named_pipes=present \
+
+# The following are some other tests that cannot run when cross-compiling
+CONFIGURE_VARS += \
+ bash_cv_func_sigsetjmp=present \
+ bash_cv_printf_a_format=yes \
+
+CONFIGURE_ARGS+= \
+ --with-installed-readline="$(STAGING_DIR)/usr" \
+ --with-curses \
+ --without-bash-malloc \
+ --bindir=/bin \
+ --disable-rpath \
define Package/bash/postinst
#!/bin/sh
-grep bash $${IPKG_INSTROOT}/etc/shells || \
- echo "/bin/bash" >> $${IPKG_INSTROOT}/etc/shells
- echo "/bin/rbash" >> $${IPKG_INSTROOT}/etc/shells
+grep -q bash "$${IPKG_INSTROOT}/etc/shells" || {
+ echo /bin/bash >> "$${IPKG_INSTROOT}/etc/shells"
+ echo /bin/rbash >> "$${IPKG_INSTROOT}/etc/shells"
+}
endef
define Package/bash/install
$(INSTALL_DIR) $(1)/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/bin/bash $(1)/bin/
- ln -sf bash $(1)/bin/rbash
+ $(LN) bash $(1)/bin/rbash
endef
+++ /dev/null
-Index: bash-4.4/execute_cmd.c
-===================================================================
---- bash-4.4.orig/execute_cmd.c
-+++ bash-4.4/execute_cmd.c
-@@ -2459,7 +2459,11 @@ execute_pipeline (command, asynchronous,
- /* If the `lastpipe' option is set with shopt, and job control is not
- enabled, execute the last element of non-async pipelines in the
- current shell environment. */
-- if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0)
-+ if (lastpipe_opt &&
-+#if defined(JOB_CONTROL)
-+ job_control == 0 &&
-+#endif
-+ asynchronous == 0 && pipe_out == NO_PIPE && prev > 0)
- {
- lstdin = move_to_high_fd (0, 1, -1);
- if (lstdin > 0)
+++ /dev/null
-Index: bash-4.4/configure
-===================================================================
---- bash-4.4.orig/configure
-+++ bash-4.4/configure
-@@ -5420,8 +5420,7 @@ if test $opt_readline = yes; then
- # static version specified as -llibname to override the
- # dynamic version
- case "${host_os}" in
-- darwin[89]*|darwin10*) READLINE_LIB='${READLINE_LIBRARY}' ;;
-- *) READLINE_LIB=-lreadline ;;
-+ *) READLINE_LIB='${READLINE_LIBRARY}' ;;
- esac
- fi
- else
-Index: bash-4.4/configure.ac
-===================================================================
---- bash-4.4.orig/configure.ac
-+++ bash-4.4/configure.ac
-@@ -573,8 +573,7 @@ if test $opt_readline = yes; then
- # static version specified as -llibname to override the
- # dynamic version
- case "${host_os}" in
-- darwin[[89]]*|darwin10*) READLINE_LIB='${READLINE_LIBRARY}' ;;
-- *) READLINE_LIB=-lreadline ;;
-+ *) READLINE_LIB='${READLINE_LIBRARY}' ;;
- esac
- fi
- else
--- /dev/null
+Fix job control
+
+Patch was taken from https://git.alpinelinux.org/cgit/aports/tree/main/bash/fix-jobs.patch
+
+See also "Bash 4.4.12-r2 jobs hangs on arm (alpine 3.7)", https://bugs.alpinelinux.org/issues/8447
+diff --git a/jobs.c b/jobs.c
+index cef3c79..bf99266 100644
+--- a/jobs.c
++++ b/jobs.c
+@@ -4166,10 +4166,8 @@ initialize_job_control (force)
+ if (js.c_childmax < 0)
+ js.c_childmax = DEFAULT_CHILD_MAX;
+
+-#if 0
+ if (js.c_childmax > MAX_CHILD_MAX)
+ js.c_childmax = MAX_CHILD_MAX;
+-#endif
+
+ return job_control;
+ }
+@@ -4547,10 +4545,8 @@ mark_dead_jobs_as_notified (force)
+ if (js.c_childmax < 0)
+ js.c_childmax = DEFAULT_CHILD_MAX;
+
+-#if 0
+ if (js.c_childmax > MAX_CHILD_MAX)
+ js.c_childmax = MAX_CHILD_MAX;
+-#endif
+
+ /* Don't do anything if the number of dead processes is less than CHILD_MAX
+ and we're not forcing a cleanup. */
+++ /dev/null
-Index: bash-4.4/lib/readline/history.c
-===================================================================
---- bash-4.4.orig/lib/readline/history.c
-+++ bash-4.4/lib/readline/history.c
-@@ -57,6 +57,8 @@ extern int errno;
- /* How big to make the_history when we first allocate it. */
- #define DEFAULT_HISTORY_INITIAL_SIZE 502
-
-+#define MAX_HISTORY_INITIAL_SIZE 8192
-+
- /* The number of slots to increase the_history by. */
- #define DEFAULT_HISTORY_GROW_SIZE 50
-
-@@ -307,7 +309,9 @@ add_history (string)
- if (history_size == 0)
- {
- if (history_stifled && history_max_entries > 0)
-- history_size = history_max_entries + 2;
-+ history_size = (history_max_entries > MAX_HISTORY_INITIAL_SIZE)
-+ ? MAX_HISTORY_INITIAL_SIZE
-+ : history_max_entries + 2;
- else
- history_size = DEFAULT_HISTORY_INITIAL_SIZE;
- the_history = (HIST_ENTRY **)xmalloc (history_size * sizeof (HIST_ENTRY *));
-Index: bash-4.4/patchlevel.h
-===================================================================
---- bash-4.4.orig/patchlevel.h
-+++ bash-4.4/patchlevel.h
-@@ -25,6 +25,6 @@
- regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
- looks for to find the patch level (for the sccs version string). */
-
--#define PATCHLEVEL 0
-+#define PATCHLEVEL 1
-
- #endif /* _PATCHLEVEL_H_ */
+++ /dev/null
-Index: bash-4.4/patchlevel.h
-===================================================================
---- bash-4.4.orig/patchlevel.h
-+++ bash-4.4/patchlevel.h
-@@ -25,6 +25,6 @@
- regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
- looks for to find the patch level (for the sccs version string). */
-
--#define PATCHLEVEL 1
-+#define PATCHLEVEL 2
-
- #endif /* _PATCHLEVEL_H_ */
-Index: bash-4.4/subst.c
-===================================================================
---- bash-4.4.orig/subst.c
-+++ bash-4.4/subst.c
-@@ -5931,6 +5931,7 @@ read_comsub (fd, quoted, rflag)
- char *istring, buf[128], *bufp, *s;
- int istring_index, istring_size, c, tflag, skip_ctlesc, skip_ctlnul;
- ssize_t bufn;
-+ int nullbyte;
-
- istring = (char *)NULL;
- istring_index = istring_size = bufn = tflag = 0;
-@@ -5938,6 +5939,8 @@ read_comsub (fd, quoted, rflag)
- for (skip_ctlesc = skip_ctlnul = 0, s = ifs_value; s && *s; s++)
- skip_ctlesc |= *s == CTLESC, skip_ctlnul |= *s == CTLNUL;
-
-+ nullbyte = 0;
-+
- /* Read the output of the command through the pipe. This may need to be
- changed to understand multibyte characters in the future. */
- while (1)
-@@ -5956,7 +5959,11 @@ read_comsub (fd, quoted, rflag)
- if (c == 0)
- {
- #if 1
-- internal_warning ("%s", _("command substitution: ignored null byte in input"));
-+ if (nullbyte == 0)
-+ {
-+ internal_warning ("%s", _("command substitution: ignored null byte in input"));
-+ nullbyte = 1;
-+ }
- #endif
- continue;
- }
+++ /dev/null
-Index: bash-4.4/lib/glob/sm_loop.c
-===================================================================
---- bash-4.4.orig/lib/glob/sm_loop.c
-+++ bash-4.4/lib/glob/sm_loop.c
-@@ -330,6 +330,12 @@ PARSE_COLLSYM (p, vp)
- for (pc = 0; p[pc]; pc++)
- if (p[pc] == L('.') && p[pc+1] == L(']'))
- break;
-+ if (p[pc] == 0)
-+ {
-+ if (vp)
-+ *vp = INVALID;
-+ return (p + pc);
-+ }
- val = COLLSYM (p, pc);
- if (vp)
- *vp = val;
-@@ -483,6 +489,9 @@ BRACKMATCH (p, test, flags)
- c = *p++;
- c = FOLD (c);
-
-+ if (c == L('\0'))
-+ return ((test == L('[')) ? savep : (CHAR *)0);
-+
- if ((flags & FNM_PATHNAME) && c == L('/'))
- /* [/] can never match when matching a pathname. */
- return (CHAR *)0;
-Index: bash-4.4/patchlevel.h
-===================================================================
---- bash-4.4.orig/patchlevel.h
-+++ bash-4.4/patchlevel.h
-@@ -25,6 +25,6 @@
- regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
- looks for to find the patch level (for the sccs version string). */
-
--#define PATCHLEVEL 2
-+#define PATCHLEVEL 3
-
- #endif /* _PATCHLEVEL_H_ */
+++ /dev/null
-Index: bash-4.4/jobs.c
-===================================================================
---- bash-4.4.orig/jobs.c
-+++ bash-4.4/jobs.c
-@@ -453,6 +453,21 @@ cleanup_the_pipeline ()
- discard_pipeline (disposer);
- }
-
-+void
-+discard_last_procsub_child ()
-+{
-+ PROCESS *disposer;
-+ sigset_t set, oset;
-+
-+ BLOCK_CHILD (set, oset);
-+ disposer = last_procsub_child;
-+ last_procsub_child = (PROCESS *)NULL;
-+ UNBLOCK_CHILD (oset);
-+
-+ if (disposer)
-+ discard_pipeline (disposer);
-+}
-+
- struct pipeline_saver *
- alloc_pipeline_saver ()
- {
-Index: bash-4.4/jobs.h
-===================================================================
---- bash-4.4.orig/jobs.h
-+++ bash-4.4/jobs.h
-@@ -190,6 +190,7 @@ extern JOB **jobs;
- extern void making_children __P((void));
- extern void stop_making_children __P((void));
- extern void cleanup_the_pipeline __P((void));
-+extern void discard_last_procsub_child __P((void));
- extern void save_pipeline __P((int));
- extern PROCESS *restore_pipeline __P((int));
- extern void start_pipeline __P((void));
-Index: bash-4.4/patchlevel.h
-===================================================================
---- bash-4.4.orig/patchlevel.h
-+++ bash-4.4/patchlevel.h
-@@ -25,6 +25,6 @@
- regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
- looks for to find the patch level (for the sccs version string). */
-
--#define PATCHLEVEL 3
-+#define PATCHLEVEL 4
-
- #endif /* _PATCHLEVEL_H_ */
-Index: bash-4.4/subst.c
-===================================================================
---- bash-4.4.orig/subst.c
-+++ bash-4.4/subst.c
-@@ -5808,10 +5808,7 @@ process_substitute (string, open_for_rea
- {
- #if defined (JOB_CONTROL)
- if (last_procsub_child)
-- {
-- discard_pipeline (last_procsub_child);
-- last_procsub_child = (PROCESS *)NULL;
-- }
-+ discard_last_procsub_child ();
- last_procsub_child = restore_pipeline (0);
- #endif
-
+++ /dev/null
-Index: bash-4.4/builtins/evalstring.c
-===================================================================
---- bash-4.4.orig/builtins/evalstring.c
-+++ bash-4.4/builtins/evalstring.c
-@@ -104,12 +104,9 @@ should_suppress_fork (command)
- running_trap == 0 &&
- *bash_input.location.string == '\0' &&
- command->type == cm_simple &&
--#if 0
- signal_is_trapped (EXIT_TRAP) == 0 &&
- signal_is_trapped (ERROR_TRAP) == 0 &&
--#else
- any_signals_trapped () < 0 &&
--#endif
- command->redirects == 0 && command->value.Simple->redirects == 0 &&
- ((command->flags & CMD_TIME_PIPELINE) == 0) &&
- ((command->flags & CMD_INVERT_RETURN) == 0));
-Index: bash-4.4/patchlevel.h
-===================================================================
---- bash-4.4.orig/patchlevel.h
-+++ bash-4.4/patchlevel.h
-@@ -25,6 +25,6 @@
- regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
- looks for to find the patch level (for the sccs version string). */
-
--#define PATCHLEVEL 4
-+#define PATCHLEVEL 5
-
- #endif /* _PATCHLEVEL_H_ */
+++ /dev/null
-Index: bash-4.4/builtins/pushd.def
-===================================================================
---- bash-4.4.orig/builtins/pushd.def
-+++ bash-4.4/builtins/pushd.def
-@@ -365,7 +365,7 @@ popd_builtin (list)
- break;
- }
-
-- if (which > directory_list_offset || (directory_list_offset == 0 && which == 0))
-+ if (which > directory_list_offset || (which < -directory_list_offset) || (directory_list_offset == 0 && which == 0))
- {
- pushd_error (directory_list_offset, which_word ? which_word : "");
- return (EXECUTION_FAILURE);
-@@ -387,6 +387,11 @@ popd_builtin (list)
- remove that directory from the list and shift the remainder
- of the list into place. */
- i = (direction == '+') ? directory_list_offset - which : which;
-+ if (i < 0 || i > directory_list_offset)
-+ {
-+ pushd_error (directory_list_offset, which_word ? which_word : "");
-+ return (EXECUTION_FAILURE);
-+ }
- free (pushd_directory_list[i]);
- directory_list_offset--;
-
-Index: bash-4.4/patchlevel.h
-===================================================================
---- bash-4.4.orig/patchlevel.h
-+++ bash-4.4/patchlevel.h
-@@ -25,6 +25,6 @@
- regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
- looks for to find the patch level (for the sccs version string). */
-
--#define PATCHLEVEL 5
-+#define PATCHLEVEL 6
-
- #endif /* _PATCHLEVEL_H_ */
+++ /dev/null
-Index: bash-4.4/bashline.c
-===================================================================
---- bash-4.4.orig/bashline.c
-+++ bash-4.4/bashline.c
-@@ -142,7 +142,7 @@ static int executable_completion __P((co
- static rl_icppfunc_t *save_directory_hook __P((void));
- static void restore_directory_hook __P((rl_icppfunc_t));
-
--static int directory_exists __P((const char *));
-+static int directory_exists __P((const char *, int));
-
- static void cleanup_expansion_error __P((void));
- static void maybe_make_readline_line __P((char *));
-@@ -3102,18 +3102,20 @@ restore_directory_hook (hookf)
- rl_directory_rewrite_hook = hookf;
- }
-
--/* Check whether not the (dequoted) version of DIRNAME, with any trailing slash
-- removed, exists. */
-+/* Check whether not DIRNAME, with any trailing slash removed, exists. If
-+ SHOULD_DEQUOTE is non-zero, we dequote the directory name first. */
- static int
--directory_exists (dirname)
-+directory_exists (dirname, should_dequote)
- const char *dirname;
-+ int should_dequote;
- {
- char *new_dirname;
- int dirlen, r;
- struct stat sb;
-
-- /* First, dequote the directory name */
-- new_dirname = bash_dequote_filename ((char *)dirname, rl_completion_quote_character);
-+ /* We save the string and chop the trailing slash because stat/lstat behave
-+ inconsistently if one is present. */
-+ new_dirname = should_dequote ? bash_dequote_filename ((char *)dirname, rl_completion_quote_character) : savestring (dirname);
- dirlen = STRLEN (new_dirname);
- if (new_dirname[dirlen - 1] == '/')
- new_dirname[dirlen - 1] = '\0';
-@@ -3145,7 +3147,7 @@ bash_filename_stat_hook (dirname)
- else if (t = mbschr (local_dirname, '`')) /* XXX */
- should_expand_dirname = '`';
-
-- if (should_expand_dirname && directory_exists (local_dirname))
-+ if (should_expand_dirname && directory_exists (local_dirname, 0))
- should_expand_dirname = 0;
-
- if (should_expand_dirname)
-@@ -3155,7 +3157,7 @@ bash_filename_stat_hook (dirname)
- have to worry about restoring this setting. */
- global_nounset = unbound_vars_is_error;
- unbound_vars_is_error = 0;
-- wl = expand_prompt_string (new_dirname, 0, W_NOCOMSUB|W_COMPLETE); /* does the right thing */
-+ wl = expand_prompt_string (new_dirname, 0, W_NOCOMSUB|W_NOPROCSUB|W_COMPLETE); /* does the right thing */
- unbound_vars_is_error = global_nounset;
- if (wl)
- {
-@@ -3244,13 +3246,13 @@ bash_directory_completion_hook (dirname)
- should_expand_dirname = '`';
- }
-
-- if (should_expand_dirname && directory_exists (local_dirname))
-+ if (should_expand_dirname && directory_exists (local_dirname, 1))
- should_expand_dirname = 0;
-
- if (should_expand_dirname)
- {
- new_dirname = savestring (local_dirname);
-- wl = expand_prompt_string (new_dirname, 0, W_NOCOMSUB|W_COMPLETE); /* does the right thing */
-+ wl = expand_prompt_string (new_dirname, 0, W_NOCOMSUB|W_NOPROCSUB|W_COMPLETE); /* does the right thing */
- if (wl)
- {
- *dirname = string_list (wl);
-Index: bash-4.4/patchlevel.h
-===================================================================
---- bash-4.4.orig/patchlevel.h
-+++ bash-4.4/patchlevel.h
-@@ -25,6 +25,6 @@
- regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
- looks for to find the patch level (for the sccs version string). */
-
--#define PATCHLEVEL 6
-+#define PATCHLEVEL 7
-
- #endif /* _PATCHLEVEL_H_ */
-Index: bash-4.4/subst.c
-===================================================================
---- bash-4.4.orig/subst.c
-+++ bash-4.4/subst.c
-@@ -9458,6 +9458,10 @@ add_twochars:
- tword->flags |= word->flags & (W_ASSIGNARG|W_ASSIGNRHS); /* affects $@ */
- if (word->flags & W_COMPLETE)
- tword->flags |= W_COMPLETE; /* for command substitutions */
-+ if (word->flags & W_NOCOMSUB)
-+ tword->flags |= W_NOCOMSUB;
-+ if (word->flags & W_NOPROCSUB)
-+ tword->flags |= W_NOPROCSUB;
-
- temp = (char *)NULL;
-
+++ /dev/null
-Index: bash-4.4/expr.c
-===================================================================
---- bash-4.4.orig/expr.c
-+++ bash-4.4/expr.c
-@@ -578,24 +578,23 @@ expcond ()
- rval = cval = explor ();
- if (curtok == QUES) /* found conditional expr */
- {
-- readtok ();
-- if (curtok == 0 || curtok == COL)
-- evalerror (_("expression expected"));
- if (cval == 0)
- {
- set_noeval = 1;
- noeval++;
- }
-
-+ readtok ();
-+ if (curtok == 0 || curtok == COL)
-+ evalerror (_("expression expected"));
-+
- val1 = EXP_HIGHEST ();
-
- if (set_noeval)
- noeval--;
- if (curtok != COL)
- evalerror (_("`:' expected for conditional expression"));
-- readtok ();
-- if (curtok == 0)
-- evalerror (_("expression expected"));
-+
- set_noeval = 0;
- if (cval)
- {
-@@ -603,7 +602,11 @@ expcond ()
- noeval++;
- }
-
-+ readtok ();
-+ if (curtok == 0)
-+ evalerror (_("expression expected"));
- val2 = expcond ();
-+
- if (set_noeval)
- noeval--;
- rval = cval ? val1 : val2;
-Index: bash-4.4/patchlevel.h
-===================================================================
---- bash-4.4.orig/patchlevel.h
-+++ bash-4.4/patchlevel.h
-@@ -25,6 +25,6 @@
- regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
- looks for to find the patch level (for the sccs version string). */
-
--#define PATCHLEVEL 7
-+#define PATCHLEVEL 8
-
- #endif /* _PATCHLEVEL_H_ */
+++ /dev/null
-Index: bash-4.4/lib/readline/history.c
-===================================================================
---- bash-4.4.orig/lib/readline/history.c
-+++ bash-4.4/lib/readline/history.c
-@@ -279,6 +279,7 @@ add_history (string)
- const char *string;
- {
- HIST_ENTRY *temp;
-+ int new_length;
-
- if (history_stifled && (history_length == history_max_entries))
- {
-@@ -295,13 +296,9 @@ add_history (string)
-
- /* Copy the rest of the entries, moving down one slot. Copy includes
- trailing NULL. */
--#if 0
-- for (i = 0; i < history_length; i++)
-- the_history[i] = the_history[i + 1];
--#else
- memmove (the_history, the_history + 1, history_length * sizeof (HIST_ENTRY *));
--#endif
-
-+ new_length = history_length;
- history_base++;
- }
- else
-@@ -315,7 +312,7 @@ add_history (string)
- else
- history_size = DEFAULT_HISTORY_INITIAL_SIZE;
- the_history = (HIST_ENTRY **)xmalloc (history_size * sizeof (HIST_ENTRY *));
-- history_length = 1;
-+ new_length = 1;
- }
- else
- {
-@@ -325,14 +322,15 @@ add_history (string)
- the_history = (HIST_ENTRY **)
- xrealloc (the_history, history_size * sizeof (HIST_ENTRY *));
- }
-- history_length++;
-+ new_length = history_length + 1;
- }
- }
-
- temp = alloc_history_entry ((char *)string, hist_inittime ());
-
-- the_history[history_length] = (HIST_ENTRY *)NULL;
-- the_history[history_length - 1] = temp;
-+ the_history[new_length] = (HIST_ENTRY *)NULL;
-+ the_history[new_length - 1] = temp;
-+ history_length = new_length;
- }
-
- /* Change the time stamp of the most recent history entry to STRING. */
-Index: bash-4.4/patchlevel.h
-===================================================================
---- bash-4.4.orig/patchlevel.h
-+++ bash-4.4/patchlevel.h
-@@ -25,6 +25,6 @@
- regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
- looks for to find the patch level (for the sccs version string). */
-
--#define PATCHLEVEL 8
-+#define PATCHLEVEL 9
-
- #endif /* _PATCHLEVEL_H_ */
+++ /dev/null
-Index: bash-4.4/builtins/read.def
-===================================================================
---- bash-4.4.orig/builtins/read.def
-+++ bash-4.4/builtins/read.def
-@@ -181,7 +181,8 @@ read_builtin (list)
- WORD_LIST *list;
- {
- register char *varname;
-- int size, i, nr, pass_next, saw_escape, eof, opt, retval, code, print_ps2;
-+ int size, nr, pass_next, saw_escape, eof, opt, retval, code, print_ps2;
-+ volatile int i;
- int input_is_tty, input_is_pipe, unbuffered_read, skip_ctlesc, skip_ctlnul;
- int raw, edit, nchars, silent, have_timeout, ignore_delim, fd, lastsig, t_errno;
- unsigned int tmsec, tmusec;
-Index: bash-4.4/patchlevel.h
-===================================================================
---- bash-4.4.orig/patchlevel.h
-+++ bash-4.4/patchlevel.h
-@@ -25,6 +25,6 @@
- regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
- looks for to find the patch level (for the sccs version string). */
-
--#define PATCHLEVEL 9
-+#define PATCHLEVEL 10
-
- #endif /* _PATCHLEVEL_H_ */
+++ /dev/null
-Index: bash-4.4/patchlevel.h
-===================================================================
---- bash-4.4.orig/patchlevel.h
-+++ bash-4.4/patchlevel.h
-@@ -25,6 +25,6 @@
- regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
- looks for to find the patch level (for the sccs version string). */
-
--#define PATCHLEVEL 10
-+#define PATCHLEVEL 11
-
- #endif /* _PATCHLEVEL_H_ */
-Index: bash-4.4/sig.c
-===================================================================
---- bash-4.4.orig/sig.c
-+++ bash-4.4/sig.c
-@@ -585,7 +585,8 @@ termsig_handler (sig)
- #if defined (JOB_CONTROL)
- if (sig == SIGHUP && (interactive || (subshell_environment & (SUBSHELL_COMSUB|SUBSHELL_PROCSUB))))
- hangup_all_jobs ();
-- end_job_control ();
-+ if ((subshell_environment & (SUBSHELL_COMSUB|SUBSHELL_PROCSUB)) == 0)
-+ end_job_control ();
- #endif /* JOB_CONTROL */
-
- #if defined (PROCESS_SUBSTITUTION)
+++ /dev/null
-Index: bash-4.4/patchlevel.h
-===================================================================
---- bash-4.4.orig/patchlevel.h
-+++ bash-4.4/patchlevel.h
-@@ -25,6 +25,6 @@
- regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
- looks for to find the patch level (for the sccs version string). */
-
--#define PATCHLEVEL 11
-+#define PATCHLEVEL 12
-
- #endif /* _PATCHLEVEL_H_ */
-Index: bash-4.4/subst.c
-===================================================================
---- bash-4.4.orig/subst.c
-+++ bash-4.4/subst.c
-@@ -2825,11 +2825,15 @@ list_string (string, separators, quoted)
-
- /* Parse a single word from STRING, using SEPARATORS to separate fields.
- ENDPTR is set to the first character after the word. This is used by
-- the `read' builtin. This is never called with SEPARATORS != $IFS;
-- it should be simplified.
-+ the `read' builtin.
-+
-+ This is never called with SEPARATORS != $IFS, and takes advantage of that.
-
- XXX - this function is very similar to list_string; they should be
- combined - XXX */
-+
-+#define islocalsep(c) (local_cmap[(unsigned char)(c)] != 0)
-+
- char *
- get_word_from_string (stringp, separators, endptr)
- char **stringp, *separators, **endptr;
-@@ -2837,6 +2841,7 @@ get_word_from_string (stringp, separator
- register char *s;
- char *current_word;
- int sindex, sh_style_split, whitesep, xflags;
-+ unsigned char local_cmap[UCHAR_MAX+1]; /* really only need single-byte chars here */
- size_t slen;
-
- if (!stringp || !*stringp || !**stringp)
-@@ -2846,20 +2851,23 @@ get_word_from_string (stringp, separator
- separators[1] == '\t' &&
- separators[2] == '\n' &&
- separators[3] == '\0';
-- for (xflags = 0, s = ifs_value; s && *s; s++)
-+ memset (local_cmap, '\0', sizeof (local_cmap));
-+ for (xflags = 0, s = separators; s && *s; s++)
- {
- if (*s == CTLESC) xflags |= SX_NOCTLESC;
- if (*s == CTLNUL) xflags |= SX_NOESCCTLNUL;
-+ local_cmap[(unsigned char)*s] = 1; /* local charmap of separators */
- }
-
- s = *stringp;
- slen = 0;
-
- /* Remove sequences of whitespace at the beginning of STRING, as
-- long as those characters appear in IFS. */
-- if (sh_style_split || !separators || !*separators)
-+ long as those characters appear in SEPARATORS. This happens if
-+ SEPARATORS == $' \t\n' or if IFS is unset. */
-+ if (sh_style_split || separators == 0)
- {
-- for (; *s && spctabnl (*s) && isifs (*s); s++);
-+ for (; *s && spctabnl (*s) && islocalsep (*s); s++);
-
- /* If the string is nothing but whitespace, update it and return. */
- if (!*s)
-@@ -2878,9 +2886,9 @@ get_word_from_string (stringp, separator
-
- This obeys the field splitting rules in Posix.2. */
- sindex = 0;
-- /* Don't need string length in ADVANCE_CHAR or string_extract_verbatim
-- unless multibyte chars are possible. */
-- slen = (MB_CUR_MAX > 1) ? STRLEN (s) : 1;
-+ /* Don't need string length in ADVANCE_CHAR unless multibyte chars are
-+ possible, but need it in string_extract_verbatim for bounds checking */
-+ slen = STRLEN (s);
- current_word = string_extract_verbatim (s, slen, &sindex, separators, xflags);
-
- /* Set ENDPTR to the first character after the end of the word. */
-@@ -2899,19 +2907,19 @@ get_word_from_string (stringp, separator
-
- /* Now skip sequences of space, tab, or newline characters if they are
- in the list of separators. */
-- while (s[sindex] && spctabnl (s[sindex]) && isifs (s[sindex]))
-+ while (s[sindex] && spctabnl (s[sindex]) && islocalsep (s[sindex]))
- sindex++;
-
- /* If the first separator was IFS whitespace and the current character is
- a non-whitespace IFS character, it should be part of the current field
- delimiter, not a separate delimiter that would result in an empty field.
- Look at POSIX.2, 3.6.5, (3)(b). */
-- if (s[sindex] && whitesep && isifs (s[sindex]) && !spctabnl (s[sindex]))
-+ if (s[sindex] && whitesep && islocalsep (s[sindex]) && !spctabnl (s[sindex]))
- {
- sindex++;
- /* An IFS character that is not IFS white space, along with any adjacent
- IFS white space, shall delimit a field. */
-- while (s[sindex] && spctabnl (s[sindex]) && isifs (s[sindex]))
-+ while (s[sindex] && spctabnl (s[sindex]) && islocalsep(s[sindex]))
- sindex++;
- }
-
include $(TOPDIR)/rules.mk
PKG_NAME:=bluez
-PKG_VERSION:=5.47
+PKG_VERSION:=5.49
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/bluetooth/
-PKG_HASH:=cf75bf7cd5d564f21cc4a2bd01d5c39ce425397335fd47d9bbe43af0a58342c8
+PKG_HASH:=33301d7a514c73d535ee1f91c2aed1af1f2e53efe11d3ac06bcf0d7abed2ce95
PKG_LICENSE:=GPL-2.0+
PKG_LICENSE_FILES:=COPYING
SECTION:=utils
CATEGORY:=Utilities
TITLE+= utilities
- DEPENDS:=+bluez-libs +libpthread +librt +glib2 +libncurses +libreadline $(INTL_DEPENDS) $(ICONV_DEPENDS)
+ DEPENDS:=+bluez-libs +libpthread +librt +glib2 +libncurses +libreadline $(INTL_DEPENDS) $(ICONV_DEPENDS) +dbus
endef
define Package/bluez-daemon
/etc/bluetooth/main.conf
/etc/bluetooth/network.conf
/etc/bluetooth/input.conf
-/etc/bluetooth/audio.conf
+/etc/bluetooth/keys
/etc/config/bluetooth
endef
+TARGET_CFLAGS += -D_GNU_SOURCE -ffunction-sections -fdata-sections
+TARGET_LDFLAGS += -Wl,--gc-sections
+
CONFIGURE_ARGS += \
--enable-static \
--enable-shared \
--disable-udev \
--enable-deprecated
-TARGET_CPPFLAGS += \
- -D_GNU_SOURCE
-
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/bluetooth $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/bin
$(CP) $(PKG_INSTALL_DIR)/usr/bin/bccmd $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/bluemoon $(1)/usr/bin/
+ $(CP) $(PKG_INSTALL_DIR)/usr/bin/btattach $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/btmon $(1)/usr/bin/
$(CP) $(PKG_BUILD_DIR)/tools/btmgmt $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/ciptool $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/hex2hcd $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/l2ping $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/l2test $(1)/usr/bin/
+ $(CP) $(PKG_INSTALL_DIR)/usr/bin/mpris-proxy $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/rctest $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/rfcomm $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/sdptool $(1)/usr/bin/
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DATA) ./files/bluetooth.config $(1)/etc/config/bluetooth
$(INSTALL_DIR) $(1)/etc/dbus-1/system.d/
- $(INSTALL_DATA) ./files/bluetooth.dbus $(1)/etc/dbus-1/system.d/bluetooth.conf
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/src/bluetooth.conf $(1)/etc/dbus-1/system.d/bluetooth.conf
$(INSTALL_DIR) $(1)/etc/bluetooth
+ $(INSTALL_DIR) $(1)/etc/bluetooth/keys
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/main.conf $(1)/etc/bluetooth/main.conf
$(INSTALL_DATA) $(PKG_BUILD_DIR)/profiles/network/network.conf $(1)/etc/bluetooth/network.conf
$(INSTALL_DATA) $(PKG_BUILD_DIR)/profiles/input/input.conf $(1)/etc/bluetooth/input.conf
- $(INSTALL_DATA) ./files/audio.conf $(1)/etc/bluetooth/audio.conf
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/bluetoothd.init $(1)/etc/init.d/bluetoothd
endef
+++ /dev/null
-Enable=Source,Sink,Media,Socket
+++ /dev/null
-<!-- This configuration file specifies the required security policies
- for Bluetooth core daemon to work. -->
-
-<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
- "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
-<busconfig>
-
- <!-- ../system.conf have denied everything, so we just punch some holes -->
-
- <policy user="root">
- <allow own="org.bluez"/>
- </policy>
-
- <policy at_console="true">
- <allow send_path="/"/>
- <allow send_path="/org/bluez"/>
-
- <allow send_destination="org.bluez.Manager"/>
- <allow receive_sender="org.bluez.Manager"/>
-
- <allow send_destination="org.bluez.Adapter"/>
- <allow receive_sender="org.bluez.Adapter"/>
-
- <allow send_destination="org.bluez.Device"/>
- <allow receive_sender="org.bluez.Device"/>
-
- <allow send_destination="org.bluez.Service"/>
- <allow receive_sender="org.bluez.Service"/>
-
- <allow send_destination="org.bluez.Database"/>
- <allow receive_sender="org.bluez.Database"/>
-
- <allow send_destination="org.bluez.Security"/>
- <allow receive_sender="org.bluez.Security"/>
- </policy>
-
-</busconfig>
PROG=/usr/bin/bluetoothd
start_service() {
+ ln -snf /etc/bluetooth/keys/ /var/lib/bluetooth
procd_open_instance
procd_set_param command "$PROG" -n
procd_close_instance
--- a/Makefile.in 2017-09-14 11:47:06.000000000 +0200
+++ b/Makefile.in 2017-09-15 02:52:39.315926972 +0200
-@@ -2447,7 +2447,7 @@
- @CLIENT_TRUE@ monitor/uuid.h monitor/uuid.c
+@@ -2472,7 +2472,7 @@
+ @CLIENT_TRUE@ client/gatt.h client/gatt.c
@CLIENT_TRUE@client_bluetoothctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \
-@CLIENT_TRUE@ @GLIB_LIBS@ @DBUS_LIBS@ -lreadline
@MESH_TRUE@mesh_meshctl_SOURCES = mesh/main.c \
@MESH_TRUE@ mesh/mesh-net.h \
-@@ -2468,7 +2468,7 @@
+@@ -2491,7 +2491,7 @@
@MESH_TRUE@mesh_meshctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \
@MESH_TRUE@ lib/libbluetooth-internal.la \
@MONITOR_TRUE@monitor_btmon_SOURCES = monitor/main.c monitor/bt.h \
@MONITOR_TRUE@ monitor/display.h monitor/display.c \
-@@ -2724,7 +2724,7 @@
+@@ -2747,7 +2747,7 @@
@READLINE_TRUE@ tools/obex-client-tool.c
@READLINE_TRUE@tools_obex_client_tool_LDADD = lib/libbluetooth-internal.la \
@READLINE_TRUE@tools_obex_server_tool_SOURCES = $(gobex_sources) $(btio_sources) \
@READLINE_TRUE@ tools/obex-server-tool.c
-@@ -2734,17 +2734,17 @@
- @READLINE_TRUE@ client/display.h client/display.c
-
+@@ -2756,15 +2756,15 @@
+ @READLINE_TRUE@tools_bluetooth_player_SOURCES = tools/bluetooth-player.c
@READLINE_TRUE@tools_bluetooth_player_LDADD = gdbus/libgdbus-internal.la \
+ @READLINE_TRUE@ src/libshared-glib.la \
-@READLINE_TRUE@ @GLIB_LIBS@ @DBUS_LIBS@ -lreadline
+@READLINE_TRUE@ @GLIB_LIBS@ @DBUS_LIBS@ -lreadline -lncurses
- @READLINE_TRUE@tools_obexctl_SOURCES = tools/obexctl.c \
- @READLINE_TRUE@ client/display.h client/display.c
-
- @READLINE_TRUE@tools_obexctl_LDADD = gdbus/libgdbus-internal.la \
+ @READLINE_TRUE@tools_obexctl_SOURCES = tools/obexctl.c
+ @READLINE_TRUE@tools_obexctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \
-@READLINE_TRUE@ @GLIB_LIBS@ @DBUS_LIBS@ -lreadline
+@READLINE_TRUE@ @GLIB_LIBS@ @DBUS_LIBS@ -lreadline -lncurses
@DEPRECATED_TRUE@@READLINE_TRUE@attrib_gatttool_SOURCES = attrib/gatttool.c attrib/att.c attrib/gatt.c \
@DEPRECATED_TRUE@@READLINE_TRUE@ attrib/gattrib.c btio/btio.c \
-@@ -2753,7 +2753,7 @@
+@@ -2773,7 +2773,7 @@
@DEPRECATED_TRUE@@READLINE_TRUE@ client/display.h
@DEPRECATED_TRUE@@READLINE_TRUE@attrib_gatttool_LDADD = lib/libbluetooth-internal.la \
--- /dev/null
+--- a/src/shared/util.h.old 2016-09-26 07:29:00.000000000 -0500
++++ b/src/shared/util.h 2017-12-27 22:49:50.538716424 -0600
+@@ -26,6 +26,7 @@
+ #include <alloca.h>
+ #include <byteswap.h>
+ #include <string.h>
++#include <endian.h>
+
+ #if __BYTE_ORDER == __LITTLE_ENDIAN
+ #define le16_to_cpu(val) (val)
--- /dev/null
+Submitted By: Armin K. <krejzi at email dot com>
+Date: 2013-04-29
+Initial Package Version: 5.17
+Upstream Status: unknown
+Origin: Arch Linux (Giovanni Campagna)
+Description: Allow using obexd without systemd in the user session
+
+Not all sessions run systemd --user (actually, the majority
+doesn't), so the dbus daemon must be able to spawn obexd
+directly, and to do so it needs the full path of the daemon.
+---
+ Makefile.obexd | 4 ++--
+ obexd/src/org.bluez.obex.service | 4 ----
+ obexd/src/org.bluez.obex.service.in | 4 ++++
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+ delete mode 100644 obexd/src/org.bluez.obex.service
+ create mode 100644 obexd/src/org.bluez.obex.service.in
+
+diff --git a/Makefile.obexd b/Makefile.obexd
+index 3760867..142e7c3 100644
+--- a/Makefile.obexd
++++ b/Makefile.obexd
+@@ -2,12 +2,12 @@
+ if SYSTEMD
+ systemduserunitdir = @SYSTEMD_USERUNITDIR@
+ systemduserunit_DATA = obexd/src/obex.service
++endif
+
+ dbussessionbusdir = @DBUS_SESSIONBUSDIR@
+ dbussessionbus_DATA = obexd/src/org.bluez.obex.service
+-endif
+
+-EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service
++EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in
+
+ obex_plugindir = $(libdir)/obex/plugins
+
+diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service
+deleted file mode 100644
+index a538088..0000000
+--- a/obexd/src/org.bluez.obex.service
++++ /dev/null
+@@ -1,4 +0,0 @@
+-[D-BUS Service]
+-Name=org.bluez.obex
+-Exec=/bin/false
+-SystemdService=dbus-org.bluez.obex.service
+diff --git a/obexd/src/org.bluez.obex.service.in b/obexd/src/org.bluez.obex.service.in
+new file mode 100644
+index 0000000..9c815f2
+--- /dev/null
++++ b/obexd/src/org.bluez.obex.service.in
+@@ -0,0 +1,4 @@
++[D-BUS Service]
++Name=org.bluez.obex
++Exec=@libexecdir@/obexd
++SystemdService=dbus-org.bluez.obex.service
+--
+1.8.3.1
+
+
PKG_NAME:=gammu
PKG_VERSION:=1.38.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE_URL:=http://dl.cihar.com/gammu/releases/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
URL:=http://dl.cihar.com/gammu/releases/
DEPENDS:=+libpthread +libcurl +glib2 $(ICONV_DEPENDS) $(INTL_DEPENDS)
DEPENDS+=+PACKAGE_python:python +PACKAGE_bluez-libs:bluez-libs
- DEPENDS+=+PACKAGE_libmysqlclient:libmysqlclient +PACKAGE_unixodbc:unixodbc +PACKAGE_libpq:libpq
+ DEPENDS+=+PACKAGE_libmariadbclient:libmariadbclient +PACKAGE_unixodbc:unixodbc +PACKAGE_libpq:libpq
DEPENDS+=+PACKAGE_libusb-1.0:libusb-1.0
endef
include $(TOPDIR)/rules.mk
PKG_NAME:=inotify-tools
-PKG_VERSION:=3.14
-PKG_HASH:=222bcca8893d7bf8a1ce207fb39ceead5233b5015623d099392e95197676c92f
+PKG_VERSION:=3.20.1
+PKG_HASH:=a433cc1dedba851078276db69b0e97f9fe41e4ba3336d2971adfca4b3a6242ac
PKG_RELEASE:=1
-PKG_SOURCE_URL:=https://github.com/downloads/rvoicilas/inotify-tools/
+PKG_SOURCE_URL:=https://codeload.github.com/rvoicilas/inotify-tools/tar.gz/$(PKG_VERSION)?
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE_FILES:=COPYING
PKG_INSTALL:=1
+PKG_FIXUP:=autoreconf
include $(INCLUDE_DIR)/package.mk
include $(TOPDIR)/rules.mk
PKG_NAME:=klish
-PKG_VERSION:=2.1.3
-PKG_RELEASE:=2
+PKG_VERSION:=2.1.4
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=http://libcode.org/attachments/download/66/
+PKG_SOURCE_URL:=http://libcode.org/attachments/download/70/
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENCE
PKG_MAINTAINER:=Takashi Umeno <umeno.takashi@gmail.com>
-PKG_HASH:=70528039da9c5fdfadaea325ab6243cdabef627da0398335312e08d90ab415f8
+PKG_HASH:=a89dd1027dce713407b6d68e836c8fdead56406dcfc650da84da8e0b92c9b2e5
PKG_INSTALL:=1
TARGET_LDFLAGS += -lxml2 -lz
TARGET_CFLAGS += -D_XOPEN_SOURCE=500
-define Build/Configure
- $(call Build/Configure/Default, \
- --with-libxml2 \
- )
-endef
+CONFIGURE_ARGS += --with-libxml2
define Package/klish/install
$(INSTALL_DIR) $(1)/usr/bin
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=https://www.kernel.org/pub/linux/utils/kernel/kmod/
+PKG_SOURCE_URL:=@KERNEL/linux/utils/kernel/kmod/
PKG_HASH:=89c1a1a2193c31f9ebe582640bfa2bd401341dc24119f5a7f702588116fadaa0
PKG_MAINTAINER:=Jeff Waugh <jdub@bethesignal.org>
PKG_LICENSE:=LGPL-2.1+
PKG_NAME:=mariadb
PKG_VERSION:=10.1.32
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://downloads.mariadb.org/interstitial/$(PKG_NAME)-$(PKG_VERSION)/source
endef
define Build/InstallDev
- $(INSTALL_DIR) $(2)/bin $(1)/usr/bin $(1)/usr/include $(1)/usr/lib/pkgconfig $(1)/usr/share/aclocal
+ $(INSTALL_DIR) $(2)/bin $(1)/usr/bin $(1)/usr/include $(1)/usr/lib/mysql $(1)/usr/lib/pkgconfig $(1)/usr/share/aclocal
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysql_config $(1)/usr/bin/
$(LN) $(STAGING_DIR)/usr/bin/mysql_config $(2)/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/include/mysql $(1)/usr/include/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libmysqlclient*.so* $(1)/usr/lib/
+ cd $(1)/usr/lib/mysql; $(LN) ../libmysqlclient*.so* .
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/pkgconfig/mariadb.pc $(1)/usr/lib/pkgconfig
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/aclocal/mysql.m4 $(1)/usr/share/aclocal
endef
include $(TOPDIR)/rules.mk
PKG_NAME:=nano
-PKG_VERSION:=2.9.5
+PKG_VERSION:=2.9.6
PKG_RELEASE:=1
PKG_LICENSE:=GPL-3.0+
PKG_LICENSE_FILES:=COPYING
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/nano
-PKG_HASH:=7b8d181cb57f42fa86a380bb9ad46abab859b60383607f731b65a9077f4b4e19
+PKG_HASH:=a373507ebb4e9307a8202fbc19b5d29718025c8ec773669349211c362545d4c6
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_NAME:=prometheus-node-exporter-lua
PKG_VERSION:=2017.12.08
-PKG_RELEASE:=2
+PKG_RELEASE:=4
PKG_MAINTAINER:=Christian Simon <simon@swine.de>
PKG_LICENSE:=Apache-2.0
DEPENDS:=prometheus-node-exporter-lua bmx7 +lua-cjson +bmx7-json
endef
+define Package/prometheus-node-exporter-lua-textfile
+ $(call Package/prometheus-node-exporter-lua/Default)
+ TITLE+= (textfile collector)
+ DEPENDS:=prometheus-node-exporter-lua +luci-lib-nixio
+endef
+
+define Package/prometheus-node-exporter-lua-openwrt
+ $(call Package/prometheus-node-exporter-lua/Default)
+ TITLE+= (openwrt collector)
+endef
+
Build/Compile=
define Package/prometheus-node-exporter-lua/install
$(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/bmx7.lua $(1)/usr/lib/lua/prometheus-collectors/
endef
+define Package/prometheus-node-exporter-lua-textfile/install
+ $(INSTALL_DIR) $(1)/usr/lib/lua/prometheus-collectors
+ $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/textfile.lua $(1)/usr/lib/lua/prometheus-collectors/
+endef
+
+define Package/prometheus-node-exporter-lua-openwrt/install
+ $(INSTALL_DIR) $(1)/usr/lib/lua/prometheus-collectors
+ $(INSTALL_BIN) ./files/usr/lib/lua/prometheus-collectors/openwrt.lua $(1)/usr/lib/lua/prometheus-collectors/
+endef
+
$(eval $(call BuildPackage,prometheus-node-exporter-lua))
$(eval $(call BuildPackage,prometheus-node-exporter-lua-nat_traffic))
$(eval $(call BuildPackage,prometheus-node-exporter-lua-netstat))
$(eval $(call BuildPackage,prometheus-node-exporter-lua-wifi_stations))
$(eval $(call BuildPackage,prometheus-node-exporter-lua-bmx6))
$(eval $(call BuildPackage,prometheus-node-exporter-lua-bmx7))
+$(eval $(call BuildPackage,prometheus-node-exporter-lua-textfile))
+$(eval $(call BuildPackage,prometheus-node-exporter-lua-openwrt))
--- /dev/null
+local labels = {
+ id = "",
+ release = "",
+ revision = "",
+ model = string.sub(get_contents("/tmp/sysinfo/model"), 1, -2),
+ board_name = string.sub(get_contents("/tmp/sysinfo/board_name"), 1, -2)
+}
+
+for k, v in string.gmatch(get_contents("/etc/openwrt_release"), "(DISTRIB_%w+)='(%w+)'\n") do
+ if k == "DISTRIB_ID" then
+ labels["id"] = v
+ elseif k == "DISTRIB_RELEASE" then
+ labels["release"] = v
+ elseif k == "DISTRIB_REVISION" then
+ labels["revision"] = v
+ end
+end
+
+local function scrape()
+ metric("node_openwrt_info", "gauge", labels, 1)
+end
+
+return { scrape = scrape }
+
--- /dev/null
+#!/usr/bin/lua
+
+local fs = require "nixio.fs"
+
+local function scrape()
+ for metrics in fs.glob("/var/prometheus/*.prom") do
+ output(get_contents(metrics), '\n')
+ end
+end
+
+return { scrape = scrape }
$(CP) $(PKG_INSTALL_DIR)/usr/include/sane $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libsane.{a,so*} $(1)/usr/lib/
+ $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+ $(CP) $(PKG_BUILD_DIR)/tools/sane-backends.pc $(1)/usr/lib/pkgconfig/
endef
# 1: short name
include $(TOPDIR)/rules.mk
PKG_NAME:=ttyd
-PKG_VERSION:=1.3.3+git-04d5bc
+PKG_VERSION:=1.4.0
PKG_RELEASE:=1
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/tsl0922/ttyd.git
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=04d5bc1ecb59667d025a94e1967a83c24141f911
-PKG_MIRROR_HASH=87ea900f7bf67daf5131ecfcec0917e175d168ce52771012139c06dbafcc641d
+PKG_SOURCE_URL:=https://codeload.github.com/tsl0922/ttyd/tar.gz/$(PKG_VERSION)?
+PKG_SOURCE_VERSION=$(PKG_VERSION)
+PKG_HASH=757a9b5b5dd3de801d7db8fab6035d97ea144b02a51c78bdab28a8e07bcf05d6
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Command-line tool for sharing terminal over the web
- DEPENDS:=+libopenssl +libjson-c +libpthread +libwebsockets-openssl
+ DEPENDS:=+libopenssl +libjson-c +libpthread +libwebsockets-full
URL:=https://github.com/tsl0922/ttyd
SUBMENU:=Terminal
MAINTAINER:=Shuanglei Tao <tsl0922@gmail.com>
include $(TOPDIR)/rules.mk
PKG_NAME:=zoneinfo
-PKG_VERSION:=2018d
-PKG_VERSION_CODE:=2018d
+PKG_VERSION:=2018e
+PKG_VERSION_CODE:=2018e
PKG_RELEASE:=1
#As i couldn't find real license used "Public Domain"
PKG_SOURCE:=tzdata$(PKG_VERSION).tar.gz
PKG_SOURCE_CODE:=tzcode$(PKG_VERSION_CODE).tar.gz
PKG_SOURCE_URL:=http://www.iana.org/time-zones/repository/releases
-PKG_HASH:=5106eddceb5f1ae3a91dbd3960e1b8b11ba0dc08579a31cf0724a7691b10c054
+PKG_HASH:=6b288e5926841a4cb490909fe822d85c36ae75538ad69baf20da9628b63b692e
include $(INCLUDE_DIR)/package.mk
define Download/tzcode
FILE=$(PKG_SOURCE_CODE)
URL=$(PKG_SOURCE_URL)
- HASH:=7de44e85baad748d217e3fd60706f599f9aec68bce6356b163f52b0dbd40a8d9
+ HASH:=ca340cf20e80b699d6e5c49b4ba47361b3aa681f06f38a0c88a8e8308c00ebce
endef
$(eval $(call Download,tzcode))