Skip to content

GUI 2.10.3 #710

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Mar 17, 2025
Merged

GUI 2.10.3 #710

merged 11 commits into from
Mar 17, 2025

Conversation

vassilit
Copy link
Collaborator

No description provided.

@vassilit vassilit marked this pull request as draft March 10, 2025 17:53
@vassilit vassilit changed the title Gui 2.10.3 GUI 2.10.3 Mar 10, 2025
@vassilit vassilit marked this pull request as ready for review March 16, 2025 15:37
@vassilit vassilit mentioned this pull request Mar 17, 2025
@RayOei
Copy link
Collaborator

RayOei commented Mar 17, 2025

Some findings when running scons install

cd gui && /usr/bin/python3 setup.py install --prefix /usr/local --record .files.txt
/usr/lib/python3/dist-packages/setuptools/config/pyprojecttoml.py:108: _BetaConfiguration: Support for `[tool.setuptools]` in `pyproject.toml` is still *beta*.
  warnings.warn(msg, _BetaConfiguration)

Missing file:

/usr/lib/python3/dist-packages/setuptools/config/expand.py:144: UserWarning: File '/home/pi/rmlint/gui/README.rst' cannot be found
  warnings.warn(f"File {path!r} cannot be found")

Missing file:

/usr/lib/python3/dist-packages/setuptools/config/expand.py:144: UserWarning: File '/home/pi/rmlint/gui/COPYING' cannot be found
  warnings.warn(f"File {path!r} cannot be found")

Deprecation warning:

running install
/usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(

@vassilit can you rebase this branch? I ran into (minor) issues which are already solved on master.

@vassilit
Copy link
Collaborator Author

Support for [tool.setuptools] in pyproject.toml is still beta.

What Python version are you using ?

/usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.

Yes, but the migration is difficult because of Glib.

enscons seems nice, but I don't know the level of support from the main distributions

@RayOei
Copy link
Collaborator

RayOei commented Mar 17, 2025

What Python version are you using ?

I have been testing with 3.11.0 Ubuntu 24.04 and 3.11.2 on Pi OS 12

@vassilit
Copy link
Collaborator Author

Does it work after scons install ?

Copy link
Collaborator

@RayOei RayOei left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It now runs for me on:

  • Ubuntu 24.04
  • Pi OS 12
    I also tried the install with only Python 2 pre-installed. The Py3 package is installed and Gui loads.

I did see several odd things (UI and behavioral) with GUI, so I think a closer look is warranted for v2.11.
I am not sure I miss something but scons --clean doesn't remove the GUI install. Only rmlint.

@RayOei RayOei mentioned this pull request Mar 17, 2025
@vassilit
Copy link
Collaborator Author

I did see several odd things (UI and behavioral) with GUI, so I think a closer look is warranted for v2.11. I am not sure I miss something but scons --clean doesn't remove the GUI install. Only rmlint.
scons -c --with-gui. This is not clear

@RayOei
Copy link
Collaborator

RayOei commented Mar 17, 2025

@vassilit I forgot: we should add a comment about brew not installing GUI on macOS.
I have also an issue with installing manually on macOS. It seems some of the glib tools are not found within the Python env. Looking into it.

@vassilit
Copy link
Collaborator Author

vassilit commented Mar 17, 2025

@vassilit I forgot: we should add a comment about brew not installing GUI on macOS. I have also an issue with installing manually on macOS. It seems some of the glib tools are not found within the Python env. Looking into it.

brew seems to depends on glib.

@RayOei
Copy link
Collaborator

RayOei commented Mar 17, 2025

Not so much brew at this point: when I try scons install it fails with a No such file or directory: 'glib-compile-resources'.
However, glib-compile-resources is available and works when called manually. As far as I can see the scons/python environment doesn't have access the PATH environment variable. It seems it is set in SConstruct but the os.environ['PATH'] returns None.

@vassilit
Copy link
Collaborator Author

vassilit commented Mar 17, 2025

Not so much brew at this point: when I try scons install it fails with a No such file or directory: 'glib-compile-resources'. However, glib-compile-resources is available and works when called manually. As far as I can see the scons/python environment doesn't have access the PATH environment variable. It seems it is set in SConstruct but the os.environ['PATH'] returns None.

try with scons --with-gui --without-compile-glib-schemas install

@vassilit
Copy link
Collaborator Author

Not so much brew at this point: when I try scons install it fails with a No such file or directory: 'glib-compile-resources'.

Also, it used to work before ?

@vassilit
Copy link
Collaborator Author

Could you try again ?

Also add a PEP 518 pyproject.toml
@RayOei
Copy link
Collaborator

RayOei commented Mar 17, 2025

It installs now on macOS. I can just use sudo scons install.

I do need to manually install pip install PyGObject to get it to work, as it will otherwise fail with a

Failed to load shredder: No module named 'gi'
This might be due to a corrupted install; try reinstalling.

@vassilit
Copy link
Collaborator Author

It installs now on macOS. I can just use sudo scons install.

I do need to manually install pip install PyGObject to get it to work, as it will otherwise fail with a

Yes, this should not be done by scons. It seems to be a packaging role.

@vassilit vassilit merged commit 2701402 into master Mar 17, 2025
1 check passed
@RayOei
Copy link
Collaborator

RayOei commented Mar 17, 2025

scons -c --with-gui

I assume you meant this would delete it?

I already tried that one.
When installing shredder the following directories and content are created:

/usr/local/lib/python3.11/site-packages/build 
/usr/local/lib/python3.11/site-packages/shredder
/usr/local/lib/python3.11/site-packages/shredder-2.10.3-py3.11.egg-info

(BTW: shouldn't the build not be removed after the install is done??)

The scons --clean, and using --with-gui doesn't make a difference, removes:

scons: Cleaning targets ...
Removed lib/config.h
Removed lib/cfg.o
Removed src/rmlint.o
Removed lib/checksum.o
Removed lib/cmdline.o
Removed lib/file.o
Removed lib/formats.o
Removed lib/hash-utility.o
Removed lib/hasher.o
Removed lib/md-scheduler.o
Removed lib/pathtricia.o
Removed lib/preprocess.o
Removed lib/replay.o
Removed lib/session.o
Removed lib/shredder.o
Removed lib/traverse.o
Removed lib/treemerge.o
Removed lib/utilities.o
Removed lib/xattr.o
Removed lib/checksums/highwayhash.o
Removed lib/checksums/metrohash128.o
Removed lib/checksums/murmur3.o
Removed lib/checksums/xxhash/xxhash.o
Removed lib/checksums/blake2/blake2b-ref.o
Removed lib/checksums/blake2/blake2bp-ref.o
Removed lib/checksums/blake2/blake2s-ref.o
Removed lib/checksums/blake2/blake2sp-ref.o
Removed lib/checksums/blake2/blake2xb-ref.o
Removed lib/checksums/blake2/blake2xs-ref.o
Removed lib/checksums/sha3/sha3.o
Removed lib/formats/_equal.o
Removed lib/formats/csv.o
Removed lib/formats/fdupes.o
Removed lib/formats/json.o
Removed lib/formats/null.o
Removed lib/formats/pretty.o
Removed lib/formats/progressbar.o
Removed lib/formats/py.c
Removed lib/formats/sh.c
Removed lib/formats/py.o
Removed lib/formats/stats.o
Removed lib/formats/sh.o
Removed lib/formats/summary.o
Removed lib/formats/timestamp.o
Removed lib/formats/uniques.o
Removed lib/fts/fts.o
Removed librmlint.a
Removed docs/_build/man/rmlint.1
Removed rmlint
scons: done cleaning targets.

As you can see, none of the /usr/local/lib/python... directories and files are removed.

@vassilit
Copy link
Collaborator Author

After uninstall files are removed but no directories are removed, that's true

@vassilit
Copy link
Collaborator Author

scons -c is to clean working directory, and scons uninstall to uninstall the application, those are two different things

@vassilit
Copy link
Collaborator Author

As you can see, none of the /usr/local/lib/python... directories and files are removed.

After scons uninstall files are removed, not directories.

17/03 20:27 vt@luga ~/dev/contrib/rmlint% scons  --prefix=/home/vt/rmlint.prefix --actual-prefix=/home/vt/rmlint.prefix uninstall
scons: Reading SConscript files ...
Checking whether the C compiler works... (cached) yes
Checking for git revision... (cached) 62779698
Checking for pkg-config... (cached) yes
Checking for glib-2.0 >= 2.32... (cached) yes
Checking for gio-unix-2.0... (cached) yes
Checking for blkid... (cached) yes
Checking for json-glib-1.0... (cached) yes
Checking for -std=c11 support...(cached) yes
Checking for cygwin environment...(cached) Linux/luga/6.13.7-arch1-1/#1 SMP PREEMPT_DYNAMIC Thu, 13 Mar 2025 18:12:00 +0000/x86_64/(cached) no
Checking whether _mm_crc32_u64 is declared... (cached) yes
Checking for GCC version... (cached) 14
Checking whether __builtin_cpu_supports is declared... (cached) yes
Checking whether blkid_devno_to_wholedisk is declared... (cached) yes
Checking for existence of /sys/block... (cached) yes
Checking for C header file libelf.h... (cached) yes
Checking for C library libelf... (cached) yes
Checking for C type struct fiemap... (cached) yes
Checking for C function getxattr()... (cached) yes
Checking for C function setxattr()... (cached) yes
Checking for C function removexattr()... (cached) yes
Checking for C function listxattr()... (cached) yes
Checking for C function lgetxattr()... (cached) yes
Checking for C function lsetxattr()... (cached) yes
Checking for C function lremovexattr()... (cached) yes
Checking for C function llistxattr()... (cached) yes
Checking size of off_t ... (cached) yes
Checking for C function stat64()... (cached) yes
Checking whether G_CHECKSUM_SHA512 is declared... (cached) yes
Checking for C header file locale.h... (cached) yes
Checking for C header file linux/limits.h... (cached) yes
Checking whether posix_fadvise is declared... (cached) yes
Checking for C header file linux/btrfs.h... (cached) yes
Checking for C header file linux/fs.h... (cached) yes
Checking for C header file sys/utsname.h... (cached) yes
Checking for C header file sys/sysmacros.h... (cached) yes
Using compiler optimisation -O2 (to change, run scons with O=[0|1|2|3|s|fast])
Running with --jobs=12
Building rmlint
scons: done reading SConscript files.
scons: Building targets ...
Delete("/home/vt/rmlint.prefix/bin/rmlint")
Delete("/home/vt/rmlint.prefix/share/locale/de/LC_MESSAGES/rmlint.mo")
Delete("/home/vt/rmlint.prefix/share/locale/es/LC_MESSAGES/rmlint.mo")
Delete("/home/vt/rmlint.prefix/share/locale/fr/LC_MESSAGES/rmlint.mo")
Delete("/home/vt/rmlint.prefix/share/man/man1/rmlint.1")
Uninstalling recorded files...
Recompiling glib schemas
No schema files found: removed existing output file.
scons: done building targets.
17/03 20:27 vt@luga ~/dev/contrib/rmlint% find /home/vt/rmlint.prefix
/home/vt/rmlint.prefix
/home/vt/rmlint.prefix/share
/home/vt/rmlint.prefix/share/locale
/home/vt/rmlint.prefix/share/locale/de
/home/vt/rmlint.prefix/share/locale/de/LC_MESSAGES
/home/vt/rmlint.prefix/share/locale/es
/home/vt/rmlint.prefix/share/locale/es/LC_MESSAGES
/home/vt/rmlint.prefix/share/locale/fr
/home/vt/rmlint.prefix/share/locale/fr/LC_MESSAGES
/home/vt/rmlint.prefix/share/icons
/home/vt/rmlint.prefix/share/icons/hicolor
/home/vt/rmlint.prefix/share/icons/hicolor/scalable
/home/vt/rmlint.prefix/share/icons/hicolor/scalable/apps
/home/vt/rmlint.prefix/share/glib-2.0
/home/vt/rmlint.prefix/share/glib-2.0/schemas
/home/vt/rmlint.prefix/share/applications
/home/vt/rmlint.prefix/share/man
/home/vt/rmlint.prefix/share/man/man1
/home/vt/rmlint.prefix/bin
/home/vt/rmlint.prefix/lib
/home/vt/rmlint.prefix/lib/python3.13
/home/vt/rmlint.prefix/lib/python3.13/site-packages
/home/vt/rmlint.prefix/lib/python3.13/site-packages/shredder
/home/vt/rmlint.prefix/lib/python3.13/site-packages/shredder/views
/home/vt/rmlint.prefix/lib/python3.13/site-packages/shredder/views/__pycache__
/home/vt/rmlint.prefix/lib/python3.13/site-packages/shredder/resources
/home/vt/rmlint.prefix/lib/python3.13/site-packages/shredder/__pycache__
/home/vt/rmlint.prefix/lib/python3.13/site-packages/shredder-2.10.3-py3.13.egg-info
17/03 20:27 vt@luga ~/dev/contrib/rmlint% find /home/vt/rmlint.prefix -type f
17/03 20:27 vt@luga ~/dev/contrib/rmlint%

@vassilit
Copy link
Collaborator Author

See #468 for Mac installation

@RayOei
Copy link
Collaborator

RayOei commented Mar 18, 2025

See #468 for Mac installation

Ah, thanks. Hadn't seen that one yet.

@vassilit vassilit deleted the gui-2.10.3 branch March 20, 2025 16:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants