Wednesday, March 7, 2012

AUR clone for Fedora

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


  1. This would be an amazing addition for Fedora :D

  2. This comment has been removed by the author.


    Here's a src.rpm with a spec file which can download from git and compile and create binary rpm!!!

    it is much like aur. try it.

    rpm -ivh ppssppqt-v0.9.5.603.20131124git-.fc21.src.rpm
    yum-builddep ppssppqt.spec
    rpmbuild -bb ppssppqt.spec

    you will get the latest version of the software on every compile. So, yes we can make use src.rpm as AUR, actually we can run system commands from spec file itself when assiging values to tags like
    Name: program name
    Version: version to Version: %(run system commands| echo version)

    what do you say?
    the only problem is that we don't have server to share such files like we can do at