diff --git a/package/lean/luci-app-docker/Makefile b/package/lean/luci-app-docker/Makefile
index 19ea282eda..34979a90be 100755
--- a/package/lean/luci-app-docker/Makefile
+++ b/package/lean/luci-app-docker/Makefile
@@ -10,7 +10,7 @@ LUCI_TITLE:=Luci for Docker-CE
LUCI_DEPENDS:=+docker-ce
LUCI_PKGARCH:=all
PKG_VERSION:=1
-PKG_RELEASE:=8
+PKG_RELEASE:=9
include $(TOPDIR)/feeds/luci/luci.mk
diff --git a/package/lean/luci-app-docker/luasrc/model/cbi/docker.lua b/package/lean/luci-app-docker/luasrc/model/cbi/docker.lua
index 750418b762..270fecbbc7 100644
--- a/package/lean/luci-app-docker/luasrc/model/cbi/docker.lua
+++ b/package/lean/luci-app-docker/luasrc/model/cbi/docker.lua
@@ -17,30 +17,7 @@ wan_mode = s:option(Flag, "wan_mode", translate("Enable WAN access Dokcer"), tra
wan_mode.default = 0
wan_mode.rmempty = false
-
-o = s:option(Button,"readme",translate("Docker Readme First"))
-o.inputtitle = translate("Download DockerReadme.pdf")
-o.description = translate("Please download DockerReadme.pdf to read when first-running")
-o.inputstyle = "reload"
-o.write = function()
- Download()
-end
-
-function Download()
- local t,e
- t=nixio.open("/www/DockerReadme.pdf","r")
- luci.http.header('Content-Disposition','attachment; filename="DockerReadme.pdf"')
- luci.http.prepare_content("application/octet-stream")
- while true do
- e=t:read(nixio.const.buffersize)
- if(not e)or(#e==0)then
- break
- else
- luci.http.write(e)
- end
- end
- t:close()
- luci.http.close()
-end
+o=s:option(DummyValue,"readme",translate(" "))
+o.description=translate(""..translate("Download DockerReadme.pdf").."")
return m
\ No newline at end of file
diff --git a/package/lean/luci-app-ssr-plus/Makefile b/package/lean/luci-app-ssr-plus/Makefile
index ee930af7c7..97cbe3f136 100644
--- a/package/lean/luci-app-ssr-plus/Makefile
+++ b/package/lean/luci-app-ssr-plus/Makefile
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-ssr-plus
PKG_VERSION:=1
-PKG_RELEASE:=116
+PKG_RELEASE:=117
PKG_CONFIG_DEPENDS:= CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks \
CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_V2ray \
diff --git a/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr b/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr
index f7eb4a1ae6..9802c10c75 100755
--- a/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr
+++ b/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr
@@ -485,18 +485,18 @@ start() {
if rules ;then
start_redir
if ! [ "$(uci_get_by_type global pdnsd_enable)" = "2" ] ;then
- mkdir -p /tmp/dnsmasq.d
- /usr/share/shadowsocksr/gfw2ipset.sh
+ mkdir -p /tmp/dnsmasq.d && cp -a /etc/dnsmasq.ssr /tmp/ && cp -a /etc/dnsmasq.oversea /tmp/
if ! [ "$run_mode" = "oversea" ] ;then
cat > /tmp/dnsmasq.d/dnsmasq-ssr.conf < /tmp/dnsmasq.d/dnsmasq-ssr.conf </dev/null 2>&1
+ /usr/share/shadowsocksr/gfw2ipset.sh
fi
fi
start_server
diff --git a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/gfw2ipset.sh b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/gfw2ipset.sh
index 536f679e01..a9249ceed1 100755
--- a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/gfw2ipset.sh
+++ b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/gfw2ipset.sh
@@ -1,11 +1,12 @@
#!/bin/sh
-awk '!/^$/&&!/^#/{printf("ipset=/.%s/'"gfwlist"'\n",$0)}' /etc/config/gfw.list > /etc/dnsmasq.ssr/custom_forward.conf
-awk '!/^$/&&!/^#/{printf("server=/.%s/'"127.0.0.1#5335"'\n",$0)}' /etc/config/gfw.list >> /etc/dnsmasq.ssr/custom_forward.conf
+mkdir -p /tmp/dnsmasq.ssr
-awk '!/^$/&&!/^#/{printf("ipset=/.%s/'"blacklist"'\n",$0)}' /etc/config/black.list > /etc/dnsmasq.ssr/blacklist_forward.conf
-awk '!/^$/&&!/^#/{printf("server=/.%s/'"127.0.0.1#5335"'\n",$0)}' /etc/config/black.list >> /etc/dnsmasq.ssr/blacklist_forward.conf
+awk '!/^$/&&!/^#/{printf("ipset=/.%s/'"gfwlist"'\n",$0)}' /etc/config/gfw.list > /tmp/dnsmasq.ssr/custom_forward.conf
+awk '!/^$/&&!/^#/{printf("server=/.%s/'"127.0.0.1#5335"'\n",$0)}' /etc/config/gfw.list >> /tmp/dnsmasq.ssr/custom_forward.conf
-awk '!/^$/&&!/^#/{printf("ipset=/.%s/'"whitelist"'\n",$0)}' /etc/config/white.list > /etc/dnsmasq.ssr/whitelist_forward.conf
+awk '!/^$/&&!/^#/{printf("ipset=/.%s/'"blacklist"'\n",$0)}' /etc/config/black.list > /tmp/dnsmasq.ssr/blacklist_forward.conf
+awk '!/^$/&&!/^#/{printf("server=/.%s/'"127.0.0.1#5335"'\n",$0)}' /etc/config/black.list >> /tmp/dnsmasq.ssr/blacklist_forward.conf
+awk '!/^$/&&!/^#/{printf("ipset=/.%s/'"whitelist"'\n",$0)}' /etc/config/white.list > /tmp/dnsmasq.ssr/whitelist_forward.conf
diff --git a/package/system/fstools/Makefile b/package/system/fstools/Makefile
index 218195a554..3c318df511 100644
--- a/package/system/fstools/Makefile
+++ b/package/system/fstools/Makefile
@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fstools
-PKG_RELEASE:=1
+PKG_RELEASE:=4
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/fstools.git
-PKG_SOURCE_DATE:=2019-09-21
-PKG_SOURCE_VERSION:=4327ed40d96c95803b2d4d09ddf997c895eea071
-PKG_MIRROR_HASH:=34e4510fbf8eb01571e4af632754c2f6799719e1f743037b998ca7fc838e6288
+PKG_SOURCE_DATE:=2019-03-28
+PKG_SOURCE_VERSION:=ff1ded63c51e84e239fb422ac8b9d15251d1221f
+PKG_MIRROR_HASH:=2731bbca42c0eafda557d545ebeca243fa4048c433c3b27d31256aca356886bc
CMAKE_INSTALL:=1
PKG_LICENSE:=GPL-2.0
@@ -79,14 +79,14 @@ define Package/block-mount
SECTION:=base
CATEGORY:=Base system
TITLE:=Block device mounting and checking
- DEPENDS:=+ubox +libubox +libuci +libblobmsg-json +libjson-c
+ DEPENDS:=+ubox +libubox +libuci
endef
define Package/blockd
SECTION:=base
CATEGORY:=Base system
TITLE:=Block device automounting
- DEPENDS:=+block-mount +fstools +libubus +kmod-fs-autofs4 +libblobmsg-json +libjson-c
+ DEPENDS:=+block-mount +fstools +libubus +kmod-fs-autofs4
endef
define Package/fstools/install
diff --git a/package/system/fstools/files/fstab.default b/package/system/fstools/files/fstab.default
old mode 100755
new mode 100644
diff --git a/package/system/fstools/files/fstab.init b/package/system/fstools/files/fstab.init
old mode 100755
new mode 100644
index 08d5601bee..5faa8ecbb9
--- a/package/system/fstools/files/fstab.init
+++ b/package/system/fstools/files/fstab.init
@@ -8,11 +8,7 @@ boot() {
}
start() {
- return 0
-}
-
-restart() {
- return 0
+ echo "this file has been obsoleted. please call \"/sbin/block mount\" directly"
}
stop() {
diff --git a/package/system/fstools/files/media-change.hotplug b/package/system/fstools/files/media-change.hotplug
old mode 100755
new mode 100644
diff --git a/package/system/fstools/files/mount.hotplug b/package/system/fstools/files/mount.hotplug
old mode 100755
new mode 100644
diff --git a/package/system/fstools/files/snapshot b/package/system/fstools/files/snapshot
old mode 100755
new mode 100644
diff --git a/package/system/fstools/patches/0002-fix-potential-memory-leak.patch b/package/system/fstools/patches/0002-fix-potential-memory-leak.patch
deleted file mode 100644
index 868df15a25..0000000000
--- a/package/system/fstools/patches/0002-fix-potential-memory-leak.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/libblkid-tiny/libblkid-tiny.c
-+++ b/libblkid-tiny/libblkid-tiny.c
-@@ -282,7 +282,7 @@ int probe_block(char *block, struct blki
-
- mag = &idinfos[i]->magics[0];
-
-- while (mag->magic) {
-+ while (mag && mag->magic) {
- int off = (mag->kboff * 1024) + mag->sboff;
- char magic[32] = { 0 };
-
diff --git a/package/system/fstools/patches/0003-fix-lost-mount-point-when-first-boot.patch b/package/system/fstools/patches/0003-fix-lost-mount-point-when-first-boot.patch
deleted file mode 100644
index bdc866ec6a..0000000000
--- a/package/system/fstools/patches/0003-fix-lost-mount-point-when-first-boot.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- a/mount_root.c
-+++ b/mount_root.c
-@@ -101,6 +101,7 @@ stop(int argc, char *argv[1])
- static int
- done(int argc, char *argv[1])
- {
-+ int ret;
- struct volume *v = volume_find("rootfs_data");
-
- if (!v)
-@@ -109,7 +110,15 @@ done(int argc, char *argv[1])
- switch (volume_identify(v)) {
- case FS_NONE:
- case FS_DEADCODE:
-- return jffs2_switch(v);
-+ ret = jffs2_switch(v);
-+ /*
-+ * Devices mounted under /mnt will lost their mount point(see switch2jffs())
-+ * if the filesystem's(/overlay) state is not FS_STATE_READY,
-+ * this action can fix it.
-+ */
-+ if (!access("/sbin/block", X_OK))
-+ system("/sbin/block mount");
-+ return ret;
-
- case FS_EXT4:
- case FS_F2FS:
diff --git a/package/system/fstools/patches/0005-disable-lazy-init.patch b/package/system/fstools/patches/0005-disable-lazy-init.patch
new file mode 100644
index 0000000000..c30925703b
--- /dev/null
+++ b/package/system/fstools/patches/0005-disable-lazy-init.patch
@@ -0,0 +1,13 @@
+diff --git a/libfstools/rootdisk.c b/libfstools/rootdisk.c
+index dd00c1b..f3b87fc 100644
+--- a/libfstools/rootdisk.c
++++ b/libfstools/rootdisk.c
+@@ -270,7 +270,7 @@ static int rootdisk_volume_init(struct volume *v)
+ if (rootdisk_use_f2fs(p))
+ snprintf(str, sizeof(str), "mkfs.f2fs -q -l rootfs_data %s", v->blk);
+ else
+- snprintf(str, sizeof(str), "mkfs.ext4 -q -L rootfs_data %s", v->blk);
++ snprintf(str, sizeof(str), "mkfs.ext4 -q -E lazy_itable_init=0,lazy_journal_init=0 -L rootfs_data %s", v->blk);
+ ret = system(str);
+ break;
+ default: