photosfacepatch/remotefs: fix

Signed-off-by: AuxXxilium <info@auxxxilium.tech>
This commit is contained in:
AuxXxilium 2024-05-27 19:30:50 +02:00
parent ed5c84e944
commit 61428412c5
4 changed files with 115 additions and 37 deletions

View File

@ -0,0 +1,33 @@
#!/usr/bin/env bash
#
# Copyright (C) 2023 AuxXxilium <https://github.com/AuxXxilium> and Ing <https://github.com/wjz304>
#
# This is free software, licensed under the MIT License.
# See /LICENSE for more information.
#
SO_FILE="/var/packages/SynologyPhotos/target/usr/lib/libsynophoto-plugin-platform.so.1.0"
if [ "${1}" = "-r" ]; then
if [ -f "${SO_FILE}.bak" ]; then
mv -f "${SO_FILE}.bak" "${SO_FILE}"
fi
exit
fi
if [ ! -f "${SO_FILE}" ]; then
echo "SynologyPhotos not install"
exit
fi
if [ ! -f "${SO_FILE}.bak" ]; then
echo "Backup ${SO_FILE}"
cp -vfp "${SO_FILE}" "${SO_FILE}.bak"
fi
echo "Patching ${SO_FILE}"
# support face and concept
PatchELFSharp "${SO_FILE}" "_ZN9synophoto6plugin8platform20IsSupportedIENetworkEv" "B8 00 00 00 00 C3"
# force to support concept
PatchELFSharp "${SO_FILE}" "_ZN9synophoto6plugin8platform18IsSupportedConceptEv" "B8 01 00 00 00 C3"
# force no Gpu
PatchELFSharp "${SO_FILE}" "_ZN9synophoto6plugin8platform23IsSupportedIENetworkGpuEv" "B8 00 00 00 00 C3"

View File

@ -10,29 +10,35 @@ if [ "${1}" = "late" ]; then
echo "Installing addon photosfacepatch - ${1}"
mkdir -p "/tmpRoot/usr/arc/addons/"
cp -vf "${0}" "/tmpRoot/usr/arc/addons/"
cp -vf /usr/bin/PatchELFSharp /tmpRoot/usr/bin/PatchELFSharp
cp -vf /usr/bin/photosfacepatch.sh /tmpRoot/usr/bin/photosfacepatch.sh
SO_FILE="/tmpRoot/var/packages/SynologyPhotos/target/usr/lib/libsynophoto-plugin-platform.so"
if [ -f "${SO_FILE}" ]; then
if [ ! -f "${SO_FILE}.bak" ]; then
echo "Backup ${SO_FILE}"
cp -vfp "${SO_FILE}" "${SO_FILE}.bak"
fi
echo "Patching ${${SO_FILE}}"
# support face and concept
PatchELFSharp "${SO_FILE}" "_ZN9synophoto6plugin8platform20IsSupportedIENetworkEv" "B8 00 00 00 00 C3"
# force to support concept
PatchELFSharp "${SO_FILE}" "_ZN9synophoto6plugin8platform18IsSupportedConceptEv" "B8 01 00 00 00 C3"
# force no Gpu
PatchELFSharp "${SO_FILE}" "_ZN9synophoto6plugin8platform23IsSupportedIENetworkGpuEv" "B8 00 00 00 00 C3"
else
echo "${SO_FILE} not found"
fi
mkdir -p "/tmpRoot/usr/lib/systemd/system"
DEST="/tmpRoot/usr/lib/systemd/system/photosfacepatch.service"
echo "[Unit]" >${DEST}
echo "Description=Enable face recognition in Synology Photos" >>${DEST}
echo "After=multi-user.target" >>${DEST}
echo >>${DEST}
echo "[Service]" >>${DEST}
echo "Type=oneshot" >>${DEST}
echo "RemainAfterExit=yes" >>${DEST}
echo "ExecStart=/usr/bin/photosfacepatch.sh" >>${DEST}
echo >>${DEST}
echo "[Install]" >>${DEST}
echo "WantedBy=multi-user.target" >>${DEST}
mkdir -vp /tmpRoot/usr/lib/systemd/system/multi-user.target.wants
ln -vsf /usr/lib/systemd/system/photosfacepatch.service /tmpRoot/usr/lib/systemd/system/multi-user.target.wants/photosfacepatch.service
elif [ "${1}" = "uninstall" ]; then
echo "Installing addon photosfacepatch - ${1}"
SO_FILE="/tmpRoot/var/packages/SynologyPhotos/target/usr/lib/libsynophoto-plugin-platform.so"
if [ -f "${SO_FILE}.bak" ]; then
echo "Restore ${SO_FILE}"
mv -f "${SO_FILE}.bak" "${SO_FILE}"
fi
rm -f /tmpRoot/usr/bin/PatchELFSharp
rm -f "/tmpRoot/usr/lib/systemd/system/multi-user.target.wants/photosfacepatch.service"
rm -f "/tmpRoot/usr/lib/systemd/system/photosfacepatch.service"
[ ! -f "/tmpRoot/usr/arc/revert.sh" ] && echo '#!/usr/bin/env bash' >/tmpRoot/usr/arc/revert.sh && chmod +x /tmpRoot/usr/arc/revert.sh
echo "/usr/bin/photosfacepatch.sh -r" >> /tmpRoot/usr/arc/revert.sh
echo "rm -f /usr/bin/photosfacepatch.sh" >> /tmpRoot/usr/arc/revert.sh
fi

View File

@ -0,0 +1,28 @@
#!/usr/bin/env bash
#
# Copyright (C) 2023 AuxXxilium <https://github.com/AuxXxilium> and Ing <https://github.com/wjz304>
#
# This is free software, licensed under the MIT License.
# See /LICENSE for more information.
#
SO_FILE="/usr/lib/libsynosdk.so.7"
if [ "${1}" = "-r" ]; then
if [ -f "${SO_FILE}.bak" ]; then
mv -f "${SO_FILE}.bak" "${SO_FILE}"
fi
exit
fi
if [ ! -f "${SO_FILE}" ]; then
echo "${SO_FILE} not found"
exit
fi
if [ ! -f "${SO_FILE}.bak" ]; then
echo "Backup ${SO_FILE}"
cp -vfp "${SO_FILE}" "${SO_FILE}.bak"
fi
echo "Patching ${SO_FILE}"
PatchELFSharp "${SO_FILE}" "SYNOFSIsRemoteFS" "B8 00 00 00 00 C3"

View File

@ -10,24 +10,35 @@ if [ "${1}" = "late" ]; then
echo "Installing addon remotefs - ${1}"
mkdir -p "/tmpRoot/usr/arc/addons/"
cp -vf "${0}" "/tmpRoot/usr/arc/addons/"
cp -vf /usr/bin/PatchELFSharp /tmpRoot/usr/bin/PatchELFSharp
cp -vf /usr/bin/remotefs.sh /tmpRoot/usr/bin/remotefs.sh
SO_FILE="/tmpRoot/usr/lib/libsynosdk.so.7"
if [ -f "${SO_FILE}" ]; then
if [ ! -f "${SO_FILE}.bak" ]; then
echo "Backup ${SO_FILE}"
cp -vfp "${SO_FILE}" "${SO_FILE}.bak"
fi
echo "Patching libsynosdk.so.7"
PatchELFSharp "${SO_FILE}" "SYNOFSIsRemoteFS" "B8 00 00 00 00 C3"
else
echo "libsynosdk.so.7 not found"
fi
mkdir -p "/tmpRoot/usr/lib/systemd/system"
DEST="/tmpRoot/usr/lib/systemd/system/remotefs.service"
echo "[Unit]" >${DEST}
echo "Description=Enable face recognition in Synology Photos" >>${DEST}
echo "After=multi-user.target" >>${DEST}
echo >>${DEST}
echo "[Service]" >>${DEST}
echo "Type=oneshot" >>${DEST}
echo "RemainAfterExit=yes" >>${DEST}
echo "ExecStart=/usr/bin/remotefs.sh" >>${DEST}
echo >>${DEST}
echo "[Install]" >>${DEST}
echo "WantedBy=multi-user.target" >>${DEST}
mkdir -vp /tmpRoot/usr/lib/systemd/system/multi-user.target.wants
ln -vsf /usr/lib/systemd/system/remotefs.service /tmpRoot/usr/lib/systemd/system/multi-user.target.wants/remotefs.service
elif [ "${1}" = "uninstall" ]; then
echo "Installing addon remotefs - ${1}"
SO_FILE="/tmpRoot/usr/lib/libsynosdk.so.7"
if [ -f "${SO_FILE}.bak" ]; then
echo "Restore ${SO_FILE}"
mv -f "${SO_FILE}.bak" "${SO_FILE}"
fi
rm -f /tmpRoot/usr/bin/PatchELFSharp
rm -f "/tmpRoot/usr/lib/systemd/system/multi-user.target.wants/remotefs.service"
rm -f "/tmpRoot/usr/lib/systemd/system/remotefs.service"
[ ! -f "/tmpRoot/usr/arc/revert.sh" ] && echo '#!/usr/bin/env bash' >/tmpRoot/usr/arc/revert.sh && chmod +x /tmpRoot/usr/arc/revert.sh
echo "/usr/bin/remotefs.sh -r" >> /tmpRoot/usr/arc/revert.sh
echo "rm -f /usr/bin/remotefs.sh" >> /tmpRoot/usr/arc/revert.sh
fi