From ce9ab6936181f08c7514eeb9ae8a71070b0c75d3 Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Sat, 28 Jan 2023 23:57:18 +0900 Subject: [PATCH] DEB tde-guidance: fix functionality with python 3. Signed-off-by: Michele Calgaro --- .../debian/guidance-backends-trinity.install | 7 +- .../settings/tde-guidance/debian/rules | 64 ++++++++----------- .../debian/tde-guidance-trinity.install | 21 +++--- .../debian/guidance-backends-trinity.install | 7 +- .../settings/tde-guidance/debian/rules | 64 ++++++++----------- .../debian/tde-guidance-trinity.install | 21 +++--- 6 files changed, 78 insertions(+), 106 deletions(-) diff --git a/debian/_base/applications/settings/tde-guidance/debian/guidance-backends-trinity.install b/debian/_base/applications/settings/tde-guidance/debian/guidance-backends-trinity.install index d292fc8d3..14d1e06fd 100644 --- a/debian/_base/applications/settings/tde-guidance/debian/guidance-backends-trinity.install +++ b/debian/_base/applications/settings/tde-guidance/debian/guidance-backends-trinity.install @@ -1,3 +1,4 @@ -opt/trinity/share/python-support/guidance-backends-trinity/MicroHAL.py -opt/trinity/share/python-support/guidance-backends-trinity/wineread.py -opt/trinity/share/python-support/guidance-backends-trinity/winewrite.py +/usr/lib/python*/dist-packages/tde-guidance/MicroHAL.py +/usr/lib/python*/dist-packages/tde-guidance/drivedetect.py +/usr/lib/python*/dist-packages/tde-guidance/wineread.py +/usr/lib/python*/dist-packages/tde-guidance/winewrite.py diff --git a/debian/_base/applications/settings/tde-guidance/debian/rules b/debian/_base/applications/settings/tde-guidance/debian/rules index 0e7ddddcb..271f17e68 100755 --- a/debian/_base/applications/settings/tde-guidance/debian/rules +++ b/debian/_base/applications/settings/tde-guidance/debian/rules @@ -1,8 +1,7 @@ #!/usr/bin/make -f DEB_PYTHON3_MODULE_PACKAGES=tde-guidance-trinity guidance-backends-trinity -PYSUPPORT_INST_PATH = /opt/trinity/share/python-support -GUIDANCE_INST_PATH = $(PYSUPPORT_INST_PATH)/tde-guidance-trinity +GUIDANCE_INST_PATH = /usr/lib/python3/dist-packages/tde-guidance export EXTRA_MODULE_DIR=$(GUIDANCE_INST_PATH) include /usr/share/cdbs/1/rules/debhelper.mk @@ -12,7 +11,7 @@ include /usr/share/cdbs/1/rules/utils.mk DEB_DH_INSTALL_ARGS = --sourcedir=debian/tmp DEB_UPDATE_RCD_PARAMS := multiuser DEB_INSTALL_MANPAGES_tde-guidance-trinity := debian/mountconfig-trinity.1 debian/serviceconfig-trinity.1 debian/userconfig-trinity.1 -PYSUPPORT_PATH = $(DEB_DESTDIR)$(PYSUPPORT_INST_PATH) +PYSUPPORT_PATH = $(DEB_DESTDIR)$(GUIDANCE_INST_PATH) DEB_CONFIGURE_EXTRA_FLAGS := --prefix=/opt/trinity --with-extra-libs=/opt/trinity/lib --with-extra-includes=/opt/trinity/include/tde LDFLAGS_APPEND := -L/opt/trinity/lib @@ -61,51 +60,38 @@ install/tde-guidance-trinity:: (cd debian/tde-guidance-trinity/opt/trinity/bin; ln -sf $(GUIDANCE_INST_PATH)/serviceconfig.py serviceconfig) (cd debian/tde-guidance-trinity/opt/trinity/bin; ln -sf $(GUIDANCE_INST_PATH)/userconfig.py userconfig) (cd debian/tde-guidance-trinity/opt/trinity/bin; ln -sf $(GUIDANCE_INST_PATH)/wineconfig.py wineconfig) -# (cd debian/tde-guidance-trinity/opt/trinity/bin; ln -sf $(GUIDANCE_INST_PATH)/grubconfig.py grubconfig) # move python modules in PYSUPPORT_PATH - mkdir -p $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/SMBShareSelectDialog.py $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/SimpleCommandRunner.py $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/fuser.py $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/fuser_ui.py $(PYSUPPORT_PATH)/tde-guidance-trinity -# cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/grubconfig.py $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/mountconfig.py $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/serviceconfig.py $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/sizeview.py $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/unixauthdb.py $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/userconfig.py $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/wineconfig.py $(PYSUPPORT_PATH)/tde-guidance-trinity + mkdir -p $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/SMBShareSelectDialog.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/SimpleCommandRunner.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/fuser.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/fuser_ui.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/mountconfig.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/serviceconfig.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/sizeview.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/unixauthdb.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/userconfig.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/wineconfig.py $(PYSUPPORT_PATH) # fix script-not-executable - chmod 0755 $(PYSUPPORT_PATH)/tde-guidance-trinity/fuser.py -# chmod 0755 $(PYSUPPORT_PATH)/tde-guidance-trinity/grubconfig.py - - : # Replace all '#!' calls to python with /usr/bin/python - : # and make them executable - for i in `find debian/tde-guidance-trinity -type f`; do \ - sed '1s,#!.*python[^ ]*\(.*\),#! /usr/bin/python\1,' \ - $$i > $$i.temp; \ - if cmp --quiet $$i $$i.temp; then \ - rm -f $$i.temp; \ - else \ - mv -f $$i.temp $$i; \ - chmod 755 $$i; \ - echo "fixed interpreter: $$i"; \ - fi; \ + chmod 0755 $(PYSUPPORT_PATH)/fuser.py + + # Replace all '#!' calls to python with /usr/bin/python3 + # and make them executable + for i in `find $(PYSUPPORT_PATH) -type f`; do \ + sed -i '1s|#!.*python[^ ]*\(.*\)|#!/usr/bin/python3\1|' $$i; \ done binary-install/tde-guidance-trinity:: - dh_python3 -p $(cdbs_curpkg) --shebang=/usr/bin/python3 $(PYSUPPORT_INST_PATH)/tde-guidance-trinity + dh_python3 -p $(cdbs_curpkg) install/guidance-backends-trinity:: - mkdir -p $(PYSUPPORT_PATH)/guidance-backends-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/MicroHAL.py $(PYSUPPORT_PATH)/guidance-backends-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/wineread.py $(PYSUPPORT_PATH)/guidance-backends-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/winewrite.py $(PYSUPPORT_PATH)/guidance-backends-trinity - -binary-install/guidance-backends-trinity:: - dh_python3 -p $(cdbs_curpkg) --shebang=/usr/bin/python3 $(PYSUPPORT_INST_PATH)/guidance-backends-trinity + mkdir -p $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/MicroHAL.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/drivedetect.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/wineread.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/winewrite.py $(PYSUPPORT_PATH) clean:: rm -rf build diff --git a/debian/_base/applications/settings/tde-guidance/debian/tde-guidance-trinity.install b/debian/_base/applications/settings/tde-guidance/debian/tde-guidance-trinity.install index e6a81f4d4..0cc8b62ad 100644 --- a/debian/_base/applications/settings/tde-guidance/debian/tde-guidance-trinity.install +++ b/debian/_base/applications/settings/tde-guidance/debian/tde-guidance-trinity.install @@ -50,17 +50,16 @@ opt/trinity/share/apps/guidance/pics/tux.png opt/trinity/share/apps/guidance/pics/user.png opt/trinity/share/apps/guidance/pics/32-wine.png opt/trinity/share/apps/guidance/pics/kdewinewizard.png -opt/trinity/share/python-support/tde-guidance-trinity/SMBShareSelectDialog.py -opt/trinity/share/python-support/tde-guidance-trinity/SimpleCommandRunner.py -opt/trinity/share/python-support/tde-guidance-trinity/fuser.py -opt/trinity/share/python-support/tde-guidance-trinity/fuser_ui.py -#opt/trinity/share/python-support/tde-guidance-trinity/grubconfig.py -opt/trinity/share/python-support/tde-guidance-trinity/mountconfig.py -opt/trinity/share/python-support/tde-guidance-trinity/serviceconfig.py -opt/trinity/share/python-support/tde-guidance-trinity/sizeview.py -opt/trinity/share/python-support/tde-guidance-trinity/unixauthdb.py -opt/trinity/share/python-support/tde-guidance-trinity/userconfig.py -opt/trinity/share/python-support/tde-guidance-trinity/wineconfig.py +usr/lib/python3/dist-packages/tde-guidance/SMBShareSelectDialog.py +usr/lib/python3/dist-packages/tde-guidance/SimpleCommandRunner.py +usr/lib/python3/dist-packages/tde-guidance/fuser.py +usr/lib/python3/dist-packages/tde-guidance/fuser_ui.py +usr/lib/python3/dist-packages/tde-guidance/mountconfig.py +usr/lib/python3/dist-packages/tde-guidance/serviceconfig.py +usr/lib/python3/dist-packages/tde-guidance/sizeview.py +usr/lib/python3/dist-packages/tde-guidance/unixauthdb.py +usr/lib/python3/dist-packages/tde-guidance/userconfig.py +usr/lib/python3/dist-packages/tde-guidance/wineconfig.py opt/trinity/lib/trinity/kcm_serviceconfig.so opt/trinity/lib/trinity/kcm_userconfig.so opt/trinity/lib/trinity/kcm_mountconfig.so diff --git a/ubuntu/_base/applications/settings/tde-guidance/debian/guidance-backends-trinity.install b/ubuntu/_base/applications/settings/tde-guidance/debian/guidance-backends-trinity.install index d292fc8d3..14d1e06fd 100644 --- a/ubuntu/_base/applications/settings/tde-guidance/debian/guidance-backends-trinity.install +++ b/ubuntu/_base/applications/settings/tde-guidance/debian/guidance-backends-trinity.install @@ -1,3 +1,4 @@ -opt/trinity/share/python-support/guidance-backends-trinity/MicroHAL.py -opt/trinity/share/python-support/guidance-backends-trinity/wineread.py -opt/trinity/share/python-support/guidance-backends-trinity/winewrite.py +/usr/lib/python*/dist-packages/tde-guidance/MicroHAL.py +/usr/lib/python*/dist-packages/tde-guidance/drivedetect.py +/usr/lib/python*/dist-packages/tde-guidance/wineread.py +/usr/lib/python*/dist-packages/tde-guidance/winewrite.py diff --git a/ubuntu/_base/applications/settings/tde-guidance/debian/rules b/ubuntu/_base/applications/settings/tde-guidance/debian/rules index 0e7ddddcb..271f17e68 100755 --- a/ubuntu/_base/applications/settings/tde-guidance/debian/rules +++ b/ubuntu/_base/applications/settings/tde-guidance/debian/rules @@ -1,8 +1,7 @@ #!/usr/bin/make -f DEB_PYTHON3_MODULE_PACKAGES=tde-guidance-trinity guidance-backends-trinity -PYSUPPORT_INST_PATH = /opt/trinity/share/python-support -GUIDANCE_INST_PATH = $(PYSUPPORT_INST_PATH)/tde-guidance-trinity +GUIDANCE_INST_PATH = /usr/lib/python3/dist-packages/tde-guidance export EXTRA_MODULE_DIR=$(GUIDANCE_INST_PATH) include /usr/share/cdbs/1/rules/debhelper.mk @@ -12,7 +11,7 @@ include /usr/share/cdbs/1/rules/utils.mk DEB_DH_INSTALL_ARGS = --sourcedir=debian/tmp DEB_UPDATE_RCD_PARAMS := multiuser DEB_INSTALL_MANPAGES_tde-guidance-trinity := debian/mountconfig-trinity.1 debian/serviceconfig-trinity.1 debian/userconfig-trinity.1 -PYSUPPORT_PATH = $(DEB_DESTDIR)$(PYSUPPORT_INST_PATH) +PYSUPPORT_PATH = $(DEB_DESTDIR)$(GUIDANCE_INST_PATH) DEB_CONFIGURE_EXTRA_FLAGS := --prefix=/opt/trinity --with-extra-libs=/opt/trinity/lib --with-extra-includes=/opt/trinity/include/tde LDFLAGS_APPEND := -L/opt/trinity/lib @@ -61,51 +60,38 @@ install/tde-guidance-trinity:: (cd debian/tde-guidance-trinity/opt/trinity/bin; ln -sf $(GUIDANCE_INST_PATH)/serviceconfig.py serviceconfig) (cd debian/tde-guidance-trinity/opt/trinity/bin; ln -sf $(GUIDANCE_INST_PATH)/userconfig.py userconfig) (cd debian/tde-guidance-trinity/opt/trinity/bin; ln -sf $(GUIDANCE_INST_PATH)/wineconfig.py wineconfig) -# (cd debian/tde-guidance-trinity/opt/trinity/bin; ln -sf $(GUIDANCE_INST_PATH)/grubconfig.py grubconfig) # move python modules in PYSUPPORT_PATH - mkdir -p $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/SMBShareSelectDialog.py $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/SimpleCommandRunner.py $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/fuser.py $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/fuser_ui.py $(PYSUPPORT_PATH)/tde-guidance-trinity -# cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/grubconfig.py $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/mountconfig.py $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/serviceconfig.py $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/sizeview.py $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/unixauthdb.py $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/userconfig.py $(PYSUPPORT_PATH)/tde-guidance-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/wineconfig.py $(PYSUPPORT_PATH)/tde-guidance-trinity + mkdir -p $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/SMBShareSelectDialog.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/SimpleCommandRunner.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/fuser.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/fuser_ui.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/mountconfig.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/serviceconfig.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/sizeview.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/unixauthdb.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/userconfig.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/wineconfig.py $(PYSUPPORT_PATH) # fix script-not-executable - chmod 0755 $(PYSUPPORT_PATH)/tde-guidance-trinity/fuser.py -# chmod 0755 $(PYSUPPORT_PATH)/tde-guidance-trinity/grubconfig.py - - : # Replace all '#!' calls to python with /usr/bin/python - : # and make them executable - for i in `find debian/tde-guidance-trinity -type f`; do \ - sed '1s,#!.*python[^ ]*\(.*\),#! /usr/bin/python\1,' \ - $$i > $$i.temp; \ - if cmp --quiet $$i $$i.temp; then \ - rm -f $$i.temp; \ - else \ - mv -f $$i.temp $$i; \ - chmod 755 $$i; \ - echo "fixed interpreter: $$i"; \ - fi; \ + chmod 0755 $(PYSUPPORT_PATH)/fuser.py + + # Replace all '#!' calls to python with /usr/bin/python3 + # and make them executable + for i in `find $(PYSUPPORT_PATH) -type f`; do \ + sed -i '1s|#!.*python[^ ]*\(.*\)|#!/usr/bin/python3\1|' $$i; \ done binary-install/tde-guidance-trinity:: - dh_python3 -p $(cdbs_curpkg) --shebang=/usr/bin/python3 $(PYSUPPORT_INST_PATH)/tde-guidance-trinity + dh_python3 -p $(cdbs_curpkg) install/guidance-backends-trinity:: - mkdir -p $(PYSUPPORT_PATH)/guidance-backends-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/MicroHAL.py $(PYSUPPORT_PATH)/guidance-backends-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/wineread.py $(PYSUPPORT_PATH)/guidance-backends-trinity - cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/winewrite.py $(PYSUPPORT_PATH)/guidance-backends-trinity - -binary-install/guidance-backends-trinity:: - dh_python3 -p $(cdbs_curpkg) --shebang=/usr/bin/python3 $(PYSUPPORT_INST_PATH)/guidance-backends-trinity + mkdir -p $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/MicroHAL.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/drivedetect.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/wineread.py $(PYSUPPORT_PATH) + cp $(DEB_DESTDIR)/opt/trinity/share/apps/guidance/winewrite.py $(PYSUPPORT_PATH) clean:: rm -rf build diff --git a/ubuntu/_base/applications/settings/tde-guidance/debian/tde-guidance-trinity.install b/ubuntu/_base/applications/settings/tde-guidance/debian/tde-guidance-trinity.install index e6a81f4d4..0cc8b62ad 100644 --- a/ubuntu/_base/applications/settings/tde-guidance/debian/tde-guidance-trinity.install +++ b/ubuntu/_base/applications/settings/tde-guidance/debian/tde-guidance-trinity.install @@ -50,17 +50,16 @@ opt/trinity/share/apps/guidance/pics/tux.png opt/trinity/share/apps/guidance/pics/user.png opt/trinity/share/apps/guidance/pics/32-wine.png opt/trinity/share/apps/guidance/pics/kdewinewizard.png -opt/trinity/share/python-support/tde-guidance-trinity/SMBShareSelectDialog.py -opt/trinity/share/python-support/tde-guidance-trinity/SimpleCommandRunner.py -opt/trinity/share/python-support/tde-guidance-trinity/fuser.py -opt/trinity/share/python-support/tde-guidance-trinity/fuser_ui.py -#opt/trinity/share/python-support/tde-guidance-trinity/grubconfig.py -opt/trinity/share/python-support/tde-guidance-trinity/mountconfig.py -opt/trinity/share/python-support/tde-guidance-trinity/serviceconfig.py -opt/trinity/share/python-support/tde-guidance-trinity/sizeview.py -opt/trinity/share/python-support/tde-guidance-trinity/unixauthdb.py -opt/trinity/share/python-support/tde-guidance-trinity/userconfig.py -opt/trinity/share/python-support/tde-guidance-trinity/wineconfig.py +usr/lib/python3/dist-packages/tde-guidance/SMBShareSelectDialog.py +usr/lib/python3/dist-packages/tde-guidance/SimpleCommandRunner.py +usr/lib/python3/dist-packages/tde-guidance/fuser.py +usr/lib/python3/dist-packages/tde-guidance/fuser_ui.py +usr/lib/python3/dist-packages/tde-guidance/mountconfig.py +usr/lib/python3/dist-packages/tde-guidance/serviceconfig.py +usr/lib/python3/dist-packages/tde-guidance/sizeview.py +usr/lib/python3/dist-packages/tde-guidance/unixauthdb.py +usr/lib/python3/dist-packages/tde-guidance/userconfig.py +usr/lib/python3/dist-packages/tde-guidance/wineconfig.py opt/trinity/lib/trinity/kcm_serviceconfig.so opt/trinity/lib/trinity/kcm_userconfig.so opt/trinity/lib/trinity/kcm_mountconfig.so