diff --git a/packages/addons/service/ntfs3g/changelog.txt b/packages/addons/service/ntfs3g/changelog.txt new file mode 100644 index 0000000000..927b2407d4 --- /dev/null +++ b/packages/addons/service/ntfs3g/changelog.txt @@ -0,0 +1 @@ +initial release diff --git a/packages/addons/service/ntfs3g/icon/icon.png b/packages/addons/service/ntfs3g/icon/icon.png new file mode 100644 index 0000000000..36b9102249 Binary files /dev/null and b/packages/addons/service/ntfs3g/icon/icon.png differ diff --git a/packages/addons/service/ntfs3g/package.mk b/packages/addons/service/ntfs3g/package.mk new file mode 100644 index 0000000000..110cc0159a --- /dev/null +++ b/packages/addons/service/ntfs3g/package.mk @@ -0,0 +1,26 @@ +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (C) 2024-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="ntfs3g" +PKG_REV="0" +PKG_LICENSE="GPLv3" +PKG_DEPENDS_TARGET="toolchain fuse ntfs-3g_ntfsprogs" +PKG_SECTION="service" +PKG_SHORTDESC="ntfs-3g for udevil" +PKG_LONGDESC="ntfs-3g for udevil" +PKG_TOOLCHAIN="manual" + +PKG_IS_ADDON="yes" +PKG_ADDON_NAME="ntfs3g" +PKG_ADDON_TYPE="xbmc.service" + +addon() { + mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/{bin,lib.private} + + cp -PL $(get_install_dir fuse)/usr/lib/libfuse.so.2 \ + ${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private + + cp $(get_install_dir ntfs-3g_ntfsprogs)/usr/bin/ntfs-3g \ + ${ADDON_BUILD}/${PKG_ADDON_ID}/bin + patchelf --add-rpath '${ORIGIN}/../lib.private' ${ADDON_BUILD}/${PKG_ADDON_ID}/bin/ntfs-3g +} diff --git a/packages/addons/service/ntfs3g/source/bin/mount.ntfs3g b/packages/addons/service/ntfs3g/source/bin/mount.ntfs3g new file mode 100755 index 0000000000..9aab436d05 --- /dev/null +++ b/packages/addons/service/ntfs3g/source/bin/mount.ntfs3g @@ -0,0 +1,6 @@ +#!/bin/sh + +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (C) 2024-present Team LibreELEC (https://libreelec.tv) + +exec /storage/.kodi/addons/service.ntfs3g/bin/ntfs-3g "$@" diff --git a/packages/addons/service/ntfs3g/source/default.py b/packages/addons/service/ntfs3g/source/default.py new file mode 100644 index 0000000000..d0b79c3227 --- /dev/null +++ b/packages/addons/service/ntfs3g/source/default.py @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) + +import subprocess +import xbmc +import xbmcaddon + + +class Monitor(xbmc.Monitor): + + def __init__(self, *args, **kwargs): + xbmc.Monitor.__init__(self) + self.id = xbmcaddon.Addon().getAddonInfo('id') + + def onSettingsChanged(self): + subprocess.call(['systemctl', 'restart', self.id]) + + +if __name__ == "__main__": + Monitor().waitForAbort() diff --git a/packages/addons/service/ntfs3g/source/system.d/service.ntfs3g.service b/packages/addons/service/ntfs3g/source/system.d/service.ntfs3g.service new file mode 100644 index 0000000000..d4b6928492 --- /dev/null +++ b/packages/addons/service/ntfs3g/source/system.d/service.ntfs3g.service @@ -0,0 +1,12 @@ +[Unit] +Description=ntfs3g for udevil +Before=samba-config.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/mount -o bind /storage/.kodi/addons/service.ntfs3g/bin/mount.ntfs3g /usr/sbin/mount.ntfs +ExecStop=/usr/bin/umount /usr/sbin/mount.ntfs +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target