[SOLVED] Replace LibreWolf AppImage by repo version

Librewolf is the only AppImage I have, which I installed before I found out Librewolf is also in the chaotic-aur repo.

I understand having a repo version is preferable to an appimage version. Can I install the repo version while the appimage is still in place?

The reason I ask is that the appimage created and uses a .librewolf folder, the repo version also needs such a folder.

If I just close the appimage, then install the repo version, will the latter automatically use the .librewolf folder present?

I recommend using the “normal” AUR version of librewolf

Yes

Yes

Thanks for your quick reply.

I tried to build it from git clone, but it did not work. Thinking I may have not done it right, I tried with yay -S aur/librewolf, to no avail.

The output I got is below, and I bolded what seemed to me the relevant issue, the python version.

psutil<=5.8.0,>=5.4.2: Installed with unexpected version "5.9.1"
Traceback (most recent call last):
  File "/home/peter/librewolf/src/firefox-102.0.1/./mach", line 96, in <module>
    main(sys.argv[1:])
  File "/home/peter/librewolf/src/firefox-102.0.1/./mach", line 88, in main
    mach = check_and_get_mach(os.path.dirname(os.path.realpath(__file__)))
  File "/home/peter/librewolf/src/firefox-102.0.1/./mach", line 35, in check_and_get_mach
    return load_mach(dir_path, mach_path)
  File "/home/peter/librewolf/src/firefox-102.0.1/./mach", line 21, in load_mach
    return mach_initialize.initialize(dir_path)
  File "/home/peter/librewolf/src/firefox-102.0.1/build/mach_initialize.py", line 153, in initialize
    _activate_python_environment(
  File "/home/peter/librewolf/src/firefox-102.0.1/build/mach_initialize.py", line 99, in _activate_python_environment
    mach_environment.activate()
  File "/home/peter/librewolf/src/firefox-102.0.1/python/mach/mach/site.py", line 359, in activate
    self.ensure()
  File "/home/peter/librewolf/src/firefox-102.0.1/python/mach/mach/site.py", line 337, in ensure
    result = self._up_to_date()
  File "/home/peter/librewolf/src/firefox-102.0.1/python/mach/mach/site.py", line 322, in _up_to_date
    _assert_pip_check(
  File "/home/peter/librewolf/src/firefox-102.0.1/python/mach/mach/site.py", line 1107, in _assert_pip_check
    raise Exception(
Exception: **The "mach" site is not compatible with the installed system Python packages.**
==> ERROR: A failure occurred in build().
    Aborting...

So I checked my version, and it is the latest.

┌09:52:02 WD= [~/librewolf]
└───peter@peter-81fl ─:arrow_forward:$ python --version
Python 3.10.5

Am I right when I say the problem is on the AUR side?

Check the aur comments to solve the issue:

export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=pip
yay -S librewolf

Package does not build with the newest python-psutil package, runs a outdated version of pip.

https://aur.archlinux.org/pkgbase/librewolf/flag-comment

So, how exactly should I handle the export issue, i.e. what command should I use?

Why are you trying to build LibreWolf?

Why don’t you just install librewolf-bin from the AUR?

yay librewolf-bin 

The binary version is in the AUR, so there is no need to build it yourself, there is no need to use appimage, and there is definitely no need to add any third-party repo.

3 Likes

Your deleted your previous comment, which is what I followed, and it worked!
Thank you for that, and of course @ishaanbhimwal.

Just for the experience, as you recommend here.

I was told that packages with -git, -bin, etc. are less stable. So, I am a bit confused as to why you recommend librewolf-bin over plain librewolf.

-bin suffix means that the package is distributed as a binary, no need to compile it yourself. -git means you’re pulling the source code from a git repo. What does it mean that a package is more or less stable?

No, that’s not what I recommended. Read my post carefully. I recommended making a package using makepkg, so that you understand what yay does. You do can do that with -bin packages as well, for example:

$ git clone https://aur.archlinux.org/librewolf-bin.git 
$ cd librewolf-bin
$ makepkg

I most certainly did not recommend building a web browser from source code. :man_facepalming:

When you’re installing a web browser from the AUR, using anything other than a -bin package is silly, since you’re going to have to build it on every update (and by “build”, I mean compile the program, not just package it). You may as well use Gentoo then.

Also, check out the package popularity for librewolf query: https://aur.archlinux.org/packages?K=librewolf, the -bin version is clearly the one that is the default in this case.

1 Like

Well, how was I, as a newbie esp. to Arch, supposed to know that? In any case, you taught me something, thank you for that.

So,in order to avoid having to rebuild with every update, something I do NOT want, should I uninstall plain librewolf and install librewolf-bin? Am I right with my OP comment that a repo version is preferable over an appimage?

You can also read what LibreWolf authors recommend:

Specifically this part:

Note The since the librewolf version compiles the whole browser from source, the installation will take a long time. For a fast installation, librewolf-bin is recommended.


Just install librewolf-bin, since it is in conflict with librewolf it will automatically remove it.

1 Like

The “official” repo versions (from Arch and EndeavourOS) are always recommended (assuming you trust the devs of them :wink:).

If you add a third party repo, it is on your own risk.
The same applies to AUR packages.

Whatever source you use, it is a good idea to (try to) make sure that the source is reliable. E.g. with AUR packages you should check the contents of the PKGBUILD file and possibly other related files.

1 Like

It’s not really the same. With a third party repo, you have no option to check the source of the package, you blindly trust the packager.

You also blindly trust the packagers of the packages from the official repos,1 but since you’re using their OS, that’s a given :slight_smile:

With the AUR, there is no trust necessary.


1 Well, in the specific case of endeavouros repo, you (@manuel) are one of the packagers, so you don’t need to blindly trust yourself, but you know what I mean :rofl:

2 Likes

Yeah, with AUR checking the contents is easier.
I’m not sure if all third party repos publish their PKGBUILD files somewhere but if they do, then checking them should be quite easy too.

Technically you can by compiling from same source and comparing checksums to existing packages…However, will someone do that each time - depends on a person :rofl:

image

But you have no guarantee that they used the published PKGBUILD when building the packages.

They could use their own custom PKGBUILDs with malware and publish clean PKGBUILDs, and the users would be none the wiser.

Unfortunately, compiling from source is often non-deterministic (that’s certainly the case when using gcc, but most compilers are like that). Meaning, you and I can have the same source files, and we compile them using the exact same version of the compiler, and we get different binaries, and hence different checksums.

2 Likes

True, some individuals really are evil…

1 Like

We’re all doomed!!!1

honka_animated-128px-15

1 Like

Well, yes, we are, but not because of non-deterministic compilers, that’s really down on my list of things that cause me to have no faith in the future. :rofl:

1 Like

Please note that not all people are evil… :see_no_evil:

2 Likes