Package Details: pixelflasher 6.9.6.0-1

Git Clone URL: https://aur.archlinux.org/pixelflasher.git (read-only, click to copy)
Package Base: pixelflasher
Description: Pixel phone flashing GUI utility with features.
Upstream URL: https://github.com/badabing2005/PixelFlasher
Licenses: GPL-3.0-or-later
Submitter: yochananmarqos
Maintainer: yochananmarqos
Last Packager: yochananmarqos
Votes: 3
Popularity: 0.79
First Submitted: 2023-07-28 16:06 (UTC)
Last Updated: 2024-06-05 20:28 (UTC)

Latest Comments

1 2 Next › Last »

yochananmarqos commented on 2024-05-24 17:28 (UTC)

@ssorgatem: Done. Thanks for explaining.

ssorgatem commented on 2024-05-24 07:49 (UTC)

@yochananmarqos yeah, upstream makes a binary blob to avoid dependencies. But upstream also documents how to run it without PyInstaller, and we don't need to build a PyInstaller binary to run the program if we already have Python in our systems.

The only reason to build a PyInstaller binary is for distribution to other systems where dependencies are unlikely to be met. Since we can make sure the dependencies are met, there's no good reason to use PyInstaller for AUR packages unless it's actually needed for the software to work, which is not the case.

This cannot be built with standards based tools because it doesn't need to be built, it runs as is, no build needed. It's no big deal because it's not a python module or anything.

Here's an example of another AUR package for a Python GUI app that doesn't use standards based tools: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=onedrivegui

There just is no "build" function because there's nothing to build. Building a PyInstaller package here only wastes time and space, and forces the apackge to be rebuilt if you want it to use a newer version of any of its python dependencies. It's like using a PKGBUILD to build an AppImage.

yochananmarqos commented on 2024-05-23 20:02 (UTC)

@ssorgatem: Upstream uses Pyinstaller for cross platform builds. This cannot be built with standards based tools.

ssorgatem commented on 2024-05-23 08:07 (UTC)

Here's a patch to turn this into a proper system Python app using the system's python and python modules instead of building a binary blob. We have the pixelflasher-bin package for that already.

https://gist.github.com/ssorgatem/fa54f5ef994f5b7a6001cc9863ddf774

As a result the package is much smaller (70% size reduction) and the build process is almost instant. It also no longer depends on pyinstaller.

I'm willing to become co-maintainer of this package if you want.

ssorgatem commented on 2024-05-23 06:55 (UTC)

Is there a reason why this package is building a PyInstaller binary rather than just installing PixelFlasher as a regular Python program?

syyyr commented on 2024-04-30 14:50 (UTC)

@sawdoctor It's because python got updated: rebuild pyinstaller

sawdoctor commented on 2024-04-30 11:11 (UTC)

Getting the following error on the latest update

traceback (most recent call last): File "/usr/bin/pyinstaller", line 5, in <module> from PyInstaller.main import _console_script_run ModuleNotFoundError: No module named 'PyInstaller' ==> ERROR: A failure occurred in build().

yochananmarqos commented on 2024-02-18 15:46 (UTC)

@RunasSudo: What were you doing when you received that error?

RunasSudo commented on 2024-02-18 05:43 (UTC)

tk is a missing dependency:

  File "/usr/lib/python3.11/site-packages/PyInstaller/utils/hooks/tcl_tk.py", line 198, in _find_tcl_tk
    tk_dir = os.path.join(os.path.dirname(tcl_dir), f"tk{tk_version}")
                          ^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen posixpath>", line 152, in dirname
TypeError: expected str, bytes or os.PathLike object, not NoneType

yochananmarqos commented on 2023-12-30 20:53 (UTC)

@mountmutombo: Looks like it should be fixed with 6.5.2.0.