include $(TOPDIR)/rules.mk
PKG_NAME:=perl-uri
-PKG_VERSION:=1.71
+PKG_VERSION:=1.72
PKG_RELEASE:=1
PKG_SOURCE_URL:=http://www.cpan.org/authors/id/E/ET/ETHER/
PKG_SOURCE:=URI-$(PKG_VERSION).tar.gz
-PKG_HASH:=9c8eca0d7f39e74bbc14706293e653b699238eeb1a7690cc9c136fb8c2644115
+PKG_HASH:=35f14431d4b300de4be1163b0b5332de2d7fbda4f05ff1ed198a8e9330d40a32
PKG_LICENSE:=GPL-1.0+ Artistic-1.0-Perl
PKG_MAINTAINER:=Marcel Denia <naoir@gmx.net>
PECL_LONGNAME:=Extended HTTP Support
PKG_VERSION:=3.1.0
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_HASH:=e3de67b156e7d5f6c2e5eb1e2b5f0acceb7004f1260d68c9f8b2c0f9629aabf0
PKG_NAME:=php7-pecl-http
--with-http-libevent-dir="$(STAGING_DIR)/usr" \
--with-http-libidn-dir="$(STAGING_DIR)/usr"
-$(eval $(call PECLPackage,http,$(PECL_LONGNAME),+icu +libcurl +librt +libevent2 +libidn +php7-mod-iconv +php7-mod-session +php7-pecl-raphf +php7-pecl-propro,30))
+$(eval $(call PECLPackage,http,$(PECL_LONGNAME),+icu +libcurl +librt +libevent2 +libidn +php7-mod-hash +php7-mod-iconv +php7-mod-session +php7-pecl-raphf +php7-pecl-propro,30))
$(eval $(call BuildPackage,$(PKG_NAME)))
include $(TOPDIR)/rules.mk
PKG_NAME:=php
-PKG_VERSION:=7.1.11
-PKG_RELEASE:=3
+PKG_VERSION:=7.1.12
+PKG_RELEASE:=2
PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://www.php.net/distributions/
-PKG_HASH:=074093e9d7d21afedc5106904218a80a47b854abe368d2728ed22184c884893e
+PKG_HASH:=a0118850774571b1f2d4e30b4fe7a4b958ca66f07d07d65ebdc789c54ba6eeb3
PKG_FIXUP:=libtool autoreconf
PKG_BUILD_PARALLEL:=1
ftp \
gettext gd gmp \
hash \
- iconv intl \
+ iconv imap intl \
json \
ldap \
mbstring mcrypt mysqli \
PKG_CONFIG_DEPENDS:= \
$(patsubst %,CONFIG_PACKAGE_php7-mod-%,$(PHP7_MODULES)) \
- CONFIG_PHP7_FILTER CONFIG_PHP7_LIBXML CONFIG_PHP7_SYSTEMTZDATA
+ CONFIG_PHP7_FILTER CONFIG_PHP7_LIBXML CONFIG_PHP7_SYSTEMTZDATA CONFIG_PHP7_LIBFREETYPE
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
This package contains the FastCGI Process Manager of the PHP7 interpreter.
endef
+define Package/php7-mod-gd/config
+ config PHP7_LIBFREETYPE
+ bool "Enable Freetype 2 support in php7-mod-gd"
+ depends on PACKAGE_php7-mod-gd
+ default y
+endef
+
# not everything groks --disable-nls
DISABLE_NLS:=
ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-gd),)
CONFIGURE_ARGS+= \
--with-gd=shared \
- --without-freetype-dir \
--with-jpeg-dir="$(STAGING_DIR)/usr" \
--with-png-dir="$(STAGING_DIR)/usr" \
--without-xpm-dir \
else
CONFIGURE_ARGS+= --without-gd
endif
+ifneq ($(CONFIG_PHP7_LIBFREETYPE),)
+ CONFIGURE_ARGS+= --with-freetype-dir="$(STAGING_DIR)"
+else
+ CONFIGURE_ARGS+= --without-freetype-dir
+endif
ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-gmp),)
CONFIGURE_ARGS+= --with-gmp=shared,"$(STAGING_DIR)/usr"
CONFIGURE_ARGS+= --without-iconv
endif
+ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-imap),)
+ CONFIGURE_ARGS+= \
+ --with-imap=shared,"$(STAGING_DIR)/usr" \
+ --with-imap-kerberos=no \
+ --with-imap-ssl="$(STAGING_DIR)/usr"
+else
+ CONFIGURE_ARGS+= --without-imap
+endif
+
ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-intl),)
CONFIGURE_ARGS+= --enable-intl=shared
TARGET_CXXFLAGS+= -std=c++0x
php_cv_cc_rpath="no" \
iconv_impl_name="gnu_libiconv" \
ac_cv_php_xml2_config_path="$(STAGING_DIR)/host/bin/xml2-config" \
+ ac_cv_u8t_decompose=yes \
define Package/php7/conffiles
/etc/php.ini
$(eval $(call BuildModule,exif,EXIF))
$(eval $(call BuildModule,fileinfo,Fileinfo))
$(eval $(call BuildModule,ftp,FTP,+PACKAGE_php7-mod-ftp:libopenssl))
-$(eval $(call BuildModule,gd,GD graphics,+PACKAGE_php7-mod-gd:libjpeg +PACKAGE_php7-mod-gd:libpng))
+$(eval $(call BuildModule,gd,GD graphics,+PACKAGE_php7-mod-gd:libjpeg +PACKAGE_php7-mod-gd:libpng +PHP7_LIBFREETYPE:libfreetype))
$(eval $(call BuildModule,gettext,Gettext,+PACKAGE_php7-mod-gettext:libintl-full))
$(eval $(call BuildModule,gmp,GMP,+PACKAGE_php7-mod-gmp:libgmp))
$(eval $(call BuildModule,hash,Hash))
$(eval $(call BuildModule,iconv,iConv,$(ICONV_DEPENDS)))
+$(eval $(call BuildModule,imap,IMAP,+PACKAGE_php7-mod-imap:libopenssl +PACKAGE_libpam:libpam +PACKAGE_php7-mod-imap:uw-imap))
$(eval $(call BuildModule,intl,Internationalization Functions,+PACKAGE_php7-mod-intl:icu))
$(eval $(call BuildModule,json,JSON))
$(eval $(call BuildModule,ldap,LDAP,+PACKAGE_php7-mod-ldap:libopenldap +PACKAGE_php7-mod-ldap:libsasl2))
--- /dev/null
+From 96465be0f4ac225cfe6f52b809c91b9496807eac Mon Sep 17 00:00:00 2001
+From: Michael Heimpold <mhei@heimpold.de>
+Date: Sun, 26 Nov 2017 18:29:42 +0100
+Subject: [PATCH] ext/imap/config.m4: fix ac_cv_u8t_decompose check
+
+Once upon the time, commit c58f63a38ae19caaab339c61486fc3bd7e5894f9
+changed the check from U8T_CANONICAL to U8T_DECOMPOSE. However,
+the autoconf cache id was not renamed.
+
+Sometimes it is desirable to preseed the autoconf variables, e.g. when
+cross-compiling to avoid the tests running on the host system. In this
+case it's confusing when the cache id does not match the variable to
+set, so let's adjust it.
+
+Signed-off-by: Michael Heimpold <mhei@heimpold.de>
+---
+ ext/imap/config.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ext/imap/config.m4 b/ext/imap/config.m4
+index d0b86cb..badb6e2 100644
+--- a/ext/imap/config.m4
++++ b/ext/imap/config.m4
+@@ -147,7 +147,7 @@ if test "$PHP_IMAP" != "no"; then
+
+ old_CFLAGS=$CFLAGS
+ CFLAGS="-I$IMAP_INC_DIR"
+- AC_CACHE_CHECK(for U8T_DECOMPOSE, ac_cv_u8t_canonical,
++ AC_CACHE_CHECK(for U8T_DECOMPOSE, ac_cv_u8t_decompose,
+ AC_TRY_COMPILE([
+ #include <c-client.h>
+ ],[
+--
+2.7.4
+
include $(TOPDIR)/rules.mk
PKG_NAME:=alsa-lib
-PKG_VERSION:=1.1.4.1
+PKG_VERSION:=1.1.5
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:=91bb870c14d1c7c269213285eeed874fa3d28112077db061a3af8010d0885b76
+PKG_HASH:=f4f68ad3c6da36b0b5241ac3c798a7a71e0e97d51f972e9f723b3f20a9650ae6
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>, \
Peter Wagner <tripolar@gmx.at>
+++ /dev/null
---- a/aserver/aserver.c
-+++ b/aserver/aserver.c
-@@ -20,7 +20,7 @@
-
- #include <sys/shm.h>
- #include <sys/socket.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/un.h>
- #include <sys/uio.h>
- #include <stdio.h>
---- a/include/asoundlib-head.h
-+++ b/include/asoundlib-head.h
-@@ -35,6 +35,6 @@
- #include <string.h>
- #include <fcntl.h>
- #include <assert.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <errno.h>
- #include <stdarg.h>
---- a/include/asoundlib.h
-+++ b/include/asoundlib.h
-@@ -35,7 +35,7 @@
- #include <string.h>
- #include <fcntl.h>
- #include <assert.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <errno.h>
- #include <stdarg.h>
- #include <endian.h>
---- a/include/local.h
-+++ b/include/local.h
-@@ -47,7 +47,7 @@
- #error Header defining endianness not defined
- #endif
- #include <stdarg.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/types.h>
- #include <errno.h>
- #if defined(__linux__)
---- a/src/control/control.c
-+++ b/src/control/control.c
-@@ -90,7 +90,7 @@ against the original design.
- #include <string.h>
- #include <fcntl.h>
- #include <signal.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <stdbool.h>
- #include "control_local.h"
-
---- a/src/control/control_shm.c
-+++ b/src/control/control_shm.c
-@@ -27,7 +27,7 @@
- #include <fcntl.h>
- #include <sys/shm.h>
- #include <sys/socket.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/un.h>
- #include <sys/uio.h>
- #include <sys/mman.h>
---- a/src/pcm/pcm.c
-+++ b/src/pcm/pcm.c
-@@ -651,7 +651,7 @@ playback devices.
- #include <stdarg.h>
- #include <signal.h>
- #include <ctype.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/mman.h>
- #include <limits.h>
- #include "pcm_local.h"
---- a/src/pcm/pcm_direct.c
-+++ b/src/pcm/pcm_direct.c
-@@ -30,7 +30,7 @@
- #include <grp.h>
- #include <sys/ioctl.h>
- #include <sys/mman.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/shm.h>
- #include <sys/sem.h>
- #include <sys/wait.h>
---- a/src/pcm/pcm_mmap.c
-+++ b/src/pcm/pcm_mmap.c
-@@ -22,7 +22,7 @@
- #include <stdio.h>
- #include <malloc.h>
- #include <string.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/mman.h>
- #ifdef HAVE_SYS_SHM_H
- #include <sys/shm.h>
---- a/src/pcm/pcm_share.c
-+++ b/src/pcm/pcm_share.c
-@@ -34,7 +34,7 @@
- #include <signal.h>
- #include <math.h>
- #include <sys/socket.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <pthread.h>
- #include "pcm_local.h"
-
---- a/src/pcm/pcm_shm.c
-+++ b/src/pcm/pcm_shm.c
-@@ -36,7 +36,7 @@
- #include <sys/ioctl.h>
- #include <sys/shm.h>
- #include <sys/socket.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/un.h>
- #include <sys/mman.h>
- #include <netinet/in.h>
---- a/src/seq/seq.c
-+++ b/src/seq/seq.c
-@@ -777,7 +777,7 @@ void event_filter(snd_seq_t *seq, snd_se
-
- */
-
--#include <sys/poll.h>
-+#include <poll.h>
- #include "seq_local.h"
-
- /****************************************************************************
---- a/src/shmarea.c
-+++ b/src/shmarea.c
-@@ -27,7 +27,7 @@
- #include <malloc.h>
- #include <string.h>
- #include <errno.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/mman.h>
- #include <sys/shm.h>
- #include "list.h"
PKG_NAME:=freetype
PKG_VERSION:=2.8.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/freetype
define Build/InstallDev
$(INSTALL_DIR) $(1)/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/freetype-config $(1)/bin/
+ $(INSTALL_DIR) $(2)/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/freetype-config $(2)/bin/
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/freetype2 $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/freetype2.pc $(1)/usr/lib/pkgconfig/
- $(SED) \
- 's,^\(prefix\|exec_prefix\)=.*,\1="$(STAGING_DIR)/usr",; \
- s,^\(includedir\)=.*,\1="$(STAGING_DIR)/usr/include",; \
- s,^\(libdir\)=.*,\1="$(STAGING_DIR)/usr/lib",' \
- $(1)/bin/freetype-config
$(SED) \
's,/usr/include,$$$${prefix}/include,g; \
s,/usr/lib,$$$${exec_prefix}/lib,g' \
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfreetype.so.* $(1)/usr/lib/
endef
+$(eval $(call HostBuild))
$(eval $(call BuildPackage,libfreetype))
include $(TOPDIR)/rules.mk
PKG_NAME:=glib2
-PKG_VERSION:=2.54.2
+PKG_VERSION:=2.55.0
PKG_RELEASE:=1
PKG_SOURCE:=glib-$(PKG_VERSION).tar.xz
PKG_BUILD_DIR:=$(BUILD_DIR)/glib-$(PKG_VERSION)
-PKG_SOURCE_URL:=@GNOME/glib/2.54
-PKG_HASH:=bb89e5c5aad33169a8c7f28b45671c7899c12f74caf707737f784d7102758e6c
+PKG_SOURCE_URL:=@GNOME/glib/2.55
+PKG_HASH:=13fc009e68ca490f986f21a7d5d3a429486fb28a1f4e06298c9ac976067518f5
PKG_BUILD_PARALLEL:=1
HOST_BUILD_PARALLEL:=1
--- /dev/null
+#
+# Copyright (C) 2017 Lucian Cristian <lucian.cristian@gmail.com>
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=uw-imap
+PKG_VERSION:=2007f
+PKG_RELEASE:=1
+
+PKG_SOURCE:=imap-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:= \
+ https://www.mirrorservice.org/sites/ftp.cac.washington.edu/imap \
+ http://ftp.ntua.gr/pub/net/mail/imap \
+ http://gd.tuwien.ac.at/infosys/mail/imap
+
+PKG_HASH:=53e15a2b5c1bc80161d42e9f69792a3fa18332b7b771910131004eb520004a28
+PKG_BUILD_DIR:=$(BUILD_DIR)/imap-$(PKG_VERSION)
+
+PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
+
+PKG_LICENSE:=Apache-2.0
+PKG_LICENSE_FILES:=LICENSE.txt
+
+PKG_FIXUP:=autoreconf
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/uw-imap
+ SECTION:=libs
+ CATEGORY:=Libraries
+ TITLE:=University of Washington IMAP toolkit
+ URL:=https://www.washington.edu/imap/
+ DEPENDS:=+libpthread +libopenssl
+endef
+
+define Package/uw-imap/description
+ The UW IMAP tookit includes the following:
+ c-lient library : an API (application programming interface) used to build email clients and servers,
+ including support for IMAP,POP3, SMTP and NNTP protocols and for local mailbox file access on Unix and Windows
+endef
+
+TARGET_CFLAGS += \
+ -fPIC -DPIC -D_REENTRANT -DDISABLE_POP_PROXY -fno-strict-aliasing -Wno-pointer-sign \
+ -Wno-implicit-function-declaration -Wno-incompatible-pointer-types
+
+MAKE_FLAGS += \
+ SSLINCLUDE=$(STAGING_DIR)/usr/include SSLCERTS=/etc/ssl/certs GCCOPTLEVEL=" -Os" \
+ SSLDIR=$(STAGING_DIR)/usr SHLIBNAME=libc-client.so.$(PKG_VERSION) $(if $(CONFIG_IPV6),IP=6,IP=4)
+
+define Build/Compile
+ $(MAKE) -C $(PKG_BUILD_DIR) slx EXTRACFLAGS='$(TARGET_CFLAGS)' CC='$(TARGET_CC)' $(MAKE_FLAGS)
+endef
+
+define Build/InstallDev
+ $(INSTALL_DIR) $(1)/usr/lib \
+ $(1)/usr/include/c-client
+ $(CP) $(PKG_BUILD_DIR)/c-client/libc-client.so.$(PKG_VERSION) $(1)/usr/lib/
+ $(LN) libc-client.so.$(PKG_VERSION) $(1)/usr/lib/libc-client.so
+ $(CP) $(PKG_BUILD_DIR)/c-client/linkage.h $(1)/usr/include/c-client/
+ $(CP) $(PKG_BUILD_DIR)/src/c-client/*.h $(1)/usr/include/c-client/
+ $(CP) $(PKG_BUILD_DIR)/src/osdep/unix/*.h $(1)/usr/include/c-client/
+ $(LN) os_slx.h $(1)/usr/include/c-client/osdep.h
+endef
+
+define Package/uw-imap/install
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_BUILD_DIR)/c-client/libc-client.so.$(PKG_VERSION) $(1)/usr/lib/
+ $(LN) libc-client.so.$(PKG_VERSION) $(1)/usr/lib/libc-client.so
+endef
+
+
+$(eval $(call BuildPackage,uw-imap))
--- /dev/null
+--- a/Makefile 2017-11-13 01:13:36.340236114 +0200
++++ b/Makefile 2017-11-13 01:34:56.869682313 +0200
+@@ -638,10 +638,6 @@
+ @echo + yourself, try adding IP6=4 to the make command line.
+ @echo +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ @echo
+- @echo Do you want to build with IPv6 anyway? Type y or n please:
+- @$(SH) -c 'read x; case "$$x" in y) exit 0;; *) (make noip6;exit 1);; esac'
+- @echo OK, I will remember that you really want to build with IPv6.
+- @echo You will not see this message again.
+ @$(TOUCH) ip6
+
+ noip6:
+@@ -678,20 +674,18 @@
+ $(TOOLS)/$@ "$(LN)" src/tmail tmail
+ $(LN) $(TOOLS)/$@ .
+
+-build: OSTYPE rebuild rebuildclean bundled
++build: OSTYPE rebuild rebuildclean
+
+ OSTYPE:
+ @$(MAKE) ip$(IP)
+ @echo Building c-client for $(BUILDTYPE)...
+ @$(TOUCH) SPECIALS
+- echo `$(CAT) SPECIALS` $(EXTRASPECIALS) > c-client/SPECIALS
+ $(CD) c-client;$(MAKE) $(BUILDTYPE) EXTRACFLAGS='$(EXTRACFLAGS)'\
+ EXTRALDFLAGS='$(EXTRALDFLAGS)'\
+ EXTRADRIVERS='$(EXTRADRIVERS)'\
+ EXTRAAUTHENTICATORS='$(EXTRAAUTHENTICATORS)'\
+ PASSWDTYPE=$(PASSWDTYPE) SSLTYPE=$(SSLTYPE) IP=$(IP)\
+- $(SPECIALS) $(EXTRASPECIALS)
+- echo $(BUILDTYPE) > OSTYPE
++ $(SPECIALS) $(EXTRASPECIALS) OSTYPE=$(BUILDTYPE)
+ $(TOUCH) rebuild
+
+ rebuild:
+--- a/src/osdep/unix/Makefile 2017-11-13 01:37:58.674011768 +0200
++++ b/src/osdep/unix/Makefile 2017-11-13 03:30:18.204908962 +0200
+@@ -96,11 +96,11 @@
+ LOGINPW=std
+ SIGTYPE=bsd
+ CRXTYPE=std
+-ACTIVEFILE=/usr/lib/news/active
+-SPOOLDIR=/usr/spool
++ACTIVEFILE=/var/lib/news/active
++SPOOLDIR=/var/spool
+ MAILSPOOL=$(SPOOLDIR)/mail
+ NEWSSPOOL=$(SPOOLDIR)/news
+-RSHPATH=/usr/ucb/rsh
++RSHPATH=/usr/bin/rsh
+ MD5PWD=/etc/cram-md5.pwd
+ # Tries one of the test alternatives below if not specified.
+ LOCKPGM=
+@@ -154,7 +154,7 @@
+ dummy.o pseudo.o netmsg.o flstring.o fdstring.o \
+ rfc822.o nntp.o smtp.o imap4r1.o pop3.o \
+ unix.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o mix.o
+-CFLAGS=-g
++CFLAGS=$(BASECFLAGS) $(EXTRACFLAGS) -DCHUNKSIZE=$(CHUNKSIZE)
+
+ CAT=cat
+ MAKE=make
+@@ -162,6 +162,16 @@
+ RM=rm -rf
+ SH=sh
+
++OSCFLAGS= $(SSLCFLAGS) \
++ -DCREATEPROTO=$(CREATEPROTO) -DEMPTYPROTO=$(EMPTYPROTO) \
++ -DMD5ENABLE=\"$(MD5PWD)\" -DMAILSPOOL=\"$(MAILSPOOL)\" \
++ -DANONYMOUSHOME=\"$(MAILSPOOL)/anonymous\" \
++ -DACTIVEFILE=\"$(ACTIVEFILE)\" -DNEWSSPOOL=\"$(NEWSSPOOL)\" \
++ -DRSHPATH=\"$(RSHPATH)\" -DLOCKPGM=\"$(LOCKPGM)\" \
++ -DLOCKPGM1=\"$(LOCKPGM1)\" -DLOCKPGM2=\"$(LOCKPGM2)\" \
++ -DLOCKPGM3=\"$(LOCKPGM3)\"
++
++LDFLAGS= $(BASELDFLAGS) $(EXTRALDFLAGS) $(SSLLDFLAGS)
+
+ # Primary build command
+
+@@ -174,7 +184,7 @@
+ # Here if no make argument established
+
+ missing: osdep.h
+- $(MAKE) all `$(CAT) SPECIALS`
++ $(MAKE) all $(SPECIALS)
+
+ osdep.h:
+ @echo You must specify what type of system
+@@ -674,7 +684,7 @@
+ @echo You are building for libc6/glibc versions of Secure Linux
+ @echo If you want libc5 versions you must use sl5 instead!
+ @echo If you want libc4 versions you must use sl4 instead!
+- $(BUILD) `$(CAT) SPECIALS` OS=$@ \
++ $(BUILD) $(SPECIALS) OS=$@ \
+ SIGTYPE=psx CHECKPW=psx CRXTYPE=nfs \
+ SPOOLDIR=/var/spool \
+ ACTIVEFILE=/var/lib/news/active \
+@@ -863,7 +873,7 @@
+ @$(SH) ARCHIVE
+
+ .c.o:
+- `$(CAT) CCTYPE` -c `$(CAT) CFLAGS` $*.c
++ $(CC) -c $(CFLAGS) $*.c
+
+
+ # Cleanup
+@@ -922,8 +932,8 @@
+ @echo If you get No such file error messages for files x509.h, ssl.h,
+ @echo pem.h, buffer.h, bio.h, and crypto.h, that means that OpenSSL
+ @echo is not installed on your system. Either install OpenSSL first
+- @echo or build with command: make `$(CAT) OSTYPE` SSLTYPE=none
+- `$(CAT) CCTYPE` -c `$(CAT) CFLAGS` `$(CAT) OSCFLAGS` -c osdep.c
++ @echo or build with command: make $(OSTYPE) SSLTYPE=none
++ $(CC) -c $(CFLAGS) $(OSCFLAGS) -c osdep.c
+
+ osdep.c: osdepbas.c osdepckp.c osdeplog.c osdepssl.c
+ $(CAT) osdepbas.c osdepckp.c osdeplog.c osdepssl.c > osdep.c
+@@ -962,21 +972,14 @@
+
+ # Once-only environment setup
+
+-once: onceenv ckp$(PASSWDTYPE) ssl$(SSLTYPE) osdep.c
++once: ssl$(SSLTYPE) onceenv ckp$(PASSWDTYPE) osdep.c
+
+ onceenv:
+ @echo Once-only environment setup...
+- echo $(CC) > CCTYPE
+- echo $(BASECFLAGS) '$(EXTRACFLAGS)' -DCHUNKSIZE=$(CHUNKSIZE) > CFLAGS
+- echo -DCREATEPROTO=$(CREATEPROTO) -DEMPTYPROTO=$(EMPTYPROTO) \
+- -DMD5ENABLE=\"$(MD5PWD)\" -DMAILSPOOL=\"$(MAILSPOOL)\" \
+- -DANONYMOUSHOME=\"$(MAILSPOOL)/anonymous\" \
+- -DACTIVEFILE=\"$(ACTIVEFILE)\" -DNEWSSPOOL=\"$(NEWSSPOOL)\" \
+- -DRSHPATH=\"$(RSHPATH)\" -DLOCKPGM=\"$(LOCKPGM)\" \
+- -DLOCKPGM1=\"$(LOCKPGM1)\" -DLOCKPGM2=\"$(LOCKPGM2)\" \
+- -DLOCKPGM3=\"$(LOCKPGM3)\" > OSCFLAGS
+- echo $(BASELDFLAGS) $(EXTRALDFLAGS) > LDFLAGS
+ echo "$(ARRC) $(ARCHIVE) $(BINARIES);$(RANLIB) $(ARCHIVE)" > ARCHIVE
++ echo "$(OSCFLAGS)" > OSCFLAGS
++ echo "$(CC) $(CFLAGS) $(OSCFLAGS) -shared -Wl,-soname,libc-client.so \
++ -o $(SHLIBNAME) $(BINARIES) $(LDFLAGS)" >> ARCHIVE
+ echo $(OS) > OSTYPE
+ ./drivers $(EXTRADRIVERS) $(DEFAULTDRIVERS) dummy
+ ./mkauths $(EXTRAAUTHENTICATORS) $(DEFAULTAUTHENTICATORS)
+@@ -1055,7 +1058,6 @@
+ sbasic: # UNIX OpenSSL
+ @echo Building with SSL
+ $(LN) ssl_unix.c osdepssl.c
+- echo $(SSLCFLAGS) >> OSCFLAGS
+ echo " ssl_onceonlyinit ();" >> linkage.c
+
+ snopwd: # Plaintext disable
+@@ -1063,13 +1065,12 @@
+ echo " mail_parameters (NIL,SET_DISABLEPLAINTEXT,(void *) 2);" >> linkage.c
+
+ sldunix:# Normal UNIX SSL load flags
+- echo $(SSLLDFLAGS) >> LDFLAGS
++ @echo Normal UNIX SSL load flags
+
+
+ sldsco: # SCO SSL load flags
+ # Note: Tim Rice says that SSL has to be lunk before other libraries on SCO.
+- echo $(SSLLDFLAGS) `cat LDFLAGS` > LDFLAGS.tmp
+- mv LDFLAGS.tmp LDFLAGS
++ @echo SCO SSL load flags
+
+
+ # A monument to a hack of long ago and far away...
--- /dev/null
+Patch by Robert Scheck <redhat@linuxnetz.de> for uw-imap >= 2004a, which corrects
+paths to imapd, ipop2d and ipop3d in the man pages.
+
+This patch is based on Red Hat Bugzilla ID #127271 and solves ID #229781.
+
+--- imap-2004a/src/imapd/imapd.8 2004-05-18 19:46:54.000000000 +0200
++++ imap-2004a/src/imapd/imapd.8.doc 2004-07-23 15:24:17.000000000 +0200
+@@ -3,7 +3,7 @@
+ .SH NAME
+ IMAPd \- Internet Message Access Protocol server
+ .SH SYNOPSIS
+-.B /usr/etc/imapd
++.B /usr/sbin/imapd
+ .SH DESCRIPTION
+ .I imapd
+ is a server which supports the
+--- imap-2004a/src/ipopd/ipopd.8 2004-05-18 19:50:05.000000000 +0200
++++ imap-2004a/src/ipopd/ipopd.8.doc 2004-07-23 15:23:38.000000000 +0200
+@@ -3,9 +3,9 @@
+ .SH NAME
+ IPOPd \- Post Office Protocol server
+ .SH SYNOPSIS
+-.B /usr/etc/ipop2d
++.B /usr/sbin/ipop2d
+ .PP
+-.B /usr/etc/ipop3d
++.B /usr/sbin/ipop3d
+ .SH DESCRIPTION
+ .I ipop2d
+ and
--- /dev/null
+diff -up imap-2007e/src/c-client/rfc822.c.overflow imap-2007e/src/c-client/rfc822.c
+--- imap-2007e/src/c-client/rfc822.c.overflow 2008-12-12 11:08:26.000000000 -0600
++++ imap-2007e/src/c-client/rfc822.c 2009-07-07 19:27:20.057772757 -0500
+@@ -384,6 +384,9 @@ void rfc822_parse_content (BODY *body,ST
+ if (CHR (bs) == '\012'){/* following LF? */
+ c = SNX (bs); i--; /* yes, slurp it */
+ }
++ if (!i) /* Make sure we don't get an overflow for */
++ break; /* messages ending on \015 (or the following */
++ /* i-- will cause i to be MAXINT. Not good.) */
+ case '\012': /* at start of a line, start with -- ? */
+ if (!(i && i-- && ((c = SNX (bs)) == '-') && i-- &&
+ ((c = SNX (bs)) == '-'))) break;
--- /dev/null
+diff -up imap-2007e/src/c-client/auth_md5.c.authmd5 imap-2007e/src/c-client/auth_md5.c
+--- imap-2007e/src/c-client/auth_md5.c.authmd5 2008-06-04 13:18:34.000000000 -0500
++++ imap-2007e/src/c-client/auth_md5.c 2009-07-07 19:24:12.348005485 -0500
+@@ -42,17 +42,17 @@ typedef struct {
+
+ /* Prototypes */
+
+-long auth_md5_valid (void);
+-long auth_md5_client (authchallenge_t challenger,authrespond_t responder,
++static long auth_md5_valid (void);
++static long auth_md5_client (authchallenge_t challenger,authrespond_t responder,
+ char *service,NETMBX *mb,void *stream,
+ unsigned long *trial,char *user);
+-char *auth_md5_server (authresponse_t responder,int argc,char *argv[]);
+-char *auth_md5_pwd (char *user);
++static char *auth_md5_server (authresponse_t responder,int argc,char *argv[]);
++static char *auth_md5_pwd (char *user);
+ char *apop_login (char *chal,char *user,char *md5,int argc,char *argv[]);
+-char *hmac_md5 (char *text,unsigned long tl,char *key,unsigned long kl);
+-void md5_init (MD5CONTEXT *ctx);
+-void md5_update (MD5CONTEXT *ctx,unsigned char *data,unsigned long len);
+-void md5_final (unsigned char *digest,MD5CONTEXT *ctx);
++static char *hmac_md5 (char *text,unsigned long tl,char *key,unsigned long kl);
++static void md5_init (MD5CONTEXT *ctx);
++static void md5_update (MD5CONTEXT *ctx,unsigned char *data,unsigned long len);
++static void md5_final (unsigned char *digest,MD5CONTEXT *ctx);
+ static void md5_transform (unsigned long *state,unsigned char *block);
+ static void md5_encode (unsigned char *dst,unsigned long *src,int len);
+ static void md5_decode (unsigned long *dst,unsigned char *src,int len);
--- /dev/null
+diff -Naur imap-2007f.orig/src/osdep/unix/flocklnx.c imap-2007f/src/osdep/unix/flocklnx.c
+--- imap-2007f.orig/src/osdep/unix/flocklnx.c 2011-07-23 02:20:11.000000000 +0200
++++ imap-2007f/src/osdep/unix/flocklnx.c 2014-04-14 19:17:46.429000000 +0200
+@@ -57,7 +57,7 @@
+ case ENOLCK: /* lock table is full */
+ sprintf (tmp,"File locking failure: %s",strerror (errno));
+ mm_log (tmp,WARN); /* give the user a warning of what happened */
+- if (!logged++) syslog (LOG_ERR,tmp);
++ if (!logged++) syslog (LOG_ERR, "%s", tmp);
+ /* return failure if non-blocking lock */
+ if (op & LOCK_NB) return -1;
+ sleep (5); /* slow down in case it loops */
--- /dev/null
+http://anonscm.debian.org/cgit/collab-maint/uw-imap.git/plain/debian/patches/1005_poll.patch
+
+Description: Use poll(2) instead of select(2) to support more than 1024 file descriptors
+Author: Ben Smithurst <ben.smithurst@gradwell.com>
+Bug-Debian: https://bugs.debian.org/478193
+
+diff --git a/src/osdep/unix/os_lnx.c b/src/osdep/unix/os_lnx.c
+index 03fd17d..671bbd6 100644
+--- a/src/osdep/unix/os_lnx.c
++++ b/src/osdep/unix/os_lnx.c
+@@ -41,6 +41,7 @@
+ extern int errno; /* just in case */
+ #include <pwd.h>
+ #include "misc.h"
++#include <poll.h>
+
+
+ #include "fs_unix.c"
+diff --git a/src/osdep/unix/os_slx.c b/src/osdep/unix/os_slx.c
+index c94d632..f6bf27d 100644
+--- a/src/osdep/unix/os_slx.c
++++ b/src/osdep/unix/os_slx.c
+@@ -42,6 +42,7 @@ extern int errno; /* just in case */
+ #include <pwd.h>
+ #include <shadow.h>
+ #include "misc.h"
++#include <poll.h>
+
+
+ #include "fs_unix.c"
+diff --git a/src/osdep/unix/tcp_unix.c b/src/osdep/unix/tcp_unix.c
+index 795fb4f..c69eaec 100644
+--- a/src/osdep/unix/tcp_unix.c
++++ b/src/osdep/unix/tcp_unix.c
+@@ -235,12 +235,11 @@ TCPSTREAM *tcp_open (char *host,char *service,unsigned long port)
+ int tcp_socket_open (int family,void *adr,size_t adrlen,unsigned short port,
+ char *tmp,int *ctr,char *hst)
+ {
+- int i,ti,sock,flgs;
++ int i,ti,sock,flgs,tmo;
++ struct pollfd pfd;
+ size_t len;
+ time_t now;
+ struct protoent *pt = getprotobyname ("tcp");
+- fd_set rfds,wfds,efds;
+- struct timeval tmo;
+ struct sockaddr *sadr = ip_sockaddr (family,adr,adrlen,port,&len);
+ blocknotify_t bn = (blocknotify_t) mail_parameters (NIL,GET_BLOCKNOTIFY,NIL);
+ /* fetid Solaris */
+@@ -252,14 +251,6 @@ int tcp_socket_open (int family,void *adr,size_t adrlen,unsigned short port,
+ sprintf (tmp,"Unable to create TCP socket: %s",strerror (errno));
+ (*bn) (BLOCK_NONSENSITIVE,data);
+ }
+- else if (sock >= FD_SETSIZE) {/* unselectable sockets are useless */
+- sprintf (tmp,"Unable to create selectable TCP socket (%d >= %d)",
+- sock,FD_SETSIZE);
+- (*bn) (BLOCK_NONSENSITIVE,data);
+- close (sock);
+- sock = -1;
+- errno = EMFILE;
+- }
+ \f
+ else { /* get current socket flags */
+ flgs = fcntl (sock,F_GETFL,0);
+@@ -284,16 +275,11 @@ int tcp_socket_open (int family,void *adr,size_t adrlen,unsigned short port,
+ if ((sock >= 0) && ctr) { /* want open timeout? */
+ now = time (0); /* open timeout */
+ ti = ttmo_open ? now + ttmo_open : 0;
+- tmo.tv_usec = 0;
+- FD_ZERO (&rfds); /* initialize selection vector */
+- FD_ZERO (&wfds); /* initialize selection vector */
+- FD_ZERO (&efds); /* handle errors too */
+- FD_SET (sock,&rfds); /* block for error or readable or writable */
+- FD_SET (sock,&wfds);
+- FD_SET (sock,&efds);
++ pfd.fd = sock;
++ pfd.events = POLLIN | POLLOUT;
+ do { /* block under timeout */
+- tmo.tv_sec = ti ? ti - now : 0;
+- i = select (sock+1,&rfds,&wfds,&efds,ti ? &tmo : NIL);
++ tmo = ti ? ti - now : 0;
++ i = poll (&pfd, 1, ti ? tmo * 1000 : -1);
+ now = time (0); /* fake timeout if interrupt & time expired */
+ if ((i < 0) && (errno == EINTR) && ti && (ti <= now)) i = 0;
+ } while ((i < 0) && (errno == EINTR));
+@@ -302,7 +288,7 @@ int tcp_socket_open (int family,void *adr,size_t adrlen,unsigned short port,
+ fcntl (sock,F_SETFL,flgs);
+ /* This used to be a zero-byte read(), but that crashes Solaris */
+ /* get socket status */
+- if(FD_ISSET(sock, &rfds)) while (((i = *ctr = read (sock,tmp,1)) < 0) && (errno == EINTR));
++ if(pfd.revents & POLLIN) while (((i = *ctr = read (sock,tmp,1)) < 0) && (errno == EINTR));
+ }
+ if (i <= 0) { /* timeout or error? */
+ i = i ? errno : ETIMEDOUT;/* determine error code */
+@@ -545,9 +531,8 @@ long tcp_getbuffer (TCPSTREAM *stream,unsigned long size,char *s)
+ stream->ictr -=n;
+ }
+ if (size) {
+- int i;
+- fd_set fds,efds;
+- struct timeval tmo;
++ int i, tmo;
++ struct pollfd pfd;
+ time_t t = time (0);
+ blocknotify_t bn=(blocknotify_t) mail_parameters (NIL,GET_BLOCKNOTIFY,NIL);
+ (*bn) (BLOCK_TCPREAD,NIL);
+@@ -556,16 +541,13 @@ long tcp_getbuffer (TCPSTREAM *stream,unsigned long size,char *s)
+ time_t now = tl;
+ time_t ti = ttmo_read ? now + ttmo_read : 0;
+ if (tcpdebug) mm_log ("Reading TCP buffer",TCPDEBUG);
+- tmo.tv_usec = 0;
+- FD_ZERO (&fds); /* initialize selection vector */
+- FD_ZERO (&efds); /* handle errors too */
+- /* set bit in selection vectors */
+- FD_SET (stream->tcpsi,&fds);
+- FD_SET (stream->tcpsi,&efds);
++
++ pfd.events = POLLIN;
++ pfd.fd = stream->tcpsi;
+ errno = NIL; /* initially no error */
+ do { /* block under timeout */
+- tmo.tv_sec = ti ? ti - now : 0;
+- i = select (stream->tcpsi+1,&fds,NIL,&efds,ti ? &tmo : NIL);
++ tmo = ti ? ti - now : 0;
++ i = poll (&pfd, 1, ti ? tmo * 1000 : -1);
+ now = time (0); /* fake timeout if interrupt & time expired */
+ if ((i < 0) && (errno == EINTR) && ti && (ti <= now)) i = 0;
+ } while ((i < 0) && (errno == EINTR));
+@@ -605,9 +587,8 @@ long tcp_getbuffer (TCPSTREAM *stream,unsigned long size,char *s)
+
+ long tcp_getdata (TCPSTREAM *stream)
+ {
+- int i;
+- fd_set fds,efds;
+- struct timeval tmo;
++ int i, tmo;
++ struct pollfd pfd;
+ time_t t = time (0);
+ blocknotify_t bn = (blocknotify_t) mail_parameters (NIL,GET_BLOCKNOTIFY,NIL);
+ if (stream->tcpsi < 0) return NIL;
+@@ -617,15 +598,12 @@ long tcp_getdata (TCPSTREAM *stream)
+ time_t now = tl;
+ time_t ti = ttmo_read ? now + ttmo_read : 0;
+ if (tcpdebug) mm_log ("Reading TCP data",TCPDEBUG);
+- tmo.tv_usec = 0;
+- FD_ZERO (&fds); /* initialize selection vector */
+- FD_ZERO (&efds); /* handle errors too */
+- FD_SET (stream->tcpsi,&fds);/* set bit in selection vectors */
+- FD_SET (stream->tcpsi,&efds);
++ pfd.fd = stream->tcpsi;
++ pfd.events = POLLIN;
+ errno = NIL; /* initially no error */
+ do { /* block under timeout */
+- tmo.tv_sec = ti ? ti - now : 0;
+- i = select (stream->tcpsi+1,&fds,NIL,&efds,ti ? &tmo : NIL);
++ tmo = ti ? ti - now : 0;
++ i = poll (&pfd, 1, ti ? tmo * 1000 : -1);
+ now = time (0); /* fake timeout if interrupt & time expired */
+ if ((i < 0) && (errno == EINTR) && ti && (ti <= now)) i = 0;
+ } while ((i < 0) && (errno == EINTR));
+@@ -677,9 +655,8 @@ long tcp_soutr (TCPSTREAM *stream,char *string)
+
+ long tcp_sout (TCPSTREAM *stream,char *string,unsigned long size)
+ {
+- int i;
+- fd_set fds,efds;
+- struct timeval tmo;
++ int i, tmo;
++ struct pollfd pfd;
+ time_t t = time (0);
+ blocknotify_t bn = (blocknotify_t) mail_parameters (NIL,GET_BLOCKNOTIFY,NIL);
+ if (stream->tcpso < 0) return NIL;
+@@ -689,15 +666,12 @@ long tcp_sout (TCPSTREAM *stream,char *string,unsigned long size)
+ time_t now = tl;
+ time_t ti = ttmo_write ? now + ttmo_write : 0;
+ if (tcpdebug) mm_log ("Writing to TCP",TCPDEBUG);
+- tmo.tv_usec = 0;
+- FD_ZERO (&fds); /* initialize selection vector */
+- FD_ZERO (&efds); /* handle errors too */
+- FD_SET (stream->tcpso,&fds);/* set bit in selection vector */
+- FD_SET(stream->tcpso,&efds);/* set bit in error selection vector */
++ pfd.fd = stream->tcpso;
++ pfd.events = POLLOUT;
+ errno = NIL; /* block and write */
+ do { /* block under timeout */
+- tmo.tv_sec = ti ? ti - now : 0;
+- i = select (stream->tcpso+1,NIL,&fds,&efds,ti ? &tmo : NIL);
++ tmo = ti ? ti - now : 0;
++ i = poll (&pfd, 1, ti ? tmo * 1000 : -1);
+ now = time (0); /* fake timeout if interrupt & time expired */
+ if ((i < 0) && (errno == EINTR) && ti && (ti <= now)) i = 0;
+ } while ((i < 0) && (errno == EINTR));
include $(TOPDIR)/rules.mk
PKG_NAME:=postfix
-PKG_RELEASE:=2
-PKG_VERSION:=3.2.3
+PKG_RELEASE:=1
+PKG_VERSION:=3.2.4
PKG_SOURCE_URL:= \
https://cdn.postfix.johnriley.me/mirrors/postfix-release/official/ \
ftp://ftp.porcupine.org/mirrors/postfix-release/official/
-PKG_HASH:=5b0b975d075ea7561028d4109c581549b794aa92d733429ea6d9fa57751140bf
+PKG_HASH:=ec55ebaa2aa464792af8d5ee103eb68b27a42dc2b36a02fee42dafbf9740c7f6
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_MAINTAINER:=Denis Shulyaka <Shulyaka@gmail.com>
PKG_LICENSE:=IPL-1.0
--- /dev/null
+This patch fixes the runtime error when libmilter is used with Postfix:
+"unix_send_fd: your system has no support for file descriptor passing"
+
+The issue has been fixed upstream in 20170618 update to Postfix v.3.3:
+http://postfix.1071664.n5.nabble.com/Fix-check-for-file-descriptor-passing-td90983.html
+
+This patch must be removed before compiling Postfix v.3.3.*
+
+--- a/src/util/sys_defs.h
++++ b/src/util/sys_defs.h
+@@ -804,7 +804,7 @@ extern int initgroups(const char *, int)
+ #define KERNEL_VERSION(a,b,c) (LINUX_VERSION_CODE + 1)
+ #endif
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,2,0)) \
+- || (__GLIBC__ < 2)
++ || (defined(__GLIBC__) && __GLIBC__ < 2)
+ #define CANT_USE_SEND_RECV_MSG
+ #define DEF_SMTP_CACHE_DEMAND 0
+ #else
include $(TOPDIR)/rules.mk
PKG_NAME:=ffmpeg
-PKG_VERSION:=3.2.8
+PKG_VERSION:=3.2.9
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://ffmpeg.org/releases/
-PKG_HASH:=42e7362692318afc666f14378dd445effa9a1b09787504a6ab5811fe442674cd
+PKG_HASH:=1131d37890ed3dcbc3970452b200a56ceb36b73eaa51d1c23c770c90f928537f
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>, \
Ian Leonard <antonlacon@gmail.com>
$(patsubst %,CONFIG_FFMPEG_CUSTOM_PARSER_%,$(FFMPEG_CUSTOM_PARSERS)) \
$(patsubst %,CONFIG_FFMPEG_CUSTOM_PROTOCOL_%,$(FFMPEG_CUSTOM_PROTOCOLS))
+PKG_BUILD_DEPENDS:= \
+ PACKAGE_shine:shine \
+ PACKAGE_libx264:libx264 \
+ PACKAGE_lame-lib:lame-lib \
+ PACKAGE_libopus:libopus
+
include $(INCLUDE_DIR)/package.mk
define Package/ffmpeg/Default
endef
+# Package build suppressed when CONFIG_ALL=y
define Package/libffmpeg-custom
$(call Package/libffmpeg/Default)
TITLE+= (custom)
- DEPENDS+= +FFMPEG_CUSTOM_SELECT_libopus:libopus \
+ DEPENDS+= @!ALL \
+ +FFMPEG_CUSTOM_SELECT_libopus:libopus \
+PACKAGE_libx264:libx264 +PACKAGE_lame-lib:lame-lib \
+FFMPEG_CUSTOM_SELECT_libshine:shine \
+PACKAGE_fdk-aac:fdk-aac
$(eval $(call BuildPackage,libffmpeg-audio-dec))
$(eval $(call BuildPackage,libffmpeg-full))
$(eval $(call BuildPackage,libffmpeg-mini))
-ifneq ($(CONFIG_ALL),y)
- $(eval $(call BuildPackage,libffmpeg-custom))
-endif
+$(eval $(call BuildPackage,libffmpeg-custom))
include $(TOPDIR)/rules.mk
PKG_NAME:=gst1-libav
-PKG_VERSION:=1.8.2
-PKG_RELEASE:=2
+PKG_VERSION:=1.10.5
+PKG_RELEASE:=1
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
Ted Hess <thess@kitschensync.net>
PKG_SOURCE:=gst-libav-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-libav
-PKG_HASH:=b5f3c7a27b39b5f5c2f0bfd546b0c655020faf6b38d27b64b346c43e5ebf687a
+PKG_HASH:=e4d2f315f478d47281fbfdfbd590a63d23704ca37911d7142d5992616f4b28d3
PKG_LICENSE:=GPL-2.0 LGPL-2.0
PKG_LICENSE_FILES:=COPYING COPYING.LIB
CONFIGURE_ARGS += \
--without-system-libav \
- --with-libav-extra-configure="--target-os=linux \
- $(if $(findstring " ",$(CONFIG_CPU_TYPE)),,--cpu=$(CONFIG_CPU_TYPE)) \
--disable-bsfs \
--disable-programs \
--disable-devices \
include $(TOPDIR)/rules.mk
PKG_NAME:=gst1-plugins-bad
-PKG_VERSION:=1.8.2
+PKG_VERSION:=1.10.5
PKG_RELEASE:=1
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-bad-$(PKG_VERSION)
PKG_SOURCE:=gst-plugins-bad-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-plugins-bad/
-PKG_HASH:=d7995317530c8773ec088f94d9320909d41da61996b801ebacce9a56af493f97
+PKG_HASH:=c5806040bb83b43be86ce592e6a19c5d83d7776f7d9f434eb4b911c4efff3573
-PKG_BUILD_DEPENDS:= libgstreamer1 gstreamer1-plugins-base
+PKG_BUILD_DEPENDS:= libgstreamer1 gst1-plugins-base libgst1basecamerabinsrc libgst1photography libgst1adaptivedemux libgst1uridownloader libgst1badbase
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
SECTION:=multimedia
TITLE:=GStreamer
URL:=http://gstreamer.freedesktop.org/
- DEPENDS:= +libgstreamer1 $(ICONV_DEPENDS)
+ DEPENDS:= +gst1-plugins-base +libgstreamer1 +libgst1pbutils $(ICONV_DEPENDS)
endef
define Package/gstreamer1-bad/description/Default
--- a/configure.ac
+++ b/configure.ac
-@@ -3717,7 +3717,6 @@ ext/x265/Makefile
- ext/xvid/Makefile
+@@ -3841,7 +3841,6 @@ ext/xvid/Makefile
ext/zbar/Makefile
ext/dtls/Makefile
+ ext/webrtcdsp/Makefile
-po/Makefile.in
docs/Makefile
docs/plugins/Makefile
--- a/configure.ac
+++ b/configure.ac
-@@ -3617,38 +3617,6 @@ sys/wasapi/Makefile
+@@ -3739,37 +3739,6 @@ sys/wasapi/Makefile
sys/wininet/Makefile
sys/winks/Makefile
sys/winscreencap/Makefile
-tests/examples/gl/generic/doublecube/Makefile
-tests/examples/gl/generic/recordgraphic/Makefile
-tests/examples/gl/gtk/Makefile
--tests/examples/gl/gtk/gtkvideooverlay/Makefile
-tests/examples/gl/gtk/3dvideo/Makefile
-tests/examples/gl/gtk/filternovideooverlay/Makefile
-tests/examples/gl/gtk/filtervideooverlay/Makefile
include $(TOPDIR)/rules.mk
PKG_NAME:=gst1-plugins-base
-PKG_VERSION:=1.8.2
+PKG_VERSION:=1.10.5
PKG_RELEASE:=1
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-base-$(PKG_VERSION)
PKG_SOURCE:=gst-plugins-base-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-plugins-base/
-PKG_HASH:=9d7109c8fb0a5dec8edb17b0053c59a46aba7ddf48dc48ea822ebbbd4339d38d
+PKG_HASH:=1c401a79bd1e4521c6ef1b66579bddedd9136e164e54792aab4bfcf3485bf9a7
PKG_BUILD_DEPENDS:= libgstreamer1
PKG_CONFIG_DEPENDS:= \
--- a/configure.ac
+++ b/configure.ac
-@@ -929,7 +929,6 @@ docs/design/Makefile
+@@ -963,7 +963,6 @@ docs/design/Makefile
docs/libs/Makefile
docs/plugins/Makefile
docs/version.entities
--- a/configure.ac
+++ b/configure.ac
-@@ -907,23 +907,6 @@ pkgconfig/gstreamer-video.pc
+@@ -940,24 +940,6 @@ pkgconfig/gstreamer-video.pc
pkgconfig/gstreamer-video-uninstalled.pc
pkgconfig/gstreamer-plugins-base.pc
pkgconfig/gstreamer-plugins-base-uninstalled.pc
-tests/examples/Makefile
-tests/examples/app/Makefile
-tests/examples/audio/Makefile
+-tests/examples/decodebin_next/Makefile
-tests/examples/dynamic/Makefile
-tests/examples/encoding/Makefile
-tests/examples/fft/Makefile
--- a/configure.ac
+++ b/configure.ac
-@@ -907,11 +907,6 @@ pkgconfig/gstreamer-video.pc
+@@ -940,11 +940,6 @@ pkgconfig/gstreamer-video.pc
pkgconfig/gstreamer-video-uninstalled.pc
pkgconfig/gstreamer-plugins-base.pc
pkgconfig/gstreamer-plugins-base-uninstalled.pc
include $(TOPDIR)/rules.mk
PKG_NAME:=gst1-plugins-good
-PKG_VERSION:=1.8.2
+PKG_VERSION:=1.10.5
PKG_RELEASE:=1
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-good-$(PKG_VERSION)
PKG_SOURCE:=gst-plugins-good-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-plugins-good/
-PKG_HASH:=8d7549118a3b7a009ece6bb38a05b66709c551d32d2adfd89eded4d1d7a23944
+PKG_HASH:=be053f6ed716eeb517cec148cec637cdce571c6e04d5c21409e2876fb76c7639
-PKG_BUILD_DEPENDS:= libgstreamer1 gstreamer1-plugins-base
+PKG_BUILD_DEPENDS:= libgstreamer1 gst1-plugins-base
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
SECTION:=multimedia
TITLE:=GStreamer
URL:=http://gstreamer.freedesktop.org/
- DEPENDS:= +libgstreamer1 $(ICONV_DEPENDS)
+ DEPENDS:= +libgstreamer1 +libgst1pbutils $(ICONV_DEPENDS)
endef
define Package/gstreamer1-good/description/Default
--- a/configure.ac
+++ b/configure.ac
-@@ -1049,7 +1049,6 @@ sys/sunaudio/Makefile
+@@ -1061,7 +1061,6 @@ sys/sunaudio/Makefile
sys/v4l2/Makefile
sys/waveform/Makefile
sys/ximage/Makefile
--- a/configure.ac
+++ b/configure.ac
-@@ -1049,21 +1049,6 @@ sys/sunaudio/Makefile
+@@ -1061,21 +1061,6 @@ sys/sunaudio/Makefile
sys/v4l2/Makefile
sys/waveform/Makefile
sys/ximage/Makefile
--- a/configure.ac
+++ b/configure.ac
-@@ -1052,9 +1052,6 @@ sys/ximage/Makefile
+@@ -1064,9 +1064,6 @@ sys/ximage/Makefile
common/Makefile
common/m4/Makefile
m4/Makefile
include $(TOPDIR)/rules.mk
PKG_NAME:=gst1-plugins-ugly
-PKG_VERSION:=1.8.2
+PKG_VERSION:=1.10.5
PKG_RELEASE:=1
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-ugly-$(PKG_VERSION)
PKG_SOURCE:=gst-plugins-ugly-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-plugins-ugly/
-PKG_HASH:=9c5b33a2a98fc1d6d6c99a1b536b1fb2de45f53cc8bf8ab85a8b8141fed1a8ac
+PKG_HASH:=d6edc046350809c967f5b058c5c2e534d99d1d69fe1b26acd849e87781a7d7fc
PKG_BUILD_DEPENDS:= libgstreamer1 gstreamer1-plugins-base
PKG_CONFIG_DEPENDS:= \
-diff -u --recursive gst-plugins-ugly-1.6.2-vanilla/configure.ac gst-plugins-ugly-1.6.2/configure.ac
---- gst-plugins-ugly-1.6.2-vanilla/configure.ac 2016-01-01 10:47:06.333623730 -0500
-+++ gst-plugins-ugly-1.6.2/configure.ac 2016-01-01 10:47:20.211613708 -0500
-@@ -470,7 +470,6 @@
- tests/Makefile
+--- a/configure.ac
++++ b/configure.ac
+@@ -482,7 +482,6 @@ tests/Makefile
tests/check/Makefile
+ tests/files/Makefile
m4/Makefile
-po/Makefile.in
pkgconfig/Makefile
pkgconfig/gstreamer-plugins-ugly-uninstalled.pc
gst-plugins-ugly.spec
-diff -u --recursive gst-plugins-ugly-1.6.2-vanilla/Makefile.am gst-plugins-ugly-1.6.2/Makefile.am
---- gst-plugins-ugly-1.6.2-vanilla/Makefile.am 2016-01-01 10:47:06.333623730 -0500
-+++ gst-plugins-ugly-1.6.2/Makefile.am 2016-01-01 10:47:14.523210855 -0500
+--- a/Makefile.am
++++ b/Makefile.am
@@ -1,7 +1,7 @@
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
include $(TOPDIR)/rules.mk
PKG_NAME:=gstreamer1
-PKG_VERSION:=1.8.2
+PKG_VERSION:=1.10.5
PKG_RELEASE:=1
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
PKG_BUILD_DIR:=$(BUILD_DIR)/gstreamer-$(PKG_VERSION)
PKG_SOURCE:=gstreamer-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gstreamer/
-PKG_HASH:=9dbebe079c2ab2004ef7f2649fa317cabea1feb4fb5605c24d40744b90918341
+PKG_HASH:=bc06243600817f637029da29d089d5908d1d266542f68bf6626a10c5f05f1f1d
PKG_FIXUP:=autoreconf
PKG_REMOVE_FILES:=autogen.sh aclocal.m4
./usr/include/gstreamer-$(GST_VERSION)/* \
$(1)/usr/include/gstreamer-$(GST_VERSION)/ \
)
- $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)/include/gst
- ( cd $(PKG_INSTALL_DIR); $(CP) \
- ./usr/lib/gstreamer-$(GST_VERSION)/include/gst/*.h \
- $(1)/usr/lib/gstreamer-$(GST_VERSION)/include/gst \
- )
$(INSTALL_DIR) $(1)/usr/lib
( cd $(PKG_INSTALL_DIR); $(CP) \
./usr/lib/libgst*-$(GST_VERSION).{a,la,so*} \
--- a/configure.ac
+++ b/configure.ac
-@@ -998,7 +998,6 @@ libs/gst/net/Makefile
+@@ -1047,7 +1047,6 @@ libs/gst/net/Makefile
plugins/Makefile
plugins/elements/Makefile
plugins/tracers/Makefile
--- a/configure.ac
+++ b/configure.ac
-@@ -998,21 +998,6 @@ libs/gst/net/Makefile
+@@ -1047,21 +1047,6 @@ libs/gst/net/Makefile
plugins/Makefile
plugins/elements/Makefile
plugins/tracers/Makefile
--- a/configure.ac
+++ b/configure.ac
-@@ -1001,18 +1001,6 @@ plugins/tracers/Makefile
+@@ -1050,18 +1050,6 @@ plugins/tracers/Makefile
tools/Makefile
common/Makefile
common/m4/Makefile
PKG_NAME:=apache
PKG_VERSION:=2.4.28
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE_NAME:=httpd
PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
PKG_LICENSE:=Apache License
--- /dev/null
+Description: Make builds reproducible
+ Don't use __DATE__ __TIME__. Use changelog date instead.
+ Sort exported symbols.
+Author: Jean-Michel Vourgère <nirgal@debian.org>
+Forwarded: no
+Last-Update: 2015-08-11
+
+Index: apache2/server/buildmark.c
+===================================================================
+--- apache2.orig/server/buildmark.c
++++ apache2/server/buildmark.c
+@@ -17,11 +17,7 @@
+ #include "ap_config.h"
+ #include "httpd.h"
+
+-#if defined(__DATE__) && defined(__TIME__)
+-static const char server_built[] = __DATE__ " " __TIME__;
+-#else
+-static const char server_built[] = "unknown";
+-#endif
++static const char server_built[] = "";
+
+ AP_DECLARE(const char *) ap_get_server_built()
+ {
+Index: apache2/server/Makefile.in
+===================================================================
+--- apache2.orig/server/Makefile.in
++++ apache2/server/Makefile.in
+@@ -1,3 +1,4 @@
++export LC_ALL = C
+
+ CLEAN_TARGETS = gen_test_char test_char.h \
+ ApacheCoreOS2.def httpd.exp export_files \
+@@ -80,8 +81,8 @@ httpd.exp: exports.c export_vars.h
+ @echo "#! ." > $@
+ @echo "* This file was AUTOGENERATED at build time." >> $@
+ @echo "* Please do not edit by hand." >> $@
+- $(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) exports.c | grep "ap_hack_" | grep -v apr_ | sed -e 's/^.*[)]\(.*\);$$/\1/' >> $@
+- $(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) export_vars.h | grep -v apr_ | sed -e 's/^\#[^!]*//' | sed -e '/^$$/d' >> $@
++ $(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) exports.c | grep "ap_hack_" | grep -v apr_ | sed -e 's/^.*[)]\(.*\);$$/\1/' | sort >> $@
++ $(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) export_vars.h | grep -v apr_ | sed -e 's/^\#[^!]*//' | sed -e '/^$$/d' | sort >> $@
+
+
+ # developer stuff
Additional details are available at
https://kb.isc.org/article/AA-00576/0/Filter-AAAA-option-in-BIND-9-.html
+config BIND_LIBJSON
+ bool
+ default n
+ prompt "Include libjson support in bind-server"
+ help
+ BIND 9 supports reporting statistics about usage. libjson
+ is required to report server statistics in JSON format.
+ Building with libjson support will require the libjson-c
+ package to be installed as well.
+
+config BIND_LIBXML2
+ bool
+ default n
+ prompt "Include libxml2 support in bind-server"
+ help
+ BIND 9 supports reporting statistics about usage.
+ libxml2 is required to report server statistics in XML
+ format. Building with libjson support will require the
+ libxml2 package to be installed as well.
+
endif
PKG_NAME:=bind
PKG_VERSION:=9.11.2
-PKG_RELEASE:=2
+PKG_RELEASE:=3
USERID:=bind=57:bind=57
PKG_MAINTAINER:=Noah Meyerhans <frodo@morgul.net>
PKG_USE_MIPS16:=0
PKG_CONFIG_DEPENDS := \
- CONFIG_BIND_ENABLE_FILTER_AAAA
+ CONFIG_BIND_ENABLE_FILTER_AAAA \
+ CONFIG_BIND_LIBJSON \
+ CONFIG_BIND_LIBXML2
+
+ifdef CONFIG_BIND_LIBXML2
+ PKG_BUILD_DEPENDS += libxml2
+endif
+ifdef CONFIG_BIND_LIBJSON
+ PKG_BUILD_DEPENDS += libjson-c
+endif
include $(INCLUDE_DIR)/package.mk
DEPENDS:=+libopenssl +zlib
TITLE:=bind shared libraries
URL:=https://www.isc.org/software/bind
+ifdef CONFIG_BIND_LIBJSON
+ DEPENDS+= +libjson-c
+endif
+ifdef CONFIG_BIND_LIBXML2
+ DEPENDS+= +libxml2
+endif
endef
define Package/bind-server
--disable-threads \
--disable-linux-caps \
--with-openssl="$(STAGING_DIR)/usr" \
- --with-libjson=no \
--with-libtool \
- --with-libxml2=no \
--without-lmdb \
--enable-epoll=yes \
--with-gost=no \
--enable-filter-aaaa
endif
+ifdef CONFIG_BIND_LIBJSON
+ CONFIGURE_ARGS += \
+ --with-libjson="$(STAGING_DIR)/usr"
+else
+ CONFIGURE_ARGS += \
+ --with-libjson=no
+endif
+
+ifdef CONFIG_BIND_LIBXML2
+ CONFIGURE_ARGS += \
+ --with-libxml2="$(STAGING_DIR)/usr"
+else
+ CONFIGURE_ARGS += \
+ --with-libxml2=no
+endif
+
CONFIGURE_VARS += \
BUILD_CC="$(TARGET_CC)" \
PKG_NAME:=horst
PKG_VERSION:=5.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/br101/horst/archive/v$(PKG_VERSION)/
--- /dev/null
+Index: horst-5.1/conf_options.c
+===================================================================
+--- horst-5.1.orig/conf_options.c
++++ horst-5.1/conf_options.c
+@@ -519,7 +519,7 @@ void config_parse_file_and_cmdline(int a
+ conf_filename = optarg;
+ break;
+ case 'v':
+- printf("%s (build date: %s %s)\n", VERSION, __DATE__, __TIME__);
++ printf("%s\n", VERSION);
+ exit(0);
+ case 'h':
+ case '?':
+Index: horst-5.1/display-help.c
+===================================================================
+--- horst-5.1.orig/display-help.c
++++ horst-5.1/display-help.c
+@@ -36,7 +36,7 @@ void update_help_win(WINDOW *win)
+ print_centered(win, 2, COLS, "HORST - Horsts OLSR Radio Scanning Tool (or)");
+ print_centered(win, 3, COLS, "HORST - Highly Optimized Radio Scanning Tool");
+
+- print_centered(win, 5, COLS, "Version " VERSION " (build date " __DATE__ " " __TIME__ ")");
++ print_centered(win, 5, COLS, "Version " VERSION);
+ print_centered(win, 6, COLS, "(C) 2005-2016 Bruno Randolf, Licensed under the GPLv2");
+
+ mvwprintw(win, 8, 2, "Known IEEE802.11 Packet Types:");
PKG_NAME:=mDNSResponder
PKG_VERSION:=576.30.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=mDNSResponder-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://opensource.apple.com/tarballs/mDNSResponder/
-diff --git a/.gitignore b/.gitignore
-new file mode 100644
-index 0000000..920cdfc
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+mDNSPosix/build
+mDNSPosix/objects
+
-diff --git a/Clients/Makefile b/Clients/Makefile
-index 383af31..925c20e 100755
--- a/Clients/Makefile
+++ b/Clients/Makefile
-@@ -34,7 +34,7 @@ TARGETS = build/dns-sd build/dns-sd64
+@@ -36,7 +36,7 @@ TARGETS = build/dns-sd build/dns-sd64
LIBS =
else
TARGETS = build/dns-sd
endif
all: $(TARGETS)
-diff --git a/mDNSPosix/PosixDaemon.c b/mDNSPosix/PosixDaemon.c
-index 88b3292..e86a6c7 100644
--- a/mDNSPosix/PosixDaemon.c
+++ b/mDNSPosix/PosixDaemon.c
@@ -37,6 +37,11 @@
if (mStatus_NoError == err)
err = MainLoop(&mDNSStorage);
-diff --git a/mDNSPosix/Responder.c b/mDNSPosix/Responder.c
-index 3996b7b..e58d8eb 100755
--- a/mDNSPosix/Responder.c
+++ b/mDNSPosix/Responder.c
-@@ -603,7 +603,8 @@ static mStatus RegisterServicesInFile(const char *filePath)
+@@ -603,7 +603,8 @@ static mStatus RegisterServicesInFile(co
status = mStatus_UnknownErr;
}
return status;
}
-diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
-index 6effa12..7c1d6eb 100755
--- a/mDNSPosix/mDNSPosix.c
+++ b/mDNSPosix/mDNSPosix.c
-@@ -138,7 +138,7 @@ mDNSlocal void SockAddrTomDNSAddr(const struct sockaddr *const sa, mDNSAddr *ipA
+@@ -138,7 +138,7 @@ mDNSlocal void SockAddrTomDNSAddr(const
// mDNS core calls this routine when it needs to send a packet.
mDNSexport mStatus mDNSPlatformSendUDP(const mDNS *const m, const void *const msg, const mDNSu8 *const end,
mDNSIPPort dstPort, mDNSBool useBackgroundTrafficClass)
{
int err = 0;
-@@ -583,9 +583,17 @@ mDNSlocal void FreePosixNetworkInterface(PosixNetworkInterface *intf)
+@@ -583,9 +583,17 @@ mDNSlocal void FreePosixNetworkInterface
{
assert(intf != NULL);
if (intf->intfName != NULL) free((void *)intf->intfName);
#endif
// Move interface to the RecentInterfaces list for a minute
-@@ -724,6 +732,29 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf
+@@ -724,6 +732,29 @@ mDNSlocal int SetupSocket(struct sockadd
if (err < 0) { err = errno; perror("setsockopt - IP_MULTICAST_TTL"); }
}
// And start listening for packets
if (err == 0)
{
-@@ -805,6 +836,29 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf
+@@ -805,6 +836,29 @@ mDNSlocal int SetupSocket(struct sockadd
if (err < 0) { err = errno; perror("setsockopt - IPV6_MULTICAST_HOPS"); }
}
// And start listening for packets
if (err == 0)
{
-@@ -836,7 +890,12 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf
+@@ -836,7 +890,12 @@ mDNSlocal int SetupSocket(struct sockadd
}
// Clean up
assert((err == 0) == (*sktPtr != -1));
return err;
}
-@@ -938,19 +997,14 @@ mDNSlocal int SetupInterfaceList(mDNS *const m)
+@@ -942,19 +1001,14 @@ mDNSlocal int SetupInterfaceList(mDNS *c
int err = 0;
struct ifi_info *intfList = get_ifi_info(AF_INET, mDNStrue);
struct ifi_info *firstLoopback = NULL;
#endif
if (err == 0)
-@@ -1026,7 +1080,7 @@ mDNSlocal mStatus OpenIfNotifySocket(int *pFD)
+@@ -1030,7 +1084,7 @@ mDNSlocal mStatus OpenIfNotifySocket(int
/* Subscribe the socket to Link & IP addr notifications. */
mDNSPlatformMemZero(&snl, sizeof snl);
snl.nl_family = AF_NETLINK;
ret = bind(sock, (struct sockaddr *) &snl, sizeof snl);
if (0 == ret)
*pFD = sock;
-@@ -1104,11 +1158,18 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd)
+@@ -1108,11 +1162,18 @@ mDNSlocal mDNSu32 ProcessRoutingNo
PrintNetLinkMsg(pNLMsg);
#endif
// Advance pNLMsg to the next message in the buffer
if ((pNLMsg->nlmsg_flags & NLM_F_MULTI) != 0 && pNLMsg->nlmsg_type != NLMSG_DONE)
-@@ -1279,8 +1340,12 @@ mDNSexport mStatus mDNSPlatformInit(mDNS *const m)
+@@ -1283,8 +1344,12 @@ mDNSexport mStatus mDNSPlatformInit(mDNS
if (err == mStatus_NoError) err = SetupSocket(&sa, zeroIPPort, 0, &m->p->unicastSocket6);
#endif
// Tell mDNS core about DNS Servers
mDNS_Lock(m);
-@@ -1313,9 +1378,17 @@ mDNSexport void mDNSPlatformClose(mDNS *const m)
+@@ -1317,9 +1382,17 @@ mDNSexport void mDNSPlatformClose(mDNS *
{
assert(m != NULL);
ClearInterfaceList(m);
#endif
}
-@@ -1571,14 +1644,14 @@ mDNSexport mStatus mDNSPlatformClearSPSMACAddr(void)
+@@ -1575,14 +1648,14 @@ mDNSexport mStatus mDNSPlatformClearS
mDNSexport mDNSu16 mDNSPlatformGetUDPPort(UDPSocket *sock)
{
(void) sock; // unused
return mDNSfalse;
}
-diff --git a/mDNSPosix/mDNSUNP.c b/mDNSPosix/mDNSUNP.c
-index b392fc7..f551ad5 100755
--- a/mDNSPosix/mDNSUNP.c
+++ b/mDNSPosix/mDNSUNP.c
@@ -63,6 +63,7 @@
/* Converts a prefix length to IPv6 network mask */
void plen_to_mask(int plen, char *addr) {
-@@ -86,7 +87,7 @@ struct ifi_info *get_ifi_info_linuxv6(int family, int doaliases)
+@@ -86,7 +87,7 @@ struct ifi_info *get_ifi_info_linuxv6(in
FILE *fp;
char addr[8][5];
int flags, myflags, index, plen, scope;
char addr6[32+7+1]; /* don't forget the seven ':' */
struct addrinfo hints, *res0;
struct sockaddr_in6 *sin6;
-@@ -94,7 +95,8 @@ struct ifi_info *get_ifi_info_linuxv6(int family, int doaliases)
+@@ -94,7 +95,8 @@ struct ifi_info *get_ifi_info_linuxv6(in
int err;
int sockfd = -1;
struct ifreq ifr;
res0=NULL;
ifihead = NULL;
ifipnext = &ifihead;
-@@ -106,11 +108,12 @@ struct ifi_info *get_ifi_info_linuxv6(int family, int doaliases)
+@@ -106,11 +108,12 @@ struct ifi_info *get_ifi_info_linuxv6(in
goto gotError;
}
while (fscanf(fp,
}
return(ifihead); /* pointer to first structure in linked list */
}
-diff --git a/mDNSShared/dnsextd_parser.y b/mDNSShared/dnsextd_parser.y
-index 18c5990..d4b63ce 100644
--- a/mDNSShared/dnsextd_parser.y
+++ b/mDNSShared/dnsextd_parser.y
@@ -15,6 +15,8 @@
--- /dev/null
+--- a/Clients/dns-sd.c
++++ b/Clients/dns-sd.c
+@@ -1811,7 +1811,7 @@ Fail:
+
+ // NOT static -- otherwise the compiler may optimize it out
+ // The "@(#) " pattern is a special prefix the "what" command looks for
+-const char VersionString_SCCS[] = "@(#) dns-sd " STRINGIFY(mDNSResponderVersion) " (" __DATE__ " " __TIME__ ")";
++const char VersionString_SCCS[] = "@(#) dns-sd " STRINGIFY(mDNSResponderVersion);
+
+ #if _BUILDING_XCODE_PROJECT_
+ // If the process crashes, then this string will be magically included in the automatically-generated crash log
+--- a/mDNSPosix/PosixDaemon.c
++++ b/mDNSPosix/PosixDaemon.c
+@@ -289,9 +289,9 @@ asm (".desc ___crashreporter_info__, 0x1
+
+ // For convenience when using the "strings" command, this is the last thing in the file
+ #if mDNSResponderVersion > 1
+-mDNSexport const char mDNSResponderVersionString_SCCS[] = "@(#) mDNSResponder-" STRINGIFY(mDNSResponderVersion) " (" __DATE__ " " __TIME__ ")";
++mDNSexport const char mDNSResponderVersionString_SCCS[] = "@(#) mDNSResponder-" STRINGIFY(mDNSResponderVersion);
+ #elif MDNS_VERSIONSTR_NODTS
+ mDNSexport const char mDNSResponderVersionString_SCCS[] = "@(#) mDNSResponder (Engineering Build)";
+ #else
+-mDNSexport const char mDNSResponderVersionString_SCCS[] = "@(#) mDNSResponder (Engineering Build) (" __DATE__ " " __TIME__ ")";
++mDNSexport const char mDNSResponderVersionString_SCCS[] = "@(#) mDNSResponder (Engineering Build)";
+ #endif
+--- a/mDNSShared/Java/JNISupport.c
++++ b/mDNSShared/Java/JNISupport.c
+@@ -1069,4 +1069,4 @@ exit:
+
+ // NOT static -- otherwise the compiler may optimize it out
+ // The "@(#) " pattern is a special prefix the "what" command looks for
+-const char VersionString_SCCS[] = "@(#) libjdns_sd " STRINGIFY(mDNSResponderVersion) " (" __DATE__ " " __TIME__ ")";
++const char VersionString_SCCS[] = "@(#) libjdns_sd " STRINGIFY(mDNSResponderVersion);
+--- a/mDNSShared/dnsextd.c
++++ b/mDNSShared/dnsextd.c
+@@ -3141,7 +3141,7 @@ mDNS mDNSStorage;
+
+ // For convenience when using the "strings" command, this is the last thing in the file
+ // The "@(#) " pattern is a special prefix the "what" command looks for
+-const char mDNSResponderVersionString_SCCS[] = "@(#) dnsextd " STRINGIFY(mDNSResponderVersion) " (" __DATE__ " " __TIME__ ")";
++const char mDNSResponderVersionString_SCCS[] = "@(#) dnsextd " STRINGIFY(mDNSResponderVersion);
+
+ #if _BUILDING_XCODE_PROJECT_
+ // If the process crashes, then this string will be magically included in the automatically-generated crash log
+--- a/mDNSShared/dnssd_clientlib.c
++++ b/mDNSShared/dnssd_clientlib.c
+@@ -363,4 +363,4 @@ DNSServiceErrorType DNSSD_API TXTRecordG
+
+ // NOT static -- otherwise the compiler may optimize it out
+ // The "@(#) " pattern is a special prefix the "what" command looks for
+-const char VersionString_SCCS_libdnssd[] = "@(#) libdns_sd " STRINGIFY(mDNSResponderVersion) " (" __DATE__ " " __TIME__ ")";
++const char VersionString_SCCS_libdnssd[] = "@(#) libdns_sd " STRINGIFY(mDNSResponderVersion);
PKG_NAME:=openconnect
PKG_VERSION:=7.08
-PKG_RELEASE:=4
+PKG_RELEASE:=6
PKG_USE_MIPS16:=0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
SECTION:=net
CATEGORY:=Network
DEPENDS:=+libxml2 +kmod-tun +resolveip +vpnc-scripts +OPENCONNECT_OPENSSL:libopenssl +OPENCONNECT_OPENSSL:p11-kit +OPENCONNECT_OPENSSL:libp11 +OPENCONNECT_GNUTLS:libgnutls +OPENCONNECT_STOKEN:libstoken
- TITLE:=OpenConnect VPN client (Cisco AnyConnect compatible)
+ TITLE:=OpenConnect VPN client (Cisco AnyConnect and Juniper/Pulse compatible)
MAINTAINER:=Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
URL:=http://www.infradead.org/openconnect/
SUBMENU:=VPN
endef
define Package/openconnect/description
- A VPN client compatible with Cisco's AnyConnect SSL VPN and ocserv.
+ A VPN client compatible with Cisco's AnyConnect SSL VPN, ocserv and Juniper (Pulse secure).
OpenConnect is a client that follows the Cisco's AnyConnect SSL VPN protocol,
which is supported by IOS 12.4(9)T or later on Cisco SR500, 870, 880, 1800,
2800, 3800, 7200 Series and Cisco 7301 Routers, as well as the OpenConnect
- VPN server.
+ VPN server. It has later been ported to support the Juniper SSL VPN which
+ is now known as Pulse Connect Secure.
endef
CONFIGURE_ARGS += \
#option token_mode 'hotp'
#option token_secret '00'
+ # Juniper vpn support
+ #option juniper '1'
+
The additional files are also used:
/etc/openconnect/user-cert-vpn-MYVPN.pem: The user certificate
/etc/openconnect/user-key-vpn-MYVPN.pem: The user private key
proto_config_add_string "server"
proto_config_add_int "port"
proto_config_add_int "mtu"
+ proto_config_add_int "juniper"
+ proto_config_add_string "interface"
proto_config_add_string "username"
proto_config_add_string "serverhash"
proto_config_add_string "authgroup"
proto_openconnect_setup() {
local config="$1"
- json_get_vars server port username serverhash authgroup password password2 token_mode token_secret os csd_wrapper mtu
+ json_get_vars server port interface username serverhash authgroup password password2 token_mode token_secret os csd_wrapper mtu juniper
grep -q tun /proc/modules || insmod tun
ifname="vpn-$config"
logger -t "openconnect" "adding host dependency for $server at $config"
for ip in $(resolveip -t 10 "$server"); do
logger -t "openconnect" "adding host dependency for $ip at $config"
- proto_add_host_dependency "$config" "$ip"
+ proto_add_host_dependency "$config" "$ip" "$interface"
done
[ -n "$port" ] && port=":$port"
append cmdline "--cafile /etc/openconnect/ca-vpn-$config.pem"
append cmdline "--no-system-trust"
}
+
+ if [ "${juniper:-0}" -gt 0 ]; then
+ append cmdline "--juniper"
+ fi
+
[ -n "$serverhash" ] && {
append cmdline " --servercert=$serverhash"
append cmdline "--no-system-trust"
include $(TOPDIR)/rules.mk
PKG_NAME:=ser2net
-PKG_VERSION:=3.4
-PKG_RELEASE:=2
+PKG_VERSION:=3.5
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/ser2net
-PKG_HASH:=d846066e27c3072565990745d030357aa0c278f96b7d1d4f59023347c1db8824
+PKG_HASH:=ba9e1d60a89fd7ed075553b4a2074352902203f7fbd9b65b15048c05f0e3f3be
PKG_LICENSE:=GPL-2.0+
PKG_LICENSE_FILES:=COPYING
+++ /dev/null
-From 8614cf0ad4a017184285e814a704322f59a28869 Mon Sep 17 00:00:00 2001
-From: Michael Heimpold <mhei@heimpold.de>
-Date: Wed, 12 Apr 2017 23:36:17 +0200
-Subject: [PATCH] dataxfer.c: fix possible buffer overruns caused by
- gai_strerror
-
-This fixes a possible buffer overrun that could occur due to
-gai_strerror() returning a string which is longer than the portbuff
-array, i.e. longer than 32 byte.
-
-Reported-by: David Thornley <david.thornley@touchstargroup.com>
-Signed-off-by: Michael Heimpold <mhei@heimpold.de>
-Signed-off-by: Corey Minyard <cminyard@mvista.com>
-
-diff --git a/dataxfer.c b/dataxfer.c
-index 3d1e713..988f4e4 100644
---- a/dataxfer.c
-+++ b/dataxfer.c
-@@ -3702,18 +3702,20 @@ showshortport(struct controller_info *cntlr, port_info_t *port)
- portbuff, sizeof(portbuff),
- NI_NUMERICHOST | NI_NUMERICSERV);
- if (err) {
-- strcpy(buffer, "*err*");
-- sprintf(portbuff, "%s", gai_strerror(err));
-+ snprintf(buffer, sizeof(buffer), "*err*,%s", gai_strerror(err));
-+ count = controller_outputf(cntlr, "%s", buffer);
-+ } else {
-+ count = controller_outputf(cntlr, "%s,%s", buffer, portbuff);
- }
-- bytes_recv = netcon->bytes_received;
-- bytes_sent = netcon->bytes_sent;
-
-- count = controller_outputf(cntlr, "%s,%s", buffer, portbuff);
- while (count < 23) {
- controller_outs(cntlr, " ");
- count++;
- }
-
-+ bytes_recv = netcon->bytes_received;
-+ bytes_sent = netcon->bytes_sent;
-+
- controller_outputf(cntlr, "%-22s ", port->io.devname);
- controller_outputf(cntlr, "%-14s ", state_str[port->net_to_dev_state]);
- controller_outputf(cntlr, "%-14s ", state_str[port->dev_to_net_state]);
-@@ -3758,11 +3760,12 @@ showport(struct controller_info *cntlr, port_info_t *port)
- portbuff, sizeof(portbuff),
- NI_NUMERICHOST | NI_NUMERICSERV);
- if (err) {
-- strcpy(buffer, "*err*");
-- sprintf(portbuff, "%s", gai_strerror(err));
-+ snprintf(buffer, sizeof(buffer), "*err*,%s", gai_strerror(err));
-+ controller_outputf(cntlr, " connected to: %s\r\n", buffer);
-+ } else {
-+ controller_outputf(cntlr, " connected to: %s,%s\r\n",
-+ buffer, portbuff);
- }
-- controller_outputf(cntlr, " connected to: %s,%s\r\n",
-- buffer, portbuff);
- controller_outputf(cntlr, " bytes read from TCP: %d\r\n",
- netcon->bytes_received);
- controller_outputf(cntlr, " bytes written to TCP: %d\r\n",
---
-2.7.4
-
+++ /dev/null
-From b303432f2dbd6a20afa99cb462aa0a1bb740b86d Mon Sep 17 00:00:00 2001
-From: Michael Heimpold <mhei@heimpold.de>
-Date: Wed, 12 Apr 2017 23:43:18 +0200
-Subject: [PATCH] dataxfer.c: truncate error message to fit the column width
-
-gai_strerror() could return a string which is longer than our current
-column width of "Remote address". To make the output nice again,
-truncate the error string in this case.
-
-Signed-off-by: Michael Heimpold <mhei@heimpold.de>
-Signed-off-by: Corey Minyard <cminyard@mvista.com>
-
-diff --git a/dataxfer.c b/dataxfer.c
-index 988f4e4..75c2777 100644
---- a/dataxfer.c
-+++ b/dataxfer.c
-@@ -3703,6 +3703,10 @@ showshortport(struct controller_info *cntlr, port_info_t *port)
- NI_NUMERICHOST | NI_NUMERICSERV);
- if (err) {
- snprintf(buffer, sizeof(buffer), "*err*,%s", gai_strerror(err));
-+ /* gai_strerror could return an elongated string which could break
-+ our pretty formatted output below, so truncate the string nicely */
-+ if (strlen(buffer) > 22)
-+ strcpy(&buffer[22 - 3], "...");
- count = controller_outputf(cntlr, "%s", buffer);
- } else {
- count = controller_outputf(cntlr, "%s,%s", buffer, portbuff);
---
-2.7.4
-
+++ /dev/null
-From 81f3991e232fd45b05ff52b5091393532e4305e5 Mon Sep 17 00:00:00 2001
-From: Michael Heimpold <mhei@heimpold.de>
-Date: Thu, 13 Apr 2017 20:29:10 +0200
-Subject: [PATCH] dataxfer.c: adjust "Remote address" column width
-
-In case we are connected to an IPv6 address the current column width
-is too small to take the complete address and port number so adjust it.
-
-Signed-off-by: Michael Heimpold <mhei@heimpold.de>
-Signed-off-by: Corey Minyard <cminyard@mvista.com>
-
-diff --git a/dataxfer.c b/dataxfer.c
-index 75c2777..9955403 100644
---- a/dataxfer.c
-+++ b/dataxfer.c
-@@ -3674,6 +3674,9 @@ clear_old_port_config(int curr_config)
- UNLOCK(ports_lock);
- }
-
-+#define REMOTEADDR_COLUMN_WIDTH \
-+ (INET6_ADDRSTRLEN - 1 /* terminating NUL */ + 1 /* comma */ + 5 /* strlen("65535") */)
-+
- /* Print information about a port to the control port given in cntlr. */
- static void
- showshortport(struct controller_info *cntlr, port_info_t *port)
-@@ -3705,14 +3708,14 @@ showshortport(struct controller_info *cntlr, port_info_t *port)
- snprintf(buffer, sizeof(buffer), "*err*,%s", gai_strerror(err));
- /* gai_strerror could return an elongated string which could break
- our pretty formatted output below, so truncate the string nicely */
-- if (strlen(buffer) > 22)
-- strcpy(&buffer[22 - 3], "...");
-+ if (strlen(buffer) > REMOTEADDR_COLUMN_WIDTH)
-+ strcpy(&buffer[REMOTEADDR_COLUMN_WIDTH - 3], "...");
- count = controller_outputf(cntlr, "%s", buffer);
- } else {
- count = controller_outputf(cntlr, "%s,%s", buffer, portbuff);
- }
-
-- while (count < 23) {
-+ while (count < REMOTEADDR_COLUMN_WIDTH + 1) {
- controller_outs(cntlr, " ");
- count++;
- }
-@@ -3878,10 +3881,11 @@ showshortports(struct controller_info *cntlr, char *portspec)
- port_info_t *port;
-
- controller_outputf(cntlr,
-- "%-22s %-6s %7s %-22s %-22s %-14s %-14s %9s %9s %9s %9s %s\r\n",
-+ "%-22s %-6s %7s %-*s %-22s %-14s %-14s %9s %9s %9s %9s %s\r\n",
- "Port name",
- "Type",
- "Timeout",
-+ REMOTEADDR_COLUMN_WIDTH,
- "Remote address",
- "Device",
- "TCP to device",
---
-2.7.4
-
+++ /dev/null
-From 1479d3acc7ffb77225ea294f83a8d3fbdadfece6 Mon Sep 17 00:00:00 2001
-From: Michael Heimpold <mhei@heimpold.de>
-Date: Thu, 13 Apr 2017 20:37:35 +0200
-Subject: [PATCH] dataxfer.c: in case port is not connected display this
- directly
-
-In this case we don't bother to call into getnameinfo but show
-directly "unconnected", this prevents showing an error message.
-
-Signed-off-by: Michael Heimpold <mhei@heimpold.de>
-Signed-off-by: Corey Minyard <cminyard@mvista.com>
-
-diff --git a/dataxfer.c b/dataxfer.c
-index 9955403..d6a59d9 100644
---- a/dataxfer.c
-+++ b/dataxfer.c
-@@ -3700,19 +3700,23 @@ showshortport(struct controller_info *cntlr, port_info_t *port)
- if (!netcon)
- netcon = &(port->netcons[0]);
-
-- err = getnameinfo(netcon->raddr, netcon->raddrlen,
-- buffer, sizeof(buffer),
-- portbuff, sizeof(portbuff),
-- NI_NUMERICHOST | NI_NUMERICSERV);
-- if (err) {
-- snprintf(buffer, sizeof(buffer), "*err*,%s", gai_strerror(err));
-- /* gai_strerror could return an elongated string which could break
-- our pretty formatted output below, so truncate the string nicely */
-- if (strlen(buffer) > REMOTEADDR_COLUMN_WIDTH)
-- strcpy(&buffer[REMOTEADDR_COLUMN_WIDTH - 3], "...");
-- count = controller_outputf(cntlr, "%s", buffer);
-+ if (port->net_to_dev_state != PORT_UNCONNECTED) {
-+ err = getnameinfo(netcon->raddr, netcon->raddrlen,
-+ buffer, sizeof(buffer),
-+ portbuff, sizeof(portbuff),
-+ NI_NUMERICHOST | NI_NUMERICSERV);
-+ if (err) {
-+ snprintf(buffer, sizeof(buffer), "*err*,%s", gai_strerror(err));
-+ /* gai_strerror could return an elongated string which could break
-+ our pretty formatted output below, so truncate the string nicely */
-+ if (strlen(buffer) > REMOTEADDR_COLUMN_WIDTH)
-+ strcpy(&buffer[REMOTEADDR_COLUMN_WIDTH - 3], "...");
-+ count = controller_outputf(cntlr, "%s", buffer);
-+ } else {
-+ count = controller_outputf(cntlr, "%s,%s", buffer, portbuff);
-+ }
- } else {
-- count = controller_outputf(cntlr, "%s,%s", buffer, portbuff);
-+ count = controller_outputf(cntlr, "unconnected");
- }
-
- while (count < REMOTEADDR_COLUMN_WIDTH + 1) {
-@@ -3762,21 +3766,25 @@ showport(struct controller_info *cntlr, port_info_t *port)
- controller_outputf(cntlr, " timeout: %d\r\n", port->timeout);
-
- for_each_connection(port, netcon) {
-- err = getnameinfo(netcon->raddr, netcon->raddrlen,
-- buffer, sizeof(buffer),
-- portbuff, sizeof(portbuff),
-- NI_NUMERICHOST | NI_NUMERICSERV);
-- if (err) {
-- snprintf(buffer, sizeof(buffer), "*err*,%s", gai_strerror(err));
-- controller_outputf(cntlr, " connected to: %s\r\n", buffer);
-+ if (port->net_to_dev_state != PORT_UNCONNECTED) {
-+ err = getnameinfo(netcon->raddr, netcon->raddrlen,
-+ buffer, sizeof(buffer),
-+ portbuff, sizeof(portbuff),
-+ NI_NUMERICHOST | NI_NUMERICSERV);
-+ if (err) {
-+ snprintf(buffer, sizeof(buffer), "*err*,%s", gai_strerror(err));
-+ controller_outputf(cntlr, " connected to: %s\r\n", buffer);
-+ } else {
-+ controller_outputf(cntlr, " connected to: %s,%s\r\n",
-+ buffer, portbuff);
-+ }
-+ controller_outputf(cntlr, " bytes read from TCP: %d\r\n",
-+ netcon->bytes_received);
-+ controller_outputf(cntlr, " bytes written to TCP: %d\r\n",
-+ netcon->bytes_sent);
- } else {
-- controller_outputf(cntlr, " connected to: %s,%s\r\n",
-- buffer, portbuff);
-+ controller_outputf(cntlr, " unconnected\r\n");
- }
-- controller_outputf(cntlr, " bytes read from TCP: %d\r\n",
-- netcon->bytes_received);
-- controller_outputf(cntlr, " bytes written to TCP: %d\r\n",
-- netcon->bytes_sent);
- }
-
- controller_outputf(cntlr, " device: %s\r\n", port->io.devname);
---
-2.7.4
-
# - check if default mode has changed from being tcp_only
#
PKG_NAME:=shadowsocks-libev
-PKG_VERSION:=3.1.0
+PKG_VERSION:=3.1.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/shadowsocks/shadowsocks-libev/releases/download/v$(PKG_VERSION)
-PKG_HASH:=3b6493ebdcfff1eb31faf34d164d57049f7253ff5bffafa6ce2263c9ac123f31
+PKG_HASH:=24a002c100fbe9b4481e3134273cb1a2f25a4026eb030760e7e7eb57f8466ef6
PKG_MAINTAINER:=Yousong Zhou <yszhou4tech@gmail.com>
include $(TOPDIR)/rules.mk
PKG_NAME:=strongswan
-PKG_VERSION:=5.6.0
+PKG_VERSION:=5.6.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=a14dc0d92634ed52730bfc76a76db30943a28ed3c65a560066e1e9f785827b13
+PKG_HASH:=e0c282d8ad418609c5dfb5e8efa01b28b95ef3678070ed47bf2a229f55f4ab53
PKG_SOURCE_URL:=http://download.strongswan.org/ http://download2.strongswan.org/
PKG_LICENSE:=GPL-2.0+
PKG_MAINTAINER:=Stijn Tintel <stijn@linux-ipv6.be>
PKG_NAME:=transmission
PKG_VERSION:=2.92+git
-PKG_RELEASE:=4
+PKG_RELEASE:=5
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/transmission/transmission.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=35fea28d1a37875ef7480ac061754df617805b19
+PKG_SOURCE_VERSION:=5b29fe15561d40c40cbee635446df6b33e18d2c2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
-PKG_MIRROR_HASH:=aeeb8dfd918bd2cf4fb6fbdf58bd822e9b509df1ba5ec408888edd161123ef8e
+PKG_MIRROR_HASH:=f99982ae68564da9bf6ad4407285aff2e29508e4fd801ff56f86a8b3dae01819
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
CATEGORY:=Network
TITLE:=BitTorrent client
URL:=http://www.transmissionbt.com
- MAINTAINER:=Cezary Jackiewicz <cezary@eko.one.pl>
+ MAINTAINER:=Rosen Penev <rosenp@gmail.com>
endef
define Package/transmission-daemon/Default
$(INSTALL_BIN) files/transmission.init $(1)/etc/init.d/transmission
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) files/transmission.config $(1)/etc/config/transmission
+ $(INSTALL_DIR) $(1)/etc/sysctl.d/
+ $(INSTALL_CONF) files/transmission.sysctl $(1)/etc/sysctl.d/20-transmission.conf
endef
Package/transmission-daemon-mbedtls/install = $(Package/transmission-daemon-openssl/install)
--- /dev/null
+net.core.rmem_max = 4194304
+net.core.wmem_max = 1048576
+++ /dev/null
---- a/libtransmission/bitfield.c
-+++ b/libtransmission/bitfield.c
-@@ -6,6 +6,8 @@
- *
- */
-
-+#define __NEED_ssize_t
-+
- #include <assert.h>
- #include <string.h> /* memset */
-
-@@ -13,6 +15,7 @@
- #include "bitfield.h"
- #include "utils.h" /* tr_new0 () */
-
-+
- const tr_bitfield TR_BITFIELD_INIT = { NULL, 0, 0, 0, false, false };
-
- /****
---- a/libtransmission/fdlimit.h
-+++ b/libtransmission/fdlimit.h
-@@ -10,6 +10,8 @@
- #error only libtransmission should #include this header.
- #endif
-
-+#define __NEED_off_t
-+
- #include "transmission.h"
- #include "file.h"
- #include "net.h"
--- /dev/null
+diff --git a/daemon/daemon.c b/daemon/daemon.c
+index 7b2a3b425..5b19d105a 100644
+--- a/daemon/daemon.c
++++ b/daemon/daemon.c
+@@ -715,12 +715,7 @@ static int daemon_start(void* raw_arg, bool foreground)
+ }
+
+ #ifdef HAVE_SYSLOG
+-
+- if (!foreground)
+- {
+- openlog(MY_NAME, LOG_CONS | LOG_PID, LOG_DAEMON);
+- }
+-
++ openlog(MY_NAME, LOG_CONS | LOG_PID, LOG_DAEMON);
+ #endif
+
+ /* Create new timer event to report daemon status */
+@@ -772,11 +767,8 @@ cleanup:
+ /* shutdown */
+ #ifdef HAVE_SYSLOG
+
+- if (!foreground)
+- {
+ syslog(LOG_INFO, "%s", "Closing session");
+ closelog();
+- }
+
+ #endif
+
include $(TOPDIR)/rules.mk
PKG_NAME:=auc
-PKG_VERSION:=0.0.3
+PKG_VERSION:=0.0.8
PKG_RELEASE=1
PKG_LICENSE:=GPL-3.0
*/
#define _GNU_SOURCE
-#define AUC_VERSION "0.0.3"
+#define AUC_VERSION "0.0.8"
#include <fcntl.h>
#include <dlfcn.h>
static char user_agent[80];
static char *serverurl;
+static int upgrade_packages;
static struct ustream_ssl_ctx *ssl_ctx;
static const struct ustream_ssl_ops *ssl_ops;
static off_t out_bytes;
static off_t out_offset;
static bool cur_resume;
static int output_fd = -1;
-static int retry, imagebuilder, building;
+static int retry, imagebuilder, building, ibready;
static char *board_name = NULL;
static char *target = NULL, *subtarget = NULL;
static char *distribution = NULL, *version = NULL, *revision = NULL;
static int uptodate;
static char *filename = NULL;
+static int debug = 0;
/*
* policy for ubus call system board
*/
enum {
CHECK_VERSION,
+ CHECK_UPGRADES,
__CHECK_MAX,
};
static const struct blobmsg_policy check_policy[__CHECK_MAX] = {
[CHECK_VERSION] = { .name = "version", .type = BLOBMSG_TYPE_STRING },
+ [CHECK_UPGRADES] = { .name = "upgrades", .type = BLOBMSG_TYPE_TABLE },
};
/*
* policy for upgrade-request response
- * it can be either only a queue position or the download information
- * for the ready image.
+ * parse download information for the ready image.
*/
enum {
- IMAGE_QUEUE,
+ IMAGE_REQHASH,
IMAGE_FILESIZE,
IMAGE_URL,
IMAGE_CHECKSUM,
};
static const struct blobmsg_policy image_policy[__IMAGE_MAX] = {
- [IMAGE_QUEUE] = { .name = "queue", .type = BLOBMSG_TYPE_INT32 },
+ [IMAGE_REQHASH] = { .name = "request_hash", .type = BLOBMSG_TYPE_STRING },
[IMAGE_FILESIZE] = { .name = "filesize", .type = BLOBMSG_TYPE_INT32 },
[IMAGE_URL] = { .name = "url", .type = BLOBMSG_TYPE_STRING },
[IMAGE_CHECKSUM] = { .name = "checksum", .type = BLOBMSG_TYPE_STRING },
[IMAGE_SYSUPGRADE] = { .name = "sysupgrade", .type = BLOBMSG_TYPE_STRING },
};
-
/*
* load serverurl from UCI
*/
static int load_config() {
static struct uci_context *uci_ctx;
static struct uci_package *uci_attendedsysupgrade;
- struct uci_section *uci_server;
+ struct uci_section *uci_s;
uci_ctx = uci_alloc_context();
if (!uci_ctx)
fprintf(stderr, "Failed to load attendedsysupgrade config\n");
return -1;
}
- uci_server = uci_lookup_section(uci_ctx, uci_attendedsysupgrade, "server");
- if (!uci_server) {
+
+ uci_s = uci_lookup_section(uci_ctx, uci_attendedsysupgrade, "server");
+ if (!uci_s) {
fprintf(stderr, "Failed to read server url from config\n");
return -1;
}
- serverurl = strdup(uci_lookup_option_string(uci_ctx, uci_server, "url"));
+ serverurl = strdup(uci_lookup_option_string(uci_ctx, uci_s, "url"));
+
+ uci_s = uci_lookup_section(uci_ctx, uci_attendedsysupgrade, "client");
+ if (!uci_s) {
+ fprintf(stderr, "Failed to read client config\n");
+ return -1;
+ }
+ upgrade_packages = atoi(uci_lookup_option_string(uci_ctx, uci_s, "upgrade_packages"));
+
uci_free_context(uci_ctx);
return 0;
return ret;
}
+struct jsonblobber {
+ json_tokener *tok;
+ struct blob_buf *outbuf;
+};
+
static void request_done(struct uclient *cl)
{
+ struct jsonblobber *jsb = (struct jsonblobber *)cl->priv;
+ if (jsb) {
+ json_tokener_free(jsb->tok);
+ free(jsb);
+ };
+
uclient_disconnect(cl);
uloop_end();
}
enum {
H_RANGE,
H_LEN,
+ H_IBSTATUS,
+ H_IBQUEUEPOS,
__H_MAX
};
static const struct blobmsg_policy policy[__H_MAX] = {
[H_RANGE] = { .name = "content-range", .type = BLOBMSG_TYPE_STRING },
[H_LEN] = { .name = "content-length", .type = BLOBMSG_TYPE_STRING },
+ [H_IBSTATUS] = { .name = "x-imagebuilder-status", .type = BLOBMSG_TYPE_STRING },
+ [H_IBQUEUEPOS] = { .name = "x-build-queue-position", .type = BLOBMSG_TYPE_STRING },
};
struct blob_attr *tb[__H_MAX];
uint64_t resume_offset = 0, resume_end, resume_size;
- static int retries;
+ char *ibstatus;
+ unsigned int queuepos = 0;
- if (retries < 10 && uclient_http_redirect(cl)) {
+ if (uclient_http_redirect(cl)) {
fprintf(stderr, "Redirected to %s on %s\n", cl->url->location, cl->url->host);
- retries++;
return;
}
return;
}
+ if (debug)
+ fprintf(stderr, "headers:\n%s\n", blobmsg_format_json_indent(cl->meta, true, 0));
+
blobmsg_parse(policy, __H_MAX, tb, blob_data(cl->meta), blob_len(cl->meta));
switch (cl->status_code) {
case 400:
request_done(cl);
break;
+ case 412:
+ fprintf(stderr, "target not found.\n");
+ request_done(cl);
+ break;
+ case 413:
+ fprintf(stderr, "image too big.\n");
+ request_done(cl);
+ break;
case 416:
fprintf(stderr, "File download already fully retrieved; nothing to do.\n");
request_done(cl);
fprintf(stderr, "unknown package requested.\n");
request_done(cl);
break;
- case 201:
- if (!imagebuilder) {
- fprintf(stderr, "server is dispatching build job\n");
- imagebuilder=1;
- }
- retry=1;
+ case 501:
+ fprintf(stderr, "ImageBuilder didn't produce sysupgrade file.\n");
+ request_done(cl);
break;
case 204:
fprintf(stderr, "system is up to date.\n");
break;
case 206:
if (!cur_resume) {
- if (!building) {
- fprintf(stderr, "server is now building image...\n");
- building=1;
- }
- retry=1;
+ fprintf(stderr, "Error: Partial content received, full content requested\n");
request_done(cl);
break;
}
fprintf(stderr, "Content-Range header is invalid\n");
break;
}
+ case 202:
+ if (!tb[H_IBSTATUS])
+ break;
+
+ ibstatus = blobmsg_get_string(tb[H_IBSTATUS]);
+
+ if (!strncmp(ibstatus, "queue", 6)) {
+ if (!imagebuilder) {
+ fprintf(stderr, "server is dispatching build job\n");
+ imagebuilder=1;
+ } else {
+ if (tb[H_IBQUEUEPOS]) {
+ queuepos = atoi(blobmsg_get_string(tb[H_IBQUEUEPOS]));
+ fprintf(stderr, "build is in queue position %u.\n", queuepos);
+ }
+ }
+ retry=1;
+ } else if (!strncmp(ibstatus, "building", 9)) {
+ if (!building) {
+ fprintf(stderr, "server is now building image...\n");
+ building=1;
+ }
+ retry=1;
+ } else if (!strncmp(ibstatus, "initialize", 11)) {
+ if (!ibready) {
+ fprintf(stderr, "server is setting up ImageBuilder...\n");
+ ibready=1;
+ }
+ retry=1;
+ } else {
+ fprintf(stderr, "unrecognized remote imagebuilder status '%s'\n", ibstatus);
+ }
+ // fall through
case 200:
if (cl->priv)
break;
{
char buf[256];
int len;
- json_tokener *tok;
json_object *jsobj;
+ struct blob_buf *outbuf = NULL;
+ json_tokener *tok = NULL;
+ struct jsonblobber *jsb = (struct jsonblobber *)cl->priv;
- struct blob_buf *outbuf = (struct blob_buf *)cl->priv;
-
- if (!outbuf) {
+ if (!jsb) {
while (1) {
len = uclient_read(cl, buf, sizeof(buf));
if (!len)
return;
}
- tok = json_tokener_new();
-
+ outbuf = jsb->outbuf;
+ tok = jsb->tok;
+
while (1) {
len = uclient_read(cl, buf, sizeof(buf));
if (!len)
break;
}
}
-
- json_tokener_free(tok);
}
static void eof_cb(struct uclient *cl)
static int server_request(const char *url, struct blob_buf *inbuf, struct blob_buf *outbuf) {
struct uclient *ucl;
+ struct jsonblobber *jsb = NULL;
int rc = -1;
char *post_data;
out_offset = 0;
uloop_init();
ucl = uclient_new(url, NULL, &check_cb);
+ if (outbuf) {
+ jsb = malloc(sizeof(struct jsonblobber));
+ jsb->outbuf = outbuf;
+ jsb->tok = json_tokener_new();
+ };
+
uclient_http_set_ssl_ctx(ucl, ssl_ops, ssl_ctx, 1);
ucl->timeout_msecs = REQ_TIMEOUT * 1000;
- ucl->priv = outbuf;
+ ucl->priv = jsb;
rc = uclient_connect(ucl);
if (rc)
return rc;
static int ask_user(void)
{
- fprintf(stderr, "Are you sure to proceed? [N/y]\n");
+ fprintf(stderr, "Are you sure you want to continue the upgrade process? [N/y] ");
if (getchar() != 'y')
return -1;
return 0;
}
+static void print_package_updates(struct blob_attr *upgrades) {
+ struct blob_attr *cur;
+ struct blob_attr *tb[2];
+ int rem;
+
+ static struct blobmsg_policy policy[2] = {
+ { .type = BLOBMSG_TYPE_STRING },
+ { .type = BLOBMSG_TYPE_STRING },
+ };
+
+ blobmsg_for_each_attr(cur, upgrades, rem) {
+ blobmsg_parse_array(policy, ARRAY_SIZE(policy), tb, blobmsg_data(cur), blobmsg_data_len(cur));
+ if (!tb[0] || !tb[1])
+ continue;
+
+ fprintf(stdout, "\t%s (%s -> %s)\n", blobmsg_name(cur),
+ blobmsg_get_string(tb[1]), blobmsg_get_string(tb[0]));
+ };
+}
+
/* this main function is too big... todo: split */
int main(int args, char *argv[]) {
+ unsigned char argc=1;
static struct blob_buf checkbuf, reqbuf, imgbuf, upgbuf;
struct ubus_context *ctx = ubus_connect(NULL);
uint32_t id;
int rc;
- int queuepos, valid;
+ int queuepos, valid, use_get;
char url[256];
char *newversion = NULL;
struct blob_attr *tb[__IMAGE_MAX];
char *checksum = NULL;
struct stat imgstat;
+ snprintf(user_agent, sizeof(user_agent), "%s (%s)", argv[0], AUC_VERSION);
+ fprintf(stdout, "%s\n", user_agent);
+
+ while (argc<args) {
+ if (!strncmp(argv[argc], "-h", 3) ||
+ !strncmp(argv[argc], "--help", 7)) {
+ fprintf(stdout, "%s: Attended sysUpgrade CLI client\n", argv[0]);
+ fprintf(stdout, "Usage: auc [-d] [-h]\n");
+ fprintf(stdout, " -d\tenable debugging output\n");
+ fprintf(stdout, " -h\toutput help\n");
+ return 0;
+ }
+ if (!strncmp(argv[argc], "-d", 3))
+ debug = 1;
+ argc++;
+ };
+
if (!ctx) {
fprintf(stderr, "failed to connect to ubus.\n");
return -1;
blobmsg_buf_init(&imgbuf);
blobmsg_buf_init(&upgbuf);
- snprintf(user_agent, sizeof(user_agent), "%s (%s)", argv[0], AUC_VERSION);
-
- fprintf(stderr, "%s\n", user_agent);
-
if (ubus_lookup_id(ctx, "system", &id) ||
ubus_invoke(ctx, id, "board", NULL, board_cb, &checkbuf, 3000)) {
fprintf(stderr, "cannot request board info from procd\n");
goto freeboard;
}
- fprintf(stderr, "running %s %s %s on %s/%s (%s)\n", distribution, version,
- revision, target, subtarget, board_name);
+ blobmsg_add_u32(&checkbuf, "upgrade_packages", upgrade_packages);
+
+ fprintf(stdout, "running %s %s %s on %s/%s (%s)\n", distribution,
+ version, revision, target, subtarget, board_name);
- fprintf(stderr, "checking %s for sysupgrade\n", serverurl);
+ fprintf(stdout, "checking %s for release upgrade%s\n", serverurl,
+ upgrade_packages?" or updated packages":"");
blobmsg_add_string(&reqbuf, "distro", distribution);
blobmsg_add_string(&reqbuf, "target", target);
snprintf(url, sizeof(url), "%s/%s", serverurl, APIOBJ_CHECK);
uptodate=0;
- if (server_request(url, &checkbuf, &reqbuf)) {
- fprintf(stderr, "failed to connect to server\n");
- rc=-1;
- goto freeboard;
- };
+
+ do {
+ retry=0;
+ if (debug)
+ fprintf(stderr, "requesting:\n%s\n", blobmsg_format_json_indent(checkbuf.head, true, 0));
+ if (server_request(url, &checkbuf, &reqbuf)) {
+ fprintf(stderr, "failed to connect to server\n");
+ rc=-1;
+ goto freeboard;
+ };
+
+ if (retry)
+ sleep(3);
+ } while(retry);
+
+ if (debug)
+ fprintf(stderr, "reply:\n%s\n", blobmsg_format_json_indent(reqbuf.head, true, 0));
+
blobmsg_parse(check_policy, __CHECK_MAX, tbc, blob_data(reqbuf.head), blob_len(reqbuf.head));
- if (!tbc[CHECK_VERSION]) {
+
+ if (!tbc[CHECK_VERSION] && !tbc[CHECK_UPGRADES]) {
if (!uptodate) {
fprintf(stderr, "server reply invalid.\n");
rc=-1;
rc=0;
goto freeboard;
}
- newversion = blobmsg_get_string(tbc[CHECK_VERSION]);
- fprintf(stderr, "new release %s found.\n", newversion);
+ if (tbc[CHECK_VERSION]) {
+ newversion = blobmsg_get_string(tbc[CHECK_VERSION]);
+ fprintf(stdout, "new %s release %s found.\n", distribution, newversion);
+ } else {
+ fprintf(stdout, "staying on %s release version %s\n", distribution, version);
+ blobmsg_add_string(&reqbuf, "version", version);
+ };
+
+ if (tbc[CHECK_UPGRADES]) {
+ fprintf(stdout, "package updates:\n");
+ print_package_updates(tbc[CHECK_UPGRADES]);
+ }
rc = ask_user();
if (rc)
imagebuilder = 0;
building = 0;
+ use_get = 0;
do {
- queuepos = 0;
retry = 0;
- server_request(url, &reqbuf, &imgbuf);
+
+ if (debug && !use_get)
+ fprintf(stderr, "requesting:\n%s\n", blobmsg_format_json_indent(reqbuf.head, true, 0));
+
+ server_request(url, use_get?NULL:&reqbuf, &imgbuf);
blobmsg_parse(image_policy, __IMAGE_MAX, tb, blob_data(imgbuf.head), blob_len(imgbuf.head));
- if (tb[IMAGE_QUEUE]) {
- queuepos = blobmsg_get_u32(tb[IMAGE_QUEUE]);
- fprintf(stderr, "build is in queue position %u.\n", queuepos);
+ if (!use_get && tb[IMAGE_REQHASH]) {
+ snprintf(url, sizeof(url), "%s/%s/%s", serverurl,
+ APIOBJ_REQUEST,
+ blobmsg_get_string(tb[IMAGE_REQHASH]));
+ if (debug)
+ fprintf(stderr, "polling via GET %s\n", url);
+
+ retry=1;
+ use_get=1;
}
- if (retry || queuepos) {
+ if (retry) {
blob_buf_free(&imgbuf);
blobmsg_buf_init(&imgbuf);
sleep(3);
}
} while(retry || queuepos);
+ if (debug)
+ fprintf(stderr, "reply:\n%s\n", blobmsg_format_json_indent(imgbuf.head, true, 0));
+
if (!tb[IMAGE_SYSUPGRADE]) {
fprintf(stderr, "no sysupgrade image returned\n");
rc=-1;
}
}
- if (!ubus_lookup_id(ctx, "rpc-sys", &id)) {
- valid = 0;
- ubus_invoke(ctx, id, "upgrade_test", NULL, upgtest_cb, &valid, 3000);
- if (!valid) {
- rc=-1;
- goto freeboard;
- }
-
- blobmsg_add_u8(&upgbuf, "keep", 1);
- fprintf(stderr, "invoking sysupgrade\n");
- ubus_invoke(ctx, id, "upgrade_start", upgbuf.head, NULL, NULL, 3000);
- } else {
+ valid = 0;
+ ubus_invoke(ctx, id, "upgrade_test", NULL, upgtest_cb, &valid, 3000);
+ if (!valid) {
rc=-1;
+ goto freeboard;
}
+ blobmsg_add_u8(&upgbuf, "keep", 1);
+ fprintf(stdout, "invoking sysupgrade\n");
+ ubus_invoke(ctx, id, "upgrade_start", upgbuf.head, NULL, NULL, 3000);
+
freeboard:
free(board_name);
free(target);
include $(TOPDIR)/rules.mk
PKG_NAME:=btrfs-progs
-PKG_VERSION:=4.13.2
+PKG_VERSION:=4.13.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/kernel/people/kdave/btrfs-progs/
-PKG_HASH:=75c7331f1306495dfffabe542ef6c5539808f0cdaebdf14fa8b7ab09c59448bd
+PKG_HASH:=805bdb0031c21a0a5d2ba295a8c9bdd8ba831a68c3fa801aab85677ec902d783
+PKG_MAINTAINER:=Rosen Penev <rosenp@gmail.com>
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION)
PKG_LICENSE:=GPL-2.0
+++ /dev/null
---- a/chunk-recover.c
-+++ b/chunk-recover.c
-@@ -887,7 +887,7 @@ static int scan_devices(struct recover_c
- for (i = 0; i < devidx; i++) {
- if (dev_scans[i].bytenr == -1)
- continue;
-- ret = pthread_tryjoin_np(t_scans[i],
-+ ret = pthread_join(t_scans[i],
- (void **)&t_rets[i]);
- if (ret == EBUSY) {
- all_done = 0;
include $(TOPDIR)/rules.mk
PKG_NAME:=haveged
-PKG_VERSION:=1.9.1
-PKG_RELEASE:=5
+PKG_VERSION:=1.9.2
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/haveged \
http://www.issihosts.com/$(PKG_NAME)
-PKG_HASH:=9c2363ed9542a6784ff08e247182137e71f2ddb79e8e6c1ac4ad50d21ced3715
+PKG_HASH:=f77d9adbdf421b61601fa29faa9ce3b479d910f73c66b9e364ba8642ccbfbe70
PKG_LICENSE:=GPLv3
PKG_MAINTAINER:=Hannu Nyman <hannu.nyman@iki.fi>
include $(TOPDIR)/rules.mk
PKG_NAME:=hdparm
-PKG_VERSION:=9.50
+PKG_VERSION:=9.52
PKG_RELEASE:=1
PKG_USE_MIPS16:=0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/$(PKG_NAME)
-PKG_HASH:=0892b44bd817c251264a24f6ecbbb010958033e0395d2030f25f1c5608ac780e
+PKG_HASH:=c3429cd423e271fa565bf584598fd751dd2e773bb7199a592b06b5a61cec4fb6
PKG_MAINTAINER:=Richard Kunze <richard.kunze@web.de>
PKG_LICENSE:=BSD-Style Open Source License
include $(TOPDIR)/rules.mk
PKG_NAME:=mc
-PKG_VERSION:=4.8.19
+PKG_VERSION:=4.8.20
PKG_RELEASE:=1
PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
PKG_LICENSE:=GPL-3.0+
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://ftp.midnight-commander.org/
-PKG_HASH:=eb9e56bbb5b2893601d100d0e0293983049b302c5ab61bfb544ad0ee2cc1f2df
+PKG_HASH:=017ee7f4f8ae420a04f4d6fcebaabe5b494661075c75442c76e9c8b1923d501c
PKG_BUILD_PARALLEL:=1
PKG_FIXUP:=autoreconf gettext-version
PKG_NAME:=minicom
PKG_VERSION:=2.7
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://alioth.debian.org/frs/download.php/file/3977/
--- /dev/null
+--- a/src/minicom.c
++++ b/src/minicom.c
+@@ -1159,7 +1159,7 @@ int main(int argc, char **argv)
+ switch(c) {
+ case 'v':
+ printf(_("%s version %s"), PACKAGE, VERSION);
+-#ifdef __DATE__
++#if 0
+ printf(_(" (compiled %s)"), __DATE__);
+ #endif
+ printf("\n");
+@@ -1462,7 +1462,7 @@ int main(int argc, char **argv)
+
+ mc_wprintf(us, "\n%s %s\r\n", _("Welcome to minicom"), VERSION);
+ mc_wprintf(us, "\n%s: %s\r\n", _("OPTIONS"), option_string);
+-#if defined (__DATE__) && defined (__TIME__)
++#if 0
+ mc_wprintf(us, "%s %s, %s.\r\n",_("Compiled on"), __DATE__,__TIME__);
+ #endif
+ {
include $(TOPDIR)/rules.mk
PKG_NAME:=openocd
-PKG_VERSION:=v0.10.0
+PKG_SOURCE_VERSION:=0.10.0
+PKG_VERSION:=v$(PKG_SOURCE_VERSION)
PKG_RELEASE:=1
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=git://git.code.sf.net/p/openocd/code
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
-PKG_MIRROR_HASH:=ef8a71daa581a3a2296fd3dafff21de2ca7b86319ec3a5c24ed6a216d1fdff45
+PKG_SOURCE_URL:=@SF/openocd
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.bz2
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_SOURCE_VERSION)
+PKG_HASH:=7312e7d680752ac088b8b8f2b5ba3ff0d30e0a78139531847be4b75c101316ae
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYING
PKG_NAME:=unzip
PKG_REV:=60
PKG_VERSION:=6.0
-PKG_RELEASE:=5
+PKG_RELEASE:=6
PKG_SOURCE:=$(PKG_NAME)$(PKG_REV).tar.gz
PKG_SOURCE_URL:=@SF/infozip
--- /dev/null
+From: Jérémy Bobbio <lunar@debian.org>
+Subject: Remove build date
+Bug-Debian: https://bugs.debian.org/782851
+ In order to make unzip build reproducibly, we remove the
+ (already optional) build date from the binary.
+
+--- a/unix/unix.c
++++ b/unix/unix.c
+@@ -1705,7 +1705,7 @@
+ #endif /* Sun */
+ #endif /* SGI */
+
+-#ifdef __DATE__
++#if 0
+ " on ", __DATE__
+ #else
+ "", ""
PKG_NAME:=zip
PKG_REV:=30
PKG_VERSION:=3.0
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)$(PKG_REV).tar.gz
PKG_SOURCE_URL:=@SF/infozip
--- /dev/null
+From: Santiago Vila <sanvila@debian.org>
+Subject: Remove (optional) build date to make the build reproducible
+Bug-Debian: http://bugs.debian.org/779042
+
+--- a/unix/unix.c
++++ b/unix/unix.c
+@@ -1020,7 +1020,7 @@
+
+
+ /* Define the compile date string */
+-#ifdef __DATE__
++#if 0
+ # define COMPILE_DATE " on " __DATE__
+ #else
+ # define COMPILE_DATE ""