diff --git a/net/alist/Makefile b/net/alist/Makefile deleted file mode 100644 index b4b16aa53a..0000000000 --- a/net/alist/Makefile +++ /dev/null @@ -1,88 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only -# -# Copyright (C) 2023 ImmortalWrt.org - -include $(TOPDIR)/rules.mk - -PKG_NAME:=alist -PKG_VERSION:=3.45.0 -PKG_RELEASE:=1 - -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://codeload.github.com/AlistGo/alist/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=224119ea5a3b43694e5342c460ab471d6477db1bf7ade5180d542a32363cb097 - -PKG_LICENSE:=AGPL-3.0-only -PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Tianling Shen - -PKG_BUILD_DEPENDS:=golang/host -PKG_BUILD_PARALLEL:=1 -PKG_BUILD_FLAGS:=no-mips16 - -GO_PKG:=github.com/alist-org/alist/v3 -GO_PKG_LDFLAGS_X = \ - $(GO_PKG)/internal/conf.Version=$(PKG_VERSION) \ - $(GO_PKG)/internal/conf.WebVersion=$(WEB_VERSION) -ifeq ($(filter aarch64 x86_64, $(ARCH)),) - GO_PKG_EXCLUDES:=drivers/lark -endif - -include $(INCLUDE_DIR)/package.mk -include ../../lang/golang/golang-package.mk - -define Package/alist - SECTION:=net - CATEGORY:=Network - TITLE:=A file list program that supports multiple storage - URL:=https://alist.nn.ci - DEPENDS:=$(GO_ARCH_DEPENDS) +ca-bundle +fuse-utils -endef - -define Package/alist/description - A file list program that supports multiple storage, and supports - web browsing and webdav, powered by gin and Solidjs. -endef - -define Package/alist/conffiles -/etc/alist/ -/etc/config/alist -endef - -WEB_VERSION:=3.45.0 -WEB_FILE:=$(PKG_NAME)-web-$(WEB_VERSION).tar.gz -define Download/alist-web - URL:=https://github.com/AlistGo/alist-web/releases/download/$(WEB_VERSION)/ - URL_FILE:=dist.tar.gz - FILE:=$(WEB_FILE) - HASH:=408b1822893ba6dd6bbeb4055d6c8b96c178d10f4fbb8e5696cf14dcc88dd2fb -endef - -define Build/Prepare - $(call Build/Prepare/Default) - - ( \ - mkdir -p $(PKG_BUILD_DIR)/public ; \ - gzip -dc $(DL_DIR)/$(WEB_FILE) | $(HOST_TAR) -C $(PKG_BUILD_DIR)/public $(TAR_OPTIONS) ; \ - ) -endef - -ifneq ($(CONFIG_USE_MUSL),) - TARGET_CFLAGS += -D_LARGEFILE64_SOURCE -endif - -define Package/alist/install - $(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR)) - - $(INSTALL_DIR) $(1)/usr/bin/ - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/alist $(1)/usr/bin/ - - $(INSTALL_DIR) $(1)/etc/config - $(INSTALL_CONF) $(CURDIR)/files/alist.config $(1)/etc/config/alist - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_BIN) $(CURDIR)/files/alist.init $(1)/etc/init.d/alist -endef - -$(eval $(call Download,alist-web)) -$(eval $(call GoBinPackage,alist)) -$(eval $(call BuildPackage,alist)) diff --git a/net/alist/test.sh b/net/alist/test.sh deleted file mode 100644 index efcb07e4c9..0000000000 --- a/net/alist/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -alist version | grep "$PKG_VERSION" diff --git a/net/openlist/Makefile b/net/openlist/Makefile new file mode 100644 index 0000000000..0d589e50e1 --- /dev/null +++ b/net/openlist/Makefile @@ -0,0 +1,92 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2023-2025 ImmortalWrt.org + +include $(TOPDIR)/rules.mk + +PKG_NAME:=openlist +PKG_VERSION:=4.0.5 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://codeload.github.com/OpenListTeam/OpenList/tar.gz/v$(PKG_VERSION)? +PKG_HASH:=c510e31d00868774b52429897c39789547756bbea76c501e2bcfbff1f4dc70b8 +PKG_BUILD_DIR:=$(BUILD_DIR)/OpenList-$(PKG_VERSION) + +PKG_LICENSE:=AGPL-3.0-only +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Tianling Shen + +PKG_BUILD_DEPENDS:=golang/host +PKG_BUILD_PARALLEL:=1 +PKG_BUILD_FLAGS:=no-mips16 + +GO_PKG:=github.com/OpenListTeam/OpenList +GO_PKG_LDFLAGS_X = \ + $(GO_PKG)/internal/conf.Version=$(PKG_VERSION) \ + $(GO_PKG)/internal/conf.WebVersion=$(WEB_VERSION) +ifeq ($(filter aarch64 x86_64, $(ARCH)),) + GO_PKG_EXCLUDES:=drivers/lark +endif + +include $(INCLUDE_DIR)/package.mk +include ../../lang/golang/golang-package.mk + +define Package/openlist + SECTION:=net + CATEGORY:=Network + TITLE:=A file list program that supports multiple storage + URL:=https://docs.oplist.org + DEPENDS:=$(GO_ARCH_DEPENDS) +ca-bundle +fuse-utils + PROVIDES:=alist +endef + +define Package/openlist/description + A file list program that supports multiple storage, and supports + web browsing and webdav, powered by gin and Solidjs, fork of AList. +endef + +define Package/openlist/conffiles +/etc/openlist/ +/etc/config/openlist +endef + +WEB_VERSION:=4.0.5 +WEB_FILE:=$(PKG_NAME)-frontend-dist-v$(WEB_VERSION).tar.gz +define Download/openlist-web + URL:=https://github.com/OpenListTeam/OpenList-Frontend/releases/download/v$(WEB_VERSION)/ + URL_FILE:=$(WEB_FILE) + FILE:=$(WEB_FILE) + HASH:=0b755542c660ac66c86689957cd0d5c783ad5dac64222f764988f1c26c51d55a +endef + +define Build/Prepare + $(call Build/Prepare/Default) + + ( \ + mkdir -p $(PKG_BUILD_DIR)/public/dist ; \ + libdeflate-gzip -dc $(DL_DIR)/$(WEB_FILE) | $(HOST_TAR) -C $(PKG_BUILD_DIR)/public/dist $(TAR_OPTIONS) ; \ + ) +endef + +ifneq ($(CONFIG_USE_MUSL),) + TARGET_CFLAGS += -D_LARGEFILE64_SOURCE +endif + +define Package/openlist/install + $(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR)) + + $(INSTALL_DIR) $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/OpenList $(1)/usr/bin/openlist + + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_CONF) $(CURDIR)/files/openlist.config $(1)/etc/config/openlist + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) $(CURDIR)/files/openlist.init $(1)/etc/init.d/openlist + $(INSTALL_DIR) $(1)/etc/uci-defaults + $(INSTALL_BIN) $(CURDIR)/files/openlist.uci $(1)/etc/uci-defaults/99-migrate-openlist +endef + +$(eval $(call Download,openlist-web)) +$(eval $(call GoBinPackage,openlist)) +$(eval $(call BuildPackage,openlist)) diff --git a/net/alist/files/alist.config b/net/openlist/files/openlist.config similarity index 96% rename from net/alist/files/alist.config rename to net/openlist/files/openlist.config index 519036655e..8a763574a8 100644 --- a/net/alist/files/alist.config +++ b/net/openlist/files/openlist.config @@ -1,5 +1,5 @@ -config alist 'config' +config openlist 'config' option enabled '0' option debug '0' diff --git a/net/alist/files/alist.init b/net/openlist/files/openlist.init similarity index 97% rename from net/alist/files/alist.init rename to net/openlist/files/openlist.init index a06e4e165d..5d1d13a15c 100644 --- a/net/alist/files/alist.init +++ b/net/openlist/files/openlist.init @@ -3,8 +3,8 @@ USE_PROCD=1 START=99 -CONF="alist" -PROG="/usr/bin/alist" +CONF="openlist" +PROG="/usr/bin/openlist" CONF_DIR="/etc/$CONF" RUN_DIR="/var/run/$CONF" @@ -71,7 +71,7 @@ start_service() { json_add_string "bleve_dir" "$CONF_DIR/bleve" json_add_object "log" uci_json_add_boolean "enable" "log_enable" "1" - json_add_string "name" "$RUN_DIR/log/alist.log" + json_add_string "name" "$RUN_DIR/log/openlist.log" uci_json_add_int "max_size" "log_max_size" "5" uci_json_add_int "max_backups" "log_max_backups" "1" uci_json_add_int "max_age" "log_max_age" "15" diff --git a/net/openlist/files/openlist.uci b/net/openlist/files/openlist.uci new file mode 100644 index 0000000000..4a36d0f628 --- /dev/null +++ b/net/openlist/files/openlist.uci @@ -0,0 +1,13 @@ +#!/bin/sh + +if [ -d "/etc/alist" ]; then + mv -f "/etc/alist" "/etc/openlist" +fi + +if [ -f "/etc/config/alist" ]; then + mv -f "/etc/config/alist" "/etc/config/openlist" + uci -q set openlist.config=openlist + uci -q commit openlist +fi + +exit 0 diff --git a/net/openlist/test.sh b/net/openlist/test.sh new file mode 100644 index 0000000000..d09b0bab7d --- /dev/null +++ b/net/openlist/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +openlist version | grep "$PKG_VERSION"