Hacker News new | ask | show | jobs
by duncaen 2725 days ago
You think, but you have no clue about the differences, which are so substantial that it wouldn't be possible to convince arch to change things like this, may it be for legacy reasons because some things are breaking changes or may it be just something the Arch team doesn't care about.

- Arch Linux supports only x86_64 in the main project

- Void supports i686, x86_64, armv6, armv7 and aarch64 with both musl and glibc under one project, one source repository.

- Arch linux does not allow partial updates

- Void linux allows partial updates because the package manager tracks shared libraries and big issues can be avoided by aborting the transaction if a conflict exists

- Arch puts everything into one big package

- Void splits packages, not as much as debian, but at least the development stuff is in a `-devel` subpackage. This reduces the installation size by alot (especially useful for embedded systems, arm...).

- Arch has no repository with debugging symbols

- Void has a repository with -dbg packages containing the debug symbols.

- Arch only maintains two kernels, mainline and lts.

- Void maintains kernels in packages with the a version suffix, `linuxX.XX`. Users can choose which series for how long they want to use. (also great for embedded systems)

- Arch kernel updates remove the old kernel version

- Void keeps the old kernels, the administrators can boot the previous kernel until they decides to purge old kernels with the `vkpurge` script if new kernels work fine.

This are the differences on top of my head, there are plenty more.

But yes tell people they waste resources.

2 comments

> "Arch Linux supports only x86_64. Void supports i686, x86_64, armv6, armv7 and aarch64..."

Well Arch Linux Arm has optimized packages for soft-float ARMv5te, hard-float ARMv6 and ARMv7, and ARMv8 AArch64 instruction sets [1], which is even more.

Arch main project used to support i686, but after removing official support, i686 is still carried on by Arch Linux 32. [2]

Does it really matter if it is not under the same project?

[1] https://archlinuxarm.org/ [2] https://archlinux32.org/

> Well Arch Linux Arm has optimized packages for soft-float ARMv5te, hard-float ARMv6 and ARMv7, and ARMv8 AArch64 instruction sets [1], which is even more.

Right, Void does not provide pre-built packages for armv5, there are a few other architectures void works with but doesn't provide pre-build packages. this includes armv5, different mips targets and there are currently contributors working on getting powerpc and powerpc64 merged. powerpc64 will most likely become another architecture with pre-build packages.

> Does it really matter if it is not under the same project?

Yes, different projects apply different patches, have potentially different packages or provide different package versions.

With Void every package has the same patches applied, maintainers are "forced" to write portable patches that can be easily upstreamed. Package versions are usually the same (some exceptions), no delay.

I bet its easier for void to maintain all architectures at once than the man power required to maintain separate repositories and patches for the arch "forks".

Then you have the review overhead with forks, on void maintainers review commits to one repository, with the arch forks you have a fraction of the arch maintainers review commits to forks, while all others only review commits to the main repository.

Void makes it easier to maintain packages for different architectures, it provides xbps-src which cross compile to different architectures, it uses Travis-CI to build each pull request for different architectures.

Excellent post and comparison with Arch, thank you!
Would be a nice addition to the Arch Wiki as well: https://wiki.archlinux.org/index.php/arch_compared_to_other_...