Package Details: freetube 0.20.0-3

Git Clone URL: https://aur.archlinux.org/freetube.git (read-only, click to copy)
Package Base: freetube
Description: An open source desktop YouTube player built with privacy in mind.
Upstream URL: https://freetubeapp.io
Licenses: AGPL3
Submitter: picokan
Maintainer: picokan
Last Packager: picokan
Votes: 58
Popularity: 2.37
First Submitted: 2020-10-02 22:19 (UTC)
Last Updated: 2024-04-20 13:11 (UTC)

Latest Comments

1 2 3 4 5 6 .. 12 Next › Last »

taivlam commented on 2024-04-20 15:31 (UTC)

Thank you!

picokan commented on 2024-04-20 13:11 (UTC)

My bad, should be fixed.

taivlam commented on 2024-04-20 09:32 (UTC) (edited on 2024-04-20 15:30 (UTC) by taivlam)

Update: Issue has been fixed!

Hi, the SHA256 checksum for the freetube.sh file needs to be changed from 3f4951c6cdb33cc1c4df05606760197efe45321519c259e47656077d6df2af18 to 6e6f87019452eab4dd75ffe241cebe979fab532596647cdbc42f9a4aaf30cbe5.

When I try to build the package, I received this message at the end of stdout:

==> Validating source files with sha256sums...
    v0.20.0-beta.tar.gz ... Passed
    freetube.desktop ... Passed
    freetube.sh ... FAILED
==> ERROR: One or more files did not pass the validity check!

picokan commented on 2024-04-20 07:39 (UTC)

Normally I keep the dependency as the lastest electron version to avoid keeping multiple electron versions in my system, but I've seen a lot of problems with version 30 over many different programs, so I will downgrade the dependency to v29.

Also from what I understand reading the github issue, telling freetube to use v29 in the package.json file, but then building it and running it with v30 was what was causing the issue in this specific case.

On that final point, please never create issues or tickets upstream if you can't replicate it using their own steps. I package freetube for our convenience, not to be another source of noise.

je-vv commented on 2024-04-17 17:13 (UTC) (edited on 2024-04-17 17:17 (UTC) by je-vv)

In that they were right @tuxayo, becuase we use the easy yarn way, and I was mistaken with my original patch, electron is not needed at all, since with yarn downloads by itself the electron binary it needs, the system electron is not being used on the build.

That said, I see two places where the freetube packaging is hard coding versions:

FreeTube-0.20.0-beta/yarn.lock:3497:  resolved "https://registry.yarnpkg.com/electron/-/electron-29.1.6.tgz#3804545a7570e88717f01e02ec871c667c55e596"
FreeTube-0.20.0-beta/yarn.lock:3500:    "@electron/get" "^2.0.0"
...
FreeTube-0.20.0-beta/package.json:92:    "electron": "^29.1.6",

I'm no expert on yarn neither javascript, but good trial would be to edit those two file, and see. The sad side, is that they are hard coding everything, the major, the minor and the patch versions (if electron uses semver), which is pretty static.

Yarn is a bit of a headache...

And it bothers me a little bit the answer was that someone tried it on electron30, but didn't say how. As you can see, 29 is hard coded...

But it can be tried. Another possibility is to change the electron dependency to electron29, as it's the hard coded version coming with freetube, and also on the freetube.sh script, like the patch I wrote (just removing the electron dependency, and keeping the electron29 one), and live with that.

I think it'll depend on the package mantainer. It would be nice to totally use the system electron for building, but with yarn is not that easy, at most you can specify it what version to download and use, but that one would still not be the system one. But it might be close enough. Full hard coded version though...

Not sure what this package mantainer will choose, :)

BTW, I edited my patch since eletron was then really bogus

tuxayo commented on 2024-04-17 16:15 (UTC) (edited on 2024-04-17 16:15 (UTC) by tuxayo)

Turns out no, the dev really implied that electron 30 works. And they tested it and it works.

https://github.com/FreeTubeApp/FreeTube/issues/4964#issuecomment-2060334780

The issue is that package.json lists electron 29 so it builds against it and the AUR package has electron 30 for runtime.

We're back to a packing issue here.

tuxayo commented on 2024-04-17 01:59 (UTC) (edited on 2024-04-17 16:17 (UTC) by tuxayo)

But that github issue was closed just because they don't support this AUR package

Your are right! The triaging was so strict it missed or ignore the actual point, electron 30 support.

I don't see the implication that electron 30 is supported [...] So I don't think there's any implication of electron 30.0 supported, they didn't mention that, just that they don't care about the AUR package.

I assumed good faith in their response and though it implied it was supported. So that the packing was wrong. There is no way to close such a ticket «Segfaults after updating to electron 30» without mentioning electron 30 isn't supported. Turns out yes ^^"

edit: I misunderstood, it's not about too strict and expeditive triaging

je-vv commented on 2024-04-17 01:46 (UTC)

But that github issue was closed just because they don't support this AUR package, and I don't see the implication that electron 30 is supported. Good thing it builds freetube fine...

If you look at the PRs about electron [1], you'll notice there are several PRs bumping the electron used by them internally, and the highest version is 29.3.0, on the PR named "Bump electron from 29.2.0 to 29.3.0" [2].

So I don't think there's any implication of electron 30.0 supported, they didn't mention that, just that they don't care about the AUR package.

BTW, I updated the pasted patch, with the Naur diff, which is more appropriate for patches, hehe.

So @tuxayo, I think running freetube with electron29 (no need to change the electron builder version) is for now not just a temporal measure, it's actually the solution for current release version and it'll remain like that until a new release shows up, which includes a commit adding necessary support to electron30 wherever required.

[1] https://github.com/FreeTubeApp/FreeTube/pulls?q=is%3Apr+electron [2] https://github.com/FreeTubeApp/FreeTube/pull/4952

tuxayo commented on 2024-04-17 00:04 (UTC)

Is that what you are experiencing @tuxayo

yep, segfault also

In this ticket[1], a dev implies that it should work with electron 30. So downgrading to 29 could be a short term fix. But there seems to be something in the packaging incompatible with using v30.

[1] https://github.com/FreeTubeApp/FreeTube/issues/4964

je-vv commented on 2024-04-16 23:54 (UTC) (edited on 2024-04-17 17:16 (UTC) by je-vv)

I found that building with electron30, which is latest on Arch, works quite fine. But running with electron30 gives a segfult:

% freetube
/usr/bin/freetube: line 3: 29805 Segmentation fault      electron /usr/lib/freetube/app.asar "$@"

I have no idea how to run electron apps on GDB, hehe, so I can't tell, but for now you just need a patch so that running is executed with electron29, that would be it.

If in a hurry, just manually edit /usr/bin/freetube, and change electron with electron29. I tested it, and it works fine, whether freetube was built with electron30 or electron29 doesn't matter it just works...

If are into rebuilding, then this is the patch to just execute the app.asar with electron29 instead of electron:

diff -Naur laur/freetube/freetube.sh others/freetube/freetube.sh
--- laur/freetube/freetube.sh   2024-02-24 02:40:05.100867187 -0600
+++ others/freetube/freetube.sh 2024-04-16 17:33:30.238265665 -0600
@@ -1,3 +1,3 @@
 #!/bin/sh

-electron /usr/lib/freetube/app.asar "$@"
+electron29 /usr/lib/freetube/app.asar "$@"
diff -Naur laur/freetube/.git/info/lefthook.checksum others/freetube/.git/info/lefthook.checksum
--- laur/freetube/.git/info/lefthook.checksum   2024-04-04 18:55:25.854934795 -0600
+++ others/freetube/.git/info/lefthook.checksum 2024-04-16 17:35:22.619025624 -0600
@@ -1 +1 @@
-1394d277742ecca749eff87db5035692 1667412205
+1394d277742ecca749eff87db5035692 1713310380
diff -Naur laur/freetube/PKGBUILD others/freetube/PKGBUILD
--- laur/freetube/PKGBUILD      2024-04-04 18:53:05.297409075 -0600
+++ others/freetube/PKGBUILD    2024-04-16 17:34:33.998696806 -0600
@@ -8,7 +8,7 @@
 pkgdesc='An open source desktop YouTube player built with privacy in mind.'
 arch=('x86_64' 'i686' 'arm' 'armv6h' 'armv7h' 'aarch64')
 license=('AGPL3')
 depends=( 'electron')
+depends=('electron29')
 makedepends=('yarn')
 url=https://freetubeapp.io
 source=(https://github.com/FreeTubeApp/FreeTube/archive/v$pkgver-beta.tar.gz
@@ -16,7 +16,7 @@
         freetube.sh)
 sha256sums=(b30b17c193372aa1704971a947e2392adb63ae9379cbd45790006f9aa4ffa720
             ada2b4b8f6a1e8896acbce4f4d311228d2c86026c273ffa00afa3247294f8b1e
-                       3f4951c6cdb33cc1c4df05606760197efe45321519c259e47656077d6df2af18)
+            6e6f87019452eab4dd75ffe241cebe979fab532596647cdbc42f9a4aaf30cbe5)

 prepare() {
   sed -i "4i electronDist: '/usr/lib/electron'," "$srcdir/$_pkgname-$pkgver-beta/_scripts/ebuilder.config.js"
   sed -i "4i electronDist: '/usr/lib/electron'," "$srcdir/$_pkgname-$pkgver-beta/_scripts/ebuilder.config.js"
@@ -33,7 +33,7 @@
   install -d "${pkgdir}"/usr/lib/${pkgname}
   cp -R "./$_pkgname-$pkgver-beta/build/linux-unpacked/resources/app.asar" "$pkgdir/usr/lib/$pkgname"
   install -Dm755 "./freetube.sh" "$pkgdir/usr/bin/$pkgname"
-
+
   cd $_pkgname-$pkgver-beta
   install -Dm644 "./_icons/icon.svg" "$pkgdir/usr/share/pixmaps/$pkgname.svg"
   cd ..
diff -Naur laur/freetube/.SRCINFO others/freetube/.SRCINFO
--- laur/freetube/.SRCINFO      2024-04-04 18:53:05.297409075 -0600
+++ others/freetube/.SRCINFO    2024-04-16 17:47:50.430754923 -0600
@@ -11,7 +11,7 @@
        arch = aarch64
        license = AGPL3
        makedepends = yarn
-       depends = electron
+       depends = electron29
        source = https://github.com/FreeTubeApp/FreeTube/archive/v0.20.0-beta.tar.gz
        source = freetube.desktop
        source = freetube.sh

With this patch you're all set... You can run freetube with electron29 and build with electron without specifying the version... You can try rebuilding with this patch. That's what I'd suggest @picokan to do, instead change everything to electron29, besides we need to keep trying on coming versions if electron29 is not longer a requirement.

Is that what you are experiencing @tuxayo? I guess the quick fix of just editing /usr/bin/freetube is more than enough for now. The patch was for me to provide it here and propose it to @picokan