sulu-builder: 1.0.0

This commit is contained in:
vdutta 2022-08-02 17:48:01 +05:30
parent 0fcabc3ab5
commit 473ea18680
5 changed files with 335 additions and 0 deletions

126
sulu-builder/Config.in Normal file
View file

@ -0,0 +1,126 @@
menu "Configuration"
depends on PACKAGE_sulu-builder
menu "SULU_CORE"
depends on PACKAGE_sulu-builder
config SULU_CORE_ENABLE
bool "Enable this plugin"
default y
config SULU_CORE_URL
string "SULU url"
default "https://dev.iopsys.eu/websdk/sulu.git"
config SULU_CORE_VERSION
string "SULU repo version"
default "d7e9348a5111d232cc587f76addf12b4ee125dab"
endmenu
menu "SULU_PLUGIN_LCM"
depends on PACKAGE_sulu-builder
config SULU_PLUGIN_LCM_ENABLE
bool "Enable this plugin"
default y
config SULU_PLUGIN_LCM_NAME
depends on SULU_PLUGIN_LCM_ENABLE
string "Plugin_name"
default "sulu-lcm"
config SULU_PLUGIN_LCM_URL
depends on SULU_PLUGIN_LCM_ENABLE
string "URL"
default "https://dev.iopsys.eu/websdk/sulu-lcm.git"
config SULU_PLUGIN_LCM_VERSION
depends on SULU_PLUGIN_LCM_ENABLE
string "Version"
default "ae0da97828665aa953459c7f49ed26c656819d4d"
endmenu
menu "SULU_PLUGIN_MULTIAP"
depends on PACKAGE_sulu-builder
config SULU_PLUGIN_MULTIAP_ENABLE
bool "Enable this plugin"
default y
config SULU_PLUGIN_MULTIAP_NAME
depends on SULU_PLUGIN_MULTIAP_ENABLE
string "Plugin_name"
default "sulu-multi-ap"
config SULU_PLUGIN_MULTIAP_URL
depends on SULU_PLUGIN_MULTIAP_ENABLE
string "URL"
default "https://dev.iopsys.eu/websdk/sulu-multi-ap.git"
config SULU_PLUGIN_MULTIAP_VERSION
depends on SULU_PLUGIN_MULTIAP_ENABLE
string "Version"
default "0ee8a4dd07d722d06dd7617d2debf138da6df8b7"
endmenu
menu "SULU_THEME_IOPSYS"
depends on PACKAGE_sulu-builder
config SULU_THEME_IOPSYS_ENABLE
bool "Enable this plugin"
default y
config SULU_THEME_IOPSYS_NAME
depends on SULU_THEME_IOPSYS_ENABLE
string "Plugin_name"
default "sulu-theme-iopsys"
config SULU_THEME_IOPSYS_URL
depends on SULU_THEME_IOPSYS_ENABLE
string "URL"
default "https://dev.iopsys.eu/websdk/sulu-theme-iopsys.git"
config SULU_THEME_IOPSYS_VERSION
depends on SULU_THEME_IOPSYS_ENABLE
string "Version"
default "e80fea80cdf8d49db0ae70b5c26a5dab49b8a20d"
endmenu
menu "SULU_PLUGIN_CUSTOM"
depends on PACKAGE_sulu-builder
config SULU_PLUGIN_CUSTOM_ENABLE
bool "Enable this plugin"
default n
config SULU_PLUGIN_CUSTOM_NAME
depends on SULU_PLUGIN_CUSTOM_ENABLE
string "Plugin_name"
default "custom_app"
config SULU_PLUGIN_CUSTOM_URL
depends on SULU_PLUGIN_CUSTOM_ENABLE
string "URL"
default ""
config SULU_PLUGIN_CUSTOM_VERSION
depends on SULU_PLUGIN_CUSTOM_ENABLE
string "Version"
endmenu
menu "SULU_THEME_CUSTOM"
depends on PACKAGE_sulu-builder
config SULU_THEME_CUSTOM_ENABLE
bool "Enable this plugin"
default n
config SULU_THEME_CUSTOM_NAME
depends on SULU_THEME_CUSTOM_ENABLE
string "Plugin_name"
default "plugin_theme_custom"
config SULU_THEME_CUSTOM_URL
depends on SULU_THEME_CUSTOM_ENABLE
string "URL"
default ""
config SULU_THEME_CUSTOM_VERSION
depends on SULU_THEME_CUSTOM_ENABLE
string "Version"
endmenu
endmenu

154
sulu-builder/Makefile Normal file
View file

@ -0,0 +1,154 @@
#
# Copyright (C) 2021-2022 IOPSYS
#
include $(TOPDIR)/rules.mk
PKG_NAME:=sulu-builder
PKG_VERSION:=1.0.0
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/websdk/sulu-builder.git
PKG_SOURCE_VERSION:=fc82a32ab3cdcb18dc3aa7b907c62d8bed29b4ff
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
PKG_LICENSE:=PROPRIETARY IOPSYS
PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_DEPENDS:=node-yarn/host
include $(INCLUDE_DIR)/package.mk
define Package/${PKG_NAME}
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Build sulu from source
DEPENDS:=+nginx
MENU:=1
endef
define Package/${PKG_NAME}/description
SULU-CE ReactJS based Web UI builder.
endef
define Package/${PKG_NAME}/config
source "$(SOURCE)/Config.in"
endef
# Sulu core and other dependent needs to be updated in Config.in
SULU_DL_FILE:=sulu-${PKG_VERSION}-${CONFIG_SULU_CORE_VERSION}.tar.gz
define Download/sulu_core
FILE:=$(SULU_DL_FILE)
URL:=$(CONFIG_SULU_CORE_URL)
PROTO:=git
SUBDIR:=core
VERSION:=${CONFIG_SULU_CORE_VERSION}
HASH:=skip
endef
ifeq ($(CONFIG_SULU_CORE_ENABLE),y)
$(eval $(call Download,sulu_core))
endif
SULU_PLUGIN_LCM_DL:=${CONFIG_SULU_PLUGIN_LCM_NAME}_plugin-${CONFIG_SULU_PLUGIN_LCM_VERSION}.tar.gz
define Download/sulu_plugin_lcm
FILE:=${SULU_PLUGIN_LCM_DL}
URL:=${CONFIG_SULU_PLUGIN_LCM_URL}
PROTO:=git
SUBDIR:=plugins/${CONFIG_SULU_PLUGIN_LCM_NAME}
VERSION:=${CONFIG_SULU_PLUGIN_LCM_VERSION}
HASH:=skip
endef
ifeq ($(CONFIG_SULU_PLUGIN_LCM_ENABLE),y)
$(eval $(call Download,sulu_plugin_lcm))
endif
SULU_PLUGIN_MULTIAP_DL:=${CONFIG_SULU_PLUGIN_MULTIAP_NAME}_plugin-${CONFIG_SULU_PLUGIN_MULTIAP_VERSION}.tar.gz
define Download/sulu_plugin_multiap
FILE:=${SULU_PLUGIN_MULTIAP_DL}
URL:=${CONFIG_SULU_PLUGIN_MULTIAP_URL}
PROTO:=git
SUBDIR:=plugins/${CONFIG_SULU_PLUGIN_MULTIAP_NAME}
VERSION:=${CONFIG_SULU_PLUGIN_MULTIAP_VERSION}
HASH:=skip
endef
ifeq ($(CONFIG_SULU_PLUGIN_MULTIAP_ENABLE),y)
$(eval $(call Download,sulu_plugin_multiap))
endif
SULU_THEME_IOPSYS_DL:=${CONFIG_SULU_THEME_IOPSYS_NAME}_plugin-${CONFIG_SULU_THEME_IOPSYS_VERSION}.tar.gz
define Download/sulu_theme_iopsys
FILE:=${SULU_THEME_IOPSYS_DL}
URL:=${CONFIG_SULU_THEME_IOPSYS_URL}
PROTO:=git
SUBDIR:=plugins/${CONFIG_SULU_THEME_IOPSYS_NAME}
VERSION:=${CONFIG_SULU_THEME_IOPSYS_VERSION}
HASH:=skip
endef
ifeq ($(CONFIG_SULU_THEME_IOPSYS_ENABLE),y)
$(eval $(call Download,sulu_theme_iopsys))
endif
SULU_PLUGIN_CUSTOM_DL:=${CONFIG_SULU_PLUGIN_CUSTOM_NAME}_plugin-${CONFIG_SULU_PLUGIN_CUSTOM_VERSION}.tar.gz
define Download/sulu_plugin_custom
FILE:=${SULU_PLUGIN_CUSTOM_DL}
URL:=${CONFIG_SULU_PLUGIN_CUSTOM_URL}
PROTO:=git
SUBDIR:=plugins/${CONFIG_SULU_PLUGIN_CUSTOM_NAME}
VERSION:=${CONFIG_SULU_PLUGIN_CUSTOM_VERSION}
HASH:=skip
endef
ifeq ($(CONFIG_SULU_PLUGIN_CUSTOM_ENABLE),y)
$(eval $(call Download,sulu_plugin_custom))
endif
SULU_THEME_CUSTOM_DL:=${CONFIG_SULU_THEME_CUSTOM_NAME}_plugin-${CONFIG_SULU_THEME_CUSTOM_VERSION}.tar.gz
define Download/sulu_theme_custom
FILE:=${SULU_THEME_CUSTOM_DL}
URL:=${CONFIG_SULU_THEME_CUSTOM_URL}
PROTO:=git
SUBDIR:=plugins/${CONFIG_SULU_THEME_CUSTOM_NAME}
VERSION:=${CONFIG_SULU_THEME_CUSTOM_VERSION}
HASH:=skip
endef
ifeq ($(CONFIG_SULU_THEME_CUSTOM_ENABLE),y)
$(eval $(call Download,sulu_theme_custom))
endif
define Build/Prepare
$(Build/Prepare/Default)
tar xzf $(DL_DIR)/${SULU_DL_FILE} -C $(PKG_BUILD_DIR)
ifeq ($(CONFIG_SULU_PLUGIN_LCM_ENABLE),y)
tar xzf $(DL_DIR)/${SULU_PLUGIN_LCM_DL} -C $(PKG_BUILD_DIR)
endif
ifeq ($(CONFIG_SULU_PLUGIN_MULTIAP_ENABLE),y)
tar xzf $(DL_DIR)/${SULU_PLUGIN_MULTIAP_DL} -C $(PKG_BUILD_DIR)
endif
ifeq ($(CONFIG_SULU_THEME_IOPSYS_ENABLE),y)
tar xzf $(DL_DIR)/${SULU_THEME_IOPSYS_DL} -C $(PKG_BUILD_DIR)
endif
ifeq ($(CONFIG_SULU_PLUGIN_CUSTOM_ENABLE),y)
tar xzf $(DL_DIR)/${SULU_PLUGIN_CUSTOM_DL} -C $(PKG_BUILD_DIR)
endif
ifeq ($(CONFIG_SULU_THEME_CUSTOM_ENABLE),y)
tar xzf $(DL_DIR)/${SULU_THEME_CUSTOM_DL} -C $(PKG_BUILD_DIR)
endif
endef
define Package/${PKG_NAME}/install
$(INSTALL_DIR) $(1)/sulu
$(INSTALL_DIR) $(1)/sulu/config
$(INSTALL_DIR) $(1)/etc/nginx/
$(CP) $(PKG_BUILD_DIR)/build/dist/* $(1)/sulu
$(CP) $(PKG_BUILD_DIR)/build/src/config/widgets/*.json $(1)/sulu/config/
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,${PKG_NAME}))

View file

@ -0,0 +1,27 @@
#!/bin/sh /etc/rc.common
START=99
STOP=10
USE_PROCD=1
log() {
echo "${@}"|logger -t sulu.init -p debug
}
start_service() {
procd_open_instance sulu
# append sulu connection injection
procd_close_instance
}
reload_service() {
stop
start
}
service_triggers()
{
procd_add_config_trigger "config.change" "obuspa" /etc/init.d/sulu reload
}

View file

@ -0,0 +1,18 @@
location /config/ {
autoindex on;
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain; charset=utf-8';
add_header 'Content-Length' 0;
return 204;
}
if ($request_method = 'GET') {
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always;
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
}
}

View file

@ -0,0 +1,10 @@
mkdir -p /tmp/sulu
uci -q get nginx._sulu && exit 0
uci -q set nginx._sulu=server
uci -q add_list nginx._sulu.listen='8080'
uci -q add_list nginx._sulu.listen='[::]:8080'
uci -q set nginx._sulu.root='/sulu'
uci -q set nginx._sulu.server_name='_sulu'
uci -q add_list nginx._sulu.include='conf.d/sulu.locations'