Void-packages: Package Request: Discord

Created on 16 Mar 2020  路  20Comments  路  Source: void-linux/void-packages

Can the discord package be added to the packages? I have void linux glibc.

Most helpful comment

I won't change my opinion on not accepting packages that require permission especially if its as informal as a email to some random maintainer.

The license doesn't allow redistribution so we shouldn't redistribute it, there is little benefit and a lot of trust mirror providers have in void linux to not include binaries that are not allowed to be redistributed, even if the informal mail would include mirrors.

All 20 comments

There already is a restricted package, meaning you have to build it. discord can't be redistributed

@Frick-David you can read the README on the void-packages repo for how to build a package. The handbook has a brief rundown on the changes needed to build a restricted package:

https://docs.voidlinux.org/xbps/repositories/restricted.html

It's going to be something like:

./xbps-src binary-bootstrap
echo XBPS_ALLOW_RESTRICTED=yes >> etc/conf
./xbps-src pkg discord

After you checkout the templates repo.

@abenson, I am not sure I follow, as discord appears to be a package for Arch, and I am pretty sure Debian as well. Is the restricted package something specific for Void? Like does the discord company have to green-light it?

@bobertlo Okay, cool I will probably do that. I know that steam is on flatpak, but I do not necessarily have all those dependencies. This seems the best path

@Frick-David You're right, Discord is redistributed on Arch. However, that's against their general terms. In this case, Discord explicitly permitted Arch (or rather the package maintainer), as seen here.

The Debian variant is only redistributed through Discord's official channels, offering a .deb file to download from their website.

That arch linux accepted this seems bad to me.

This is an official notification granting you permission to distribute
Discord in the Arch official repositories.

This is way too vague and puts mirrors and i.e. downstream distributions like manjaro at risk.

@Duncaen I guess this is outside of our interests here :-)

Just for the record, we also have permissions as the contributor who added the template requested them from discord when the package was first added, but we decided against redistributing it anyways and I still think its a good decision.

I went back and looked at the support tickets I made asking about distributing Discord, (I'm the original author, however the original pr seems to no longer exist on github)
Last communication I had with them over this over 4 years ago looks to be them asking the following:
Screen Shot 2020-03-16 at 2 36 00 PM

I would take this to mean Void Linux never "officially" got permission to distribute the Discord binaries, and if this is desired, Someone would have to ask their support desk for permission again. (Or at least to clarify more on what permissions void may or may not have been granted on re-distributing Discord's binaries.)

(To my knowledge they're quite friendly to this, it's just a matter of asking, and clarifying that mirroring and the such is fine and allowed by them)

I guess this means the following: Someone would need to opt-in as a maintainer, ask them, and the whole thing must be green-lit to be added into the nonfree repo (I assume).

I won't change my opinion on not accepting packages that require permission especially if its as informal as a email to some random maintainer.

The license doesn't allow redistribution so we shouldn't redistribute it, there is little benefit and a lot of trust mirror providers have in void linux to not include binaries that are not allowed to be redistributed, even if the informal mail would include mirrors.

+1, I was just listing options. Besides, workarounds aren't difficult at all. I just have the tar archive in my home directory (on the installations I actually need discord on) with a custom .desktop file, works fine too.

Wow, thanks for pointing all this out. This is a very interesting topic i.e. distributing/licensing. I can fully see why y'all decided against packaging it. Thanks for the feedback!

@bobertlo I successfully built it and have it working. I will submit it as a documentation to void-docs. I just have a question to make note of before. Could you tell me, how would I update discord in future updates with this method?

For note for my discord void doc:
The commands I ran were

git clone https://github.com/void-linux/void-packages
cd void-packages
./xbps-src binary-bootstrap
echo XBPS_ALLOW_RESTRICTED=yes >> etc/conf
./xbps-src pkg discord
cd hostdir/binpkgs/nonfree
xbps-install --repository=. discord

Most Discord updates handle themselves (as you probably know). If you actually need a new package version, the app will refuse to launch after an update and suggest a .deb file download, at which point you just pull this repo again and rerun ./xbps-src pkg discord and reinstall the same way as before. You may need to remove the previous version's xbps file though I don't remember.

@Frick-David I originally was going to post a more detailed overview, but we really do not want to duplicate the xbps-src documentation in the void-packages repo. I think more valuable would be a more clear and simple quick start in the void-packages repo readme. Not that the existing documentation is bad, but this comes up a lot.

Edit: also see the xbps-mini-builder referenced in the docs if you really want to keep automated restricted package building. From personal experience it is probably simpler to just update manually in cases like this. Discord in particular does not need package updates very often at all. Like once or twice a year in my experience, and it will tell you :)

especially if its as informal as a email to some random maintainer.

@Duncaen Out of curiosity, what would be considered a "formal" way here? Under the assumption that a package would for some reason be accepted.

Similar license or a license by itself, written like a legal document (Not "Hello, you can use this.").

  • What does this permission grant?
  • What conditions invalidate the permission? (the arch linux mail doesn't include anything, while your mail sounds like there are conditions).
  • Is there a limit: lifetime/date/version?
  • Is this permission transferable? (mirrors, downstream distributions)
  • Can the permission be revoked, how is it revoked, what action is required?

And I'm not a lawyer so I don't know if I am missing anything here. The best scenario would be that the redistribution clause is removed from the license and allows to redistribute the unmodified content of the archive.

@bobertlo, Would it be possible to have a page when you click on the package name on the void package search page that explains how to install or use it. For example, my docker doc could then be moved from void docs to that page so the void docs typically only cover stuff important to the void user, not a package user. Right now, when you click on a package, it brings you to Github with a template for the package, and I would assume a README, if there was one. Food for thought.

@bobertlo I successfully built it and have it working. I will submit it as a documentation to void-docs. I just have a question to make note of before. Could you tell me, how would I update discord in future updates with this method?

For note for my discord void doc:
The commands I ran were

git clone https://github.com/void-linux/void-packages
cd void-packages
./xbps-src binary-bootstrap
echo XBPS_ALLOW_RESTRICTED=yes >> etc/conf
./xbps-src pkg discord
cd hostdir/binpkgs/nonfree
xbps-install --repository=. discord

Simply update the template file, repackage it, go to the hostdir/binpkgs/nonfree and reinstall the package.

This is the most straightforward method that comes into mind :smile:

Was this page helpful?
0 / 5 - 0 ratings