Getting a feature from one cutting edge distro to another. AUR.
AUR stands for 'Arch User Repository', which accepts user submissions for PKGBUILDS (Fedora guys: read "spec files"*). These PKGBUILDS are used to compile packages locally using makepkg (rpmbuild*), and then install the created tar.xz (RPM files*) locally through pacman (package manager like rpm*).
This is a very nice technique, mostly because one can easily create spec-files/PKGBUILDS for recent packages, and not have to wait for the package to get approved.
Also, since the packages are compiled into binaries locally, once can take tarballs off the official website, and Fedora is not included in the process in any way. This would reduce the overhead of repositories, as they won't need to host these packages (as RPMs/tarballs/git/svn/hg/bzr repos).
Since people have access to the spec-files/PKGBUILDS, people can easily read the package data and make changes to it, on-the-fly.
Also, the AUR package page allows users to leave feedback and changes to the PKGBUILD or report errors, just like Fedora guys use bugzilla.redhat.com for discussing about packages.
ArchLinux goes one step ahead, and takes user reviews for packages in AUR that are good enough to be promoted to [community] repository through a voting system called 'aurvote'.
*: I tried finding out parallel utilities/files that work in the same way in Fedora as they do in Arch. Some features may be added/missing, depending on the functionality of each application.
In depth wiki-pages and help:
- AUR homepage, AUR wiki page. (AUR homepage won't work if you have HTTPS-everywhere installed. SSL certificate error problems :|. Use http:// instead)
- Yaourt (a front end to pacman. Think of it to be an app "abc" that works just like yum (same parameters etc), but works with packages from aur (non-official repository) as well)
# abc update //Executes yum update for all installed apps, including those installed from the AUR-counterpart.
# abc install execat_custom_dwm_configuration //Searches official repos first, and then the AUR-counterpart.
- An example of PKGBUILD and the AUR package page of the same package (aurvote).
- A more complex PKGBUILD that pulls from a git repository and compiles the package. PKGBUILD and AUR package page (gtk-engine-murrine-git).
Something like this ensures you have the version of software that is right out of the git repository. For people who like living off the edge.