|Software repositories contain software compiled and packaged by developers, readily accessible via pacman. This article outlines the official repositories provided and supported by Parabola developers.|
A software repository is a storage location from which software packages may be retrieved and installed on a computer. This article outlines those officially-supported repositories.
- 1 About Parabola and Repositories
- 2 Repositories in detail
- 2.1 Base
- 2.2 Community
- 2.3 Testing
- 3 Unsupported Repositories
- 4 Acknowledgement
1 About Parabola and Repositories
Parabola GNU/Linux-libre is a GNU/Linux distribution which is a derivative of Arch for the i686, x86 64 and armv7h architectures, using completely free software. The development focuses on simplicity, community involvement and use of the latest free software packages. Parabola GNU/Linux-libre is listed by the Free Software Foundation as a completely free operating system.
Parabola uses ONLY free packages fullfilling the Free System Distribution Guidelines (GNU FSDG). Parabola's Hackers maintain the [libre] package repository and keep the [core], [extra] and [community] repositories clean of nonfree software, in addition to doing any other developer duties. Non-free packages are blocked by your-freedom.
This package will help you identify nonfree packages that are installed on your system at the time of its installation, as well as protecting you from (accidentally) installing them.
Also, if any other nonfree package is identified, later updates will ask you for its removal. Have in mind that, if you want to retain certain nonfree packages installed on your system, you'll have to remove your-freedom :)
If you find out any of the following:
- Cascade package removal due to nonfree dependencies,
- Your-freedom conflicting with a *-libre package,
Please report back to the Parabola Project on the usual channels:
The following tables gives a short overview of the different repositories:
A blue background indicates that the repository is imported from Arch (and run through the blacklist, of course). A purple background indicates that the repository originates with Parabola. A red background indicates that the repository doesn't currently exist in Parabola. Repositories with names ending in '-testing' contain packages that are not yet ready to be integrated into the standard system.
Below, you will have a more accurate description about the repositories:
2 Repositories in detail
The [core] repository can be found in core/os/i686, core/os/x86_64 or core/os/armv7h on your mirror. [core] is imported from Arch, but with blacklisted packages removed. In Arch, [core] contains all necessary packages for:
- boot Arch
- may be needed to connecting to the Internet|connect to the internet.
- are essential for package building.
- can manage and check/repair supported file systems.
- virtually anyone will want or need early in the system setup process (like openssh).
- are dependencies (but not necessarily makedepends) of the above.
It has fairly strict quality requirements:
- Developers and/or users need to signoff on updates before package updates are accepted.
- For packages with low usage a reasonable exposure (as in: inform people about update, request signoffs, keep in testing for a few days up to a week depending on the severity of the change) lack of outstanding bugreports, along with the implicit signoff of the package maintainer is enough).
[core] is included in the core installation media, so you can build a fully working base system without internet access.
The [extra] repository can be found in extra/os/i686, extra/os/x86_64 or extra/os/armv7h on your mirror.
[extra] is imported from Arch, but with blacklisted packages removed. In Arch, [extra] contains all packages that do not fit in [core]. Example: xorg, Window Managers, web servers, media players, languages like Python and Ruby, and a lot more.
The [libre] repository can be found in libre/os/i686, libre/os/x86_64 or libre/os/armv7h on your mirror. Its packages have a complex pkgrel to differentiate between Arch's version and Parabola's version to avoid confusion when migrating (eg: filesystem-2014.07-1.parabola1), but sometimes it's not necessary due which the package doesn't share the same name, like firefox becoming icecat.
The [libre] repository contains four things
- Replacements for packages in Arch's [core] that were blacklisted
- Replacements for packages in Arch's [extra] that were blacklisted
- Replacements for packages in Arch's [community] that were blacklisted
- Packages produced entirely by Parabola that are deemed to be core packages (and their build dependencies)
[libre] has strict requirements, but currently the sign-off process, where multiple developers vet a package, doesn't reflect this; instead developers are expected to self-review their packages.
In the case of packages being added that aren't replacements for packages from Arch, what belongs in [libre] is just slightly looser than [core], [extra] and [community].
[nonsystemd] is a repository that aims to provide software built and patched to work correctly with init-systems other than systemd. You can find an updated list of removed packages and eventual corresponding replacements at your-initfreedom blacklist.
The [community] repository can be found in community/os/i686, community/os/x86_64 or community/os/armv7h on your mirror. It contains packages from the AUR that have enough votes and were adopted by an Arch Trusted User.
The Parabola Community Repo [pcr] repository can be found in pcr/os/i686, pcr/os/x86_64 or pcr/os/armv7h on your mirror. It is maintained by the Parabola Community and contains free packages that are not included on official repos of Arch Linux. . It also contains packages maintained by Parabola developers, but that are not considered to be essential enough for the base system.
The [nonprism] repository can be found in pcr/os/i686, pcr/os/x86_64 or pcr/os/armv7h on your mirror. It is maintained by the Parabola Community and provides packages built and patched without support for nonfree, unsafe and dangerous for privacy protocols and services (more info at PRISM ⚡ Break home page). You can find an updated list of removed packages and eventual corresponding replacements at your-privacy blacklist.
The [multilib] repository can be found in multilib/os/x86_64 on your mirror. It contains 32 bit libraries that can be used to run 32 bit applications like wine in 64 bit installation.
The [libre-multilib] repository can be found in libre-multilib/os/x86_64 on your mirror. It is like the [libre] repository but contains 32 bit libraries that can be used to run 32 bit applications in 64 bit installation only.
The [kernels] repository can be found in kernels/os/i686,kernels/os/x86_64 or kernels/os/armv7h on your mirror. It is maintained by the Parabola Community and contains non-standard kernels such as "long term support with stealth TCP sockets patches" kernels oriented towards servers, or kernels compiled with AppArmor, TOMOYO, SMACK and SELinux support.
[cross] contains mostly-unsupported packages that contain tool-chains for cross-compiling for a different architecture.
The [testing] repository can be found in testing/os/i686, testing/os/x86_64 or testing/os/armv7h on your mirror. [testing] is special because it contains packages that are candidates for the [core] or [extra] repositories. New packages go into [testing] if:
- they are expected to break something on update and need to be tested first
- they require other packages to be rebuilt. In this case, all packages that need to be rebuilt are put into [testing] first and when all rebuilds are done, they are moved back to the other repositories.
[testing] is the only repository that can have name collisions with any of the other official repositories. If enabled, it has to be the first repository listed in your /etc/pacman.conf file.
The [testing] repository is not for the "newest of the new" package versions. Part of its purpose is to hold package updates that have the potential to cause system breakage, either by being part of the [core] set of packages, or by being critical in other ways.
If you enable testing, you must also enable community-testing and libre-testing.
The [libre-testing] repository is like the [testing] repository but for packages that are candidates for the [libre] repository. Unlike other repositories "testing" it is maintained exclusively by the Parabola Community.
If you enable libre-testing, you must also enable testing.
The [community-testing] repository is like the [testing] repository but for packages that are candidates for the [community] repository.
If you enable community-testing, you must also enable testing.
The [multilib-testing] repository is like the [testing] repository but for packages that are candidates for the [multilib] repository.
If you enable multilib-testing, you must also enable testing.
The [libre-multilib-testing] repository is like the [libre-testing] repository but for packages that are candidates for the [libre-multilib] repository.
If you enable libre-multilib-testing, you must also enable libre-testing.
3 Unsupported Repositories
Parabola does not endorse the AUR (Arch User Repository). Often users switching from Arch ask if the AUR is supported in Parabola. Our answer is "no, but it isn't in Arch either." However, it is at least partially endorsed by Arch.
Packages and scripts there are untrusted, and the burden is on the user to inspect the PKGBUILD and resulting package. This is the same in Parabola and Arch. Any packages that you build yourself are, naturally, your responsibility, not Parabola's. Many (most?) of the packages there are of poor quality, and contain incorrect information regarding licenses.
If there is a package in AUR that you would like, you are encouraged to open a package request so that one of the Parabola contributors may pick it up and add it to [pcr].
Repositories beginning with a tilde (~) are "user" repositories, and they are provided by individual developers independent of the Parabola project. The individual might be a Parabola developer, but their repository is only supported by them, not the rest of the Parabola team.
That said, the packages in them must still meet the freedom requirements of Parabola. However, they might not meet the quality or stability requirements.
In general, user repositories are being phased out in favor of pcr. However, they aren't going away, or being totally deprecated.
[unmaintained] contains detected unsecured (long time) unmaintained packages. It means packages without updates with security vulnerabilities known.