A modern distro based on the xbps packaging system

The Void Linux distribution

Speed, reliability, and flexibility. That's the battle-cry of today's disgruntled computer geeks. This is what people want with a Linux distribution, and this is what Void Linux provides. With lightning-fast and useful tools such as the xbps package manager (among others), this distribution clearly has all your base, and they rightly belong to us.

The spirit of Void is such that we keep things default, necessary, and minimal as possible (while trying not to leave features out).

Currently there are over 3000 optimized packages for the x86, x86_64, ARMv6 hard float (Raspberry Pi), and ARMv7 architectures; also there's support to build (natively or cross compiling) from sources any package easily that is available in the XBPS packages collection.

DISCLAIMER

Features

News

Multilib support becomes a reality

Some of our readers thought we were dead due to the previous April's Fool post... well, we are not dead (yet) and after 5 years since the first xbps-0.1 release I'm still improving the package system and making the Void distribution more stable than ever. Now let's move on to the real post...

The Void distribution now contains a full multilib environment to be able to compile and run 32-bit code on 64-bit systems. The xbps-packages collection automatically builds 32-bit packages for x86_64, if xbps-src runs on 32-bit environments.

While others might say that it has been supported for years in other distributions, I can only say that we are not a fork of any existing distribution and we had to improve the xbps-packages collection to achieve it in the least troublesome way.

Software on x86 is now configured to use /usr/lib32 and by making this a symlink to /usr/lib we were able to make all packages work on x86_64 with the minimal effort. Lots of 32-bit packages are now available for x86_64 named as <pkgname>-32bit.

The following example illustrates how to compile xbps (the native void package manager) for 32-bit by using the gcc-multilib package:

# xbps-install -Sy libarchive-devel-32bit gcc-multilib
...

$ cd xbps
$ CC="cc -m32" PKG_CONFIG_LIBDIR=/usr/lib32/pkgconfig ./configure && make
...
$ file bin/xbps-query/xbps-query
bin/xbps-query/xbps-query: ELF 32-bit LSB shared object, Intel 80386 ...
$

I'd like to thank Gottox for the initial implementation and ideas in allowing us to achieve this feature in a relative short time.

The Void Linux distribution is dead (BSD is dying too)

This just to inform you that I'm declaring this project completely dead, and I have lost all interest in continuing improving XBPS (the native package system) and the Void Linux distribution as well.

I don't have enough motivation to maintain a complete and genuine package system, that is not a fork and has been created exclusively by one human (Juan RP), that is able to cross compile, supports multiple C libraries (glibc and musl), supports build options, debugging packages, subpackages, contains GNOME 3.12 before any other distribution, multiple Linux kernel packages (3.10, 3.12, 3.13, 3.14), and uses buildbot to build them in real time.

Thanks for all your support, and enjoy your life. You can still use other distributions such as Biebian, which contains genuine features: an exclusive wallpaper of yours truly.

XBPS 0.35 is out

A new XBPS stable version has been released: 0.35. This is a minor release that contains a new utility xbps-uchroot to be used by the XBPS source packages collection (among other things).

Release notes:

  • xbps-uchroot: new utility merged from xbps-packages/xbps-src that uses linux namespaces to bind mount and chroot to a target directory.

  • xbps-rindex(8): fixed a bug while signing repositories in that sometimes the PEM RSA public key buffer contained unwanted garbage.

  • Make sure that required root symlinks in void are never removed or detected as obsoletes; added new test cases to stress the code works as expected.

Please report issues at https://github.com/voidlinux/xbps/issues

GNOME 3.12 now available!

The latest and greatest GNOME major version is now available for the Void distribution.

It took me some hours to update all packages to achieve a complete GNOME 3.12 desktop.

Remember that maintaining a distribution and a genuine complete package system is time consuming; if you appreciate my work to have the latest and greatest software available before any other distribution, please help me with donations or contributions to the wiki, packages, etc.

A screenshot of GNOME 3.12 running on my system (CPU i5 3550, Intel HD2500, Mesa 10.1):

gnome-3.12

XBPS 0.34 is out

A new XBPS stable version has been released: 0.34. This is a minor release that contains some exciting xbps-query(8) features (among other things).

Release notes:

  • xbps-query(8): search mode now accepts -p/--property argument to match patterns against the stored package object in repositories. Any object stored in the repository index can be used to be matched against to; the posibilities are countless:

    • find out what packages are mantained by a person
    • find out what packages are built at a specific date
    • find out what packages are linked to a specific shared library
    • etc etc etc

You can see some examples.

  • xbps-query(8): in local mode now prints all objects stored on its pkgdb entry and its metaplist.

  • Fix #34 (xbps-uhelper fetch fails to download files from https://alioth.debian.org). The issue is that this HTTP server returns 406 (Not Acceptable) when the HTTP header does not contain the "Accept" field (see this link for more info). Our libfetch code now always adds "Accept: */*" in the HTTP headers.

  • Added some debugging in error paths when performing a transaction.

  • Fixed an issue where in a transaction a package with wrong version was being configured resulting in ENOENT. The configure phase now only uses the package name to perform the configuration rather than using package name/version tuple.

  • Pass another argument to package scripts with the native machine architecture (uname -m), which can be overrided via XBPS_ARCH environment variable too

Please report issues at https://github.com/voidlinux/xbps/issues

Read the previous news

Download installable live images

Currently there are installable live images for the x86 and x86_64 architectures and there is support to make a local installation (with the included packages) or a network installation (packages are downloaded from official repository).

After booting, the user anon will be autologged in. This user has full access to execute any command through the sudo utility. To start the installer just execute the void-installer utility with enough permissions (i.e sudo).

Download ready to boot images for ARM

The current list of supported ARM platforms is:

You can install Void by using a prepared image or a rootfs tarball that can be written / unpacked onto the SD card. This method allows you to have a system ready to boot / use, once it's written / unpacked onto the target device.

Log in as root, password voidlinux.

Source repositories

Find a source package

Search for source packages, matching a keyword by looking at the xbps-packages github repository. You can verify if the repository includes a specific package.

Latest package commits

See latest package builds.