Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2018
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 66.58 KB | None | 0 0
  1. diff -ur freetz/CHANGELOG FHEM/CHANGELOG
  2. --- freetz/CHANGELOG 2018-09-21 06:38:47.481016162 +0200
  3. +++ FHEM/CHANGELOG 2018-09-21 06:29:44.493658162 +0200
  4. @@ -1,4 +1,4 @@
  5. -$Id: CHANGELOG 14874 2018-09-20 22:10:08Z er13 $
  6. +$Id$
  7.  
  8. Latest changes:
  9.  
  10. @@ -36,6 +36,7 @@
  11. - New patches (read online help for more info):
  12.  
  13. - New packages, libs, modules:
  14. + * argp-standalone 1.3
  15. * asterisk 11.25.3
  16. * asterisk-chan-capi post-1.1.6 with asterisk11 adjustments by Mihai Moldovan
  17. * asterisk-chan-dongle 1.1-git (asterisk11 branch)
  18. @@ -48,39 +49,57 @@
  19. * bvi 1.4.0
  20. * cntlm 0.93beta5
  21. * decrypt FRITZ!OS configs v0.2 (renamed version of PeterPawn's script decode_passwords)
  22. + * dovecot 2.3.2.1
  23. + * EIBD BCUSDK 0.0.5
  24. * ISC dhcp 4.3.6-P1
  25. * E-MailRelay 1.9
  26. * getdns 1.4.2
  27. * gptfdisk 1.0.1
  28. + * gzip 1.6
  29. * iksemel 1.5-git
  30. * iperf 3.6
  31. * jansson 2.7
  32. * jq 1.5
  33. + * letsencrypt (certbot script) 1.0
  34. * libavmacl2 (taken from AVM's 7490.06.30 open-source package)
  35. * libcap 2.24
  36. * libgsm-1.0.13
  37. + * libmcrypt 2.5.8
  38. * libmnl 1.0.4
  39. * libnettle 3.4
  40. * liblz4 1.8.2
  41. * libonig 6.7.1
  42. + * libpthsem 2.0.8
  43. * libsrtp-1.4.4+20100615
  44. * libssh2 1.8.0
  45. * libusb-compat 0.1.5
  46. + * Linknx 0.0.1.30
  47. * lzma1 4.65
  48. - * mbed TLS 2.7.6
  49. + * mbed TLS 2.7.5
  50. * nzbget 14.1
  51. * PJProject 2.2.1
  52. * Fritz!Box private key password framework v0.7-git (by PeterPawn)
  53. * python-cheetah 2.4.4
  54. + * python-configobj 5.0.6
  55. + * python-googlechart 0.3.0
  56. + * python-lxml 3.4.0
  57. * python-mechanize 0.2.5
  58. + * python-six 1.8.0
  59. + * python-usb 1.0.0b2
  60. + * python-yaml 3.11
  61. * python-yEnc 0.4.0
  62. + * roundcubemail 1.0.9
  63. * serf 1.3.9
  64. * ScanButton 0.2.3.cvs20090713
  65. * speex 1.2rc1
  66. * spandsp 0.0.6pre21
  67. * squashfs-tools 3.4
  68. * squashfs-tools 4.3 (modified to support AVM-BE format)
  69. + * tar 1.28
  70. + * tar-cgi 0.1 (backup cgi)
  71. + * wfrog 0.8.2+svn953
  72. * WireGuard 0.0.20180809
  73. + * ws28xx master
  74. * xz 5.2.4
  75.  
  76. - Updated tools and hooks:
  77. diff -ur freetz/config/avm/availability.in FHEM/config/avm/availability.in
  78. --- freetz/config/avm/availability.in 2018-09-21 06:39:08.315428162 +0200
  79. +++ FHEM/config/avm/availability.in 2018-09-21 06:29:44.537680162 +0200
  80. @@ -220,7 +220,6 @@
  81. )) \
  82. || \
  83. ( FREETZ_TYPE_LANG_EN && ( \
  84. - FREETZ_TYPE_7490 || \
  85. FREETZ_TYPE_7560 || \
  86. FREETZ_TYPE_7590 \
  87. ))
  88. diff -ur freetz/config/mod/download.in FHEM/config/mod/download.in
  89. --- freetz/config/mod/download.in 2018-09-21 06:39:08.283412162 +0200
  90. +++ FHEM/config/mod/download.in 2018-09-21 06:29:44.541682161 +0200
  91. @@ -348,7 +348,6 @@
  92. default "@AVM/{fritzbox-7490/{other,belgium}/fritz.os,fritzbox.7490/firmware/{english,belgium}}" if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_06_2X
  93. default "@AVM/{fritzbox-7490/{other,belgium}/fritz.os,fritzbox.7490/firmware/{english,belgium}}" if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_06_5X
  94. default "@AVM/{fritzbox-7490/{other,belgium}/fritz.os,fritzbox.7490/firmware/{english,belgium}}" if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_06_8X
  95. - default "@AVM/{fritzbox-7490/{other,belgium}/fritz.os,fritzbox.7490/firmware/{english,belgium}}" if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_07_0X
  96. # default "@AVM/fileadmin/user_upload/DE/Labor/Download,@AVM/beta,@AVM/beta/frisch-aus-der-entwicklung" if FREETZ_TYPE_FIRMWARE_LABOR && FREETZ_TYPE_7490
  97. #
  98. default "@AVM/{fritzbox-7560/deutschland/fritz.os,fritzbox.7560/firmware/deutsch},@1&1/7560" if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7560 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_5X
  99. @@ -570,7 +569,6 @@
  100. default "FRITZ.Box_7490.en-de-es-it-fr-pl.113.06.31.image" if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_06_2X
  101. default "FRITZ.Box_7490.en-de-es-it-fr-pl.113.06.53.image" if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_06_5X
  102. default "FRITZ.Box_7490.en-de-es-it-fr-pl.113.06.84.image" if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_06_8X
  103. - default "FRITZ.Box_7490.en-de-es-it-fr-pl.113.07.01.image" if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_07_0X
  104. #
  105. default "FRITZ.Box_7560.149.06.53.image" if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7560 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_5X
  106. default "FRITZ.Box_7560.149.06.83.image" if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7560 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_8X
  107. @@ -584,7 +582,7 @@
  108. default "FRITZ.Box_7580.153.06.54.image" if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_5X
  109. default "FRITZ.Box_7580.153.06.83.image" if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_8X
  110. default "FRITZ.Box_7580.153.06.92.image" if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_9X
  111. - default "FRITZ.Box_7580.153.07.01.image" if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_07_0X
  112. + default "FRITZ.Box_7580.153.07.00.image" if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_07_0X
  113. #
  114. default "FRITZ.Box_7590.154.06.86.image" if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7590 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_8X
  115. default "FRITZ.Box_7590.154.06.92.image" if FREETZ_TYPE_FIRMWARE_FINAL && FREETZ_TYPE_7590 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_9X
  116. @@ -788,7 +786,6 @@
  117. default "f7cf6f0bf972e7026133d088dad4d86b" if FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_06_2X
  118. default "2f05f8a6f4ee3d676068228315c4477a" if FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_06_5X
  119. default "3245344121f23077764e51099fd7111b" if FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_06_8X
  120. - default "a5241911ab7b612e4e28a58b68b4d26a" if FREETZ_TYPE_7490 && FREETZ_TYPE_LANG_EN && FREETZ_TYPE_FIRMWARE_07_0X
  121. #
  122. default "d971ac5a27864b3284ddbd38d4efbaef" if FREETZ_TYPE_7560 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_5X
  123. default "f1698e218e20cce40d109ef1937592ce" if FREETZ_TYPE_7560 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_8X
  124. @@ -802,7 +799,7 @@
  125. default "f9c0f0284f0b8c1024e43d2f1c1ee1a2" if FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_5X
  126. default "4301434de4fc74fd6485e936ce4b9c1c" if FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_8X
  127. default "3737b57f0efc04ac5607c8a45593bbe8" if FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_9X
  128. - default "3997991bce1333f3faa83fe2191ebf82" if FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_07_0X
  129. + default "222099705f0c9c6a03e7b251d73badcc" if FREETZ_TYPE_7580 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_07_0X
  130. #
  131. default "d4aaca6e08639b532489415bb719b3b2" if FREETZ_TYPE_7590 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_8X
  132. default "e7a940dd13debd5531cefef1b68d4cce" if FREETZ_TYPE_7590 && FREETZ_TYPE_LANG_DE && FREETZ_TYPE_FIRMWARE_06_9X
  133. diff -ur freetz/FIRMWARES FHEM/FIRMWARES
  134. --- freetz/FIRMWARES 2018-09-21 06:39:05.690116162 +0200
  135. +++ FHEM/FIRMWARES 2018-09-21 06:29:44.493658162 +0200
  136. @@ -1,4 +1,4 @@
  137. -$Id: FIRMWARES 14873 2018-09-20 21:52:09Z er13 $
  138. +$Id$
  139.  
  140. Currently supported boxes and firmwares
  141. =======================================
  142. @@ -237,7 +237,6 @@
  143. * 113.06.31 rev32500 (International, Belgian release)
  144. * 113.06.53 rev38152 (International, Belgian release)
  145. * 113.06.84 rev48533 (International)
  146. - * 113.07.01 rev61484 (International)
  147.  
  148. ====== Fritz!Box Fon WLAN (75xx) ======
  149.  
  150. @@ -256,7 +255,7 @@
  151. * 153.06.54 rev41655
  152. * 153.06.83 rev44004
  153. * 153.06.92 rev47571
  154. - * 153.07.01 rev61517
  155. + * 153.07.00 rev59665
  156.  
  157. * Fritz!Box Fon WLAN 7590
  158. * 154.06.86 rev45533
  159. Nur in FHEM/: .git.
  160. Nur in FHEM/include: .gitignore.
  161. diff -ur freetz/make/apache2/apache2.mk FHEM/make/apache2/apache2.mk
  162. --- freetz/make/apache2/apache2.mk 2018-09-21 06:40:04.063288162 +0200
  163. +++ FHEM/make/apache2/apache2.mk 2018-09-21 06:29:44.549686162 +0200
  164. @@ -2,24 +2,78 @@
  165. $(PKG)_SOURCE:=httpd-$($(PKG)_VERSION).tar.bz2
  166. $(PKG)_SOURCE_SHA1:=94d6e274273903ed153479c7701fa03761abf93d
  167. $(PKG)_SITE:=@APACHE/httpd
  168. +# if ssl is configured, then it will be somehow picked up by apache2 configure, therefore enable it anyway
  169. +$(PKG)_WITH_SSL:=
  170. +ifeq ($(strip $(FREETZ_PACKAGE_APACHE2_SSL)),y)
  171. +$(PKG)_WITH_SSL:=y
  172. +endif
  173. +ifeq ($(strip $(FREETZ_LIB_libssl)),y)
  174. +$(PKG)_WITH_SSL:=y
  175. +endif
  176. +
  177. +$(PKG)_CONDITIONAL_PATCHES+=$(FREETZ_PACKAGE_APACHE2_MPM)
  178. +ifeq ($(strip $(FREETZ_PACKAGE_APACHE2_SMALL)),y)
  179. +$(PKG)_CONDITIONAL_PATCHES+=small
  180. +endif
  181. +ifeq ($(strip $(FREETZ_PACKAGE_APACHE2_WITH_MYCONFIG)),y)
  182. +$(PKG)_CONDITIONAL_PATCHES+=myconfig
  183. +endif
  184. +ifeq ($(strip $(FREETZ_PACKAGE_ROUNDCUBEMAIL)),y)
  185. +$(PKG)_CONDITIONAL_PATCHES+=roundcubemail
  186. +endif
  187. +ifeq ($(strip $(FREETZ_PACKAGE_LINKNX)),y)
  188. +$(PKG)_CONDITIONAL_PATCHES+=linknx
  189. +endif
  190. +ifeq ($(strip $(FREETZ_PACKAGE_WFROG)),y)
  191. +$(PKG)_CONDITIONAL_PATCHES+=wfrog
  192. +endif
  193. +ifeq ($(strip $(APACHE2_WITH_SSL)),y)
  194. +$(PKG)_CONDITIONAL_PATCHES+=ssl
  195. +endif
  196. +ifeq ($(strip $(FREETZ_PACKAGE_FHEM)),y)
  197. +$(PKG)_CONDITIONAL_PATCHES+=fhem
  198. +endif
  199. +ifeq ($(strip $(FREETZ_PACKAGE_APACHE2_PROXY)),y)
  200. +$(PKG)_CONDITIONAL_PATCHES+=proxy
  201. +endif
  202. +ifeq ($(strip $(FREETZ_PACKAGE_APACHE2_SSL_WITH_CERT)),y)
  203. +$(PKG)_CONFIGURE_PRE_CMDS += $(SED) -i -e 's/www.example.com/$(shell echo $(FREETZ_PACKAGE_APACHE2_SSL_CERT_USE_DOMAINNAME) | tr -d "")/' $(abspath $($(PKG)_DIR))/docs/conf/extra/httpd-ssl.conf.in;
  204. +endif
  205. +
  206. +# patch PidFile to /var/run/apache2/httpd.pid
  207. +$(PKG)_CONFIGURE_PRE_CMDS += $(SED) -i -e 's~@rel_runtimedir@~/var/run/apache2~g' $(abspath $($(PKG)_DIR))/docs/conf/extra/httpd-mpm.conf.in;
  208. +$(PKG)_CONFIGURE_PRE_CMDS += $(SED) -i -e 's~@rel_runtimedir@~/var/run/apache2~g' $(abspath $($(PKG)_DIR))/include/ap_config_layout.h.in;
  209.  
  210. $(PKG)_BINARY:=$($(PKG)_DIR)/$(pkg)
  211. $(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/sbin/$(pkg)
  212. +$(PKG)_TAR_CONFIG := $($(PKG)_DEST_DIR)/etc/default.$(pkg)/default_config/default_config.tar
  213. +$(PKG)_TAR_HTDOC := $($(PKG)_DEST_DIR)/etc/default.$(pkg)/default_htdoc/default_htdoc.tar
  214.  
  215. $(PKG)_APXS_SCRIPT:=$($(PKG)_DIR)/support/apxs
  216. $(PKG)_APXS_SCRIPT_STAGING_DIR:=$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/bin/apxs
  217.  
  218. +$(PKG)_HTPW_BINARY:=$($(PKG)_DIR)/support/htpasswd
  219. +$(PKG)_HTPW_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/sbin/htpasswd
  220. +
  221. +$(PKG)_CERT_KEY_TARGET := $($(PKG)_DEST_DIR)/etc/default.$(pkg)/ssl/server.key
  222. +$(PKG)_CERT_CRT_TARGET := $($(PKG)_DEST_DIR)/etc/default.$(pkg)/ssl/server.crt
  223. +$(PKG)_CERT_CHAIN_TARGET := $($(PKG)_DEST_DIR)/etc/default.$(pkg)/ssl/server-ca.crt
  224. +$(PKG)_CERT_CSR := $($(PKG)_DIR)/server.csr
  225. +
  226. $(PKG)_DEPENDS_ON += apr apr-util pcre
  227. ifeq ($(strip $(FREETZ_PACKAGE_APACHE2_DEFLATE)),y)
  228. $(PKG)_DEPENDS_ON += zlib
  229. endif
  230. -ifeq ($(strip $(FREETZ_PACKAGE_APACHE2_SSL)),y)
  231. +ifeq ($(strip $(APACHE2_WITH_SSL)),y)
  232. $(PKG)_REBUILD_SUBOPTS += FREETZ_OPENSSL_SHLIB_VERSION
  233. $(PKG)_DEPENDS_ON += openssl
  234. endif
  235. ifeq ($(strip $(FREETZ_PACKAGE_APACHE2_LIBXML)),y)
  236. $(PKG)_DEPENDS_ON += libxml2
  237. endif
  238. +ifeq ($(strip $(FREETZ_PACKAGE_APACHE2_SSL_WITH_CERT)),y)
  239. +$(PKG)_CONFIGURE_PRE_CMDS += $(SED) -i -e 's/www\.example\.com/$(shell echo $(FREETZ_PACKAGE_APACHE2_SSL_CERT_USE_DOMAINNAME) | tr -d "" | sed s~\\\.~\\\\\\.~g)/' docs/conf/extra/httpd-ssl.conf.in;
  240. +endif
  241.  
  242. $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_APACHE2_DEFLATE
  243. $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_APACHE2_SSL
  244. @@ -32,7 +86,7 @@
  245. $(PKG)_CONFIGURE_OPTIONS += --with-apr="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/bin/apr-1-config"
  246. $(PKG)_CONFIGURE_OPTIONS += --with-apr-util="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/bin/apu-1-config"
  247. $(PKG)_CONFIGURE_OPTIONS += --with-pcre="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/bin/pcre-config"
  248. -$(PKG)_CONFIGURE_OPTIONS += --with-ssl=$(if $(FREETZ_PACKAGE_APACHE2_SSL),"$(TARGET_TOOLCHAIN_STAGING_DIR)/usr",no)
  249. +$(PKG)_CONFIGURE_OPTIONS += --with-ssl=$(if $(APACHE2_WITH_SSL),"$(TARGET_TOOLCHAIN_STAGING_DIR)/usr",no)
  250. $(PKG)_CONFIGURE_OPTIONS += --with-z=$(if $(FREETZ_PACKAGE_APACHE2_DEFLATE),"$(TARGET_TOOLCHAIN_STAGING_DIR)/usr",no)
  251.  
  252. $(PKG)_CONFIGURE_PRE_CMDS += $(call PKG_MAKE_AC_VARIABLES_PACKAGE_SPECIFIC,libxml2)
  253. @@ -41,10 +95,10 @@
  254. $(PKG)_LIBEXECDIR := /usr/lib/$(pkg)
  255. $(PKG)_CONFIGURE_OPTIONS += --with-program-name=$(pkg)
  256. $(PKG)_CONFIGURE_OPTIONS += --with-suexec-bin=/usr/sbin/suexec2
  257. -$(PKG)_CONFIGURE_OPTIONS += --sysconfdir=/etc/$(pkg)
  258. +$(PKG)_CONFIGURE_OPTIONS += --sysconfdir=/mod/etc/$(pkg)
  259. $(PKG)_CONFIGURE_OPTIONS += --includedir=/usr/include/$(pkg)
  260. $(PKG)_CONFIGURE_OPTIONS += --libexecdir=$($(PKG)_LIBEXECDIR)
  261. -$(PKG)_CONFIGURE_OPTIONS += --datadir=/usr/share/$(pkg)
  262. +$(PKG)_CONFIGURE_OPTIONS += --datadir=/mod/usr/share/$(pkg)
  263. $(PKG)_CONFIGURE_OPTIONS += --localstatedir=/var/$(pkg)
  264.  
  265. $(PKG)_CONFIGURE_OPTIONS += --enable-substitute
  266. @@ -53,7 +107,8 @@
  267. $(PKG)_CONFIGURE_OPTIONS += --enable-headers
  268. $(PKG)_CONFIGURE_OPTIONS += --enable-unique-id
  269. $(PKG)_CONFIGURE_OPTIONS += --enable-proxy
  270. -$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_APACHE2_SSL),--enable-ssl,--disable-ssl)
  271. +$(PKG)_CONFIGURE_OPTIONS += $(if $(APACHE2_WITH_SSL),--enable-ssl,--disable-ssl)
  272. +$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_APACHE2_MPM_PREFORK),--with-mpm=prefork,--with-mpm=worker)
  273. $(PKG)_CONFIGURE_OPTIONS += --enable-dav
  274. $(PKG)_CONFIGURE_OPTIONS += --enable-dav-fs
  275. $(PKG)_CONFIGURE_OPTIONS += --enable-suexec
  276. @@ -63,6 +118,10 @@
  277. $(PKG)_CONFIGURE_OPTIONS += --disable-lua
  278. $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_APACHE2_LIBXML),--enable-xml2enc --enable-proxy-html,--disable-xml2enc --disable-proxy-html)
  279. $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_APACHE2_COMPILEINMODS),--enable-mods-static=all --disable-so,--enable-mods-shared=all --enable-so)
  280. +ifeq ($(strip $(APACHE2_WITH_SSL)),y)
  281. +$(PKG)_CONFIGURE_OPTIONS += --with-sslport=$(if $(FREETZ_PACKAGE_APACHE2_SSL_WITH_SSLPORT),$(FREETZ_PACKAGE_APACHE2_SSL_WITH_SSLPORT),443)
  282. +endif
  283. +$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_APACHE2_PROXY), --enable-proxy-http,)
  284.  
  285. $(PKG_SOURCE_DOWNLOAD)
  286. $(PKG_UNPACKED)
  287. @@ -80,35 +139,65 @@
  288. DESTDIR="$(FREETZ_BASE_DIR)/$(APACHE2_DEST_DIR)"
  289. # remove unneeded files
  290. $(RM) -r \
  291. - $(APACHE2_DEST_DIR)/etc/apache2/original \
  292. + $(APACHE2_DEST_DIR)/mod/etc/apache2/original \
  293. $(APACHE2_DEST_DIR)/usr/{bin,include,sbin/envvars-std,share/man} \
  294. - $(APACHE2_DEST_DIR)/usr/share/apache2/{build,cgi-bin/*,error/README*,icons/README*,icons/*.gif,icons/*/*.gif,manual} \
  295. + $(APACHE2_DEST_DIR)/mod/usr/share/apache2/{build,cgi-bin/*,error/README*,icons/README*,icons/*.gif,icons/*/*.gif,manual} \
  296. $(APACHE2_DEST_DIR)/var
  297. # strip binaries & modules
  298. -$(TARGET_STRIP) $(APACHE2_DEST_DIR)/usr/sbin/* $(APACHE2_DEST_DIR)/usr/lib/apache2/*.so
  299. # rename suexec to suexec2 manually, apache ignores --with-suexec-bin option
  300. mv $(APACHE2_DEST_DIR)/usr/sbin/suexec $(APACHE2_DEST_DIR)/usr/sbin/suexec2
  301.  
  302. +$($(PKG)_HTPW_TARGET_BINARY): $($(PKG)_TARGET_BINARY)
  303. + cp $(APACHE2_HTPW_BINARY) $@
  304. + -$(TARGET_STRIP) $@
  305. +
  306. +$($(PKG)_CERT_CRT_TARGET): $($(PKG)_CERT_KEY_TARGET) $($(PKG)_CERT_CSR)
  307. + openssl x509 -req -in $(APACHE2_CERT_CSR) -out $@ -signkey $< -days 1001
  308. +
  309. +$($(PKG)_CERT_KEY_TARGET) $($(PKG)_CERT_CSR):
  310. + mkdir -p $(dir $@)
  311. + mkdir -p $(dir $(APACHE2_CERT_CSR))
  312. + openssl req -nodes -newkey rsa:2048 -keyout $(APACHE2_CERT_KEY_TARGET) -out $(APACHE2_CERT_CSR) -subj "/CN=$(strip $(FREETZ_PACKAGE_APACHE2_SSL_CERT_USE_DOMAINNAME))" && \
  313. + chmod 600 $(APACHE2_CERT_KEY_TARGET)
  314. +
  315. +$($(PKG)_CERT_CHAIN_TARGET): $($(PKG)_CERT_CRT_TARGET)
  316. + mkdir -p $(dir $@)
  317. + openssl x509 -inform PEM -in $(APACHE2_CERT_CRT_TARGET) -out $@
  318. +
  319. $($(PKG)_APXS_SCRIPT_STAGING_DIR): $($(PKG)_APXS_SCRIPT)
  320. $(SUBMAKE1) -C $(APACHE2_DIR) \
  321. install-include install-build \
  322. DESTDIR="$(TARGET_TOOLCHAIN_STAGING_DIR)"
  323. $(SED) -i -r -e 's,^(includedir[ \t]*=[ \t]*)(.*),\1$(TARGET_TOOLCHAIN_STAGING_DIR)\2,' \
  324. - $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/share/apache2/build/config_vars.mk
  325. + $(TARGET_TOOLCHAIN_STAGING_DIR)/mod/usr/share/apache2/build/config_vars.mk
  326. $(INSTALL_FILE)
  327. chmod 755 $@
  328. $(SED) -i -r -e 's,my \$$STAGING_DIR = "";,my \$$STAGING_DIR = "$(TARGET_TOOLCHAIN_STAGING_DIR)";,' $@
  329.  
  330. +$($(PKG)_TAR_CONFIG): $($(PKG)_TARGET_BINARY) $($(PKG)_DIR)/docs/conf
  331. + mkdir -p $(dir $@)
  332. + tar -C $(APACHE2_DEST_DIR)/mod/etc/apache2 -cf $@ .
  333. + $(RM) -r $(APACHE2_DEST_DIR)/mod/etc
  334. + [ ! -d $(APACHE2_DEST_DIR)/mod/usr ] && $(RM) -r $(APACHE2_DEST_DIR)/mod ||:
  335. +
  336. +$($(PKG)_TAR_HTDOC): $($(PKG)_TARGET_BINARY)
  337. + mkdir -p $(dir $@)
  338. + tar -C $(APACHE2_DEST_DIR)/mod/usr/share/apache2 -cf $@ .
  339. + $(RM) -r $(APACHE2_DEST_DIR)/mod/usr
  340. + [ ! -d $(APACHE2_DEST_DIR)/mod/etc ] && $(RM) -r $(APACHE2_DEST_DIR)/mod ||:
  341. +
  342. $(pkg):
  343.  
  344. -$(pkg)-precompiled: $($(PKG)_TARGET_BINARY) $($(PKG)_APXS_SCRIPT_STAGING_DIR)
  345. +$(pkg)-precompiled: $($(PKG)_TARGET_BINARY) $($(PKG)_APXS_SCRIPT_STAGING_DIR) $($(PKG)_TAR_CONFIG) $($(PKG)_TAR_HTDOC) $($(PKG)_HTPW_TARGET_BINARY) $(if $(FREETZ_PACKAGE_APACHE2_SSL_WITH_CERT),$($(PKG)_CERT_CHAIN_TARGET),)
  346.  
  347. $(pkg)-clean:
  348. -$(SUBMAKE) -C $(APACHE2_DIR) clean
  349. $(RM) -r \
  350. $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/bin/apxs \
  351. $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/include/apache2 \
  352. - $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/share/apache2
  353. + $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/share/apache2 \
  354. + $(APACHE2_CERT_CSR)
  355.  
  356. $(pkg)-uninstall:
  357. $(RM) -r $(APACHE2_DEST_DIR)
  358. diff -ur freetz/make/apache2/Config.in FHEM/make/apache2/Config.in
  359. --- freetz/make/apache2/Config.in 2018-09-21 06:40:03.995254162 +0200
  360. +++ FHEM/make/apache2/Config.in 2018-09-21 06:29:44.549686162 +0200
  361. @@ -13,6 +13,10 @@
  362. select FREETZ_OPENSSL_VERSION_PROMPT if FREETZ_PACKAGE_APACHE2_STATIC && FREETZ_PACKAGE_APACHE2_SSL
  363. select FREETZ_LIB_libxml2 if ! FREETZ_PACKAGE_APACHE2_STATIC && FREETZ_PACKAGE_APACHE2_LIBXML
  364. select FREETZ_LIB_libxml2_WITH_HTML if FREETZ_PACKAGE_APACHE2_LIBXML
  365. + select FREETZ_PACKAGE_PHP_WITH_APACHE2 if FREETZ_PACKAGE_APACHE2_PHP_MOD
  366. + select FREETZ_PACKAGE_APACHE2_MPM_PREFORK if FREETZ_PACKAGE_APACHE2_PHP_MOD
  367. + select FREETZ_PACKAGE_APACHE2_MPM_WORKER if ! FREETZ_PACKAGE_APACHE2_PHP_MOD
  368. + select FREETZ_PACKAGE_APACHE2_LIBXML if FREETZ_PACKAGE_APACHE2_PROXY
  369. default n
  370. help
  371. The Apache httpd server
  372. @@ -24,6 +28,56 @@
  373. help
  374. Enables the deflate compression. Requires libz.
  375.  
  376. +config FREETZ_PACKAGE_APACHE2_PHP_MOD
  377. + bool "Enable PHP Module"
  378. + depends on FREETZ_PACKAGE_APACHE2
  379. + default n
  380. + help
  381. + Enables the PHP module. Requires php5 module.
  382. +
  383. +choice
  384. +depends on FREETZ_PACKAGE_APACHE2_PHP_MOD
  385. + prompt "config_mpm"
  386. + default FREETZ_PACKAGE_APACHE2_MPM_PREFORK if FREETZ_PACKAGE_APACHE2_PHP_MOD
  387. + default FREETZ_PACKAGE_APACHE2_MPM_WORKER
  388. +
  389. + config FREETZ_PACKAGE_APACHE2_MPM_PREFORK
  390. + bool "Prefork"
  391. +#
  392. +# config FREETZ_PACKAGE_APACHE2_MPM_WORKER
  393. +# bool "Worker"
  394. +endchoice
  395. +
  396. +config FREETZ_PACKAGE_APACHE2_MPM
  397. + depends on FREETZ_PACKAGE_APACHE2
  398. + string
  399. + default "prefork" if FREETZ_PACKAGE_APACHE2_MPM_PREFORK
  400. + default "worker" if FREETZ_PACKAGE_APACHE2_MPM_WORKER
  401. +
  402. +config FREETZ_PACKAGE_APACHE2_SMALL
  403. + bool "Enable configuration with small memory foot print"
  404. + depends on FREETZ_PACKAGE_APACHE2
  405. + default y
  406. + help
  407. + Changes number of threads and workers in mpm configuration file.
  408. +
  409. +config FREETZ_PACKAGE_APACHE2_PROXY
  410. + bool "Enable configuration as freetz proxy"
  411. + depends on FREETZ_PACKAGE_APACHE2
  412. + select FREETZ_PACKAGE_APACHE2_LIBXML
  413. + default n
  414. + help
  415. + Adds configuration in order that apache works as freetz proxy.
  416. +
  417. +config FREETZ_PACKAGE_APACHE2_WITH_MYCONFIG
  418. + bool "Enable additional configuration accessable via web interface"
  419. + depends on FREETZ_PACKAGE_APACHE2
  420. + default n
  421. + help
  422. + Provides additional configuration file, which is accessible via
  423. + freetz web interface to override external access rights and
  424. + other configuration itmes.
  425. +
  426. config FREETZ_PACKAGE_APACHE2_SSL
  427. bool "Enable SSL"
  428. depends on FREETZ_PACKAGE_APACHE2
  429. @@ -31,6 +85,27 @@
  430. help
  431. Enables the SSL module. Requires openssl.
  432.  
  433. + config FREETZ_PACKAGE_APACHE2_SSL_WITH_CERT
  434. + depends on FREETZ_PACKAGE_APACHE2_SSL
  435. + bool "Create self signed certificate"
  436. + default n
  437. + help
  438. + Creates self signed certificate. Needs the domain name of
  439. + of the web server to be entered.
  440. +
  441. + config FREETZ_PACKAGE_APACHE2_SSL_CERT_USE_DOMAINNAME
  442. + depends on FREETZ_PACKAGE_APACHE2_SSL_WITH_CERT
  443. + string "enter domain name"
  444. + default "fritz.box"
  445. +
  446. + config FREETZ_PACKAGE_APACHE2_SSL_WITH_SSLPORT
  447. + depends on FREETZ_PACKAGE_APACHE2_SSL
  448. + string "enter ssl port"
  449. + default "443"
  450. + help
  451. + Change ssl port to different port,
  452. + might be changed in conjunction with SSLH package.
  453. +
  454. config FREETZ_PACKAGE_APACHE2_LIBXML
  455. bool "Enable libxml dependent modules"
  456. depends on FREETZ_PACKAGE_APACHE2
  457. Nur in FHEM/make/apache2: external.services.
  458. Nur in FHEM/make/apache2: files.
  459. Nur in FHEM/make/apache2/patches: 203-adapt-config-to-freetz-environment.patch.
  460. Nur in FHEM/make/apache2/patches: 208-add-logout-access-rules.patch.
  461. Nur in FHEM/make/apache2/patches: 300-restrict-htdocs-root-access.patch.
  462. Nur in FHEM/make/apache2/patches: fhem.
  463. Nur in FHEM/make/apache2/patches: linknx.
  464. Nur in FHEM/make/apache2/patches: myconfig.
  465. Nur in FHEM/make/apache2/patches: prefork.
  466. Nur in FHEM/make/apache2/patches: proxy.
  467. Nur in FHEM/make/apache2/patches: roundcubemail.
  468. Nur in FHEM/make/apache2/patches: small.
  469. Nur in FHEM/make/apache2/patches: ssl.
  470. Nur in FHEM/make/apache2/patches: wfrog.
  471. Nur in FHEM/make: certbot-cgi.
  472. Nur in freetz/make/debootstrap: patches.
  473. Nur in FHEM/make: dev-tools.
  474. Nur in FHEM/make: dev-tools-autoconf.
  475. Nur in FHEM/make: dev-tools-automake.
  476. Nur in FHEM/make: dev-tools-bison.
  477. Nur in FHEM/make: dev-tools-flex.
  478. Nur in FHEM/make: dev-tools-m4.
  479. Nur in FHEM/make/dnsmasq/patches: 030-allow-acme-challenge-response-for-certbot.patch.
  480. Nur in FHEM/make: dovecot.
  481. diff -ur freetz/make/dropbear/files/root/etc/default.dropbear/dropbear.cfg FHEM/make/dropbear/files/root/etc/default.dropbear/dropbear.cfg
  482. --- freetz/make/dropbear/files/root/etc/default.dropbear/dropbear.cfg 2018-09-21 06:40:13.087798162 +0200
  483. +++ FHEM/make/dropbear/files/root/etc/default.dropbear/dropbear.cfg 2018-09-21 06:29:45.089956162 +0200
  484. @@ -3,3 +3,5 @@
  485. export DROPBEAR_PORT='22'
  486. export DROPBEAR_PWDAUTH='yes'
  487. export DROPBEAR_ROOTONLY='yes'
  488. +export DROPBEAR_LOGINONLYASUSER=''
  489. +export DROPBEAR_LOGINONLYUSERID=''
  490. diff -ur freetz/make/dropbear/files/root/etc/default.dropbear/dropbear.inetd FHEM/make/dropbear/files/root/etc/default.dropbear/dropbear.inetd
  491. --- freetz/make/dropbear/files/root/etc/default.dropbear/dropbear.inetd 2018-09-21 06:40:13.131820162 +0200
  492. +++ FHEM/make/dropbear/files/root/etc/default.dropbear/dropbear.inetd 2018-09-21 06:29:45.093958162 +0200
  493. @@ -7,4 +7,4 @@
  494. inetdcfg_user=root
  495. inetdcfg_exe=/usr/sbin/dropbear
  496. inetdcfg_arg0=dropbear
  497. -inetdcfg_args="-i$([ "$DROPBEAR_PWDAUTH" = "yes" ] || echo " -s")$([ "$DROPBEAR_ROOTONLY" = "yes" ] && echo " -0") $DROPBEAR_OPTIONS"
  498. +inetdcfg_args="-i$([ "$DROPBEAR_PWDAUTH" = "yes" ] || echo " -s")$([ "$DROPBEAR_ROOTONLY" = "yes" ] && echo " -0")$([ -n "$DROPBEAR_LOGINONLYUSERID" ] && echo " -U $DROPBEAR_LOGINONLYUSERID") $DROPBEAR_OPTIONS"
  499. diff -ur freetz/make/dropbear/files/root/etc/init.d/rc.dropbear FHEM/make/dropbear/files/root/etc/init.d/rc.dropbear
  500. --- freetz/make/dropbear/files/root/etc/init.d/rc.dropbear 2018-09-21 06:40:13.123816162 +0200
  501. +++ FHEM/make/dropbear/files/root/etc/init.d/rc.dropbear 2018-09-21 06:29:45.093958162 +0200
  502. @@ -32,6 +32,36 @@
  503. fi
  504. }
  505.  
  506. +update_option() {
  507. + local userid do_save=false
  508. + if [ -n "$DROPBEAR_LOGINONLYASUSER" ]; then
  509. + userid=`cat /etc/passwd | grep -s '^'"$DROPBEAR_LOGINONLYASUSER" | cut -d: -f3`
  510. + if [ -z "$userid" ]; then
  511. + echo "Error[$DAEMON]: userid for $DROPBEAR_LOGINONLYASUSER not found - run 'adduser $DROPBEAR_LOGINONLYASUSER'" 1>&2
  512. + exit 1
  513. + elif cat /etc/shadow | grep -q '^'$DROPBEAR_LOGINONLYASUSER':[*!]:' && cat /etc/passwd | grep -q '^'$DROPBEAR_LOGINONLYASUSER'::'; then
  514. + echo "Error[$DAEMON]: for $DROPBEAR_LOGINONLYASUSER no password set - run 'passwd $DROPBEAR_LOGINONLYASUSER'" 1>&2
  515. + exit 1
  516. + else
  517. + if [ -z "$DROPBEAR_LOGINONLYUSERID" ]; then
  518. + do_save=true
  519. + elif [ "$DROPBEAR_LOGINONLYUSERID" != "$userid" ]; then
  520. + do_save=true
  521. + fi
  522. + DROPBEAR_OPTIONS=" -U $userid $DROPBEAR_OPTIONS"
  523. + fi
  524. + elif [ -n "$DROPBEAR_LOGINONLYUSERID" ]; then
  525. + userid=''
  526. + do_save=true
  527. + fi
  528. + if $do_save; then
  529. + echo -n " ... Saving userid=$userid ... "
  530. + modconf set ${DAEMON} DROPBEAR_LOGINONLYUSERID=$userid
  531. + modconf save ${DAEMON}
  532. + modsave flash
  533. + fi
  534. +}
  535. +
  536. start() {
  537. if [ "$DROPBEAR_PWDAUTH" = "yes" ]; then
  538. if cat /etc/shadow | grep -q '^root:[*!]:'; then
  539. @@ -58,6 +88,8 @@
  540. modreg cgi 'dropbear' 'Dropbear'
  541. modreg daemon $DAEMON
  542.  
  543. + update_option
  544. +
  545. modlib_start $DROPBEAR_ENABLED
  546. ;;
  547. unload)
  548. @@ -66,6 +98,8 @@
  549. modlib_stop
  550. ;;
  551. start)
  552. + update_option
  553. +
  554. modlib_start
  555. ;;
  556. stop)
  557. diff -ur freetz/make/dropbear/files/root/usr/lib/cgi-bin/dropbear.cgi FHEM/make/dropbear/files/root/usr/lib/cgi-bin/dropbear.cgi
  558. --- freetz/make/dropbear/files/root/usr/lib/cgi-bin/dropbear.cgi 2018-09-21 06:40:13.091800162 +0200
  559. +++ FHEM/make/dropbear/files/root/usr/lib/cgi-bin/dropbear.cgi 2018-09-21 06:29:45.093958162 +0200
  560. @@ -29,6 +29,7 @@
  561.  
  562. cgi_print_checkbox_br "pwdauth" "$DROPBEAR_PWDAUTH" "$(lang de:"Passwort-Login erlauben" en:"Allow password login")"
  563. cgi_print_checkbox_br "rootonly" "$DROPBEAR_ROOTONLY" "$(lang de:"Login nur f&uuml;r root erlauben" en:"Allow only root login")"
  564. +cgi_print_textline_p "loginonlyasuser" "$DROPBEAR_LOGINONLYASUSER" 20/30 "$(lang de:"Login nur f&uuml;r folgenden Benutzer erlauben" en:"Allow login only for user"):"
  565.  
  566. cat << EOF
  567. <p style="font-size:10px;">$(lang de:"Bitte beachte, dass die FRITZ!Box keine ad&auml;quate Benutzerverwaltung bietet. Die Dateien /etc/passwd und /etc/shadow m&uuml;ssen mit <b>modsave</b> gespeichert werden. Bitte aktiviere die Unterst&uuml;tzung f&uuml;r normale Benutzer nur, wenn Du genau wei&szlig;t, was Du tust." en:"Please note that the FRITZ!Box does not support normal user management. The files /etc/passwd and /etc/shadow have to be saved with <b>modsave</b>. Please activate the support for regular users only if you know what you are doing.")</p>
  568. diff -ur freetz/make/dropbear/patches/100-root-login-only.patch FHEM/make/dropbear/patches/100-root-login-only.patch
  569. --- freetz/make/dropbear/patches/100-root-login-only.patch 2018-09-21 06:40:13.347928162 +0200
  570. +++ FHEM/make/dropbear/patches/100-root-login-only.patch 2018-09-21 06:29:45.093958162 +0200
  571. @@ -1,46 +1,73 @@
  572. --- runopts.h
  573. +++ runopts.h
  574. -@@ -101,6 +101,9 @@
  575. +@@ -101,6 +101,10 @@
  576. gid_t restrict_group_gid;
  577. #endif
  578.  
  579. + /* FRITZ!box */
  580. + int rootonlylogin;
  581. ++ int useronlylogin;
  582. +
  583. int noauthpass;
  584. int norootpass;
  585. int allowblankpass;
  586. --- svr-runopts.c
  587. +++ svr-runopts.c
  588. -@@ -70,6 +70,7 @@
  589. +@@ -70,6 +70,8 @@
  590. "-m Don't display the motd on login\n"
  591. #endif
  592. "-w Disallow root logins\n"
  593. + "-0 Allow only root logins\n"
  594. ++ "-U <user_id> Allow login only from user with id\n"
  595. #ifdef HAVE_GETGROUPLIST
  596. "-G Restrict logins to members of specified group\n"
  597. #endif
  598. -@@ -137,6 +138,7 @@
  599. - svr_opts.forced_command = NULL;
  600. +@@ -118,3 +120,4 @@
  601. + char* recv_window_arg = NULL;
  602. + char* keepalive_arg = NULL;
  603. ++ char* user_id_arg = NULL;
  604. + char* idle_timeout_arg = NULL;
  605. +@@ -137,5 +138,8 @@
  606. ++ svr_opts.forced_command = NULL;
  607. svr_opts.forkbg = 1;
  608. svr_opts.norootlogin = 0;
  609. + svr_opts.rootonlylogin = 0;
  610. ++ svr_opts.useronlylogin = 0;
  611. #ifdef HAVE_GETGROUPLIST
  612. svr_opts.restrict_group = NULL;
  613. svr_opts.restrict_group_gid = 0;
  614. -@@ -239,6 +241,9 @@
  615. +@@ -239,6 +241,12 @@
  616. case 'w':
  617. svr_opts.norootlogin = 1;
  618. break;
  619. + case '0':
  620. + svr_opts.rootonlylogin = 1;
  621. + break;
  622. ++ case 'U':
  623. ++ next = &user_id_arg;
  624. ++ break;
  625. #ifdef HAVE_GETGROUPLIST
  626. case 'G':
  627. next = &svr_opts.restrict_group;
  628. +--- svr-runopts.c
  629. ++++ svr-runopts.c
  630. +@@ -344,5 +354,13 @@
  631. + opts.keepalive_secs = val;
  632. + }
  633. +
  634. ++ if (user_id_arg) {
  635. ++ unsigned int val;
  636. ++ if (m_str_to_uint(user_id_arg, &val) == DROPBEAR_FAILURE) {
  637. ++ dropbear_exit("Bad user_id_arg '%s'", user_id_arg);
  638. ++ }
  639. ++ svr_opts.useronlylogin = val;
  640. ++ }
  641. ++
  642. + if (idle_timeout_arg) {
  643. + unsigned int val;
  644. --- svr-auth.c
  645. +++ svr-auth.c
  646. -@@ -305,6 +305,14 @@
  647. +@@ -314,6 +314,21 @@
  648. }
  649. #endif HAVE_GETGROUPLIST
  650.  
  651. @@ -51,6 +78,13 @@
  652. + send_msg_userauth_failure(0, 1);
  653. + return DROPBEAR_FAILURE;
  654. + }
  655. ++
  656. ++ if (svr_opts.useronlylogin && ses.authstate.pw_uid != svr_opts.useronlylogin) {
  657. ++ TRACE(("leave checkusername: only user login enabled"))
  658. ++ dropbear_log(LOG_WARNING, "wrong user login rejected");
  659. ++ send_msg_userauth_failure(0, 1);
  660. ++ return DROPBEAR_FAILURE;
  661. ++ }
  662. +
  663. TRACE(("shell is %s", ses.authstate.pw_shell))
  664.  
  665. Nur in FHEM/make: eibd.
  666. Nur in FHEM/make: fhem.
  667. diff -ur freetz/make/.gitignore FHEM/make/.gitignore
  668. --- freetz/make/.gitignore 2018-09-21 06:40:14.212360162 +0200
  669. +++ FHEM/make/.gitignore 2018-09-21 06:29:44.549686162 +0200
  670. @@ -1 +1,2 @@
  671. -!*.patch
  672. \ Kein Zeilenumbruch am Dateiende.
  673. +!*.patch
  674. +*.in.generated
  675. \ Kein Zeilenumbruch am Dateiende.
  676. Nur in FHEM/make: gzip.
  677. Nur in FHEM/make: knxd.
  678. Nur in FHEM/make/libs: argp-standalone.
  679. diff -ur freetz/make/libs/Config.in FHEM/make/libs/Config.in
  680. --- freetz/make/libs/Config.in 2018-09-21 06:39:37.257892162 +0200
  681. +++ FHEM/make/libs/Config.in 2018-09-21 06:29:46.678750162 +0200
  682. @@ -98,6 +98,7 @@
  683. menu "Graphics & fonts"
  684.  
  685. source make/libs/freetype/Config.in
  686. +source make/libs/libaugeas/Config.in
  687. source make/libs/libart_lgpl/Config.in
  688. source make/libs/libexif/Config.in
  689. source make/libs/jpeg/Config.in
  690. @@ -172,6 +173,7 @@
  691. source make/libs/libgsm/Config.in
  692. source make/libs/iksemel/Config.in
  693. source make/libs/libpcap/Config.in
  694. +source make/libs/libmcrypt/Config.in
  695. source make/libs/libmnl/Config.in
  696. source make/libs/libnet/Config.in
  697. source make/libs/liboping/Config.in
  698. @@ -230,6 +232,7 @@
  699.  
  700. endmenu ### "XML & XSLT"
  701.  
  702. +source make/libs/argp-standalone/Config.in
  703. source make/libs/attr/Config.in
  704. source make/libs/libcap/Config.in
  705. source make/dbus/Config.in.libs
  706. @@ -241,12 +244,14 @@
  707. source make/libs/libev/Config.in
  708. source make/libs/libevent/Config.in
  709. source make/libs/libffi/Config.in
  710. +source make/libs/libfmt/Config.in
  711. source make/libs/libctlmgr/Config.in
  712. source make/libs/libmultid/Config.in
  713. source make/libs/libtool/Config.in
  714. source make/lua/Config.in.libs
  715. source make/pcsc-lite/Config.in.libs
  716. source make/libs/popt/Config.in
  717. +source make/libs/pthsem/Config.in
  718. source make/privatekeypassword/Config.in.libs
  719. source make/libs/protobuf-c/Config.in
  720. source make/python/Config.in.libs
  721. diff -ur freetz/make/libs/external.in FHEM/make/libs/external.in
  722. --- freetz/make/libs/external.in 2018-09-21 06:39:37.105816162 +0200
  723. +++ FHEM/make/libs/external.in 2018-09-21 06:29:46.678750162 +0200
  724. @@ -2,6 +2,7 @@
  725. depends on EXTERNAL_ENABLED
  726. source make/libs/apr/external.in
  727. source make/libs/apr-util/external.in
  728. +source make/libs/libaugeas/external.in
  729. source make/libs/libart_lgpl/external.in
  730. source make/libs/linux-atm/external.in
  731. source make/libs/attr/external.in
  732. @@ -57,6 +58,7 @@
  733. source make/libs/mpc/external.in
  734. source make/libs/mpfr/external.in
  735. source make/libs/neon/external.in
  736. +source make/libs/libmcrypt/external.in
  737. source make/libs/libnet/external.in
  738. source make/netpbm/external.in.libs
  739. source make/libs/nettle/external.in
  740. @@ -78,6 +80,7 @@
  741. source make/libs/polarssl13/external.in
  742. source make/libs/popt/external.in
  743. source make/libs/protobuf-c/external.in
  744. +source make/libs/pthsem/external.in
  745. source make/python/external.in.libs
  746. source make/libs/serf/external.in
  747. source make/slang/external.in.libs
  748. Nur in FHEM/make/libs: libaugeas.
  749. Nur in FHEM/make/libs: libfmt.
  750. Nur in FHEM/make/libs: libmcrypt.
  751. diff -ur freetz/make/libs/mbedtls/external.files FHEM/make/libs/mbedtls/external.files
  752. --- freetz/make/libs/mbedtls/external.files 2018-09-21 06:39:37.105816162 +0200
  753. +++ FHEM/make/libs/mbedtls/external.files 2018-09-21 06:29:46.694758162 +0200
  754. @@ -1,3 +1,3 @@
  755. -[ "$EXTERNAL_FREETZ_LIB_libmbedcrypto" == "y" ] && EXTERNAL_FILES+=" ${FREETZ_LIBRARY_DIR}/libmbedcrypto.so.2.7.6"
  756. -[ "$EXTERNAL_FREETZ_LIB_libmbedtls" == "y" ] && EXTERNAL_FILES+=" ${FREETZ_LIBRARY_DIR}/libmbedtls.so.2.7.6"
  757. -[ "$EXTERNAL_FREETZ_LIB_libmbedx509" == "y" ] && EXTERNAL_FILES+=" ${FREETZ_LIBRARY_DIR}/libmbedx509.so.2.7.6"
  758. +[ "$EXTERNAL_FREETZ_LIB_libmbedcrypto" == "y" ] && EXTERNAL_FILES+=" ${FREETZ_LIBRARY_DIR}/libmbedcrypto.so.2.7.5"
  759. +[ "$EXTERNAL_FREETZ_LIB_libmbedtls" == "y" ] && EXTERNAL_FILES+=" ${FREETZ_LIBRARY_DIR}/libmbedtls.so.2.7.5"
  760. +[ "$EXTERNAL_FREETZ_LIB_libmbedx509" == "y" ] && EXTERNAL_FILES+=" ${FREETZ_LIBRARY_DIR}/libmbedx509.so.2.7.5"
  761. diff -ur freetz/make/libs/mbedtls/external.in FHEM/make/libs/mbedtls/external.in
  762. --- freetz/make/libs/mbedtls/external.in 2018-09-21 06:39:37.141834162 +0200
  763. +++ FHEM/make/libs/mbedtls/external.in 2018-09-21 06:29:46.694758162 +0200
  764. @@ -4,7 +4,7 @@
  765. default n
  766. help
  767. externals the following file(s):
  768. - ${FREETZ_LIBRARY_DIR}/libmbedcrypto.so.2.7.6
  769. + ${FREETZ_LIBRARY_DIR}/libmbedcrypto.so.2.7.5
  770.  
  771. config EXTERNAL_FREETZ_LIB_libmbedtls
  772. depends on EXTERNAL_ENABLED && FREETZ_LIB_libmbedtls
  773. @@ -12,7 +12,7 @@
  774. default n
  775. help
  776. externals the following file(s):
  777. - ${FREETZ_LIBRARY_DIR}/libmbedtls.so.2.7.6
  778. + ${FREETZ_LIBRARY_DIR}/libmbedtls.so.2.7.5
  779.  
  780. config EXTERNAL_FREETZ_LIB_libmbedx509
  781. depends on EXTERNAL_ENABLED && FREETZ_LIB_libmbedx509
  782. @@ -20,4 +20,4 @@
  783. default n
  784. help
  785. externals the following file(s):
  786. - ${FREETZ_LIBRARY_DIR}/libmbedx509.so.2.7.6
  787. + ${FREETZ_LIBRARY_DIR}/libmbedx509.so.2.7.5
  788. diff -ur freetz/make/libs/mbedtls/mbedtls.mk FHEM/make/libs/mbedtls/mbedtls.mk
  789. --- freetz/make/libs/mbedtls/mbedtls.mk 2018-09-21 06:39:37.141834162 +0200
  790. +++ FHEM/make/libs/mbedtls/mbedtls.mk 2018-09-21 06:29:46.694758162 +0200
  791. @@ -1,6 +1,6 @@
  792. -$(call PKG_INIT_LIB, 2.7.6)
  793. +$(call PKG_INIT_LIB, 2.7.5)
  794. $(PKG)_SOURCE:=mbedtls-$($(PKG)_VERSION)-gpl.tgz
  795. -$(PKG)_SOURCE_SHA1:=85098a0c7740df396d3df44d6c8e089dc182e346
  796. +$(PKG)_SOURCE_SHA1:=0f74d60421f304155a9fdcdbfeccddc2852d5f82
  797. $(PKG)_SITE:=https://tls.mbed.org/download
  798.  
  799. $(PKG)_LIBNAMES_SHORT := crypto tls x509
  800. Nur in FHEM/make/libs: pthsem.
  801. Nur in FHEM/make: linknx.
  802. diff -ur freetz/make/mod/files/root/usr/bin/kernel_args FHEM/make/mod/files/root/usr/bin/kernel_args
  803. --- freetz/make/mod/files/root/usr/bin/kernel_args 2018-09-21 06:39:24.523528161 +0200
  804. +++ FHEM/make/mod/files/root/usr/bin/kernel_args 2018-09-21 06:29:47.179000162 +0200
  805. @@ -1,6 +1,6 @@
  806. #!/bin/sh
  807.  
  808. -# $Id: kernel_args 4689 2010-04-10 06:17:23Z buehmann $
  809. +# $Id$
  810. #
  811. # Written by Alexander Kriegisch (user 'kriegaex', ip-phone-forum.de)
  812. #
  813. diff -ur freetz/make/openssl/openssl.mk FHEM/make/openssl/openssl.mk
  814. --- freetz/make/openssl/openssl.mk 2018-09-21 06:39:49.403962162 +0200
  815. +++ FHEM/make/openssl/openssl.mk 2018-09-21 06:29:47.695258162 +0200
  816. @@ -33,7 +33,7 @@
  817. $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_OPENSSL_TRACE
  818. $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_OPENSSL_STATIC
  819.  
  820. -$(PKG)_NO_CIPHERS := no-idea no-md2 no-mdc2 no-rc2 no-rc5 no-sha0 no-smime no-rmd160 no-aes192 no-ripemd no-camellia no-ans1 no-krb5 no-ssl2 no-ssl3
  821. +$(PKG)_NO_CIPHERS := no-idea no-md2 no-mdc2 no-rc2 no-rc5 no-sha0 no-smime no-rmd160 no-aes192 no-camellia no-ans1 no-krb5 no-ssl2 no-ssl3
  822. $(PKG)_NO_CIPHERS += $(if $(FREETZ_LIB_libcrypto_WITH_RC4),,no-rc4)
  823.  
  824. $(PKG)_OPTIONS := shared no-err no-fips no-hw no-engines no-sse2 no-capieng no-seed
  825. Nur in FHEM/make: perl.
  826. diff -ur freetz/make/php/Config.in FHEM/make/php/Config.in
  827. --- freetz/make/php/Config.in 2018-09-21 06:39:16.847692162 +0200
  828. +++ FHEM/make/php/Config.in 2018-09-21 06:29:47.903362162 +0200
  829. @@ -53,6 +53,19 @@
  830. menu "PHP features"
  831. depends on FREETZ_PACKAGE_PHP
  832.  
  833. +config FREETZ_PACKAGE_PHP_WITH_APACHE2
  834. + bool "build php APACHE2 module"
  835. + depends on FREETZ_PACKAGE_PHP
  836. + default n
  837. + help
  838. + This option enables the PHP support for APACHE2
  839. +
  840. +config FREETZ_PACKAGE_PHP_WITH_CLI
  841. + bool "build with CLI support"
  842. + default n
  843. + help
  844. + This option enables the CLI support for PHP
  845. +
  846. config FREETZ_PACKAGE_PHP_WITH_CURL
  847. bool "build with CURL support"
  848. select FREETZ_LIB_libcurl if ! FREETZ_PACKAGE_PHP_STATIC
  849. @@ -104,12 +117,26 @@
  850. than supported by libc (ISO-8859-1 and UTF-8 only) or your application
  851. relies on libiconv specific features like TRANSLIT, IGNORE, etc.
  852.  
  853. +#config FREETZ_PACKAGE_PHP_WITH_INTL
  854. +# bool "build with INTL support"
  855. +# select FREETZ_LIB_libintl if ! FREETZ_PACKAGE_PHP_STATIC
  856. +# default n
  857. +# help
  858. +# This option enables the INTL support for PHP
  859. +
  860. config FREETZ_PACKAGE_PHP_WITH_JSON
  861. bool "build with JSON support"
  862. default n
  863. help
  864. This option enables the JSON support for PHP
  865.  
  866. +config FREETZ_PACKAGE_PHP_WITH_MCRYPT
  867. + bool "build with MCRYPT support"
  868. + select FREETZ_LIB_libmcrypt if ! FREETZ_PACKAGE_PHP_STATIC
  869. + default n
  870. + help
  871. + This option enables the MCRYPT support for PHP
  872. +
  873. config FREETZ_PACKAGE_PHP_WITH_MEMORY_LIMIT
  874. bool "build with MEMORY_LIMIT support"
  875. default n
  876. diff -ur freetz/make/php/php.mk FHEM/make/php/php.mk
  877. --- freetz/make/php/php.mk 2018-09-21 06:39:16.479508162 +0200
  878. +++ FHEM/make/php/php.mk 2018-09-21 06:29:47.903362162 +0200
  879. @@ -6,14 +6,12 @@
  880.  
  881. $(PKG)_CONDITIONAL_PATCHES+=$(call GET_MAJOR_VERSION,$($(PKG)_VERSION))
  882.  
  883. -$(PKG)_BINARY := $($(PKG)_DIR)/sapi/cgi/php-cgi
  884. -$(PKG)_TARGET_BINARY := $($(PKG)_DEST_DIR)/usr/bin/php-cgi
  885. -
  886. -$(PKG)_CLI_BINARY := $($(PKG)_DIR)/sapi/cli/php
  887. -$(PKG)_CLI_TARGET_BINARY := $($(PKG)_DEST_DIR)/usr/bin/php
  888. -
  889. -$(PKG)_APXS2_BINARY := $($(PKG)_DIR)/libs/libphp5.so
  890. -$(PKG)_APXS2_TARGET_BINARY := $($(PKG)_DEST_DIR)/usr/lib/apache2/libphp5.so
  891. +$(PKG)_BINARY :=$($(PKG)_DIR)/sapi/cgi/php-cgi
  892. +$(PKG)_TARGET_BINARY :=$($(PKG)_DEST_DIR)/usr/bin/php-cgi
  893. +$(PKG)_APXS2_BINARY :=$(if $(FREETZ_PACKAGE_PHP_WITH_APACHE2),$($(PKG)_DIR)/libs/libphp5.so,)
  894. +$(PKG)_APXS2_TARGET_BINARY :=$(if $(FREETZ_PACKAGE_PHP_WITH_APACHE2),$($(PKG)_DEST_DIR)/usr/lib/apache2/libphp5.so,)
  895. +$(PKG)_CLI_BINARY :=$(if $(FREETZ_PACKAGE_PHP_WITH_CLI) ,$($(PKG)_DIR)/sapi/cli/php,)
  896. +$(PKG)_CLI_TARGET_BINARY :=$(if $(FREETZ_PACKAGE_PHP_WITH_CLI) ,$($(PKG)_DEST_DIR)/usr/bin/php,)
  897.  
  898. $(PKG)_STARTLEVEL=90 # before lighttpd
  899.  
  900. @@ -23,11 +21,18 @@
  901. $(PKG)_EXTRA_LDFLAGS += -all-static
  902. endif
  903.  
  904. +ifeq ($(strip $(FREETZ_PACKAGE_PHP_WITH_APACHE2)),y)
  905. +$(PKG)_DEPENDS_ON += apache2
  906. +$(PKG)_CONFIGURE_OPTIONS += --with-apxs2="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/bin/apxs"
  907. +endif
  908. +
  909. $(PKG)_DEPENDS_ON += pcre
  910. $(PKG)_CONFIGURE_OPTIONS += --with-pcre-regex="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr"
  911.  
  912. $(PKG)_CONFIGURE_OPTIONS += --enable-cli
  913. +ifneq ($(strip $(FREETZ_PACKAGE_PHP_WITH_CLI)),y)
  914. $(PKG)_EXCLUDED += $(if $(FREETZ_PACKAGE_PHP_cli),,$($(PKG)_CLI_TARGET_BINARY))
  915. +endif
  916.  
  917. ifeq ($(strip $(FREETZ_PACKAGE_PHP_apxs2)),y)
  918. $(PKG)_DEPENDS_ON += apache2
  919. @@ -40,6 +45,16 @@
  920. $(PKG)_CONFIGURE_OPTIONS += --with-curl="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr"
  921. endif
  922.  
  923. +ifeq ($(strip $(FREETZ_PACKAGE_PHP_WITH_INTL)),y)
  924. +#prepare enable-intl does not work yet needs icu-config in icu-dir
  925. +$(PKG)_REBUILD_SUBOPTS += $(filter FREETZ_LIB_gettext_%,$(INTL_REBUILD_SUBOPTS))
  926. +$(PKG)_DEPENDS_ON += gettext
  927. +$(PKG)_CONFIGURE_OPTIONS += --enable-intl
  928. +$(PKG)_CONFIGURE_OPTIONS += --with-icu-dir="$(TARGET_TOOLCHAIN_STAGING_DIR)"
  929. +else
  930. +$(PKG)_CONFIGURE_OPTIONS += --disable-intl
  931. +endif
  932. +
  933. $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_FILEINFO),--enable-fileinfo,--disable-fileinfo)
  934.  
  935. $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_FTP),--enable-ftp,--disable-ftp)
  936. @@ -77,6 +92,14 @@
  937. endif
  938.  
  939. $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_JSON),--enable-json,--disable-json)
  940. +$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_MHASH) ,--with-mhash,--without-mhash)
  941. +$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_MEMORY_LIMIT),--enable-memory-limit,--disable-memory-limit)
  942. +
  943. +ifeq ($(strip $(FREETZ_PACKAGE_PHP_WITH_MCRYPT)),y)
  944. +$(PKG)_DEPENDS_ON += libmcrypt
  945. +$(PKG)_CONFIGURE_OPTIONS += --with-mcrypt="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr"
  946. +$(PKG)_CONFIGURE_POST_CMDS += sed -i -r -e '/EXTRA_LIBS/ s/-lltdl//g' ./Makefile;
  947. +endif
  948.  
  949. ifeq ($(strip $(FREETZ_PACKAGE_PHP_WITH_LIBXML)),y)
  950. $(PKG)_DEPENDS_ON += libxml2
  951. @@ -91,18 +114,12 @@
  952. $(PKG)_CONFIGURE_OPTIONS += --$($(PKG)_XML_SUPPORT)-xmlreader
  953. $(PKG)_CONFIGURE_OPTIONS += --$($(PKG)_XML_SUPPORT)-xmlwriter
  954.  
  955. -$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_MHASH),--with-mhash,--without-mhash)
  956. -
  957. -$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_MEMORY_LIMIT),--enable-memory-limit,--disable-memory-limit)
  958. -
  959. $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_PCNTL),--enable-pcntl,--disable-pcntl)
  960.  
  961. $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_SESSION),--enable-session,--disable-session)
  962.  
  963. $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_SOCKETS),--enable-sockets,--disable-sockets)
  964.  
  965. -$(PKG)_CONFIGURE_OPTIONS += --without-sqlite
  966. -
  967. ifeq ($(strip $(FREETZ_PACKAGE_PHP_WITH_SQLITE3)),y)
  968. $(PKG)_DEPENDS_ON += sqlite
  969. $(PKG)_CONFIGURE_OPTIONS += --with-sqlite3="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr"
  970. @@ -192,6 +209,7 @@
  971. endif
  972. $(PKG)_CONFIGURE_OPTIONS += --enable-exif
  973. $(PKG)_CONFIGURE_OPTIONS += --enable-mbstring
  974. +$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_PHP_WITH_CLI) ,--enable-cli,--disable-cli)
  975. $(PKG)_CONFIGURE_OPTIONS += --disable-phar
  976. $(PKG)_CONFIGURE_OPTIONS += --disable-rpath
  977. $(PKG)_CONFIGURE_OPTIONS += --with-config-file-path=/tmp/flash
  978. diff -ur freetz/make/python/Config.in FHEM/make/python/Config.in
  979. --- freetz/make/python/Config.in 2018-09-21 06:39:31.695112162 +0200
  980. +++ FHEM/make/python/Config.in 2018-09-21 06:29:47.923372162 +0200
  981. @@ -131,11 +131,13 @@
  982. bool "ctypes"
  983. depends on FREETZ_PACKAGE_PYTHON
  984. select FREETZ_LIB_libffi
  985. + select FREETZ_PACKAGE_DEV_TOOLS
  986. default n
  987. help
  988. Foreign function library for Python, that provides C compatible
  989. data types and allows calling functions in DLLs or shared
  990. - libraries. Requires libffi.
  991. + libraries. Requires libffi
  992. + (needs objdump, ld gcc, therefore target DEV_TOOLS).
  993. For details, see: http://docs.python.org/2/library/ctypes.html
  994.  
  995. config FREETZ_PACKAGE_PYTHON_MOD_CURSES
  996. @@ -358,14 +360,47 @@
  997.  
  998. menu "3rd-party modules"
  999. depends on FREETZ_PACKAGE_PYTHON
  1000. + source make/python-augeas/Config.in
  1001. + source make/python-backports.ssl_match_hostname/Config.in
  1002. source make/python-bjoern/Config.in
  1003. + source make/python-certbot/Config.in
  1004. + source make/python-cffi/Config.in
  1005. source make/python-cheetah/Config.in
  1006. + source make/python-configargparse/Config.in
  1007. + source make/python-cryptography/Config.in
  1008. + source make/python-configobj/Config.in
  1009. + source make/python-enum34/Config.in
  1010. + source make/python-future/Config.in
  1011. + source make/python-idna/Config.in
  1012. source make/python-imaging-library/Config.in
  1013. + source make/python-ipaddress/Config.in
  1014. + source make/python-josepy/Config.in
  1015. source make/python-mechanize/Config.in
  1016. + source make/python-mock/Config.in
  1017. + source make/python-ndg_httpsclient/Config.in
  1018. + source make/python-lxml/Config.in
  1019. + source make/python-parsedatetime/Config.in
  1020. + source make/python-platformer/Config.in
  1021. + source make/python-pyasn1/Config.in
  1022. + source make/python-pycparser/Config.in
  1023. source make/python-pycrypto/Config.in
  1024. source make/python-pycurl/Config.in
  1025. + source make/python-pygooglechart/Config.in
  1026. source make/python-pyopenssl/Config.in
  1027. + source make/python-pyrfc3339/Config.in
  1028. source make/python-pyrrd/Config.in
  1029. source make/python-pyserial/Config.in
  1030. + source make/python-pythondialog/Config.in
  1031. + source make/python-pytz/Config.in
  1032. + source make/python-pyusb/Config.in
  1033. + source make/python-pyyaml/Config.in
  1034. + source make/python-requests/Config.in
  1035. + source make/python-samsungctl/Config.in
  1036. + source make/python-setuptools/Config.in
  1037. + source make/python-six/Config.in
  1038. source make/python-yenc/Config.in
  1039. + source make/python-websocket-client/Config.in
  1040. + source make/python-zopecomponent/Config.in
  1041. + source make/python-zopeevent/Config.in
  1042. + source make/python-zopeinterface/Config.in
  1043. endmenu
  1044. diff -ur freetz/make/python/python.mk FHEM/make/python/python.mk
  1045. --- freetz/make/python/python.mk 2018-09-21 06:39:31.615072162 +0200
  1046. +++ FHEM/make/python/python.mk 2018-09-21 06:29:47.923372162 +0200
  1047. @@ -32,7 +32,7 @@
  1048. $(PKG)_BUILD_PREREQ += zip
  1049. $(PKG)_BUILD_PREREQ_HINT := Hint: on Debian-like systems this binary is provided by the zip package (sudo apt-get install zip)
  1050.  
  1051. -$(PKG)_HOST_DEPENDS_ON += python-host
  1052. +$(PKG)_HOST_DEPENDS_ON += python-host python-cffi-host
  1053. $(PKG)_DEPENDS_ON += expat libffi zlib
  1054. $(PKG)_DEPENDS_ON += $(if $(FREETZ_PACKAGE_PYTHON_MOD_BSDDB),db)
  1055. $(PKG)_DEPENDS_ON += $(if $(or $(FREETZ_PACKAGE_PYTHON_MOD_CURSES),$(FREETZ_PACKAGE_PYTHON_MOD_READLINE)),ncurses)
  1056. @@ -48,6 +48,7 @@
  1057. $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_PYTHON_MOD_SSL
  1058. $(PKG)_REBUILD_SUBOPTS += $(OPENSSL_REBUILD_SUBOPTS)
  1059. $(PKG)_REBUILD_SUBOPTS += FREETZ_TARGET_IPV6_SUPPORT
  1060. +$(PKG)_REBUILD_SUBOPTS += $(if $(FREETZ_PACKAGE_PYTHON_MOD_CTYPES),FREETZ_TARGET_TOOLCHAIN)
  1061.  
  1062.  
  1063. $(PKG)_CONFIGURE_ENV += ac_cv_have_chflags=no
  1064. @@ -138,6 +139,7 @@
  1065. ); \
  1066. touch -c $@
  1067.  
  1068. +
  1069. ifneq ($(strip $(FREETZ_PACKAGE_PYTHON_STATIC)),y)
  1070. $($(PKG)_LIB_PYTHON_TARGET_DIR): $($(PKG)_DIR)/.installed
  1071. @mkdir -p $(dir $@); \
  1072. @@ -189,6 +191,8 @@
  1073. $(RM) $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/lib/libpython$(PYTHON_MAJOR_VERSION).*
  1074. $(RM) $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/lib/pkgconfig/python*
  1075.  
  1076. +
  1077. +
  1078. $(pkg)-uninstall:
  1079. $(RM) -r \
  1080. $(PYTHON_TARGET_BINARY) \
  1081. @@ -199,4 +203,5 @@
  1082. $(PYTHON_ZIPPED_PYC_TARGET_DIR) \
  1083. $(PYTHON_DEST_DIR)/usr/include/python$(PYTHON_MAJOR_VERSION)
  1084.  
  1085. +
  1086. $(PKG_FINISH)
  1087. diff -ur freetz/make/python/python-module-macros.mk.in FHEM/make/python/python-module-macros.mk.in
  1088. --- freetz/make/python/python-module-macros.mk.in 2018-09-21 06:39:31.607068162 +0200
  1089. +++ FHEM/make/python/python-module-macros.mk.in 2018-09-21 06:29:47.923372162 +0200
  1090. @@ -19,7 +19,7 @@
  1091. # $(2) => parameters to be passed to host-python
  1092. define HostPython
  1093. ( \
  1094. - export PYTHONPATH="$(PYTHON_STAGING_LIB_DIR):$(TARGET_TOOLCHAIN_STAGING_DIR)/$(PYTHON_SITE_PKG_DIR)"; \
  1095. + export PYTHONPATH="$(FREETZ_BASE_DIR)/tools/build$(PYTHON_SITE_PKG_DIR)/../lib-dynload:$(FREETZ_BASE_DIR)/tools/build$(PYTHON_SITE_PKG_DIR)/../site-packages:$(PYTHON_STAGING_LIB_DIR):$(TARGET_TOOLCHAIN_STAGING_DIR)/site-packages"; \
  1096. export PYTHONOPTIMIZE=""; \
  1097. export PYTHONDONTWRITEBYTECODE=1; \
  1098. $(1) \
  1099. Nur in FHEM/make: python-augeas.
  1100. Nur in FHEM/make: python-backports.ssl_match_hostname.
  1101. Nur in FHEM/make: python-certbot.
  1102. Nur in FHEM/make: python-cffi.
  1103. diff -ur freetz/make/python-cheetah/Config.in FHEM/make/python-cheetah/Config.in
  1104. --- freetz/make/python-cheetah/Config.in 2018-09-21 06:40:04.379446162 +0200
  1105. +++ FHEM/make/python-cheetah/Config.in 2018-09-21 06:29:47.915368162 +0200
  1106. @@ -3,3 +3,5 @@
  1107. depends on FREETZ_PACKAGE_PYTHON
  1108. select FREETZ_LIB_libpython2 if !FREETZ_PACKAGE_PYTHON_STATIC
  1109. default n
  1110. + help
  1111. + Cheetah is an open source template engine and code generation tool.
  1112. diff -ur freetz/make/python-cheetah/python-cheetah.mk FHEM/make/python-cheetah/python-cheetah.mk
  1113. --- freetz/make/python-cheetah/python-cheetah.mk 2018-09-21 06:40:04.379446162 +0200
  1114. +++ FHEM/make/python-cheetah/python-cheetah.mk 2018-09-21 06:29:47.915368162 +0200
  1115. @@ -25,6 +25,7 @@
  1116.  
  1117. $(pkg)-uninstall:
  1118. $(RM) -r \
  1119. + $(PYTHON_CHEETAH_DEST_DIR)/usr/bin/cheetah* \
  1120. $(PYTHON_CHEETAH_DEST_DIR)$(PYTHON_SITE_PKG_DIR)/Cheetah \
  1121. $(PYTHON_CHEETAH_DEST_DIR)$(PYTHON_SITE_PKG_DIR)/Cheetah-*.egg-info
  1122.  
  1123. Nur in FHEM/make: python-configargparse.
  1124. Nur in FHEM/make: python-configobj.
  1125. Nur in FHEM/make: python-cryptography.
  1126. Nur in FHEM/make: python-enum34.
  1127. Nur in FHEM/make: python-future.
  1128. Nur in FHEM/make: python-idna.
  1129. Nur in FHEM/make: python-ipaddress.
  1130. Nur in FHEM/make: python-josepy.
  1131. Nur in FHEM/make: python-lxml.
  1132. Nur in FHEM/make: python-mock.
  1133. Nur in FHEM/make: python-ndg_httpsclient.
  1134. Nur in FHEM/make: python-parsedatetime.
  1135. Nur in FHEM/make: python-platformer.
  1136. Nur in FHEM/make: python-pyasn1.
  1137. Nur in FHEM/make: python-pycparser.
  1138. Nur in FHEM/make: python-pygooglechart.
  1139. Nur in FHEM/make: python-pyrfc3339.
  1140. Nur in FHEM/make: python-pythondialog.
  1141. Nur in FHEM/make: python-pytz.
  1142. Nur in FHEM/make: python-pyusb.
  1143. Nur in FHEM/make: python-pyyaml.
  1144. Nur in FHEM/make: python-requests.
  1145. Nur in FHEM/make: python-samsungctl.
  1146. Nur in FHEM/make: python-setuptools.
  1147. Nur in FHEM/make: python-six.
  1148. Nur in FHEM/make: python-websocket-client.
  1149. Nur in FHEM/make: python-zopecomponent.
  1150. Nur in FHEM/make: python-zopeevent.
  1151. Nur in FHEM/make: python-zopeinterface.
  1152. Nur in FHEM/make: roundcubemail.
  1153. Nur in FHEM/make: tar.
  1154. Nur in FHEM/make: tar-cgi.
  1155. Nur in FHEM/make: wfrog.
  1156. Nur in FHEM/make: wfrog-ws28xx.
  1157. diff -ur freetz/make/xmail/files/.language FHEM/make/xmail/files/.language
  1158. --- freetz/make/xmail/files/.language 2018-09-21 06:39:22.702618162 +0200
  1159. +++ FHEM/make/xmail/files/.language 2018-09-21 06:29:47.987404162 +0200
  1160. @@ -5,5 +5,7 @@
  1161. files
  1162. {
  1163. etc/init.d/rc.xmail
  1164. + etc/default.xmail/server_cert.def
  1165. + etc/default.xmail/server_key.def
  1166. usr/lib/cgi-bin/xmail.cgi
  1167. }
  1168. Nur in FHEM/make/xmail/files/root/etc/default.xmail: server_cert.def.
  1169. Nur in FHEM/make/xmail/files/root/etc/default.xmail: server_key.def.
  1170. diff -ur freetz/make/xmail/files/root/etc/default.xmail/xmail.cfg FHEM/make/xmail/files/root/etc/default.xmail/xmail.cfg
  1171. --- freetz/make/xmail/files/root/etc/default.xmail/xmail.cfg 2018-09-21 06:39:22.702618162 +0200
  1172. +++ FHEM/make/xmail/files/root/etc/default.xmail/xmail.cfg 2018-09-21 06:29:47.987404162 +0200
  1173. @@ -15,3 +15,4 @@
  1174. export XMAIL_CTRL='no'
  1175. export XMAIL_CTRLS='no'
  1176. export XMAIL_SPECIAL='-Qn 1 -PX 1 -SX 1 -Ln 1 -Yt 1 -CX 1 -Yi 600'
  1177. +export XMAIL_USECERTBOT='no'
  1178. diff -ur freetz/make/xmail/files/root/etc/init.d/rc.xmail FHEM/make/xmail/files/root/etc/init.d/rc.xmail
  1179. --- freetz/make/xmail/files/root/etc/init.d/rc.xmail 2018-09-21 06:39:22.706620161 +0200
  1180. +++ FHEM/make/xmail/files/root/etc/init.d/rc.xmail 2018-09-21 06:29:47.987404162 +0200
  1181. @@ -55,6 +55,51 @@
  1182. [ "$fat" = "0" ] && chown -hR xmail:xmail $XMAIL_MAILLOCATION || chmod -R 777 $XMAIL_MAILLOCATION
  1183. fi
  1184.  
  1185. + if [ ! -e /tmp/flash/${DAEMON} ]; then
  1186. + mkdir -p /tmp/flash/${DAEMON}
  1187. + fi
  1188. + if [ ! -e /tmp/flash/${DAEMON}/server.key ]; then
  1189. + touch /tmp/flash/${DAEMON}/server.key
  1190. + fi
  1191. + if [ ! -e /tmp/flash/${DAEMON}/server.cert ]; then
  1192. + touch /tmp/flash/${DAEMON}/server.cert
  1193. + fi
  1194. + local use_certbot='no'
  1195. + if [ "${XMAIL_USECERTBOT}" = 'yes' ]; then
  1196. + if [ -e /mod/etc/conf/certbot.cfg ]; then
  1197. + . /mod/etc/conf/certbot.cfg
  1198. + if [ "$CERTBOT_ENABLED" = 'yes' ]; then
  1199. + if [ ! -z ${CERTBOT_FLASH}/$(basename ${CERTBOT_CHAINPATH}) ] && [ ! -z ${CERTBOT_FLASH}/$(basename ${CERTBOT_CERTPATH}) ]; then
  1200. + echo -n 'using certbot certs ... '
  1201. + rm -f /mod/etc/$DAEMON/server.cert /mod/etc/$DAEMON/server.key /mod/etc/$DAEMON/server.crt
  1202. + ln -s ${CERTBOT_FLASH}/$(basename ${CERTBOT_FULLCHAINPATH}) /mod/etc/$DAEMON/server.cert
  1203. + ln -s ${CERTBOT_FLASH}/$(basename ${CERTBOT_FULLCHAINPATH}) /mod/etc/$DAEMON/server.crt
  1204. + ln -s ${CERTBOT_FLASH}/server.key /mod/etc/$DAEMON/server.key
  1205. + use_certbot='yes'
  1206. + echo 'done.'
  1207. + fi
  1208. + fi
  1209. + fi
  1210. + fi
  1211. + if [ "$use_certbot" = 'no' ]; then
  1212. + if [ -s /tmp/flash/${DAEMON}/server.cert ] && [ -s /tmp/flash/${DAEMON}/server.key ]; then
  1213. + echo -n 'using xmail certs from flash ... '
  1214. + rm -f /mod/etc/$DAEMON/server.cert /mod/etc/$DAEMON/server.key /mod/etc/$DAEMON/server.crt
  1215. + ln -s /tmp/flash/${DAEMON}/server.cert /mod/etc/$DAEMON/server.cert
  1216. + ln -s /tmp/flash/${DAEMON}/server.crt /mod/etc/$DAEMON/server.crt
  1217. + ln -s /tmp/flash/${DAEMON}/server.key /mod/etc/$DAEMON/server.key
  1218. + echo 'done.'
  1219. + else
  1220. + if [ -e /mod/etc/$DAEMON/server.cert ] && [ -e /mod/etc/$DAEMON/server.key ]; then
  1221. + echo -n 'use xmail certs from disk ... '
  1222. + echo 'done.'
  1223. + else
  1224. + echo -n 'ERROR certs are ... missing '
  1225. + exit 1
  1226. + fi
  1227. + fi
  1228. + fi
  1229. +
  1230. [ ! -z "$XMAIL_SPECIAL" ] && CMDOPTS="$CMDOPTS $XMAIL_SPECIAL"
  1231. if [ "$XMAIL_POP3" = "yes" ]; then
  1232. [ -n "$XMAIL_POP3PORT" ] && CMDOPTS="$CMDOPTS -Pp $XMAIL_POP3PORT"
  1233. @@ -130,6 +175,8 @@
  1234. ""|load)
  1235. modreg cgi 'xmail' 'XMail'
  1236. modreg daemon $DAEMON
  1237. + modreg file $DAEMON cert 'server.cert' 1 "server_cert"
  1238. + modreg file $DAEMON key 'server.key' 1 "server_key"
  1239.  
  1240. if [ "$XMAIL_ENABLED" != "yes" ]; then
  1241. echo "$DAEMON is disabled." 1>&2
  1242. @@ -142,6 +189,7 @@
  1243. unload)
  1244. modunreg daemon $DAEMON
  1245. modunreg cgi xmail
  1246. + modunreg file $DAEMON
  1247. [ -s /var/run/rc.$DAEMON.pid ] && PID_FILE=/var/run/rc.$DAEMON.pid
  1248. modlib_stop && cleanup
  1249. ;;
  1250. diff -ur freetz/make/xmail/files/root/usr/lib/cgi-bin/xmail.cgi FHEM/make/xmail/files/root/usr/lib/cgi-bin/xmail.cgi
  1251. --- freetz/make/xmail/files/root/usr/lib/cgi-bin/xmail.cgi 2018-09-21 06:39:22.798666162 +0200
  1252. +++ FHEM/make/xmail/files/root/usr/lib/cgi-bin/xmail.cgi 2018-09-21 06:29:47.987404162 +0200
  1253. @@ -1,6 +1,7 @@
  1254. #!/bin/sh
  1255.  
  1256. . /usr/lib/libmodcgi.sh
  1257. +[ -e /mod/etc/conf/certbot.cfg ] && . /mod/etc/conf/certbot.cfg
  1258.  
  1259. XMAIL_SSLSUPPORT= XMAIL_SSLVISIBLE=
  1260.  
  1261. @@ -9,6 +10,8 @@
  1262. # Check for installed and running PHPXmail
  1263. [ -e /mod/etc/init.d/rc.phpxmail ] && XMAIL_PHPXMAIL=1
  1264.  
  1265. +check "$XMAIL_ENABLED" yes:auto "*":man
  1266. +check "$XMAIL_USECERTBOT" yes:usecertbot "*":xmail
  1267. check "$XMAIL_UNPRIV" yes:unpriv
  1268. check "$XMAIL_SMTP" yes:smtp
  1269. check "$XMAIL_SSMTP" yes:ssmtp
  1270. @@ -43,6 +46,21 @@
  1271. <hr>
  1272. <p style="font-size:10px;">$(lang de:"Bitte &auml;ndern Sie diese Werte nur wenn Sie wissen was Sie tun." en:"Please change these values only if you know what you are doing.")</p>
  1273. <p> $(lang de:"Startparameter" en:"Start parameters"): <input type="text" name="special" size="55" maxlength="255" value="$(html "$XMAIL_SPECIAL")"></p>
  1274. +<hr>
  1275. +EOF
  1276. +if [ "$CERTBOT_ENABLED" = 'yes' ]; then
  1277. +cat << EOF
  1278. +<input id="c1" type="radio" name="usecertbot" value="yes"$usecertbot_chk><label for="c1"> $(lang de:"Benutze Certbots SSL Zertifikat" en:"Use Certbot SSL certificate")</label>
  1279. +EOF
  1280. +else
  1281. +cat << EOF
  1282. +<input id="c1" type="hidden" name="usecertbot" value="yes"$usecertbot_chk>
  1283. +EOF
  1284. +fi
  1285. +cat << EOF
  1286. +<br>
  1287. +<input id="c2" type="radio" name="usecertbot" value="no"$xmail_chk><label for="c2"> $(lang de:"Benutze XMails SSL Zertifikat" en:"Use XMail SSL certificate")</label>
  1288. +</p>
  1289. EOF
  1290. sec_end
  1291.  
  1292. Nur in FHEM/make/xmail/files/root/usr: sbin.
  1293. diff -ur freetz/make/xmail/xmail.mk FHEM/make/xmail/xmail.mk
  1294. --- freetz/make/xmail/xmail.mk 2018-09-21 06:39:17.704120162 +0200
  1295. +++ FHEM/make/xmail/xmail.mk 2018-09-21 06:29:47.987404162 +0200
  1296. @@ -3,6 +3,8 @@
  1297. $(PKG)_SOURCE_MD5:=73c9d95012709d7b11511dfb6dd6ab3d
  1298. $(PKG)_SITE:=http://www.xmailserver.org
  1299.  
  1300. +$(PKG)_STARTLEVEL=91 # before dovecot
  1301. +
  1302. $(PKG)_BINARIES := compartment sendmail XMail XMCrypt CtrlClnt MkUsers
  1303. $(PKG)_BINARIES_BUILD_DIR := $($(PKG)_BINARIES:%=$($(PKG)_DIR)/bin/%)
  1304. $(PKG)_BINARIES_TARGET_DIR := $($(PKG)_BINARIES:%=$($(PKG)_DEST_DIR)/usr/lib/MailRoot/bin/%)
  1305. diff -ur freetz/Makefile FHEM/Makefile
  1306. --- freetz/Makefile 2018-09-21 06:39:09.323932162 +0200
  1307. +++ FHEM/Makefile 2018-09-21 06:29:44.493658162 +0200
  1308. @@ -237,8 +237,13 @@
  1309. TOOLCHAIN_SOURCE:=$(patsubst %,%-source,$(TOOLCHAIN))
  1310.  
  1311. ifeq ($(strip $(FREETZ_BUILD_TOOLCHAIN)),y)
  1312. +ifneq ($(strip $(FREETZ_BUILD_TOOLCHAIN_TARGET_ONLY)),y)
  1313. include $(TOOLCHAIN_DIR)/make/kernel-toolchain.mk
  1314. +endif
  1315. include $(TOOLCHAIN_DIR)/make/target-toolchain.mk
  1316. +ifeq ($(strip $(FREETZ_BUILD_TOOLCHAIN_TARGET_ONLY)),y)
  1317. +include $(TOOLCHAIN_DIR)/make/download-toolchain.mk
  1318. +endif
  1319. else
  1320. include $(TOOLCHAIN_DIR)/make/download-toolchain.mk
  1321. endif
  1322. diff -ur freetz/README FHEM/README
  1323. --- freetz/README 2018-09-21 06:39:04.865704162 +0200
  1324. +++ FHEM/README 2018-09-21 06:29:44.493658162 +0200
  1325. @@ -3,7 +3,7 @@
  1326. | |\ |__ |__ | /_
  1327.  
  1328.  
  1329. -$Id: README 7068 2011-06-01 07:46:32Z oliver $
  1330. +$Id$
  1331.  
  1332. This mod is distributed without any warranty (not even the implied
  1333. warranty of merchantability or fitness for a particular purpose).
  1334. diff -ur freetz/STARTLEVEL FHEM/STARTLEVEL
  1335. --- freetz/STARTLEVEL 2018-09-21 06:38:47.308930162 +0200
  1336. +++ FHEM/STARTLEVEL 2018-09-21 06:29:44.493658162 +0200
  1337. @@ -7,21 +7,21 @@
  1338. webcfg
  1339.  
  1340. #Basics
  1341. -inotify-tools STARTLEVEL=10
  1342. +inotify-tools STARTLEVEL=10
  1343. usbroot STARTLEVEL=11
  1344. syslogd-cgi STARTLEVEL=12
  1345. downloader STARTLEVEL=13
  1346. inetd STARTLEVEL=14
  1347.  
  1348. #Interfaces
  1349. -cpmaccfg-cgi STARTLEVEL=20
  1350. -virtualip-cgi STARTLEVEL=20
  1351. +cpmaccfg-cgi STARTLEVEL=20
  1352. +virtualip-cgi STARTLEVEL=20
  1353. #Firewall
  1354. -iptables-cgi STARTLEVEL=25
  1355. +iptables-cgi STARTLEVEL=25
  1356. nhipt STARTLEVEL=25
  1357.  
  1358. #SSH
  1359. -authorized-keys STARTLEVEL=30
  1360. +authorized-keys STARTLEVEL=30
  1361. dropbear STARTLEVEL=30
  1362.  
  1363. #DNS
  1364. @@ -54,8 +54,9 @@
  1365.  
  1366. #Misc
  1367. dbus STARTLEVEL=90 # before avahi
  1368. -php STARTLEVEL=90 # before lighttpd
  1369. +php STARTLEVEL=90 # before lighttpd
  1370. sundtek STARTLEVEL=90 # before rrdstats
  1371. -
  1372. +xmail STARTLEVEL=91 # before dovecot
  1373. +dovecot STARTLEVEL=92 # after xmail
  1374.  
  1375. # grep STARTLEVEL `find . -name *.mk` |sed 's/ #/\t#/g;s/.*\///g;s/.mk:\$(PKG)_/\t/g' |sort -k2
  1376. Nur in freetz/: .svn.
  1377. Nur in FHEM/toolchain/make/kernel/gcc/4.8: 200-gcc-config-host-linux-missing-SSIZE_MAX-definition.patch.
  1378. Nur in freetz/toolchain/make/kernel/gcc/4.8: release.
  1379. Nur in freetz/toolchain/make/kernel/gcc/4.8: snapshot.
  1380. diff -ur freetz/toolchain/make/Makefile.in FHEM/toolchain/make/Makefile.in
  1381. --- freetz/toolchain/make/Makefile.in 2018-09-21 06:38:41.858206162 +0200
  1382. +++ FHEM/toolchain/make/Makefile.in 2018-09-21 06:29:48.015418162 +0200
  1383. @@ -52,7 +52,9 @@
  1384. TARGET_MAKE_PATH:=$(TARGET_TOOLCHAIN_STAGING_DIR)/bin
  1385.  
  1386. ifeq ($(strip $(FREETZ_BUILD_TOOLCHAIN)),y)
  1387. +ifneq ($(strip $(FREETZ_BUILD_TOOLCHAIN_TARGET_ONLY)),y)
  1388. TOOLCHAIN:=kernel-toolchain target-toolchain
  1389. +endif
  1390. else
  1391. TOOLCHAIN:=download-toolchain
  1392. endif
  1393. diff -ur freetz/toolchain/make/target/binutils/binutils.mk FHEM/toolchain/make/target/binutils/binutils.mk
  1394. --- freetz/toolchain/make/target/binutils/binutils.mk 2018-09-21 06:38:42.966760162 +0200
  1395. +++ FHEM/toolchain/make/target/binutils/binutils.mk 2018-09-21 06:29:48.015418162 +0200
  1396. @@ -71,7 +71,11 @@
  1397. binutils-dirclean: binutils-clean binutils_target-dirclean
  1398. $(RM) -r $(BINUTILS_DIR)
  1399.  
  1400. +ifneq ($(strip $(FREETZ_BUILD_TOOLCHAIN_TARGET_ONLY)),y)
  1401. binutils: binutils-dependencies $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/bin/ld
  1402. +else
  1403. +binutils: $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/bin/ld
  1404. +endif
  1405.  
  1406. #############################################################
  1407. #
  1408. @@ -100,7 +104,7 @@
  1409. touch $@
  1410.  
  1411. $(BINUTILS_DIR2)/.compiled: $(BINUTILS_DIR2)/.configured
  1412. - $(MAKE_ENV) $(MAKE) $(BINUTILS_EXTRA_MAKE_OPTIONS) -C $(BINUTILS_DIR2) all
  1413. + LIB_PATH="/usr/lib/freetz:/usr/local/lib:/lib:/usr/lib" $(MAKE_ENV) $(MAKE) $(BINUTILS_EXTRA_MAKE_OPTIONS) -C $(BINUTILS_DIR2) all
  1414. touch $@
  1415.  
  1416. $(TARGET_UTILS_DIR)/usr/bin/ld: $(BINUTILS_DIR2)/.compiled
  1417. diff -ur freetz/toolchain/make/target/ccache/ccache.mk FHEM/toolchain/make/target/ccache/ccache.mk
  1418. --- freetz/toolchain/make/target/ccache/ccache.mk 2018-09-21 06:38:42.878716162 +0200
  1419. +++ FHEM/toolchain/make/target/ccache/ccache.mk 2018-09-21 06:29:48.015418162 +0200
  1420. @@ -73,10 +73,14 @@
  1421. )
  1422.  
  1423. ifeq ($(strip $(FREETZ_BUILD_TOOLCHAIN)),y)
  1424. +ifneq ($(strip $(FREETZ_BUILD_TOOLCHAIN_TARGET_ONLY)),y)
  1425. ccache: gcc $(TARGET_TOOLCHAIN_STAGING_DIR)/$(CCACHE_TARGET_BINARY)
  1426. else
  1427. ccache: $(TARGET_TOOLCHAIN_STAGING_DIR)/$(CCACHE_TARGET_BINARY)
  1428. endif
  1429. +else
  1430. +ccache: $(TARGET_TOOLCHAIN_STAGING_DIR)/$(CCACHE_TARGET_BINARY)
  1431. +endif
  1432.  
  1433. ccache-clean:
  1434. for i in gcc g++; do \
  1435. Nur in FHEM/toolchain/make/target/gcc/4.8: 200-gcc-config-host-linux-missing-SSIZE_MAX-definition.patch.
  1436. Nur in freetz/toolchain/make/target/gcc/4.8: release.
  1437. Nur in freetz/toolchain/make/target/gcc/4.8: snapshot.
  1438. diff -ur freetz/toolchain/make/target/gcc/gcc.mk FHEM/toolchain/make/target/gcc/gcc.mk
  1439. --- freetz/toolchain/make/target/gcc/gcc.mk 2018-09-21 06:38:46.940746162 +0200
  1440. +++ FHEM/toolchain/make/target/gcc/gcc.mk 2018-09-21 06:29:48.023422162 +0200
  1441. @@ -36,6 +36,10 @@
  1442. GCC_COMMON_CONFIGURE_OPTIONS += $(GCC_COMMON_CONFIGURE_OPTIONS_ARCH_ABI)
  1443. GCC_COMMON_CONFIGURE_OPTIONS += --disable-nls
  1444. GCC_COMMON_CONFIGURE_OPTIONS += $(QUIET)
  1445. +# disable libatomic at least for 4.8 and 5.5 to prevent: configure: error: Pthreads are required to build libatomic
  1446. +GCC_COMMON_CONFIGURE_OPTIONS += --disable-libatomic
  1447. +
  1448. +
  1449.  
  1450. ifneq ($(strip $(FREETZ_TARGET_TOOLCHAIN_AVM_COMPATIBLE)),y)
  1451. ifeq ($(strip $(FREETZ_TARGET_ARCH_MIPS)),y)
  1452. @@ -212,7 +216,11 @@
  1453.  
  1454. gcc-configured: $(GCC_BUILD_DIR2)/.configured
  1455.  
  1456. +ifneq ($(strip $(FREETZ_BUILD_TOOLCHAIN_TARGET_ONLY)),y)
  1457. gcc: uclibc-configured binutils gcc_initial uclibc $(GCC_BUILD_DIR2)/.installed
  1458. +else
  1459. +gcc: uclibc-configured binutils uclibc
  1460. +endif
  1461.  
  1462. gcc-uninstall:
  1463. $(RM) $(call TOOLCHAIN_BINARIES_LIST,$(TARGET_TOOLCHAIN_STAGING_DIR)/usr,$(GCC_BINARIES_BIN),$(REAL_GNU_TARGET_NAME))
  1464. @@ -233,7 +241,11 @@
  1465. #############################################################
  1466. GCC_BUILD_DIR3:=$(TARGET_TOOLCHAIN_DIR)/gcc-$(GCC_VERSION)-target
  1467.  
  1468. +ifneq ($(strip $(FREETZ_BUILD_TOOLCHAIN_TARGET_ONLY)),y)
  1469. $(GCC_BUILD_DIR3)/.configured: $(GCC_BUILD_DIR2)/.installed $(GCC_TARGET_PREREQ) | binutils_target
  1470. +else
  1471. +$(GCC_BUILD_DIR3)/.configured: $(GCC_DIR)/.unpacked $(GCC_TARGET_PREREQ) | binutils_target
  1472. +endif
  1473. mkdir -p $(GCC_BUILD_DIR3)
  1474. (cd $(GCC_BUILD_DIR3); $(RM) config.cache; \
  1475. $(TARGET_CONFIGURE_ENV) \
  1476. diff -ur freetz/toolchain/make/target/uclibc/uclibc.mk FHEM/toolchain/make/target/uclibc/uclibc.mk
  1477. --- freetz/toolchain/make/target/uclibc/uclibc.mk 2018-09-21 06:38:42.210382162 +0200
  1478. +++ FHEM/toolchain/make/target/uclibc/uclibc.mk 2018-09-21 06:29:48.111466162 +0200
  1479. @@ -141,7 +141,11 @@
  1480. cp -f $^ $(UCLIBC_CONFIG_FILE) && \
  1481. touch $^
  1482.  
  1483. +ifneq ($(strip $(FREETZ_BUILD_TOOLCHAIN_TARGET_ONLY)),y)
  1484. $(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured | $(UCLIBC_PREREQ_GCC_INITIAL)
  1485. +else
  1486. +$(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured
  1487. +endif
  1488. $(UCLIBC_MAKE) -C $(UCLIBC_DIR) \
  1489. $(UCLIBC_COMMON_BUILD_FLAGS) \
  1490. PREFIX= \
  1491. @@ -254,7 +258,11 @@
  1492. $(call REMOVE_DOC_NLS_DIRS,$(TARGET_UTILS_DIR))
  1493. touch -c $@
  1494.  
  1495. +ifneq ($(strip $(FREETZ_BUILD_TOOLCHAIN_TARGET_ONLY)),y)
  1496. uclibc_target: gcc uclibc $(TARGET_UTILS_DIR)/usr/lib/libc.a
  1497. +else
  1498. +uclibc_target: uclibc $(TARGET_UTILS_DIR)/usr/lib/libc.a
  1499. +endif
  1500.  
  1501. uclibc_target-clean: uclibc_target-dirclean
  1502. $(RM) $(TARGET_UTILS_DIR)/lib/libc.a
  1503. diff -ur freetz/tools/.gitignore FHEM/tools/.gitignore
  1504. --- freetz/tools/.gitignore 2018-09-21 06:39:08.283412162 +0200
  1505. +++ FHEM/tools/.gitignore 2018-09-21 06:29:48.111466162 +0200
  1506. @@ -3,6 +3,7 @@
  1507. avm_kernel_config.extract
  1508. avm_kernel_config.bin2asm
  1509. blkid
  1510. +build
  1511. bunzip2
  1512. busybox
  1513. bzcat
  1514. Nur in FHEM/tools/make: autoconf-host.
  1515. diff -ur freetz/tools/make/fakeroot/fakeroot.mk FHEM/tools/make/fakeroot/fakeroot.mk
  1516. --- freetz/tools/make/fakeroot/fakeroot.mk 2018-09-21 06:39:07.422982163 +0200
  1517. +++ FHEM/tools/make/fakeroot/fakeroot.mk 2018-09-21 06:29:48.127474162 +0200
  1518. @@ -39,6 +39,7 @@
  1519. ../../configure \
  1520. --prefix=$(FAKEROOT_DESTDIR) \
  1521. --enable-shared \
  1522. + $(if $(findstring Microsoft,$(shell uname -r)),--with-ipc=tcp,) \
  1523. $(DISABLE_NLS) \
  1524. );
  1525. touch $@
  1526. @@ -54,6 +55,8 @@
  1527. ../../configure \
  1528. --prefix=$(FAKEROOT_DESTDIR) \
  1529. --enable-shared \
  1530. + $(if $(findstring Microsoft,$(shell uname -r)),--with-ipc=tcp,) \
  1531. + $(if $(findstring Microsoft,$(shell uname -r)),--host=$(shell uname -m),) \
  1532. $(DISABLE_NLS) \
  1533. );
  1534. touch $@
  1535. Nur in FHEM/tools/make: libffi-host.
  1536. Nur in FHEM/tools/make: python-cffi-host.
  1537. diff -ur freetz/tools/make/python-host/python-host.mk FHEM/tools/make/python-host/python-host.mk
  1538. --- freetz/tools/make/python-host/python-host.mk 2018-09-21 06:39:06.962752162 +0200
  1539. +++ FHEM/tools/make/python-host/python-host.mk 2018-09-21 06:29:48.147484163 +0200
  1540. @@ -1,17 +1,18 @@
  1541. PYTHON_HOST_VERSION:=2.7.15
  1542. +PYTHON_HOST_MAJOR_VERSION:=2.7
  1543. PYTHON_HOST_SOURCE:=Python-$(PYTHON_HOST_VERSION).tar.xz
  1544. PYTHON_HOST_MD5:=a80ae3cc478460b922242f43a1b4094d
  1545. PYTHON_HOST_SITE:=http://www.python.org/ftp/python/$(PYTHON_HOST_VERSION)
  1546.  
  1547. PYTHON_HOST_DIR:=$(TOOLS_SOURCE_DIR)/Python-$(PYTHON_HOST_VERSION)
  1548. PYTHON_HOST_BINARY:=$(PYTHON_HOST_DIR)/python
  1549. -PYTHON_HOST_TARGET_BINARY:=$(HOST_TOOLS_DIR)/usr/bin/python2.7
  1550. +PYTHON_HOST_TARGET_BINARY:=$(HOST_TOOLS_DIR)/usr/bin/python$(PYTHON_HOST_MAJOR_VERSION)
  1551.  
  1552. python-host-source: $(DL_DIR)/$(PYTHON_HOST_SOURCE)
  1553. $(DL_DIR)/$(PYTHON_HOST_SOURCE): | $(DL_DIR)
  1554. $(DL_TOOL) $(DL_DIR) $(PYTHON_HOST_SOURCE) $(PYTHON_HOST_SITE) $(PYTHON_HOST_MD5)
  1555.  
  1556. -python-host-unpacked: $(PYTHON_HOST_DIR)/.unpacked
  1557. +python-host-unpacked: $(PYTHON_HOST_DIR)/.unpacked
  1558. $(PYTHON_HOST_DIR)/.unpacked: $(DL_DIR)/$(PYTHON_HOST_SOURCE) | $(TOOLS_SOURCE_DIR) $(UNPACK_TARBALL_PREREQUISITES)
  1559. $(call UNPACK_TARBALL,$(DL_DIR)/$(PYTHON_HOST_SOURCE),$(TOOLS_SOURCE_DIR))
  1560. @touch $@
  1561. @@ -28,7 +29,7 @@
  1562. --build=$(GNU_HOST_NAME) \
  1563. --host=$(GNU_HOST_NAME) \
  1564. --target=$(GNU_HOST_NAME) \
  1565. - --prefix=/usr \
  1566. + --prefix=$(HOST_TOOLS_DIR)/usr \
  1567. );
  1568. @touch $@
  1569.  
  1570. @@ -41,10 +42,11 @@
  1571. $(PYTHON_HOST_TARGET_BINARY): $(PYTHON_HOST_BINARY) | $(HOST_TOOLS_DIR)
  1572. PATH=$(TARGET_PATH) \
  1573. $(MAKE) -C $(PYTHON_HOST_DIR) \
  1574. - DESTDIR="$(HOST_TOOLS_DIR)" \
  1575. install
  1576. cp -a $(PYTHON_HOST_BINARY) $(PYTHON_HOST_DIR)/Parser/pgen \
  1577. $(HOST_TOOLS_DIR)/usr/bin
  1578. + cp -a $(PYTHON_HOST_DIR)/Lib/site.py \
  1579. + $(HOST_TOOLS_DIR)/usr/lib/python$(PYTHON_HOST_MAJOR_VERSION)
  1580.  
  1581. python-host: $(PYTHON_HOST_TARGET_BINARY)
  1582.  
  1583. Nur in FHEM/tools/make: python-pycparser-host.
  1584. Nur in FHEM/tools/make: python-setuptools-host.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement