aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRosen Penev <rosenp@gmail.com>2019-04-03 18:00:22 -0700
committerGitHub <noreply@github.com>2019-04-03 18:00:22 -0700
commit1321984c228fabb0b0c1f2f14e45a17cf1373bba (patch)
treef82b3310ba1ae051cdd52d660ec0f93a35a393fd
parent2530ae4115cf1660c2e6f521b136ba6fe56fa1a0 (diff)
parentfb5162f69a3125b615565c8ebe1516b6e03676c5 (diff)
Merge pull request #7837 from rosysong/file-server
rosy-file-server: add new package
-rw-r--r--net/rosy-file-server/Makefile52
-rw-r--r--net/rosy-file-server/files/rosyfs.config13
-rwxr-xr-xnet/rosy-file-server/files/rosyfs.init29
3 files changed, 94 insertions, 0 deletions
diff --git a/net/rosy-file-server/Makefile b/net/rosy-file-server/Makefile
new file mode 100644
index 000000000..c1a097d0a
--- /dev/null
+++ b/net/rosy-file-server/Makefile
@@ -0,0 +1,52 @@
+#
+# Copyright (C) 2019 rosysong@rosinson.com
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=rosy-file-server
+PKG_VERSION:=1.0.0
+PKG_RELEASE:=1
+PKG_LICENSE:=GPL-2.0
+
+PKG_MAINTAINER:=Rosy Song <rosysong@rosinson.com>
+
+PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/rosy-file-server
+ SUBMENU:=File Transfer
+ SECTION:=net
+ CATEGORY:=Network
+ TITLE:=Rosy File Server over HTTP
+ PKGARCH:=all
+endef
+
+define Package/rosy-file-server/description
+ This package is a configuration management for luci-app-rosy-file-server.
+endef
+
+define Package/rosy-file-server/conffiles
+/etc/config/rosy-file-server
+endef
+
+define Build/Prepare
+endef
+
+define Build/Configure
+endef
+
+define Build/Compile
+endef
+
+define Package/rosy-file-server/install
+ $(INSTALL_DIR) $(1)/etc/init.d $(1)/etc/config
+ $(INSTALL_BIN) ./files/rosyfs.init $(1)/etc/init.d/rosyfs
+ $(INSTALL_CONF) ./files/rosyfs.config $(1)/etc/config/rosyfs
+endef
+
+$(eval $(call BuildPackage,rosy-file-server))
diff --git a/net/rosy-file-server/files/rosyfs.config b/net/rosy-file-server/files/rosyfs.config
new file mode 100644
index 000000000..53ad71ada
--- /dev/null
+++ b/net/rosy-file-server/files/rosyfs.config
@@ -0,0 +1,13 @@
+#
+# Copyright (C) 2019 rosysong@rosinson.com
+#
+
+config rosyfs default
+
+ # Web title
+ option title 'Rosy File Server'
+
+ # Path to share
+ option target '/www'
+
+ option disabled '0'
diff --git a/net/rosy-file-server/files/rosyfs.init b/net/rosy-file-server/files/rosyfs.init
new file mode 100755
index 000000000..ebcd19db1
--- /dev/null
+++ b/net/rosy-file-server/files/rosyfs.init
@@ -0,0 +1,29 @@
+#!/bin/sh /etc/rc.common
+#
+# Copyright (C) 2019 rosysong@rosinson.com
+#
+
+START=99
+USE_PROCD=1
+SHARE_PATH=/www/rosyfs-share
+
+service_triggers() {
+ procd_add_reload_trigger rosyfs
+}
+
+start_service() {
+ config_load rosyfs
+ config_get disabled default disabled '0'
+ config_get target default target ''
+
+ [ $disabled -eq 1 ] && return
+
+ [ -n "$target" -a ! "$(readlink $SHARE_PATH)" = "$target" ] && {
+ rm -f $SHARE_PATH
+ ln -s $target $SHARE_PATH
+ }
+}
+
+stop_service() {
+ rm -f $SHARE_PATH
+}