You are not logged in.
Pages: 1
I really like the idea of ABS, and the ports-like functionality which is built into Arch Linux, but my question was, is there any improved functionality to using ABS? Why would one choose to use it over just installing the binary packages? Not trying to be argumentative, but just trying to understand what its intended purpose is? Can it be used to decide how programs are compiled, like the USE-flags in Gentoo? I'm just wondering what benefits one gets to using it.
EDIT: And yes, I have read the wiki page on ABS, but being new I don't really understand how one would implement some of those functions. I'm wondering if anyone uses ABS to install packages rather than installing the binaries as a general rule.
Last edited by hcaulfield (2012-02-12 06:56:09)
Offline
If you're happy installing a regular binary package, then you probably don't need a modified version of it. However, if you want to have it with custom patches, tweaked configuration, or modified in any way, than the ABS comes in handy.
:: Registered Linux User No. 223384
:: github
:: infinality-bundle+fonts: good looking fonts made easy
Offline
The wiki entry on ABS is pretty detailed I think.
Offline
No USE files in Arch. I use ABS if I want to modify the PKGBUILD of a particular package modifying a patch or some configure options. Some use it together with custom CFLAGS in /etc/makepkg.conf to give some packages cpu-specific optimizations. The toolchain for example (linux-api-headers, glibc, binutils, gcc)... I have measured statistically significant differences in the performance when building some packages using the toolchain built with the march=native CFLAGS vs. the standard ARCH CLAGS (-march=x86_64 -mtune=generic).
Last edited by graysky (2012-02-03 20:56:33)
CPU-optimized Linux-ck packages @ Repo-ck • AUR packages • Zsh and other configs
Offline
Wow, that was fast, thanks for the responses. So I take it that there isn't really any purpose to using it for a newb like myself?
Offline
there isn't really any purpose to using it for a newb
The answer to this question is up to you (if you've read the ones above).
:: Registered Linux User No. 223384
:: github
:: infinality-bundle+fonts: good looking fonts made easy
Offline
Some apps (like dwm) don't have any other config files apart from their source, so you need to edit the source files and recompile it if you want to tweak something.
packages can have different variations based on their configuration (some variations have less dependencies, some have more features). If you don't find what you need in the AUR or Unofficial User Repos, you can always hack it yourself.
Offline
I really like the idea of ABS, and the ports-like functionality which is built into Arch Linux, but my question was, is there any improved functionality to using ABS? Why would one choose to use it over just installing the binary packages? ...
The binary packages that most of us use are what makes Archlinux a "linux distro". It's what almost everyone should use.
The availability of those build scripts and the Arch Build System are what make Archlinux a meta-distribution. Using Arch as a meta-distribution is what make it possible to use Archlinux as the basis for building your own distro. A good example would be the work that chenxiaolong and others are doing to make a Unity distro based on Arch. Just be warned that the Arch developers do not have time to hand hold people who are trying to "compile from abs" just for the hell of it. Sometimes packages don't compile from ABS! The Arch PKGBUILD is then a starting point; most of the work is done but getting it to actually compile can be frustrating. The same thing happens in Gentoo (then it's REALLY frustrating because you can't install it if you can't compile it -- there is no binary package provided by some nice overworked guy like we have in Archlinux).
If you want to build your own distro, or just a customized version of some package, then use ABS.
I too have measured significant perfomance gain by compiling everything from abs with custom cflags but that is not why I do it; I do it to have control to design my own distro, usually just to strip out unwanted dependencies and to make sure that I really can re-build my complete system from source code if archlinux.org should disappear from the net.
I think that it's nice to know that when you use Arch (binary packages) the potential is there to take even more control in the future as you learn more and are no longer a noob.
Offline
I too have measured significant perfomance gain by compiling everything from abs with custom cflags but that is not why I do it; I do it to have control to design my own distro, usually just to strip out unwanted dependencies and to make sure that I really can re-build my complete system from source code if archlinux.org should disappear from the net.
Thanks for the reply, I looked at the /etc/makepkg.conf file just now. Lots of things there, I will probably look into that more as a learn more about the system. But as of right now, its all confusing to me haha.
Offline
You will probably spend a lot more time compiling than you will ever gain in performance by building everything from source. IMO that's not what ABS is best suited for. But check out this scenario: you just came across an annoying bug in a package and you want to patch it yourself because the package maintainer (or upstream) has yet to get around to it. With ABS you can simply patch and compile the source, then easily and cleanly install (or later uninstall) your patched package with pacman. It's a great system and one of my favorite things about Arch.
Offline
You will probably spend a lot more time compiling than you will ever gain in performance by building everything from source. IMO that's not what ABS is best suited for. But check out this scenario: you just came across an annoying bug in a package and you want to patch it yourself because the package maintainer (or upstream) has yet to get around to it. With ABS you can simply patch and compile the source, then easily and cleanly install (or later uninstall) your patched package with pacman. It's a great system and one of my favorite things about Arch.
I actually had a similar use case, though slightly different. I was testing and bug-reporting the calligra suite. One of the bugs was bad font display, which I was told was fixed when calligra was built against qt 4.8. The binary for calligra suite was built against qt 4.7, despite having qt 4.8 in my system. Well, here comes ABS to the rescue. With it I was able to get calligra compiled against qt 4.8, fixing the font issue.
Legends of Nor'Ova - role playing community devoted to quality forum-based and table-top role play, home of the Legends of Nor'Ova Core Rule Book and Legends of Nor'Ova: Saga of Ablution steam punk like forum based RPG
Offline
Thanks again for the explanations, I think that I understand the purpose of ABS better now!
Offline
Please remember to mark the thread as solved.
Offline
Pages: 1