From 3335fc7b76589d4fac49990442d07e7cb83f8688 Mon Sep 17 00:00:00 2001 From: spycat88 Date: Sun, 17 Aug 2025 07:32:22 +0100 Subject: [PATCH] entware: add new package --- .../ROCKNIX/packages/tools/entware/package.mk | 18 +++++++++++++++++ .../tools/entware/profile.d/098-entware.conf | 10 ++++++++++ .../tools/entware/scripts/installentware | 20 +++++++++++++++++++ .../tools/entware/system.d/entware.service | 15 ++++++++++++++ .../ROCKNIX/packages/virtual/image/package.mk | 5 +++++ 5 files changed, 68 insertions(+) create mode 100644 projects/ROCKNIX/packages/tools/entware/package.mk create mode 100644 projects/ROCKNIX/packages/tools/entware/profile.d/098-entware.conf create mode 100755 projects/ROCKNIX/packages/tools/entware/scripts/installentware create mode 100644 projects/ROCKNIX/packages/tools/entware/system.d/entware.service diff --git a/projects/ROCKNIX/packages/tools/entware/package.mk b/projects/ROCKNIX/packages/tools/entware/package.mk new file mode 100644 index 0000000000..ab7c849dc8 --- /dev/null +++ b/projects/ROCKNIX/packages/tools/entware/package.mk @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2024-present ROCKNIX (https://github.com/ROCKNIX) + +PKG_NAME="entware" +PKG_VERSION="" +PKG_LICENSE="GPL" +PKG_SITE="https://github.com/Entware/Entware" +PKG_URL="" +PKG_DEPENDS_TARGET="toolchain" +PKG_LONGDESC="entware: A software repository that offers various software programs that can be installed on your device" +PKG_TOOLCHAIN="manual" + +post_install() { + mkdir -p ${INSTALL}/usr/sbin + cp -P ${PKG_DIR}/scripts/installentware ${INSTALL}/usr/sbin + + enable_service entware.service +} diff --git a/projects/ROCKNIX/packages/tools/entware/profile.d/098-entware.conf b/projects/ROCKNIX/packages/tools/entware/profile.d/098-entware.conf new file mode 100644 index 0000000000..7e77a29a11 --- /dev/null +++ b/projects/ROCKNIX/packages/tools/entware/profile.d/098-entware.conf @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2024-present ROCKNIX (https://github.com/ROCKNIX) + +case $- in + *i*) + [ -f /opt/etc/profile ] && . /opt/etc/profile + ;; + *) + ;; +esac diff --git a/projects/ROCKNIX/packages/tools/entware/scripts/installentware b/projects/ROCKNIX/packages/tools/entware/scripts/installentware new file mode 100755 index 0000000000..afeb3b4eed --- /dev/null +++ b/projects/ROCKNIX/packages/tools/entware/scripts/installentware @@ -0,0 +1,20 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2024-present ROCKNIX (https://github.com/ROCKNIX) + +export PATH=/opt/bin:/opt/sbin:$PATH + +[ ! -d /storage/.opt ] && mkdir -p /storage/.opt + +if [ ! -f /opt/bin/opkg ]; then + wget -O - http://bin.entware.net/aarch64-k3.10/installer/generic.sh | /bin/sh + echo "" + read -p "Would you like to reboot now to finish installation (recommended) [y/N]? " choice + case "$choice" in + [yY]*) + reboot + ;; + esac +else + echo "Entware is already installed." +fi diff --git a/projects/ROCKNIX/packages/tools/entware/system.d/entware.service b/projects/ROCKNIX/packages/tools/entware/system.d/entware.service new file mode 100644 index 0000000000..124d90134f --- /dev/null +++ b/projects/ROCKNIX/packages/tools/entware/system.d/entware.service @@ -0,0 +1,15 @@ +[Unit] +Description=Entware service +After=systemd-tmpfiles-setup.service network-online.target +Before=kodi.service +Requires=network-online.target +ConditionPathExists=/opt/etc/init.d/rc.unslung + +[Service] +Type=oneshot +ExecStart=/opt/etc/init.d/rc.unslung start +ExecStop=/opt/etc/init.d/rc.unslung stop +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/projects/ROCKNIX/packages/virtual/image/package.mk b/projects/ROCKNIX/packages/virtual/image/package.mk index b415a6f25c..37b2dbff73 100644 --- a/projects/ROCKNIX/packages/virtual/image/package.mk +++ b/projects/ROCKNIX/packages/virtual/image/package.mk @@ -102,4 +102,9 @@ fi # modules packages [ "${MODULES_PKG}" = "yes" ] && PKG_DEPENDS_TARGET+=" modules" +# Entware support +mkdir -p ${INSTALL} +ln -sf /storage/.opt ${INSTALL}/opt +PKG_DEPENDS_TARGET+=" entware" + true