Official Repositories

From ParabolaWiki
Jump to: navigation, search
This article is a candidate for merging.
It is suggested that this page or section be merged with Repositories. (Discuss)
Summary
Software repositories contain software compiled and packaged by developers and Trusted Users, readily accessible via pacman. This article outlines the official repositories provided and supported by Parabola developers.
Overview
Packages in Parabola are built using makepkg and a custom build script for each package (known as a PKGBUILD). Once packaged, software can be installed and managed with pacman.
Related
Mirrors
Unofficial User Repositories

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 repos

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. 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 it's 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,
 * Etc.

Please report back to the Parabola Project on the usual channels:

 * https://labs.parabola.nu
 * irc://freenode.net/#parabola
 * mailto:dev@lists.parabolagnulinux.org

Below, you will have a more accurate description about the repositories:

2 [libre]

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.

A package on [libre] is created in the following cases:

  • The package is non-libre but a libre replacement is available.
  • The package has some non-libre parts, but is functional without them.
  • The package depends on other non-libre packages, but is functional without them.
  • The package recommends non-libre software.
  • The package contains Arch's branding.

3 [core]

The [core] repository can be found in core/os/i686, core/os/x86_64 or core/os/armv7h on your mirror. 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).

It contains packages which:

  • are needed to boot any kind of supported Parabola system.
  • may be needed to connect to the internet.
  • are essential for package building.
  • can manage and check/repair supported filesystems.
  • virtually anyone will want or need early in the system setup process (like openssh).
  • are dependencies (but not necessarily makedepends) of the above.

This repository is included in the core installation media, so you can build a fully working base system without internet access.

4 [extra]

The [extra] repository can be found in extra/os/i686, extra/os/x86_64 or extra/os/armv7h on your mirror. It contains all packages that do not fit in [core]
Example: X.org, window managers, web servers, media players, languages like Python and Ruby, and a lot more.

5 [community]

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 a TU.

6 [pcr]

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.

Note: If you want add this repo, is necessary add the following lines in /etc/pacman.conf.
[pcr]
Include = /etc/pacman.d/mirrorlist

7 [kernels]

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.

Note: If you want add this repo, is necessary add the following lines in /etc/pacman.conf.
[kernels]
Include = /etc/pacman.d/mirrorlist

8 [nonprism]

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.

Note: If you want add this repo, is necessary add the following lines in /etc/pacman.conf. It should be above libre repo on pacman.conf to perform the packets replacement after the updating.
[nonprism]
Include = /etc/pacman.d/mirrorlist

upgrade installed packages from configured repositories:

# pacman -Syu

now you can install your-privacy package:

# pacman -S your-privacy

your-privacy package will advice you if some blacklisted package is installed on your system and if any replacement is available.

9 [multilib]

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 the wine in 64 bit installation.

Note: If you want add this repo, is necessary add the following lines in /etc/pacman.conf.
[multilib]
Include = /etc/pacman.d/mirrorlist

10 [libre-multilib]

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.

Note: If you want add this repo, is necessary add the following lines in /etc/pacman.conf.
[libre-multilib]
Include = /etc/pacman.d/mirrorlist

11 [testing]

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.

Warning: Be careful when enabling [testing]. Your system may break after you perform an update with the [testing] repository enabled. Only experienced users who know how to deal with potential system breakage should use it.

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.

12 [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.

13 [community-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.

14 [multilib-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.

15 [libre-multilib-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.

16 Unofficial user repositories

A few users run public but unofficial custom repositories.

17 Acknowledgement

This wiki article is based on ArchWiki. We may have removed non-FSDG bits from it.