Basic Handling of ABS (Arch Build System)

Hello people, this time I'm going to talk a little about ABS (Arch Build System)In short, it is the system of ports with which it counts Archlinux.

What can I do with ABS?

Those of us who like to play with PKBUILDS , abs what allows us is to "download" all the PKGBUILDS from the Archlinux repositories packages, and modify them at will, for example, to add or remove flags in the compilation instructions, to enable or disable any particular feature of a program

Installing and commissioning ABS

To do this, we are going to install abs:

sudo pacman -S abs

Then we are going to synchronize the PKGBUILDS tree of the official repos:

sudo abs

we are going to obtain an output similar to this:

abs

Then the downloaded PKGBUILDS are found in / var / abs

Practical example: ABS and Gnome 3.16

I am using the beta of Gnome 3.16 (3.15.91), in Archlinux, and although it works (it has details obviously) in Arch particularly, there are missing applications that, for example, the alpha of Fedora 22 already brings, in my case a couple of the ones I was looking forward to, EOG and Nautilus, so now I'm going to show you how to use ABS, in order to compile the beta version of EOG in this case.

So, we place ourselves in a directory where we want to compile, and we bring the EOG PKGBUILD from / var / abs / extra / eog , I personally usually prefer the terminal, therefore in my case I ran:

cp -r /var/abs/extra/eog $(pwd)

This way I already had the pkgbuilds ready to modify. Then I noticed him GNOME ftp which was the latest version of EOG available, and I proceeded to modify the PKGBUILD

EOG-Gedit

Now I proceed to put the correct checksum (in the previous screenshot it is already set):

[x11tete11x @ Jarvis eog] $ makepkg -g ==> Receiving the sources ... -> eog-3.15.90.tar.xz has been found ==> Generating the checksums for the source files ... sha256sums = ('95fb566241f492f043d2e9d7301b657d159d68dbb51ba29d88c52a8b7ba8d243')

and ready! 😀 now I just compile and install it:

[x11tete11x @ Jarvis eog] $ makepkg -sic ==> Creating the package: eog 3.15.90-1 (Sun Mar 15 21:50:32 ART 2015) ==> Checking dependencies while running ... ==> Checking dependencies while compiling ... ==> Receiving the sources ... -> eog-3.15.90.tar.xz has been found ==> Validating the sources with sha256sums ... eog-3.15.90.tar.xz ... Approved ==> Extracting the sources ... -> Extracting eog-3.15.90.tar.xz with bsdtar ==> Removing the $ pkgdir / directory ... ==> Starting build () ... checking for a BSD-compatible install ... / usr / bin / install -c checking whether build environment is sane ... yes

And that's it 😀

EOG 3.15.90 in Arch

Obviously this can be done with as much package as they want and they can activate or deactivate features at will (for example they can compile Audacious by activating its QT interface and deactivating the GTK interface)


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   majority said

    Greetings, comrade, in the case of Kaos, if I wanted to compile any arch pkgbuild program that is not in kcp, it would be the same or I would have some problems ... with the dependencies ...

    1.    x11tete11x said

      Yes, you have to check the dependencies, and have a couple of considerations, as explained by your guide http://kaosx.us/es/packaging-guide/

  2.   joaco said

    It's not bad, the bad thing is that you can't compile the dependencies as well, if you could, it would be a great goal. They can still be compiled "by hand", but it would be nice to be able to do it automatically.
    I tried to use various tools to compile the circular dependencies, I no longer remember what they were, but I always got circular dependencies, so I gave up.

    I think for compiling Gentoo is still superior, Arch looks a lot like Slackware, which I don't like, I don't like ports either, you should be able to handle everything with the package manager.

    1.    x11tete11x said

      is that you are misinterpreting it, the compilation of packages in Arch, is not to "imitate" Gentoo, nor to gain performance, nor to "be superior", it is for very specific situations, like the ones I mentioned.
      For me that the dependencies are not compiled, it is also fine, for the simple reason that Gentoo is for that, here you are looking for very specific things, if you can remove it from the main repositories, well, if not, you have ABS as a tool

    2.    111aa said

      Yes, Arch shares a lot with Slackware but 'philosophically: that of being a simple, clean and minimalist system.
      You obviously didn't understand anything about how Arch works.