diff --git a/ipk-source/sdxpinn-mount-fix/CONTROL/preinst b/ipk-source/sdxpinn-mount-fix/CONTROL/preinst index cc3fe86..b1d16be 100755 --- a/ipk-source/sdxpinn-mount-fix/CONTROL/preinst +++ b/ipk-source/sdxpinn-mount-fix/CONTROL/preinst @@ -1,5 +1,11 @@ #!/bin/ash +if grep -qs '/real_rootfs' /proc/mounts; then + echo "This package is meant to be installed once after a clean flash." + echo "You should not upgrade or reinstall it. Flash first then run the toolkit otherwise." + exit 1 +fi + # Remount original rootfs as read-write echo "Mounting / as read-write" mount -o remount,rw / diff --git a/ipk-source/sdxpinn-mount-fix/root/usr/bin/rc_sync b/ipk-source/sdxpinn-mount-fix/root/usr/bin/rc_sync new file mode 100755 index 0000000..df37876 --- /dev/null +++ b/ipk-source/sdxpinn-mount-fix/root/usr/bin/rc_sync @@ -0,0 +1,62 @@ +#!/bin/ash + +# Paths to monitor and synchronize +WATCH_DIR="/etc/rc.d" +TARGET_DIR1="/real_rootfs/etc/rc.d" +TARGET_DIR2="/usrdata/etc/rc.d" + +# Function to synchronize init scripts +synchronize_init_scripts() { + # Ensure /real_rootfs is writable for updates + mount -o remount,rw /real_rootfs + + # Synchronize with TARGET_DIR1 + echo "Synchronizing $WATCH_DIR with $TARGET_DIR1..." + for link in "$WATCH_DIR"/*; do + if [ -L "$link" ]; then + link_name=$(basename "$link") + if [ ! -e "$TARGET_DIR1/$link_name" ] || [ "$link" -nt "$TARGET_DIR1/$link_name" ]; then + cp -af "$link" "$TARGET_DIR1/$link_name" + fi + fi + done + + for link in "$TARGET_DIR1"/*; do + if [ -L "$link" ]; then + link_name=$(basename "$link") + if [ ! -e "$WATCH_DIR/$link_name" ]; then + rm -f "$TARGET_DIR1/$link_name" + fi + fi + done + + # Synchronize with TARGET_DIR2 if /usrdata exists + if [ -d "/usrdata" ]; then + echo "Synchronizing $WATCH_DIR with $TARGET_DIR2..." + for link in "$WATCH_DIR"/*; do + if [ -L "$link" ]; then + link_name=$(basename "$link") + if [ ! -e "$TARGET_DIR2/$link_name" ] || [ "$link" -nt "$TARGET_DIR2/$link_name" ]; then + cp -af "$link" "$TARGET_DIR2/$link_name" + fi + fi + done + + for link in "$TARGET_DIR2"/*; do + if [ -L "$link" ]; then + link_name=$(basename "$link") + if [ ! -e "$WATCH_DIR/$link_name" ]; then + rm -f "$TARGET_DIR2/$link_name" + fi + fi + done + fi + + # Restore /real_rootfs to read-only + mount -o remount,ro /real_rootfs +} + +# Synchronization +synchronize_init_scripts +exit 0 + diff --git a/opkg-feed/Packages b/opkg-feed/Packages index 4057a38..4169482 100644 --- a/opkg-feed/Packages +++ b/opkg-feed/Packages @@ -74,8 +74,8 @@ Depends: libc Section: base Architecture: aarch64_cortex-a53 Maintainer: iamromulan -MD5Sum: e360d66f6d04d8d6a50a78f038130059 -Size: 54956 +MD5Sum: 1ba897b1b1abf14a81ecd0635f5d6082 +Size: 55650 Filename: sdxpinn-mount-fix_1.2.0_aarch64_cortex-a53.ipk Source: github/iamromulan Description: Creates a usable mount space and overlay for SDXPINN modems. Dependencies bundled: libinotifytools and inotifywait diff --git a/opkg-feed/Packages.gz b/opkg-feed/Packages.gz index bcd5b35..27f6633 100644 Binary files a/opkg-feed/Packages.gz and b/opkg-feed/Packages.gz differ diff --git a/opkg-feed/Packages.log b/opkg-feed/Packages.log index d5710e0..8e094d2 100644 --- a/opkg-feed/Packages.log +++ b/opkg-feed/Packages.log @@ -1,16 +1,16 @@ -Starting package analysis - Mon Jan 20 12:31:21 AM EST 2025 +Starting package analysis - Mon Jan 20 03:39:06 PM EST 2025 No update needed for atinout (version 0.9.1, MD5: 444eb87488bad1927b6ed069dedf7393, size: 4323) No update needed for luci-app-atinout-mod (version 1.3.4-20250119, MD5: 1ffee9ec8fe5723b8140bf2c21fea508, size: 4864) No update needed for luci-app-tailscale (version 1.2.3-2, MD5: 53c84c947c42d7518aecb4a6b8a9c5a8, size: 6501) No update needed for ookla-speedtest (version 1.2.0, MD5: b26e1909599f73cab40ea0281c5a6283, size: 1075696) No update needed for sdxpinn-console-menu (version 0.0.2, MD5: de75d2889510e92b57fc8a7ca087ced4, size: 7361) -No update needed for sdxpinn-mount-fix (version 1.2.0, MD5: e360d66f6d04d8d6a50a78f038130059, size: 54956) +Updating package info for sdxpinn-mount-fix... +Updated sdxpinn-mount-fix to version 1.2.0 with MD5: 1ba897b1b1abf14a81ecd0635f5d6082 and size: 55650 No update needed for sdxpinn-quecmanager (version 1.0.1, MD5: cb96c5ec96c2166f39d989f277ebc0f7, size: 722109) No update needed for sdxpinn-quecmanager-beta (version 1.1.1-1, MD5: b9665be3c0bc65ac1573998cf3edf691, size: 911550) No update needed for sms-tool (version 2025.1.19-APmod-iamromulan, MD5: 83dc8bfd2d4ac8d8952a2a95b2be943f, size: 13687) No update needed for socat-at-bridge (version 1.1.1, MD5: 5cb6a39cd32f8c3d24a2e3f437dc9885, size: 1802) -Updating package info for tailscale... -Updated tailscale to version 1.78.1-2 with MD5: baa4d97ba49aa42ef104accba2dc2fd8 and size: 9882856 +No update needed for tailscale (version 1.78.1-2, MD5: baa4d97ba49aa42ef104accba2dc2fd8, size: 9882856) No update needed for tailscaled (version 1.78.1-4, MD5: 647b4d3c6e51f700dd96362f92f20b54, size: 17960998) Package file and signature updated successfully. -Package analysis completed - Mon Jan 20 12:31:21 AM EST 2025 +Package analysis completed - Mon Jan 20 03:39:07 PM EST 2025 diff --git a/opkg-feed/Packages.sig b/opkg-feed/Packages.sig index bab9f2c..12d2730 100644 --- a/opkg-feed/Packages.sig +++ b/opkg-feed/Packages.sig @@ -1,2 +1,2 @@ untrusted comment: signed by key 6262698f038d1226 -RWRiYmmPA40SJueVywyTao2go78mUeH0u6tkPNDMZulUFRgdReKUo7/lu6Lv911gxLZSGmlsAsNvK+oB6GfYKQypcRv+t/wCtAc= +RWRiYmmPA40SJlXDgZOcDSN4s1aAFcQshXdGm0jD4t/NARwzIc+cZSMpTE5TIT8YXKxle2hDve/1Hv5YMYZQHHBUHHfMk57EQwk= diff --git a/opkg-feed/sdxpinn-mount-fix_1.2.0_aarch64_cortex-a53.ipk b/opkg-feed/sdxpinn-mount-fix_1.2.0_aarch64_cortex-a53.ipk index 3405eb6..1ad6829 100644 Binary files a/opkg-feed/sdxpinn-mount-fix_1.2.0_aarch64_cortex-a53.ipk and b/opkg-feed/sdxpinn-mount-fix_1.2.0_aarch64_cortex-a53.ipk differ