Skip to content
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

Package 4.0.4 #566

Closed
12 of 15 tasks
arsenetar opened this issue May 4, 2019 · 46 comments
Closed
12 of 15 tasks

Package 4.0.4 #566

arsenetar opened this issue May 4, 2019 · 46 comments
Assignees

Comments

@arsenetar
Copy link
Owner

arsenetar commented May 4, 2019

  • Update Version to 4.0.4
  • Update Changelog
  • Package Windows 64 bit
  • Package Windows 32 bit
  • Package OSX Qt (experimental)
  • Package OSX Cocoa
  • Package .deb
  • Package .rpm (maybe)
  • PPA Ubuntu LTS
  • PPA Ubuntu Latest (LTS packages should work)
  • Package Arch Linux
  • Commit any changes needed to complete packing
  • Tag Repository
  • Make Github Release
  • Update Website
@arsenetar arsenetar added this to the 4.0.4 milestone May 4, 2019
@scresante
Copy link

I see youre actively working on some hard packaging problems. I am attending PyCon and I think this would be something I'd like to work on during the sprints. I'd have to learn a lot but it would be worth it. Are you at PyCon? Tweet me @scresante

@arsenetar arsenetar self-assigned this May 4, 2019
@arsenetar
Copy link
Owner Author

@scresante Currently I have working windows builds and finally got a way to build the OSX Qt version and package it. I had some issues with using the existing package.py for the supported linux packages last time I tried to package them and haven't quite got through them yet.

I am not at PyCon.

@arsenetar
Copy link
Owner Author

Just a general progress update here:

  • The OSX Qt version builds, packages, and runs so currently only issue is code signing.
  • The OSX Cocoa version builds, however it seems like there is an issue with all the python packages being pulled in, I am not sure how to approach this right now. @hsoft had you seen any issues before where all the required python packages were not included in the py folder?
  • Looking at working through Linux packages next

@ghost
Copy link

ghost commented May 15, 2019

It's been many years since I interacted with a Mac OS system as a developer. I don't remember.

@glubsy
Copy link
Contributor

glubsy commented Jul 10, 2019

@arsenetar I currently maintain the PKGBUILD for the Arch Linux User Repository (AUR). Packaging for it could be already be considered mostly done already? I'm currently working on upgrading to 4.0.4.

I'm still pulling some dependencies with pip from the requirements.txt, namely hsaudiotag3k and python-polib (sphinx too). The others are pulled from the Arch repos: libxkbcommon-x11, python-send2trash, python-pyqt5, python.

However, I noticed the hscommon is empty in the source release tarball that I use for the package (qtlib also). Is this intentional or a mistake? We still require dependencies from this base package.

@arsenetar
Copy link
Owner Author

@glubsy The source tarball that is currently in this release is the automatically created one from github which does not contain the contents of the submodules. I have uploaded a complete one now as well: https://github.com/arsenetar/dupeguru/releases/download/4.0.4/dupeguru-src-4.0.4_RC.tar.gz (The RC is mainly just to indicate there may be some changes to scripts to accomplish packaging all versions).

@glubsy
Copy link
Contributor

glubsy commented Jul 10, 2019

@arsenetar thanks for taking the time to set up the complete tarball. The Arch PKGBUILD works just fine now.

Also thanks for working on this release. I meant to join the endeavour before but I got pulled into other projects. Still might attempt to contribute in the future. ;)

@Mannshoch
Copy link

ho do i get hsaudiotag on ubuntu? it seems missing in the phyton3 package.
on internet i only find a release note from 2011

@glubsy
Copy link
Contributor

glubsy commented Jul 13, 2019

@Mannshoch you should be able to get it with pip3 install hsaudiotag.

@Mannshoch
Copy link

pip3 seems not installed on my computer but after install that also it worked.
Thanks.

@ryanpcmcquen
Copy link

@arsenetar, any updates on the Mac release?

@arsenetar
Copy link
Owner Author

@ryanpcmcquen, I have actually got the application built and running on OSX with the Qt version which I consider experimental as I am not sure if there will be any incompatibilities. The user interfaces has a few oddities but is functional and scanning seems to work. The Cocoa UI version has had some issues with the packaging scripts which I have not completely resolved. I believe I might have a solution but have not had a chance to test it out.

On some level this has been mostly stalled out since mid May since I have been quite busy outside of this project. I will see if I can finish up packaging the Qt version in the next week as that seemed to be ready to go, just wanted to validate some of the functionality a bit more. I will also try out my solution for the Cocoa version to determine what the next steps are for that package. (The Cocoa version thus far has been a bit of a time sink for me due to the packaging issues when I have had time to work on this project.)

I do plan to get the Cocoa packaging figured out for this release and at least one more, but I am strongly considering dropping the Cocoa version and just doing the Qt version for OSX instead if that proves to work.

TLDR: OSX packaging has had some issues and life has been busy. Will attempt to release Qt version within a week, and possibly Cocoa if things go well.

@arsenetar
Copy link
Owner Author

Updated the release to point to AUR page for Arch Linux package.

@ryanpcmcquen
Copy link

@arsenetar, thank you for all your work! I would be happy with any version. 👍 Sounds like Qt is the way to go. 😸

@arsenetar
Copy link
Owner Author

Just an update since I don't have the OSX Qt version released yet, having issues with signing the application so that OSX security will let the application run once downloaded. I thought I could get through this but it has been a rabbit-hole style problem of issues.

@ryanpcmcquen
Copy link

@arsenetar, can't it be run without signing by right clicking the .app and selecting 'Open' on the first run?

@arsenetar
Copy link
Owner Author

@ryanpcmcquen I did not have luck with that and OSX 10.14, you can disable Gatekeeper it seems then it works or change an attribute on the file via the command line after download. I figured both those options were non-ideal. I think I had tried right clicking earlier on and was unsuccessful, since it was an unidentified developer. I can give it a try again, I saw some information to support it should have worked that way, but didn't when I tried it out.

@ryanpcmcquen
Copy link

@arsenetar, that is unfortunate!

@arsenetar
Copy link
Owner Author

No longer going to try to package an .rpm this time around as there have been enough issues getting the rest of the packages made.

@kirk-kerekes
Copy link

FWIW, Apple officially recommends that if you are going to use a separate language interpreter like Python, that you incorporate the interpreter itself (and any related dependencies, like libraries) into your package, and not depend upon the OS version, if any. This pretty much eliminates all wrong-version-of-Python issues, and avoids stepping on some of the security landmines.

With this formula, you can write an App Store app (for macOS or iOS or tvOS) mostly in Python or whatever. The myth that you can't use Python to build an app-store app is just that -- a myth.

It should also ultimately simplify packaging -- everything goes directly into the project, and the project puts everything into into the resulting app.

Compiled interpreters become signed "auxiliary executables".

".py" files become app resources.

With that observation I have exhausted my knowledge of Python.

@arsenetar arsenetar pinned this issue Dec 11, 2019
@arsenetar
Copy link
Owner Author

For those of you interested in trying it out, I got an unsigned build of the OSX versions made today which will work in Catalina (10.15). I need to try to verify them a bit more before posting them in the release. Since these files are not signed with a developer cert, you will have to allow them in System Preferences > Security and Privacy. The Qt version does not use the dark theme.

Files:

@emilbar
Copy link

emilbar commented Jan 6, 2020

Some short test with this build

dupeGuru_osx_cocoa_4.0.4_RC1:
Crash on startup - MacMini 2018 - macOS Mojave (10.14.6)

dupeGuru_osx_qt_4.0.4_RC1:

  • It works but in low resolution mode - not nice on retina displays

image

  • Some menus are different in comparison to 4.0.3 version and less intuitive for standard MAC users:
    - Send Marked to Recycle Bin vs Send Marked to Trash
    - Open Containing Folder of Selected vs Reveal Selected in Finder
  • Quick Look are gone - very nice feature when comparing pictures with some delta
  • when you select dupeGuru Help it links to the old pages https://www.hardcoded.net/dupeguru/help/en/ (in version 4.0.3 help is included in application)

I like that you merge Preferences... in one window and add tab for results, but I can't find a way to switch between them with keyboard.

@arsenetar Thank you for maintaining this nice app and I hope that you will find solution for all macOS related problems

@arsenetar
Copy link
Owner Author

@emilbar Do you have the crash information for the cocoa version? That would be helpful in determining why it is not running. I had it running on 10.15 and it seemed to work so I wonder if this is something that is not compatible with 10.14 from the build.

The qt version is just the windows/linux version built for OSX so it will have some differences from the 4.0.3 version. I am really just trying this out starting in 4.0.4 to see if I can reduce the amount of UI development.

  • I will have to look into why this version is not scaling for high-dpi screens.
  • Help should have be included, I probably just forgot to build it in this trial release.

Thanks for providing the feedback.

@arsenetar
Copy link
Owner Author

Looks like there might be an issue with the embedded version of python on the cocoa version. I am still looking into it but that seems to be likely.

@arsenetar
Copy link
Owner Author

@emilbar Ok, so it looks like the python I had used to package the application had a minos version of 10.15 so that might have been the issue. I also verified a few other xcode related build settings but not seeing other obvious issues here. I have built a new version of the cocoa package:

dupeGuru_osx_cocoa_4.0.4-RC2.zip

This one is also signed and notarized so you should not perform the extra steps to let it run.

@emilbar
Copy link

emilbar commented Jan 7, 2020

@arsenetar Same crashes with this version. Iam sending you log file. I hope that will help you.
Python version on Mojave is 2.7.16. Catalina uses Python 3. Maybe is that a problem?

Iam not a programmer. Just basic knowledge with javascript for writing mini scripts for automating Adobe Indesign and some understanding of coding. So maybe sometimes i will ask stupid question:)

I dont care much about naming menus or if it is qt version except for QucikLook support. Do you intend to include this on mac version? And sorry for my english, its not my primary language.
dupeGuru_2020-01-07-084316_Emil-Mac-mini.txt

@arsenetar
Copy link
Owner Author

@emilbar Thanks for the crash report. That is useful, I have not figured out why you see that issue and I don't with the build. The application packages its own version of python3 as an embedded framework so the python difference between Mojave and Catalina should not be an issue.

I am probably going to need some more feedback to help determine the issue, but will continue looking into it.

@ryanpcmcquen would you be able to try the new RC2 release of the cocoa version and let me know if you have any issues with it?

@ryanpcmcquen
Copy link

@arsenetar, it will not launch for me.

@ryanpcmcquen
Copy link

@arsenetar, here is what I get when I launch from the command line:

% /Applications/dupeGuru.app/Contents/MacOS/dupeGuru
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Traceback (most recent call last):
  File "/Applications/dupeGuru.app/Contents/Resources/dg_cocoa.py", line 15, in <module>
    from inter.app import PyDupeGuru
  File "build/py/inter/app.py", line 8, in <module>
  File "build/py/core/app.py", line 14, in <module>
  File "build/py/send2trash/__init__.py", line 12, in <module>
  File "build/py/send2trash/plat_osx.py", line 9, in <module>
  File "build/py/ctypes/__init__.py", line 551, in <module>
  File "build/py/ctypes/__init__.py", line 273, in _reset_cache
MemoryError
AttributeError: module '__main__' has no attribute 'PyDupeGuru'
2020-01-15 16:02:59.480 dupeGuru[48731:2255277] *** Terminating app due to uncaught exception 'PythonException', reason: '<class 'AttributeError'>: module '__main__' has no attribute 'PyDupeGuru''
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff37f768ab __exceptionPreprocess + 250
	1   libobjc.A.dylib                     0x00007fff6e1e7805 objc_exception_throw + 48
	2   dupeGuru                            0x00000001069b6ea3 dupeGuru + 69283
	3   dupeGuru                            0x00000001069b6d5d dupeGuru + 68957
	4   dupeGuru                            0x00000001069a9cc8 dupeGuru + 15560
	5   dupeGuru                            0x00000001069b37ce dupeGuru + 55246
	6   CoreFoundation                      0x00007fff37eee965 -[NSSet makeObjectsPerformSelector:] + 231
	7   AppKit                              0x00007fff3509e600 -[NSIBObjectData nibInstantiateWithOwner:options:topLevelObjects:] + 1485
	8   AppKit                              0x00007fff35092466 loadNib + 401
	9   AppKit                              0x00007fff35091a29 +[NSBundle(NSNibLoading) _loadNibFile:nameTable:options:withZone:ownerBundle:] + 693
	10  AppKit                              0x00007fff3509167f -[NSBundle(NSNibLoading) loadNibNamed:owner:topLevelObjects:] + 201
	11  AppKit                              0x00007fff35091458 +[NSBundle(NSNibLoading) loadNibNamed:owner:] + 446
	12  AppKit                              0x00007fff35083665 NSApplicationMain + 505
	13  dupeGuru                            0x00000001069b29ca dupeGuru + 51658
	14  libdyld.dylib                       0x00007fff6f5557fd start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
zsh: abort      /Applications/dupeGuru.app/Contents/MacOS/dupeGuru

@arsenetar
Copy link
Owner Author

Thanks @ryanpcmcquen, this additional information is helpful. Just for reference what version of OSX are you running?

@ryanpcmcquen
Copy link

@arsenetar:
10.15.2

@arsenetar
Copy link
Owner Author

arsenetar commented Jan 28, 2020

@ryanpcmcquen @emilbar Just a quick update, the information you guys have provided has helped me get closer to figuring out what might be going on here. Unfortunately, I cannot reproduce the issue in my build environment. This has made identifying the exact cause a bit harder. I have managed to rule a few possibilities out. I am currently working on getting a separate test environment setup to help find the exact cause of the issue. I also have found a few issues in the QT version of the application (for OSX), which I would like to fix before finalizing that one for release.

@fuzzy76
Copy link

fuzzy76 commented Mar 26, 2020

Seeing the same. RC1 works (but crashes on large libraries), while RC2 won't launch.

@maszek
Copy link

maszek commented Mar 26, 2020

I am reporting the same as fuzzy76.

I've attached an error log file here. It's an error log from Apple, not from DupeGuru.
2020-03-25 DupeGuru error log.rtf.zip

@SeaCelo
Copy link

SeaCelo commented Jun 1, 2020

On Catalina 10.15.5 neither RC1 nor RC2 launches.

@arsenetar
Copy link
Owner Author

@SeaCelo
Copy link

SeaCelo commented Jun 1, 2020

@SeaCelo does the Qt version run? https://github.com/arsenetar/dupeguru/files/4013495/dupeGuru_osx_qt_4.0.4_RC1.zip

Yes. I'm running it now and seems to launch and is analyzing picture contents

@SeaCelo
Copy link

SeaCelo commented Jun 1, 2020

@SeaCelo does the Qt version run? https://github.com/arsenetar/dupeguru/files/4013495/dupeGuru_osx_qt_4.0.4_RC1.zip

Yes. I'm running it now and seems to launch and is analyzing picture contents

FYI, while it launches and "runs", it does not complete. Seems to get stuck at:
"Verified 3154/3154 matches" and doesn't complete.

@SeaCelo
Copy link

SeaCelo commented Jun 2, 2020

@SeaCelo does the Qt version run? https://github.com/arsenetar/dupeguru/files/4013495/dupeGuru_osx_qt_4.0.4_RC1.zip

Yes. I'm running it now and seems to launch and is analyzing picture contents

FYI, while it launches and "runs", it does not complete. Seems to get stuck at:
"Verified 3154/3154 matches" and doesn't complete.

Update: I deleted all preferences and ran the app again (QT). Works.

Not sure why it wants access to paths like these, though:

Sandbox: dupeGuru(66831) System Policy: deny(1) file-read-data /Users/mlafleur/Library/Containers/com.apple.news/Data/Library/Preferences Violation: System Policy: deny(1) file-read-data /Users/mlafleur/Library/Containers/com.apple.news/Data/Library/Preferences

@SeaCelo
Copy link

SeaCelo commented Jun 3, 2020

Running it again and crashing. From console:

crash.txt

@arsenetar
Copy link
Owner Author

@SeaCelo Thanks for the updates, with regards to the path access, I am not aware of a reason why it would be accessing that path unless it was part of a directory added to look in. I can look into this a bit more. As for the crash report good to have. I think it is best to attach those as a text file to the post so it does not scroll the conversation so much.

@SeaCelo
Copy link

SeaCelo commented Jun 3, 2020

@SeaCelo Thanks for the updates, with regards to the path access, I am not aware of a reason why it would be accessing that path unless it was part of a directory added to look in. I can look into this a bit more. As for the crash report good to have. I think it is best to attach those as a text file to the post so it does not scroll the conversation so much.

@arsenetar Fixed the long post. Sorry.
About the directory, it is not int he path added to look in. I pointed dupeguru to an external volume as the only path. Note that it tried to get into about 10 of these paths (com.apple.[something]/Data/Library/Preferences)

I'm happy to test and send crash reports if needed. Right now, it just doesn't work and I don't know why it sometimes runs or not.

@arsenetar
Copy link
Owner Author

@SeaCelo I'll be trying to reproduce the path behavior and see if there is something I can Identify with the crash. I should have a new version of the non-Qt OSX version up soon, as I think I have figured out the issue with that version but need to do some testing myself to validate it. I'll post an update here once I learn something or have a new version to try.

@darkdragon-001
Copy link

Would be nice to update PPA #484 and release as Flatpak #661.

@SeaCelo
Copy link

SeaCelo commented Jul 13, 2020

@SeaCelo does the Qt version run? https://github.com/arsenetar/dupeguru/files/4013495/dupeGuru_osx_qt_4.0.4_RC1.zip

Yes. I'm running it now and seems to launch and is analyzing picture contents

FYI, while it launches and "runs", it does not complete. Seems to get stuck at:
"Verified 3154/3154 matches" and doesn't complete.

Update: I deleted all preferences and ran the app again (QT). Works.

Not sure why it wants access to paths like these, though:

Sandbox: dupeGuru(66831) System Policy: deny(1) file-read-data /Users/mlafleur/Library/Containers/com.apple.news/Data/Library/Preferences Violation: System Policy: deny(1) file-read-data /Users/mlafleur/Library/Containers/com.apple.news/Data/Library/Preferences

@SeaCelo Thanks for the updates, with regards to the path access, I am not aware of a reason why it would be accessing that path unless it was part of a directory added to look in. I can look into this a bit more. As for the crash report good to have. I think it is best to attach those as a text file to the post so it does not scroll the conversation so much.

@SeaCelo I'll be trying to reproduce the path behavior and see if there is something I can Identify with the crash. I should have a new version of the non-Qt OSX version up soon, as I think I have figured out the issue with that version but need to do some testing myself to validate it. I'll post an update here once I learn something or have a new version to try.

In case this is helpful, simply launching 4.0.4 QT shows this set of messages in my Console output:

qt404-July13.txt

You'll note this group of errors:

error	17:25:59.731060-0400	kernel	Sandbox: dupeGuru(5214) System Policy: deny(1) file-read-data /Users/mlafleur/Library/Containers/com.apple.VoiceMemos/Data/Library/Preferences
error	17:25:59.731534-0400	kernel	Sandbox: dupeGuru(5214) System Policy: deny(1) file-read-data /Users/mlafleur/Library/Containers/com.apple.archiveutility/Data/Library/Preferences
error	17:25:59.748135-0400	kernel	Sandbox: dupeGuru(5214) System Policy: deny(1) file-read-data /Users/mlafleur/Library/Containers/com.apple.Home/Data/Library/Preferences
error	17:25:59.748166-0400	kernel	Sandbox: dupeGuru(5214) System Policy: deny(1) file-read-data /Users/mlafleur/Library/Containers/com.apple.Safari/Data/Library/Preferences
error	17:25:59.758455-0400	kernel	Sandbox: dupeGuru(5214) System Policy: deny(1) file-read-data /Users/mlafleur/Library/Containers/com.apple.iChat/Data/Library/Preferences
error	17:25:59.760750-0400	kernel	Sandbox: dupeGuru(5214) System Policy: deny(1) file-read-data /Users/mlafleur/Library/Containers/com.apple.CloudDocs.MobileDocumentsFileProvider/Data/Library/Preferences
error	17:25:59.763276-0400	kernel	Sandbox: dupeGuru(5214) System Policy: deny(1) file-read-data /Users/mlafleur/Library/Containers/com.apple.mail/Data/Library/Preferences
error	17:25:59.778795-0400	kernel	Sandbox: dupeGuru(5214) System Policy: deny(1) file-read-data /Users/mlafleur/Library/Containers/com.apple.news/Data/Library/Preferences
error	17:25:59.793230-0400	kernel	Sandbox: dupeGuru(5214) System Policy: deny(1) file-read-data /Users/mlafleur/Library/Containers/com.apple.stocks/Data/Library/Preferences

@arsenetar
Copy link
Owner Author

Closing this #753 will take over any remaining things that would carry over.

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

No branches or pull requests