Void linux. Package managers. Alternative to AUR?
Helloo, firstly this might be long post about people talking void linux hasnt much packages in opposite of arch which has aur, so i will try conveince some people to void linux and will tell also something about package managers.
Package manager is a thing that keeps organized all programs on your pc, normally u would have to go to site, download .deb or .tar.xz and etc. package manager takes cares of doing that and manager also integrates this package with system, so when theres update and something is added or deleted, package manager will take care of all.
Okay, so if its only downloading then why AUR has 97587 packages, and XBPS-SRC (void linux - aur alternative kinda) has much less? It's because AUR is community, anyone can maintain some package, XBPS-SRC also has community but by pulling requests to merge TEMPLATES, but that doesn't mean u can't add your own TEMPLATES.
Wait, wait, wait, what are TEMPLATES?
Its kind of script which makes Package manager do its thing. Templates in XBPS-src and "PKGBUILD?" in AUR are similar.
We have to tell in this script: what package, what version, give link to download and etc.
Example of TEMPLATE in XBPS-SRC for DISCORD:
# Template file for 'discord'
pkgname=discord
version=0.0.96
revision=1
archs="x86_64"
depends="alsa-lib dbus-glib gtk+3 libnotify nss libXtst libcxx libatomic
xdg-utils webrtc-audio-processing libXScrnSaver"
short_desc="Chat and VOIP application"
maintainer="Ryan Conwell <ryanconwell@protonmail.com>"
license="custom:Proprietary"
homepage="https://discord.com/"
distfiles="https://dl.discordapp.net/apps/linux/$%7Bversion%7D/discord-$%7Bversion%7D.tar.gz"
checksum=2b885df8aa69310726f46149e39c42d48eda8f14b53aae605b5d7fa6410c4c0c
repository=nonfree
restricted=yes
nopie=yes
nostrip=yes
do_install() {
local package_location="usr/lib/$pkgname" item
vmkdir usr/share/pixmaps
vcopy discord.png /usr/share/pixmaps/
vmkdir usr/share/applications
vcopy discord.desktop /usr/share/applications/
vmkdir ${package_location}
chmod +x Discord
for item in \
locales \
resources \
Discord \
libffmpeg.so \
snapshot_blob.bin \
discord.png \
icudtl.dat \
libEGL.so \
libGLESv2.so \
chrome_100_percent.pak \
chrome_200_percent.pak \
chrome-sandbox \
chrome_crashpad_handler \
resources.pak \
libvulkan.so.1 \
v8_context_snapshot.bin \
postinst.sh \
libvk_swiftshader.so \
vk_swiftshader_icd.json
do
vcopy "${item}" "${package_location}"
done
vmkdir usr/bin
ln -sfr $DESTDIR/${package_location}/Discord $DESTDIR/usr/bin/Discord
}
post_install() {
vlicense $FILESDIR/LICENSE
}
Okay, but still AUR has much much more packages than xbps-src, why should i use it then? Why should i learn how to make templates?
I hope u don't use AUR blindly and just do yay -S something without looking what pkgbuild is doing, it might be dangerous not knowing what program can do and what script that is downloading it too right? XBPS-SRC learns you how to maintain packages.
Also theres way to share Templates with other by importing REPO of some templates, like librewolf-void repo and etc. So there's way to share packages.
So this is my way to conveince you to use void linux 😀. IN MY OPINION, void is what people think arch is. A diy distro with learning curve to understand how OS works. ARCH is great!, but void gives you more knowledge of what things systemd takes care.
To make thing little bit funnier theres easy and really nice (experimental and not official) script of installing void :
https://github.com/kkrruumm/void-install-script
THANK YOU FOR READING! I might not be clear or right in some things so tell me about that in comment, i will read everything.
SOURCES:
https://xbps-src-tutorials.github.io/packaging/j4-dmenu-desktop.html
https://github.com/void-linux/void-packages
nous
in reply to DIY KARMA KIT • • •XBPS-SRC does not look like an alternative to AUR at all. It looks like Voids alternative to gitlab.archlinux.org/archlinux… - where Arch maintains all its packages. Nor is comparing the number of packages in AUR to Void main repos a good idea - Arch has its own main repos that are a better equivalent. The Void templates do not look dissimilar form what a PKGBUILD file is either and you can do the same things with writing your own PKGBUILD or pulling them from repos if you really want to. I don't see how void is any better then Arch in anything you have described here. IMO it just looks like it does more of the same things with a bit difference in syntax/commands you run. Nothing you have said here is really a solid argument for using Void or Arch at all.
The AUR is not even that great. I think most people seem to get confused between what is in the AUR and the main packages since they just use tools like yay that install from both. But most people only use a couple of packages from the AUR - it is the package selection in the main repos which is what is so nice about Arch. The AUR is just nice for more niche things that have not made it into the main repos yet.
Same goes for Void? Most people wont read the source of third party packages they install. No matter what distro they are on. AUR tooling does try to help with this but most people ignore it. Same will go for Void. It is not a distro problem - just a humans are lazy problem. Plus even if people did read them there is only a small subset of people that actually understand them enough to spot obviously malicious packages - though that can spot hidden malicious packages are vastly smaller.
Packages · GitLab
GitLabDIY KARMA KIT
in reply to nous • • •Thank you for your comment, maybe people wont read 1:1 code, atleast they will learn how this kinda works, because now they just install things, but looking at templates they can actually understand its kinda simple script and get the idea of how it works. Also i wasn't comparing exactly xbps main void repos to AUR but overall xbps-src to aur, which can be similar because people can share templates, anyway we should still understand what package manager does and what download scripts are doing. Also void has runit so this mean u have to get more simple programs to run system like seatd dbus and etc. So overall i 2 arguments of void being better in understand of OS is actually knowing how to maintain packages and how system works from boot. Anyway i understand it is your opinion, all i can is tell u my opinion.
Edit: when i used systemd my system booted in 13sec, now on runit its 8sec, not really important thing but still