From fb5162f69a3125b615565c8ebe1516b6e03676c5 Mon Sep 17 00:00:00 2001 From: Rosy Song Date: Wed, 2 Jan 2019 14:29:37 +0800 Subject: [PATCH] rosy-file-server: add new package Signed-off-by: Rosy Song --- net/rosy-file-server/Makefile | 52 ++++++++++++++++++++++++ net/rosy-file-server/files/rosyfs.config | 13 ++++++ net/rosy-file-server/files/rosyfs.init | 29 +++++++++++++ 3 files changed, 94 insertions(+) create mode 100644 net/rosy-file-server/Makefile create mode 100644 net/rosy-file-server/files/rosyfs.config create mode 100755 net/rosy-file-server/files/rosyfs.init diff --git a/net/rosy-file-server/Makefile b/net/rosy-file-server/Makefile new file mode 100644 index 0000000000..c1a097d0ac --- /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 + +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 0000000000..53ad71adaf --- /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 0000000000..ebcd19db1b --- /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 +}