diff --git a/packages/addons/addon-depends/ntfs-3g_ntfsprogs/package.mk b/packages/addons/addon-depends/ntfs-3g_ntfsprogs/package.mk new file mode 100644 index 0000000000..6b99150b28 --- /dev/null +++ b/packages/addons/addon-depends/ntfs-3g_ntfsprogs/package.mk @@ -0,0 +1,26 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv) +# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="ntfs-3g_ntfsprogs" +PKG_VERSION="2022.10.3" +PKG_SHA256="f20e36ee68074b845e3629e6bced4706ad053804cbaf062fbae60738f854170c" +PKG_LICENSE="GPL" +PKG_SITE="https://github.com/tuxera/ntfs-3g" +PKG_URL="https://tuxera.com/opensource/${PKG_NAME}-${PKG_VERSION}.tgz" +PKG_DEPENDS_TARGET="toolchain fuse libgcrypt" +PKG_LONGDESC="A NTFS driver with read and write support." +PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="+lto +speed -sysroot" + +PKG_CONFIGURE_OPTS_TARGET="--exec-prefix=/usr/ \ + --disable-dependency-tracking \ + --disable-library \ + --enable-posix-acls \ + --enable-mtab \ + --enable-ntfsprogs \ + --disable-crypto \ + --with-fuse=external \ + --with-uuid \ + --disable-mount-helper" + 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..75c447bc74 --- /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 overrides the NTFS3 kernel driver with the NTFS-3G userspace driver used in older LibreELEC releases." +PKG_TOOLCHAIN="manual" + +PKG_IS_ADDON="yes" +PKG_ADDON_NAME="NTFS-3G" +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 diff --git a/packages/addons/tools/ntfs-progs/changelog.txt b/packages/addons/tools/ntfs-progs/changelog.txt new file mode 100644 index 0000000000..927b2407d4 --- /dev/null +++ b/packages/addons/tools/ntfs-progs/changelog.txt @@ -0,0 +1 @@ +initial release diff --git a/packages/addons/tools/ntfs-progs/icon/icon.png b/packages/addons/tools/ntfs-progs/icon/icon.png new file mode 100644 index 0000000000..533fe8ba8b Binary files /dev/null and b/packages/addons/tools/ntfs-progs/icon/icon.png differ diff --git a/packages/addons/tools/ntfs-progs/package.mk b/packages/addons/tools/ntfs-progs/package.mk new file mode 100644 index 0000000000..f475667fe5 --- /dev/null +++ b/packages/addons/tools/ntfs-progs/package.mk @@ -0,0 +1,23 @@ +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="ntfs-progs" +PKG_REV="0" +PKG_LICENSE="GPLv3" +PKG_DEPENDS_TARGET="toolchain fuse ntfs-3g_ntfsprogs" +PKG_SECTION="tools" +PKG_SHORTDESC="ntfs-3g tools for the NTFS filesystem" +PKG_LONGDESC="ntfs-3g tools for the NTFS filesystem: mkntfs, ntfs-3g.probe, ntfsfix, ntfslabel and ntfsresize" +PKG_TOOLCHAIN="manual" + +PKG_IS_ADDON="yes" +PKG_ADDON_NAME="NTFS Tools" +PKG_ADDON_TYPE="xbmc.python.script" + +addon() { + PKG_NTFS_INSTALL=$(get_install_dir ntfs-3g_ntfsprogs) + mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/bin/ + cp -P ${PKG_NTFS_INSTALL}/usr/bin/{ntfs-3g.probe,ntfsfix} ${ADDON_BUILD}/${PKG_ADDON_ID}/bin + cp -P ${PKG_NTFS_INSTALL}/usr/sbin/{mkntfs,ntfslabel,ntfsresize} \ + ${ADDON_BUILD}/${PKG_ADDON_ID}/bin +} diff --git a/packages/addons/tools/ntfs-progs/source/default.py b/packages/addons/tools/ntfs-progs/source/default.py new file mode 100644 index 0000000000..d20d355a61 --- /dev/null +++ b/packages/addons/tools/ntfs-progs/source/default.py @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (C) 2024-present Team LibreELEC (https://libreelec.tv) + +import xbmcgui + +dialog = xbmcgui.Dialog() +dialog.ok('', 'This is a console-only addon')