SpacingBat3 / WebCord

A Discord and SpaceBar :electron:-based client implemented without Discord API.
MIT License
1.88k stars 93 forks source link

Update the AUR for 4.5.0 #477

Closed radianthero closed 10 months ago

radianthero commented 10 months ago

Description

AUR is on version 4.2.0, and after it builds doesn't open saying it can't find the program. So the dependencies might be wrong.

Suggestions

Update AUR

Alternatives

Update AUR

Additional Context

Update AUR

SpacingBat3 commented 10 months ago

I suppose there's no package in Arch repos for electron27 and given AUR wrappers usually don't check for dependencies for prebuilt packages in AUR, you'll probably need to install it from AUR (if it actually exist there, i.e. there's any package providing electron27, most likely electron27-bin) on your own.

SpacingBat3 commented 10 months ago

Also take a note makepkg has no idea about the dependencies from AUR at all, so running it with -s for PKGBUILDs that depend on AUR packages is very likely to fail (so I guess it is AUR wrapper's job to check for deps, rather than relying entirely on makepkg or pacman dependency resolving logic for that task in any way).

radianthero commented 10 months ago

After downloading electron27-bin and re-installing webcord through AUR, I still get

Could not find the program 'webcord'

and trying to open through Konsole says command not found

SpacingBat3 commented 10 months ago

Ugh, I'll probably have an approach at building it, right now I'm nowhere near to any Arch Linux PC, maybe once I'll be near my PC (possibly around the weekend).

In the meantime, if you want to test is by yourself, I would check if there are any oddities when building it, like the lack of shell script or asar archive in the prebuilt package…

radianthero commented 10 months ago

Sadly, I'm off to work, but the thing I noticed was that npm kept having memory leaks, I doubt that's what's causing it, but it was something weird of note.

Outside of that, it built without needing -s, so I believe it's building properly. Is there a way to check any logs during the building process? I could send that over when I get home.

Also just random thought, I was looking through the folders to find the .sh, but it instantly closed, regardless of opening with Kate or Konsole.

SpacingBat3 commented 10 months ago

@radianthero I think checking the files with pacman (-Ql) could be one of the things to check. When it comes to logs there isn't much of the stuff happening, the logs is what basically makepkg prints when ran and the app is mostly packaged from scratch, without using any toolkit like Electron Forge. I would personally check with the use of pacman if there's webcord installed in /usr/bin and app.asar installed in /usr/{share,lib}/webcord{-git}{.asar,/app.asar} (not sure where I exactly configured it to install it, AUR package hasn't been updated for quite a time).

radianthero commented 10 months ago

Finally got home, first using -Ql to find webcord gave me

pacman -Ql webcord error: package 'webcord' was not found

But searching for webcord-git gets me

pacman -Ql webcord-git error: package 'webcord-git' was not found warning: 'webcord-git' is a file, you might want to use -p/--file.

And using -p/--file gives me

pacman -Ql -p webcord error: could not load package 'webcord': could not find or read package

along with

pacman -Ql -p webcord-git error: could not open file webcord-git: Error reading fd 5 error: could not load package 'webcord-git': cannot open package file

Next after searching for app.asar in bin, nothing was found

cd /usr/bin $ webcord bash: webcord: command not found

However using Dolphin's search tool, I was able to find it in the AUR clone

./webcord-git/pkg/webcord-git/usr/share/webcord/

Along with the webcord executable

./webcord-git/pkg/webcord-git/usr/bin/

So at the very least, it's being included in the AUR.

And finally here's the logs when running makepkg, not sure if it's useful, but it builds just fine outside of mem leak which I think is a separate/non relevant issue.

https://justpaste.it/ba0g9

SpacingBat3 commented 10 months ago

Huh, did you install the resulting package with pacman -U [path/to/webcord-git*.pkg.tar.*? And -Ql should list the info for installed package, to search for a specific package using some phrase, use -Qs instead?

radianthero commented 10 months ago

I didn't install the package from the .tar, I just did git clone AUR.git, then makepkg. Should I try extracting the .tar?

Using `-Qs' returns nothing.

radianthero commented 10 months ago

After running sudo pacman -U /home/user/webcord-git/webcord-git-4.5.0.r899.03c2064-1-any.pkg.tar.zst, it gives me the error

warning: cannot resolve "electron27", a dependency of "webcord-git" :: The following package cannot be upgraded due to unresolvable dependencies: webcord-git

:: Do you want to skip the above package for this upgrade? [y/N]

Despite installing it with npm just fine

npm install --no-fund electron@v27.0.0

up to date, audited 75 packages in 441ms

Along with me installing it through AUR earlier

electron27-bin $ makepkg ==> ERROR: A package has already been built. (use -f to overwrite)

Pressing n gives me

error: failed to prepare transaction (could not satisfy dependencies) :: unable to satisfy dependency 'electron27' required by webcord-git

Pressing y gives me

looking for conflicting packages... there is nothing to do

Not sure if this is an error on my end, or not, but it doesn't seem like its detecting electron27.

SpacingBat3 commented 10 months ago

Not sure if this is an error on my end, or not, but it doesn't seem like its detecting electron27.

electron27 should be provided by electron27-bin, at least according to AUR page, you've most likely didn't install it correctly (if at all).

Despite installing it with npm just fine.

You don't want to install it via NPM, since that makes pacman unable to track it, either as a package or a dependency to packages.


Also I'll flag this as invalid, since I'm 99% sure this is an issue you'll have to resolve on your own. I'll close this once I test the AUR package myself, to confirm it still works.

radianthero commented 10 months ago

After double checking, I was able to get it running. Though the post was still useful in terms of getting AUR updated. I'm still somewhat new to Linux, and I thought that just doing makepkg would install it as is, didn't think I'd have to extract the .tar file on top of that.

Regardless it's working now. Though is there a way to include electron 27 in the AUR? Thanks for helping anyways.

SpacingBat3 commented 10 months ago

@radianthero just gona make some things straight, since you seem to be confused by a lot (I'm an old user so those things are natural to me):

  1. .pkg.tar.[whatever] is basically the native package format for Arch Linux (like .deb is for Debian). You can install them like with this command pacman -U /path/to/file. I believe Manjaro also assigns the Pamac by default to these, so installing those is going to be as easy as double-clicking at it.

  2. pacman -Q is basically a group of commands, querying the package database. Also pacman supports like long version of the flags, e.g. like pacman --query, but I guess it's better to be used to the one-letter version since people usually don't like to type that much if the don't need to be doing so.

  3. Don't extract produced tars, like into the root filesystem. DON'T. Those are to be installed with pacman -U to be properly tracked afterwards by a package manager, in order to allow for easy updates and uninstall without leaving any leftovers in the root filesystem (Linux / package manager or apps usually don't remove or do anything with any application data that's being managed by the application itself).

  4. Also, PKGBUILD is just the shell script, in fact makepkg is also a shell script as well. This means, the syntax of PKGBUILD is basically the same as of any shell script. I suppose this might be useful if you're familiar with scripting on Linux and want to tweak the PKGBUILD and is actually one of the reasons why I find Arch Linux packaging very intuitive.

radianthero commented 10 months ago

Thank you for the insight. This is very nice of you. I did use Paxman -U for both electron and webcord. While I didn't know what it meant, I did it for both, regardless.

I'll close the thread now, but thank you for your time, even if just human error. Love your work!