Package Details: dupeguru 4.2.1-2

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: 87
Popularity: 0.25
First Submitted: 2016-10-25 11:55 (UTC)
Last Updated: 2022-03-29 21:02 (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

fuan_k commented on 2021-12-20 23:30 (UTC)

@bonob thanks, for some reason I did not notice it when I searched for it.

bonob commented on 2021-12-20 07:04 (UTC)

You noted in the last update that python-send2trash is not in the AUR anymore. It is in community though, if that's relevant?

Rus commented on 2021-12-19 23:54 (UTC) (edited on 2021-12-19 23:55 (UTC) by Rus)

It worked after the PKGBUILD update, thanks

fuan_k commented on 2021-12-19 23:49 (UTC)

@Rus: I would need more information, but I suspect you might have an outdated python-polib installed on your system. Pushed a possible workaround, let me know if it still fails.

Another possible solution in that case would be to change python -m venv env --system-site-packages to just python -m venv env to avoid using packages already installed system-wide.

Rus commented on 2021-12-19 17:29 (UTC) (edited on 2021-12-19 17:30 (UTC) by Rus)

WARNING: Location 'deps' is ignored: it is either a non-existing path or lacks a specific scheme.
ERROR: Could not find a version that satisfies the requirement polib>=1.0.4 (from versions: none)
ERROR: No matching distribution found for polib>=1.0.4

fuan_k commented on 2021-02-01 01:33 (UTC) (edited on 2021-03-23 23:00 (UTC) by fuan_k)

@JohnRobson can you please be more specific? It builds fine in a clean chroot, I don't see what you are missing. python-polib package just got updated, maybe you need to update it.

JohnRobson commented on 2021-01-31 20:13 (UTC)

python-polib version 1.1.0-3, please, fix the "requirements.txt"

fuan_k commented on 2021-01-03 16:43 (UTC) (edited on 2021-01-03 17:31 (UTC) by fuan_k)

@Rus: I don't get different results comparing 4.0.4 and 4.1.0. Would you mind filing a bug report on the github issue tracker if you can provide more information? The matching algorithm has not changed so I don't see why you get "worse" results... apart from using exclusion filters (regex) perhaps.

4.1.0 is not released yet, but it is the same code as the current master branch. 4.0.4 won't work anymore due to the newer python version used in Arch Linux. Granted a patch could be written to make it work, I don't think it's worth the trouble at this point, as 4.1.0 is about to get a proper release anyway.

@madjoe these are dependencies of the python-sphinx package used for building the documentation. My take is that they are not really our dependencies, and since they are only used during the building stage, they will end up as orphans. This is normal behaviour, you can safely remove these packages. Using makepkg -sr to build packages should automatically remove makedepends once they are no longer needed.

Rus commented on 2021-01-03 03:03 (UTC) (edited on 2021-01-03 03:04 (UTC) by Rus)

Is it just me, or is the image search worse than it was in 4.0.4? It says everywhere that 4.0.4 is the latest release. Maybe we should bring back this version?

madjoe commented on 2021-01-03 02:58 (UTC)

When I check the orphan packages, I can find the following packages:

Packages (15) python-babel-2.9.0-1 python-docutils-0.16-4 python-imagesize-1.2.0-4 python-jinja-2.11.2-4 python-markupsafe-1.1.1-6 python-pygments-2.7.3-1 python-snowballstemmer-2.0.0-6 python-sphinx-3.4.0-1 python-sphinx-alabaster-theme-0.7.12-6 python-sphinxcontrib-applehelp-1.0.2-3 python-sphinxcontrib-devhelp-1.0.2-3 python-sphinxcontrib-htmlhelp-1.0.3-3 python-sphinxcontrib-jsmath-1.0.1-6 python-sphinxcontrib-qthelp-1.0.3-3 python-sphinxcontrib-serializinghtml-1.1.4-3

Those packages should not be orphaned, since I just installed dupeguru from this AUR. Why are those not marked as dependencies?

fuan_k commented on 2020-12-10 18:51 (UTC) (edited on 2020-12-10 18:55 (UTC) by fuan_k)

The upstream master branch is currently broken, and dupeguru-git risks being broken too. The upstream maintainer is taking too long to merge the patches that fix and update the master branch. Therefore I went ahead and temporarily changed the source to point to a source release candidate for the upcoming 4.1.0 version.

This is better than patching manually for incompatible python versions. Might as well include all the patches at once because the resulting build should be stable anyway.

This here package is now currently ahead of the "dupeguru-git" package.

I'll revert back to the upstream repository once a proper release is done.

Harvey commented on 2020-12-10 11:05 (UTC)

@Batou: Please read at least the last few comments before posting ;)

Batou commented on 2020-12-10 04:08 (UTC)

It seems to be broken again :\

$ dupeguru
Gtk-Message: 23:05:07.591: Failed to load module "xapp-gtk3-module"
Traceback (most recent call last):
  File "/usr/bin/dupeguru", line 81, in <module>
    sys.exit(main())
  File "/usr/bin/dupeguru", line 69, in main
    dgapp = DupeGuru()
  File "/usr/share/dupeguru/qt/app.py", line 50, in __init__
    self._setup()
  File "/usr/share/dupeguru/qt/app.py", line 69, in _setup
    self.model.load()
  File "/usr/share/dupeguru/core/app.py", line 554, in load
    self.directories.load_from_file(op.join(self.appdata, 'last_directories.xml'))
  File "/usr/share/dupeguru/core/directories.py", line 215, in load_from_file
    for rdn in root.getiterator('root_directory'):
AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 'getiterator'

Tio commented on 2020-12-06 19:48 (UTC)

@fuan_k Yes that's perfect! Thank you very much!

fuan_k commented on 2020-12-06 17:17 (UTC)

@Tio: I changed the .desktop file to point to a logically discoverable icon instead of the hardcoded path. A symbolic link that points to the packaged icon is made in /usr/share/pixmaps. Let me know if that's not exactly what you wanted, I'll eventually push the changes upstream.

Tio commented on 2020-12-06 14:45 (UTC)

Can you please make the icon path as relative? We are making custom icons for Linux and we can't deal with these non-relative paths. Thanks!

Harvey commented on 2020-12-06 13:51 (UTC)

@fuan_k: The deletion of the file "last_directories.xml" from the folder ~/.local/share/Hardcoded\ Software/dupeGuru lets me start dupeguru at least once ;)

Rus commented on 2020-12-05 23:03 (UTC)

I just did the installation without errors.

fuan_k commented on 2020-12-05 23:00 (UTC) (edited on 2020-12-05 23:54 (UTC) by fuan_k)

@Harey: the getiterator method has been deprecated in the latest python versions, and this has been patched upstream already.

Try using dupeguru-git while waiting for 4.0.5 to be released. Another workaround is perhaps to force using python 3.8 by editing the run.py script, i.e. change the first line to #!/usr/bin/python3.8.

Harvey commented on 2020-12-05 19:14 (UTC) (edited on 2020-12-05 19:19 (UTC) by Harvey)

The package builds ok on an fully updated system with 'testing' repo enabled, but the app does bail out with the following error: harvey@obelix ~/abs/dupeguru $ dupeguru Traceback (most recent call last): File "/usr/bin/dupeguru", line 81, in <module> sys.exit(main()) File "/usr/bin/dupeguru", line 69, in main dgapp = DupeGuru() File "/usr/share/dupeguru/qt/app.py", line 50, in init self._setup() File "/usr/share/dupeguru/qt/app.py", line 69, in _setup self.model.load() File "/usr/share/dupeguru/core/app.py", line 554, in load self.directories.load_from_file(op.join(self.appdata, 'last_directories.xml')) File "/usr/share/dupeguru/core/directories.py", line 215, in load_from_file for rdn in root.getiterator('root_directory'): AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 'getiterator'

Is there a remedy for this?

loathingkernel commented on 2020-12-02 10:15 (UTC) (edited on 2020-12-02 10:18 (UTC) by loathingkernel)

@fuan_k yes, you are missing this https://wiki.archlinux.org/index.php/PKGBUILD#arch. Basically arch indicates what architectures the resulting package can be used on. You can't use an x86_64 on i686, hence it is not any but either x86_64 or i686.

fuan_k commented on 2020-10-07 00:24 (UTC)

@haawda: the package doesn't include any BLOB as far as I know. The tar file in Sources only provides sources, and the PKGBUILD calls the build script to produce the necessary binaries. Am I missing something?

haawda commented on 2020-10-06 23:30 (UTC)

The package includes binaries, so arch=any is wrong.

fuan_k commented on 2020-06-11 18:03 (UTC) (edited on 2020-06-11 18:15 (UTC) by fuan_k)

@funk-electric have you performed a full system upgrade? Also post gcc / binutils / elfutils / libelf versions please. It builds fine in a clean chroot so there's something missing here... Edit: for some reason you are using Anaconda3's compiler/linker, which I assume are out of date or something. Perhaps your ${PATH} is overriden by Anaconda somehow. Make sure you are not using a virtual environment when building the package.

funk-electric commented on 2020-06-11 08:19 (UTC) (edited on 2020-06-11 08:21 (UTC) by funk-electric)

When I'm trying to upgrade from last version I got following error:

You are using pip version 19.0.3, however version 20.2b1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
==> Starting build...
Building dupeGuru with UI qt
Building dupeGuru
Building PE Modules
running build_ext
building '_block' extension
gcc -pthread -B /home/user/anaconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -D_FORTIFY_SOURCE=2 -fPIC -I/home/user/.cache/aurutils/sync/dupeguru/src/env/include -I/home/user/anaconda3/include/python3.7m -c core/pe/modules/block.c -o build/temp.linux-x86_64-3.7/core/pe/modules/block.o
gcc -pthread -B /home/user/anaconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -D_FORTIFY_SOURCE=2 -fPIC -I/home/user/.cache/aurutils/sync/dupeguru/src/env/include -I/home/user/anaconda3/include/python3.7m -c core/pe/modules/common.c -o build/temp.linux-x86_64-3.7/core/pe/modules/common.o
gcc -pthread -shared -B /home/user/anaconda3/compiler_compat -L/home/user/anaconda3/lib -Wl,-rpath=/home/user/anaconda3/lib -Wl,--no-as-needed -Wl,--sysroot=/ -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.7/core/pe/modules/block.o build/temp.linux-x86_64-3.7/core/pe/modules/common.o -o build/lib.linux-x86_64-3.7/_block.cpython-37m-x86_64-linux-gnu.so
/home/user/anaconda3/compiler_compat/ld: build/temp.linux-x86_64-3.7/core/pe/modules/block.o: unable to initialize decompress status for section .debug_info
/home/user/anaconda3/compiler_compat/ld: build/temp.linux-x86_64-3.7/core/pe/modules/block.o: unable to initialize decompress status for section .debug_info
/home/user/anaconda3/compiler_compat/ld: build/temp.linux-x86_64-3.7/core/pe/modules/block.o: unable to initialize decompress status for section .debug_info
/home/user/anaconda3/compiler_compat/ld: build/temp.linux-x86_64-3.7/core/pe/modules/block.o: unable to initialize decompress status for section .debug_info
build/temp.linux-x86_64-3.7/core/pe/modules/block.o: file not recognized: file format not recognized
collect2: error: ld returned 1 exit status
error: command 'gcc' failed with exit status 1
==> ERROR: A failure occurred in build().
    Aborting...

Does anyone know how to fix this?

atescula commented on 2020-06-04 05:20 (UTC)

ERROR building due to hsaudiotag3 (not found)

Preparing... Cloning dupeguru build files... Checking dupeguru dependencies... Resolving dependencies... Checking inter-conflicts...

Building dupeguru... ==> Making package: dupeguru 4.0.4-1 (Jo 04 iun 2020 08:15:11 +0300) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving sources... -> Found dupeguru-src-4.0.4_RC.tar.gz ==> Validating source files with md5sums... dupeguru-src-4.0.4_RC.tar.gz ... Passed ==> Removing existing $srcdir/ directory... ==> Extracting sources... -> Extracting dupeguru-src-4.0.4_RC.tar.gz with bsdtar ==> Removing existing $pkgdir/ directory... ==> Starting build()... Requirement already satisfied: Send2Trash>=1.3.0 in /usr/lib/python3.8/site-packages (from -r requirements.txt (line 1)) (1.5.0) Requirement already satisfied: sphinx>=1.2.2 in /usr/lib/python3.8/site-packages (from -r requirements.txt (line 2)) (3.0.4) Collecting polib>=1.0.4 (from -r requirements.txt (line 3)) Using cached https://files.pythonhosted.org/packages/30/a2/e407c3b00cace3d7fc8df14d364deeecfeb96044e1a317de583bc26eae58/polib-1.1.0-py2.py3-none-any.whl Collecting hsaudiotag3k>=1.1.3 (from -r requirements.txt (line 4)) ERROR: Could not find a version that satisfies the requirement hsaudiotag3k>=1.1.3 (from -r requirements.txt (line 4)) (from versions: none) ERROR: No matching distribution found for hsaudiotag3k>=1.1.3 (from -r requirements.txt (line 4)) WARNING: You are using pip version 19.2.3, however version 20.1.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. ==> ERROR: A failure occurred in build(). Aborting...

fuan_k commented on 2019-10-09 15:06 (UTC) (edited on 2019-10-09 15:38 (UTC) by fuan_k)

@Ataraxy: thanks for reporting. I have a bunch of other (unrelated) garbage in there too. Could you please list the directories (or files?) in that path you mentioned? I'm trying to narrow-down what exactly is responsible for which "remnant". Also how do you know hsaudiotag and polib are the culprits? There is nothing in their files that suggest they would write anything there. As far as I can see, there shouldn't be anything written to that path from this package either.

Ataraxy commented on 2019-10-09 07:34 (UTC)

Building this package leaves a bunch of garbage files under:

~/.local/lib/python3.7/site-packages

The culprits are hsaudiotag and polib.

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.

air-g4p commented on 2018-12-08 00:06 (UTC)

@fuan-k,

Thank you for fixing the hsaudiotag3k issue. During the build, I saw: Successfully installed hsaudiotag3k-1.1.3

The entire build now completes, without error, in a clean chroot.

Good work! Cheers

fuan_k commented on 2018-12-07 04:57 (UTC) (edited on 2018-12-07 05:02 (UTC) by fuan_k)

@air-g4p Since hsaudiotag3k can be downloaded directly with pip, instead of fetching the AUR package, I have changed the PKGBUILD accordingly and removed python-hsaudiotag3k from the PKGBUILD dependencies. Although this might not be the best, since the install script is handling this dependency installation "silently"...

I think there was a problem with the arguments given to pip, namely pip install --no-index --find-links=deps -r requirements.txt. There is no "deps" directory, since it was explicitly ignored in the .gitignore file, so I assume that was the original author's way to speed things up by using his locally available packages, which we do not have.

Anyway, it should be fixed now. Sorry for the delay.

air-g4p commented on 2018-12-03 04:12 (UTC) (edited on 2018-12-03 04:14 (UTC) by air-g4p)

Despite having built and installed https://aur.archlinux.org/packages/python-hsaudiotag3k/ without error, I see this dupeguru build failure within a clean chroot:

==> Installing missing dependencies...

error: target not found: python-hsaudiotag3k

==> ERROR: 'pacman' failed to install missing dependencies.

==> ERROR: Build failed, check /var/lib/archbuild/extra-x86_64/user/build

I have no prior instances of dupeguru installed, and this occurs on a fully updated Arch system.

Any suggestions?

fuan_k commented on 2018-11-12 16:07 (UTC) (edited on 2018-11-12 19:03 (UTC) by fuan_k)

Might have to fix the python-hsaudiotag3k package (https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=python-hsaudiotag3k), in case it needs to be pointed at the python3.7 path, although as far as I can tell, it should install properly already. Might just be a problem with previous installations which were installed in 3.6 path.

Anyway, I'll keep an eye on this package. If it really needs some serious maintainership investment, I'll be around just in case. I can't think of any other program for Linux that does what DupeGuru does. It's a precious package in my opinion.

Edit: The sed hack has just been implemented upstream (into hscommon) so this won't be needed anymore in version 4.0.4, that is, if it ever comes out. User arsenetar seems to have been working on the project (https://github.com/arsenetar/dupeguru/commits/master), albeit at a slow pace and only bug fixes so far. We will see. For now, since we are targeting the latest stable release, I think it's best to keep this workaround in the PKGBUILD. It will be removed for the next actual release.

Harvey commented on 2018-11-12 11:11 (UTC)

From the Athors Gihub site: https://github.com/hsoft/dupeguru/

Current status: Unmaintained

I haven't worked on dupeGuru for a while and frankly, I don't want to. I never had any duplicate problems so I don't even care about the raison d'être of this thing.

I don't want to answer incoming issues and I don't want to let them pile off unanswered either, that feels rude. So here I am, being straightforward about it.

If you're considering using dupeGuru, you might want to give it a try but if it doesn't meet your needs I suggest that you use another program because it's unlikely to ever be improved again.

If you're a developer wanting to pick it up, by all means, do so! Fork it off and release something. I will be more than happy to "officially" point to any fork that remotely looks like a serious effort. I will also be happy to assist if you have questions about the code.

Good bye dupeGuru, Virgil Dupras

eschwartz commented on 2018-11-12 03:16 (UTC)

Has anyone considered, perhaps, submitting an upstream pull request to fix this package, so that a new release can be tagged without requiring horrible sed hacks to make it build?

Arch Linux values the principle of pushing fixes upstream...

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

atescula commented on 2018-08-19 08:45 (UTC)

After updating Manjaro KDE today from 17.1.11 to 17.1.12 dupeguru not starting anymore. Also no success trying to reinstall.

Here is the output when starting from terminal:

[andrei@manjaro-desktop ~]$ dupeguru Traceback (most recent call last): File "/bin/dupeguru", line 49, in <module> sys.exit(main()) File "/bin/dupeguru", line 35, in main from qt.app import DupeGuru File "/usr/share/dupeguru/qt/app.py", line 22, in <module> from core.app import AppMode, DupeGuru as DupeGuruModel File "/usr/share/dupeguru/core/app.py", line 24, in <module> from . import se, me, pe File "/usr/share/dupeguru/core/pe/init.py", line 1, in <module> from . import block, cache, exif, iphoto_plist, matchblock, matchexif, photo, prioritize, result_table, scanner # noqa File "/usr/share/dupeguru/core/pe/block.py", line 9, in <module> from ._block import NoBlocksError, DifferentBlockCountError, avgdiff, getblocks2 # NOQA ModuleNotFoundError: No module named 'core.pe._block' [andrei@manjaro-desktop ~]$ </module></module></module></module></module>

SpotlightKid commented on 2018-08-11 21:31 (UTC)

@AmbientChaos: It's a Python 3.7 incompatibility.

AmbientChaos commented on 2018-08-10 15:23 (UTC)

I'm getting an error during building, does anyone know what I can do to fix this?

https://pastebin.com/TPWLaa26

karcher commented on 2018-05-28 10:11 (UTC)

I'm getting an error: error: failed to commit transaction (conflicting files)

Whole output: https://pastebin.com/ExiexgYn

Batou commented on 2018-05-15 18:22 (UTC)

@dangoldbj thanks!! Builds fine now!

dangoldbj commented on 2018-05-15 05:49 (UTC)

@Batou Thank you. Updated with changes.

Batou commented on 2018-05-15 05:01 (UTC)

Fails to build... ... Copying package at /usr/lib/python3.6/site-packages/send2trash to build/dupeguru-arch/send2trash Copying package at /usr/lib/python3.6/site-packages/hsaudiotag to build/dupeguru-arch/hsaudiotag Traceback (most recent call last): File "package.py", line 141, in <module> main() File "package.py", line 136, in main package_arch() File "package.py", line 96, in package_arch copy_files_to_package(srcpath, packages, with_so=True) File "package.py", line 42, in copy_files_to_package shutil.copytree(op.join('build', 'help'), op.join(destpath, 'help')) File "/usr/lib/python3.6/shutil.py", line 309, in copytree names = os.listdir(src) FileNotFoundError: [Errno 2] No such file or directory: 'build/help' ==> ERROR: A failure occurred in package().</module>

Kerriganx commented on 2018-04-09 22:58 (UTC)

@ConorIA ERROR: PKGBUILD contains CRLF characters and cannot be sourced.

ConorIA commented on 2018-04-05 00:38 (UTC)

Here is an updated PKGBUILD: https://pastebin.com/sWR90AvT and a patch based on comment by @xnopasaranx: https://pastebin.com/wWd1ZjL9

You'll need both in the same dir to build.

atescula commented on 2018-03-28 07:15 (UTC) (edited on 2018-03-28 10:17 (UTC) by atescula)

brute force approach for building !!!

run in a terminal watch -n1 -x mkdir /tmp/pamac-build-andrei/dupeguru/src/build/help this command creates folder help every second replace andrei with your username

Circle111 commented on 2018-03-23 08:14 (UTC)

FileNotFoundError: [Errno 2] No such file or directory: 'build/help' ==> ОШИБКА: Произошел сбой в package(). Прерывание... ==> ОШИБКА: Makepkg не смог собрать dupeguru.

Не работает..

cordobaweb commented on 2018-03-17 02:51 (UTC)

How can I edit build script? @xnopasaranx

xnopasaranx commented on 2018-03-13 17:52 (UTC) (edited on 2018-03-13 17:54 (UTC) by xnopasaranx)

@cordobaweb I had the build script complain about a non existant path 'build/help' and had to change the package.py line 42 and 43 to:

shutil.copytree(op.join(base_path, 'help'), op.join(destpath, 'help'))

shutil.copytree(op.join(base_path, 'locale'), op.join(destpath, 'locale'))

and add:

basepath = os.getcwd()

somewhere above. then it built fine.

cordobaweb commented on 2018-03-09 18:12 (UTC)

fails to build for me. It´s not working.

wget commented on 2017-08-26 11:24 (UTC)

+1 it should be merged in dupeguru

wget commented on 2017-08-26 11:24 (UTC)

+1 it should be merged in dupeguru

wget commented on 2017-08-26 11:23 (UTC)

+1 it should be merged in dupeguru

fuan_k commented on 2017-01-26 21:02 (UTC) (edited on 2017-01-26 22:11 (UTC) by fuan_k)

On Antergos: fails to build for me. I get the following error: ==> Starting build()... Collecting polib>=1.0.4 (from -r requirements.txt (line 3)) 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 polib>=1.0.4 (from -r requirements.txt (line 3)) (from versions: ) No matching distribution found for polib>=1.0.4 (from -r requirements.txt (line 3)) My python-polib is 1.0.7 but it's only installed in python3.5's site-packages though. The script must be looking for the python3.6, since Arch is ahead already and has polib1.0.8 in there. WORKAROUND HERE: install pip for python(3): sudo pacman -S python-pip install python-polib 1.0.8: sudo pip install polib then you can build dupeguru: yaourt -S dupeguru

dangoldbj commented on 2016-12-15 14:46 (UTC)

@Ivan I will look onto it. I think it is not the error of dupeguru package build. But something else. I am not sure though. Will look onto it.

Ivan commented on 2016-12-11 15:21 (UTC)

Unable to install: Collecting requests (from sphinx>=1.2.2->-r requirements.txt (line 2)) 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 requests (from sphinx>=1.2.2->-r requirements.txt (line 2)) (from versions: ) No matching distribution found for requests (from sphinx>=1.2.2->-r requirements.txt (line 2)) ==> ERROR: A failure occurred in build(). Aborting... ==> ERROR: Makepkg was unable to build dupeguru. ==> Restart building dupeguru ? [y/N]

dangoldbj commented on 2016-12-09 17:56 (UTC)

Thanks for the feedback buzz.

buzz commented on 2016-12-09 13:17 (UTC) (edited on 2016-12-09 13:21 (UTC) by buzz)

Look like the following lines in .SRCINFO need to be updated: pkgver = 4.0.3 source = http://download.hardcoded.net/dupeguru-src-4.0.3.tar.gz md5sums = ed3b4a049c436cacb0a068438a8d6131

commented on 2016-10-25 12:08 (UTC)

https://aur.archlinux.org/packages/dupeguru/ contains combined version of dupeguru-se, dupeguru-me and dupeguru-pe

commented on 2016-10-25 12:07 (UTC)

This package is depreciated as https://aur.archlinux.org/packages/dupeguru/ contains combined version of dupeguru-se, dupeguru-me and dupeguru-pe

dangoldbj commented on 2016-10-25 11:57 (UTC)

This package is depreciated. https://aur.archlinux.org/packages/dupeguru/ will replace all other three dupeguru packages.

TruckerZer0 commented on 2016-09-29 04:43 (UTC)

Version 4.0.1 is out (2016-08-24), it's possible to have an update? Thank you!

tuxflo commented on 2014-10-29 15:48 (UTC) (edited on 2015-10-05 06:55 (UTC) by tuxflo)

for manjaro users: the package.py script does not recognize manjaro as arch linux derivate, to instal the package change line 216 from: package_debian(edition) to: package_arch(edition) to force using the arch edition. Here is the patch for that (apply with `patch package.py < manjaro.patch`): --- package.py 2014-10-12 16:52:41.000000000 +0200 +++ package.py 2015-10-05 08:45:58.037014829 +0200 @@ -213,7 +213,7 @@ if distname == 'arch': package_arch(edition) else: - package_debian(edition) + package_arch(edition) else: print("Qt packaging only works under Windows or Linux.")

hsoft commented on 2014-10-26 16:10 (UTC)

Yes, I know, I added for "--arch" flag (to force arch detection during packaging) very recently. PE will have this problem fixed in the next release.

Zetex commented on 2014-10-21 21:02 (UTC)

I think PE has the same issue as SE had earlier. It identifies manjaro as ubuntu.

hsoft commented on 2014-10-17 20:36 (UTC)

The latest AUR (3.9.1-1) theoretically builds properly on Arch derivatives.

PTBM133A4X commented on 2014-09-15 16:13 (UTC)

Thanks very much. It's working fine now!

hsoft commented on 2014-09-14 16:42 (UTC)

Fixed in most recent PKGBUILD update (4)

hsoft commented on 2014-09-13 20:08 (UTC)

I experience this as well. It's caused by a recent Sphinx update which started to call `sys.exit()` making dupeGuru's build process exit prematurely. I've fixed this in master at https://github.com/hsoft/dupeguru/commit/990e73c3837c032235f4e3cb9075e766c639191d . The question now is how to hotfix this in the AUR package.

PTBM133A4X commented on 2014-09-11 22:08 (UTC)

I'm getting this error during build. Any idea which file is actually missing or what's causing the error? Traceback (most recent call last): File "package.py", line 221, in <module> main() File "package.py", line 214, in main package_arch(edition) File "package.py", line 177, in package_arch copy_files_to_package(srcpath, packages, with_so=True) File "package.py", line 118, in copy_files_to_package shutil.copy('run.py', op.join(destpath, 'run.py')) File "/usr/lib/python3.4/shutil.py", line 228, in copy copyfile(src, dst, follow_symlinks=follow_symlinks) File "/usr/lib/python3.4/shutil.py", line 107, in copyfile with open(src, 'rb') as fsrc: FileNotFoundError: [Errno 2] No such file or directory: 'run.py'

commented on 2014-07-17 17:11 (UTC)

[deleted]

commented on 2014-07-17 16:27 (UTC)

[deleted]

commented on 2014-07-17 16:26 (UTC)

[deleted]

hsoft commented on 2014-07-05 15:03 (UTC)

Oh, yes. I didn't get that error because I hadn't installed "python-pip" on my system (the error originates from a conflict between virtualenv's pip and system pip). Fixed now.

Harvey commented on 2014-07-02 07:19 (UTC)

Still not working with user permissions: error: could not create '/usr/lib/python3.4/site-packages/jobprogress': Permission denied As root it works, but this is not a good idea for makepkg...

hsoft commented on 2014-07-01 15:05 (UTC)

It turns out that the qt5-related problem was a missing dependency on libxkbcommon-x11. Oops, sorry. It's fixed now.

hsoft commented on 2014-06-02 19:08 (UTC)

I've filed a bug at http://bugs.python.org/issue21643 and I can work around the problem in the PKGBUILD, but in the end it's not of much use because PyQt5 ( https://www.archlinux.org/packages/extra/x86_64/python-pyqt5/ ) is out of date compared to Qt5 which has been recently update to v5.3. There's not much else to do than to wait that PyQt5 is updated to v5.3.

hsoft commented on 2014-06-02 18:38 (UTC)

Interesting. I seems to be a regression introduced in Python 3.4.1 by http://bugs.python.org/issue21197 . I file a bug and then find a workaround for the PKGBUILD.

omlet05 commented on 2014-06-02 16:50 (UTC)

hi, I've got this: Error: [Errno 17] File exists: '/tmp/yaourt-tmp-root/aur-dupeguru-me/src/env/lib' -> '/tmp/yaourt-tmp-root/aur-dupeguru-me/src/env/lib64' Installing pip requirements PyQt 5.1+ required. Install it and try again. Aborting

hsoft commented on 2014-01-17 19:23 (UTC)

Yeah, that is caused by the combination of two things: 1. polib's author didn't publish its releases on PyPI 2. pip 1.5 stopped allowing downloads external to PyPI by default polib's author has just commented that he's going to upload polib to PyPI as soon as he can (I expect it to happen before the end of the week-end). See https://bitbucket.org/izi/polib/issue/42 So the problem should fix itself shortly. As for the dependencies on other AUR packages, I prefer to avoid it (and polib is a really small package) because it makes package building harder than it should.

kozaki commented on 2014-01-16 17:14 (UTC)

Harey's right :) Simply added python-polib to the PKGBUILD. The next minute, dupeguru-me was built and already scanning these folders. By the time I wrote this it found 298 dupes, even when I supposedly cleaned them all already :}

Harvey commented on 2014-01-16 15:54 (UTC)

Got it! It needs an additional makedepend: python-polib from AUR https://aur.archlinux.org/packages/python-polib/ Then all is fine ;)

kozaki commented on 2014-01-16 12:10 (UTC)

Hi, same than Harey in this location. ~/.pip/pip.log: <snip> Skipping http://polib.googlecode.com/files/polib-0.5.0.tar.gz (from https://pypi.python.org/simple/polib/) because it is externally hosted. Skipping http://polib.googlecode.com/files/polib-0.5.1.tar.gz (from https://pypi.python.org/simple/polib/) because it is externally hosted. Skipping link http://polib.readthedocs.org (from https://pypi.python.org/simple/polib/); not a file Skipping link http://polib.readthedocs.org/ (from https://pypi.python.org/simple/polib/); not a file Skipping link http://polib.readthedocs.org/en/latest/projects.html (from https://pypi.python.org/simple/polib/); unknown archive format: .html Skipping link http://polib.readthedocs.org/en/latest/quickstart.html (from https://pypi.python.org/simple/polib/); unknown archive format: .html <snip>

Harvey commented on 2014-01-16 11:18 (UTC)

Does not build: Downloading/unpacking polib>=0.7.0 (from -r requirements.txt (line 4)) Could not find a version that satisfies the requirement polib>=0.7.0 (from -r requirements.txt (line 4)) (from versions: 0.1.0, 0.3.0, 0.3.1) Some externally hosted files were ignored (use --allow-external to allow). Cleaning up... No distributions matching the version for polib>=0.7.0 (from -r requirements.txt (line 4)) Storing debug log for failure in /home/harvey/.pip/pip.log Bootstrapping complete! You can now configure, build and run dupeGuru with: . env/bin/activate && python configure.py && python build.py && python run.py ==> Starting build... Configuring dupeGuru ME for UI qt (Release) Traceback (most recent call last): File "build.py", line 25, in <module> from hscommon import loc File "/home/harvey/abs/local/dupeguru-me/src/hscommon/loc.py", line 7, in <module> import polib ImportError: No module named 'polib'

hsoft commented on 2013-11-15 12:17 (UTC)

Not really, polib is installed in a virtualenv during the build process. makepkg fails for you?

JKAbrams commented on 2013-11-15 11:28 (UTC)

Needs python-polib to build. https://aur.archlinux.org/packages/python-polib/

hsoft commented on 2013-10-15 22:21 (UTC)

@slot: What do you mean? The current build script works correctly and builds straight from the source instead of going through Ubuntu's DEB. Why would one want to do that?

slot commented on 2013-10-15 21:33 (UTC)

Now there are three versions to chose from, here is one working package-build: # Maintainer: Virgil Dupras <hsoft@hardcoded.net> pkgname=dupeguru-me pkgver=6.6.0 pkgrel=1 pkgdesc="Find duplicate songs in your music collection" arch=(any) url=http://www.hardcoded.net/dupeguru_me/ license=(custom:Fairware) depends=(python pyqt sip) source=(https://launchpad.net/~hsoft/+archive/ppa/+files/dupeguru-me_${pkgver}%7Eraring_all.deb) md5sums=('4bf31e4c7266e952ebf45c1320dce33e') build() { return 0 } package() { cd "${srcdir}" bsdtar -xf dupeguru-me_${pkgver}%7Eraring_all.deb data.tar.gz bsdtar -xf data.tar.gz mkdir -p "${pkgdir}"/usr/bin mv usr/bin/dupeguru_me "${pkgdir}"/usr/bin mv usr/share "${pkgdir}"/usr/ }

rtfreedman commented on 2013-06-19 22:02 (UTC)

It's nice to see a native ARCH build of dupeguru-me :) I'll request a merge/deletion of https://aur.archlinux.org/packages/dupeguru-me-bin/

hsoft commented on 2013-06-19 21:52 (UTC)

2.7.1-2: I replaced pyqt's dependency with python-pyqt4

hsoft commented on 2013-06-19 21:47 (UTC)

6.5.1-2: I replaced pyqt's dependency with python-pyqt4

rtfreedman commented on 2012-08-18 12:51 (UTC)

With the newly released 6.5.0 the license has been changed to: bsd Unfortunately, the download location has been changed (again) :( source=(https://launchpadlibrarian.net/112416309/dupeguru-me_${pkgver}_all.deb)

rtfreedman commented on 2012-07-31 17:37 (UTC)

Maybe I'm going to maintenance it... until than, here is a ( revised & streamlined ) PKGBUILD --x--x--x--x-- pkgname=dupeguru-me-bin pkgver=6.4.2 pkgrel=1 pkgdesc="Find duplicate songs in your music collection" arch=(any) url=http://www.hardcoded.net/dupeguru_me/ license=(custom:Fairware) depends=(python pyqt sip) source=(http://download.hardcoded.net/dupeguru-me_${pkgver}_all.deb) md5sums=('d1e9cba2993b31769cbfb03c9290ba47') build() { return 0 } package() { cd "${srcdir}" bsdtar -xf dupeguru-me_${pkgver}_all.deb data.tar.gz bsdtar -xf data.tar.gz mkdir -p "${pkgdir}"/usr/bin mv usr/bin/dupeguru_me "${pkgdir}"/usr/bin mv usr/share "${pkgdir}"/usr/ } --x--x--x--x--

Harvey commented on 2012-07-22 10:20 (UTC)

Maintainer: None ... Maybe you would do it yourself?

gtmanfred commented on 2012-07-21 20:03 (UTC)

please fix this pkgbuild to conform to packageing standards

rtfreedman commented on 2012-07-09 17:26 (UTC)

I don't like 'latest' PKGBUILDs - when was it last time updated? - how do I know of an updated build? and what version do I have installed currently? A lot of questions best solved with a 'proper' PKGBUILD - so here it is one - maybe not perfect... but it works. It has now 'any' as arch - maybe we can ditch 'bin' in the package name? # Maintainer: Dan Serban # Contributor: SiD, rtfreedman pkgname=dupeguru-me-bin pkgver=6.4.2 pkgrel=1 pkgdesc="Find duplicate songs in your music collection" arch=(any) url=http://www.hardcoded.net/dupeguru_me/ license=(custom:Fairware) depends=(python pyqt sip) source=(http://download.hardcoded.net/dupeguru-me_${pkgver}_all.deb) md5sums=('d1e9cba2993b31769cbfb03c9290ba47') build() { return 0 } package() { cd "${srcdir}" bsdtar -xf dupeguru-me_${pkgver}_all.deb data.tar.gz bsdtar -xf data.tar.gz # use our libs # rm usr/share/dupeguru_me/sip.so rm -rf usr/share/dupeguru_me/PyQt4 # move in place mkdir -p "${pkgdir}"/usr/bin mv usr/share "${pkgdir}"/usr/ # fixup sed -i 's|#!/usr/bin/env python3.1|#!/usr/bin/python|' "${pkgdir}"/usr/share/dupeguru_me/run.py # use wrapper USRBINFILE="${pkgdir}"/usr/bin/dupeguru_me echo "#!/bin/bash" > "$USRBINFILE" echo "cd /usr/share/dupeguru_me" >> "$USRBINFILE" echo "python run.py" >> "$USRBINFILE" chmod 755 "$USRBINFILE" }

rtfreedman commented on 2012-01-22 14:30 (UTC)

Hm, it did returned more than 10 results (au contraire to the docs).... And don't trust it blindly!

rtfreedman commented on 2012-01-22 14:17 (UTC)

Just a comment to the license: Fairware This version only finds 10 duplicates - you have to send some money to the author first to get this package work as advertised. [quote]Applications created by Hardcoded Software are open source. However, it needs to be clear that these applications have been professionally built and that the time invested in building those applications is expected to be compensated by contributions from users. All hours invested in HS apps are logged, and all contributions are used to pay those hours back. [/quote]

rtfreedman commented on 2012-01-22 13:27 (UTC)

The current version 6.2.1 doesn't reference /local/ anymore (resp. dir's local/share and local/bin are empty) - please update PKGBUILD

rtfreedman commented on 2012-01-22 13:15 (UTC)

This doesn't work _url=$(lynx -dump http://www.hardcoded.net/dupeguru_me/ | grep -o http.*${_filearch}.deb | tail -1) This line select the previous version. it should read _url=$(lynx -dump http://www.hardcoded.net/dupeguru_me/ | grep -o http.*${_filearch}.deb | head -1)