Package Details: dupeguru 4.3.1-3

Git Clone URL: https://aur.archlinux.org/dupeguru.git (read-only, click to copy)
Package Base: dupeguru
Description: Find duplicate files with various contents, using perceptual diff for pictures
Upstream URL: https://dupeguru.voltaicideas.net/
Licenses: GPL3
Conflicts: dupeguru-git, dupeguru-me, dupeguru-pe, dupeguru-se
Provides: dupeguru
Submitter: dangoldbj
Maintainer: fuan_k
Last Packager: fuan_k
Votes: 104
Popularity: 0.79
First Submitted: 2016-10-25 11:55 (UTC)
Last Updated: 2025-07-19 18:13 (UTC)

Pinned Comments

itsnotme commented on 2019-07-21 13:08 (UTC)

If anyone is wondering why the source has changed, Dupeguru's website says the maintainer has changed. And so the link https://www.hardcoded.net/dupeguru/ leads us to https://dupeguru.voltaicideas.net/ which in turn has a link to https://github.com/arsenetar/dupeguru/ which is the GitHub repo the sources are downloaded from. So the source change is legitimate.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 11 .. 13 Next › Last »

cybertron commented on 2018-10-21 14:07 (UTC)

yeah thank you @batou and fuan_k with your both tipps it works :)

fuan_k commented on 2018-10-15 19:36 (UTC) (edited on 2018-11-12 19:04 (UTC) by fuan_k)

@cybertron: if you already have hsaudiotag3k installed in your python 3.6 site-packages, you can safely copy it over to the 3.7 site-packages, it should work fine.

sudo cp -r /usr/lib/python3.6/site-packages/hsaudiotag3k-1.1.3-py3.6.egg-info /usr/lib/python3.7/site-packages
sudo cp -r /usr/lib/python3.6/site-packages/hsaudiotag /usr/lib/python3.7/site-packages

I have submitted a request to make this package orphan, so that we can fix it ourselves.

Batou commented on 2018-10-14 22:08 (UTC) (edited on 2018-10-14 22:09 (UTC) by Batou)

1) Make sure your install is fully updated

2) Remove all dupeguru build/source caches

3) Download the PKGBUILD or use your AUR manager of choice and enable it to edit PKGBUILD

4) Add the following section (you can place it before build() for example). This is based upon fuan_k's fix but the src/ is omitted.

prepare(){
  cd "$srcdir"
  sed -i '277 a\\            try:' hscommon/build.py
  sed -i '279s/^/    /' hscommon/build.py
  sed -i '280s/^/    /' hscommon/build.py
  sed -i '281s/^/    /' hscommon/build.py
  sed -i '281a\\            except StopIteration:' hscommon/build.py
  sed -i '282a\\                return' hscommon/build.py
}

It should build fine. Someone should contact this package's maintainer to update it with this fix so all the users can safely update.

cybertron commented on 2018-09-16 14:34 (UTC)

hm both tips doesn't work for me it fails by resolving deps hsaudiotag3k the aur versions seems to be available for python 3.6 only?

Batou commented on 2018-09-13 12:42 (UTC) (edited on 2018-09-13 12:43 (UTC) by Batou)

I haven't had enough time to look at these issues in depth but none of the suggested solutions below worked for me. What worked for me was basically:

$ git clone https://github.com/hsoft/dupeguru.git
#note bellow: make will fail twice because of dependencies. It will build fine on  the 3rd time
$ make
$ make 
$ make
$ make run  #to run the app

unfortunately this will not make a package so you can't install it but it will run if you absolutely need to use dupeguru right away. This is an unmaintained package that's full of issues and temporary fixes. It's a giant mess and it breaks often. Unfortunately, there are no good alternatives.

fuan_k commented on 2018-08-21 20:50 (UTC) (edited on 2018-08-21 22:17 (UTC) by fuan_k)

I came up with a quick fix you can add to the PKGBUILD:

prepare(){
  cd "$srcdir"
  sed -i '277 a\\            try:' src/hscommon/build.py
  sed -i '279s/^/    /' src/hscommon/build.py
  sed -i '280s/^/    /' src/hscommon/build.py
  sed -i '281s/^/    /' src/hscommon/build.py
  sed -i '281a\\            except StopIteration:' src/hscommon/build.py
  sed -i '282a\\                return' src/hscommon/build.py
}

It's basically changing this part of the script with a try/except statement:

    def iter_by_three(it):
        while True:
            version = next(it)
            date = next(it)
            description = next(it)
            yield version, date, description

into the following:

    def iter_by_three(it):
        while True:
            try:
                version = next(it)
                date = next(it)
                description = next(it)
            except StopIteration:
                return
            yield version, date, description

I successfully built afterward and now DupeGuru is working again fine with Python3.7 (so far).

This should be reported upstream, as it's an incompatibility bug with Pyhton 3.7. But the maintainer will have to fix the hsaudiotag3k-1.1.3 dependency issue in the PKGBUILD also... the way it handles it right now doesn't seem very reliable as it fetches from PyPi instead of the AUR?

atescula commented on 2018-08-21 20:20 (UTC)

Ok, thanks. Any idea how to bring this software back to work ? I am desperate, I use it mainly to identify tons of duplicate photos. Or maybe a good linux alternative for this task ? Appreciate assistance :-)

fuan_k commented on 2018-08-21 20:04 (UTC) (edited on 2018-08-21 20:11 (UTC) by fuan_k)

After copying hsaudiotag like so:

cd /usr/lib/python3.6/site-packages
sudo cp -r hsaudiotag3k-1.1.3-py3.6.egg-info ../../python3.7/site-packages
sudo cp -r hsaudiotag ../../python3.7/site-packages

I get another error:

[...]
Generating Help
Traceback (most recent call last):
  File "/var/yay_cache/dupeguru/src/hscommon/build.py", line 278, in iter_by_three
    version = next(it)
StopIteration

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "build.py", line 376, in <module>
    main()
  File "build.py", line 373, in main
    build_normal(ui, options.dev)
  File "build.py", line 336, in build_normal
    build_qt(dev)
  File "build.py", line 169, in build_qt
    build_help()
  File "build.py", line 183, in build_help
    sphinxgen.gen(help_basepath, help_destpath, changelog_path, tixurl, confrepl, conftmpl, changelogtmpl)                                                             
  File "/var/yay_cache/dupeguru/src/hscommon/sphinxgen.py", line 47, in gen
    changelog = read_changelog_file(changelogpath)
  File "/var/yay_cache/dupeguru/src/hscommon/build.py", line 288, in read_changelog_file                                                                               
    for version, date_str, description in iter_by_three(iter(splitted)):
RuntimeError: generator raised StopIteration

Apparently, the StopIteration exception changed in pyhton 3.7: https://www.python.org/dev/peps/pep-0479/

fuan_k commented on 2018-08-21 19:49 (UTC) (edited on 2018-08-21 19:51 (UTC) by fuan_k)

@atescula: this is also related to python having been upgraded from 3.6 to 3.7.

I get another error:

==> Starting build()...
Looking in links: deps
Requirement already satisfied: Send2Trash>=1.3.0 in /usr/lib/python3.7/site-packages (from -r requirements.txt (line 1)) (1.5.0)
Requirement already satisfied: sphinx>=1.2.2 in /usr/lib/python3.7/site-packages (from -r requirements.txt (line 2)) (1.7.6)
Requirement already satisfied: polib>=1.0.4 in /usr/lib/python3.7/site-packages (from -r requirements.txt (line 3)) (1.1.0)
Collecting hsaudiotag3k>=1.1.3 (from -r requirements.txt (line 4))
  Url 'deps' is ignored. It is either a non-existing path or lacks a specific scheme.
  Could not find a version that satisfies the requirement hsaudiotag3k>=1.1.3 (from -r requirements.txt (line 4)) (from versions: )
No matching distribution found for hsaudiotag3k>=1.1.3 (from -r requirements.txt (line 4))
==> ERROR: A failure occurred in build().
    Aborting...
Error making: dupeguru