ABS FAQ

From ArchWiki
Revision as of 18:08, 23 February 2010 by Pointone (Talk | contribs) (Do I have to download a PKGBUILD file and use makepkg and install the package using pacman every time I want to install something I find in the AUR?: shorten heading)

Jump to: navigation, search
Summary help replacing me
Very simple answers to questions about the Arch Build System and making your own Arch Linux packages.
Related
Arch Build System
Arch User Repository
Creating Packages
pacman
PKGBUILD


What is the ABS?

"ABS" stands for Arch Build System. It's the way you create and install Arch Linux packages.

What do people mean when they say "Use ABS"?

They mean, "Make and install an Arch Linux package". If you want to learn how to do this yourself, then keep reading. It's easy!

How do the Arch Linux developers create all of those packages that I install using pacman?

Arch Linux packages are created by using a PKGBUILD file. A PKGBUILD file is a Bash script that contains:

  • The name of the package, the version number, and lots of other information.
  • Instructions for downloading, compiling, and installing the software package.

Can I get a copy of the PKGBUILD files that the Arch Linux developers use?

Sure! Install the program Template:Filename:

# pacman -S abs

And then run it as root:

# abs

You now have every official Arch Linux PKGBUILD file in Template:Filename.

What do I do to make a package?

All you need is a PKGBUILD file. I recommend that you make packages in a new directory. Let's say you want to make your own package for vi, just like the one you can install using pacman. Copy the PKGBUILD from Template:Filename to a new directory:

$ cp -r /var/abs/core/vi ~/vi

Now go to your new directory:

$ cd ~/vi

Make sure you have all of the development tools installed:

# pacman -S base-devel

Use the makepkg command to make a package:

$ makepkg

That's it! You now have a Template:Filename package for vi.

You said the only thing I need to make a package is a PKGBUILD file! What are all of those other files under Template:Filename?

Sometimes a PKGBUILD uses patches, or includes default settings files and examples.

How do I install the package I just made?

Use pacman:

# pacman -U yourpackagename.pkg.tar.gz

The actual name of the file depends on the name of the package, the version number, and what processor architecture you are using.

How do I make my own PKGBUILD file?

You can just copy one from Template:Filename and modify it. You can read more about PKGBUILD files here.

Can somebody make a PKGBUILD file for me for a piece of software I want to use?

There's a good chance someone already did! Look in the "AUR", or Arch User Repository. ([1]). You will find PKGBUILD files that other Arch Linux users made. You can also submit PKGBUILD files that you make yourself.

Isn't there an easier way?

Yes, you can use an AUR helper program. They are used to make it easy to find and install packages from the AUR. There are many different AUR helpers. For example, packer is similar to pacman in functionality and is pretty easy to use.