You are not logged in.
I installed Gentoo on a spare box recently, and rather liked the idea of a source-based distribution. It's nice to think that the natively compiled code is optimized for my processor, even though even many Gentooists admit that the practical performance gains are minimal. However, Gentoo is less KISS-oriented and less bleeding edge than Arch, and I love Arch too much to switch anyway. I was wondering if one could recompile an entire Arch system using processor-specific optimizations like Gentoo, and maybe even have some equivalent of Gentoo USE flags? I can't manually recompile every package, and then do it again every time there's an upgrade - that would be too tedious. So, is there some automated method - to essentially use Arch like a source-based distribution? Can ABS help, or maybe a community-contributed tool? And finally, for a source-based and yet Arch-like distribution, what do you guys think of CRUX? Given that their documentation and community is much smaller than ours, is it very bothersome to install and maintain a desktop system using CRUX?
Offline
yes, ABS is your friend. Compiling all stuff for a specific machine will not give much improvement (you said it). If you have time and willing to learn go ahead. About CRUX , I don't have any experience.
Offline
If there's no xyz package in the repos, you need to create and maintain one if you want to use it - it holds for every distro, be it Arch, CRUX or Debian. Even if CRUX has less packages, you may find everything you need so it will be easy for you.
Arch has no USE flags, all feature requests regarding their introduction were turned town in the past and I don't think the devs changed their stance.
I think srcpac is dead https://bbs.archlinux.org/viewtopic.php?pid=72213 http://aur.archlinux.org/packages.php?ID=29032 and I don't know of any similar efforts.
Offline
yes, ABS is your friend.
As far as I know, isn't ABS meant for compiling and installing individual packages? Is there a quick way to recompile my entire system from source without manually compiling each and every package on it?
Offline
@atriya - not to my knowledge
CPU-optimized Linux-ck packages @ Repo-ck • AUR packages • Zsh and other configs
Offline
you can check this thread for details. You can modify the PKGBUILD and compile individual application to your needs.
Offline
For rebuilding the entire system, makeworld (part of abs) should be of great use. There should be a way to filter out everything you don't have installed, but I don't know.
Offline
kgas wrote:yes, ABS is your friend.
As far as I know, isn't ABS meant for compiling and installing individual packages? Is there a quick way to recompile my entire system from source without manually compiling each and every package on it?
pacbuilder
I think srcpac is dead https://bbs.archlinux.org/viewtopic.php?pid=72213 http://aur.archlinux.org/packages.php?ID=29032 and I don't know of any similar efforts.
pacbuilder is a good replacement, but srcpac should still work... well there are no bug reports about it
Offline
Okay! So it seems some tools have emerged (pun intended ) from this discussion - pacbuilder, srcpac, makeworld. I need to look into them; never used any of them before. So I'll do my homework now. Thanks for the replies everyone. I'll keep you guys posted.
Offline
bauerbill does have 'auto-build from abs', so you could use that with a few scripts to output your current package list (which you'd need in any case for the rest, I think).
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline
well, you're talking about 2 things here:
- recompiling packages with specific compiler settings -> easy. see makepkg.conf and what others have suggested above.
- use flags -> this is a fancy framework on top of simple things like ./configure arguments. Personally, I find it simpler to just maintain my own PKGBUILD's for those packages I want to compile differently. And you can share them on the AUR. I've never seen this method getting out of hand (ie. not many different pkgbuilds for the same package with different combinations of configure options)
< Daenyth> and he works prolifically
4 8 15 16 23 42
Offline
If you want to modify certain PKGBUILDs in a semi-automated way, you may also have a look at customizepkg.
Offline
@atriya
Pacbuilder is your friend, and apparently it even has a function too compile from source updated packages kinda like pacman -Syu except it'll build those updates from source! Also any mandatory dependencies it will auto-build from source too if a package requires it. It's a pretty good tool that I recently stumbled upon, looks like I don't need Gentoo Linux anymore!
Last edited by Chaniyth (2010-08-18 21:04:37)
Offline
Rebuild everything from source:
bauerbill --build-all -S $(pacman -Qq)
Build all available upgrade from source, including dependencies:
bauerbill --build-all -Syu
Install new package by building from source, including dependencies:
bauerbill --build-all -S <pkgname>
Bauerbill also provides an "AutoPatch" option that enables you automatically apply patches to PKGBUILDs and install files when building from source so you only have to edit a PKGBUILD once.
*edit*
Of course, you could simply enable "BuildAll" in the configuration file and skip the flag.
Last edited by Xyne (2010-08-18 22:06:32)
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Rebuild everything from source:
bauerbill --build-all -S $(pacman -Qq)
Build all available upgrade from source, including dependencies:
bauerbill --build-all -Syu
Install new package by building from source, including dependencies:
bauerbill --build-all -S <pkgname>
Bauerbill also provides an "AutoPatch" option that enables you automatically apply patches to PKGBUILDs and install files when building from source so you only have to edit a PKGBUILD once.
*edit*
Of course, you could simply enable "BuildAll" in the configuration file and skip the flag.
@Xyne
So bauerbill will build all the deps for packages from source too [dependency resolution] and build from source packages from groups [ex. xorg, gnome, kde, xfce4, etc]?? I'm having a hell of a time with pacbuilder as it's not as functional as I had hoped, so I am thinking of using bauerbill, if it does what I need or is actually functional as pacbuilder but more functional [deps, patching, etc] then i'll use it exclusively! Thanks for any help.
Last edited by Chaniyth (2010-08-19 02:49:14)
Offline
So bauerbill will build all the deps for packages from source too [dependency resolution] and build from source packages from groups [ex. xorg, gnome, kde, xfce4, etc]?? I'm having a hell of a time with pacbuilder as it's not as functional as I had hoped, so I am thinking of using bauerbill, if it does what I need or is actually functional as pacbuilder but more functional [deps, patching, etc] then i'll use it exclusively! Thanks for any help.
Not sure if you fully understood what he was writing. He's getting the output of pacman -Qq (which lists packages on your system) and simply installing all those packages using the build-all flag. As I understand, pacbuilder can do the same thing as well.
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline
Chaniyth wrote:So bauerbill will build all the deps for packages from source too [dependency resolution] and build from source packages from groups [ex. xorg, gnome, kde, xfce4, etc]?? I'm having a hell of a time with pacbuilder as it's not as functional as I had hoped, so I am thinking of using bauerbill, if it does what I need or is actually functional as pacbuilder but more functional [deps, patching, etc] then i'll use it exclusively! Thanks for any help.
Not sure if you fully understood what he was writing. He's getting the output of pacman -Qq (which lists packages on your system) and simply installing all those packages using the build-all flag. As I understand, pacbuilder can do the same thing as well.
No I understood him, I know pacbuilder can, but pacbuilder seems to be broken when it comes to installing groups. I'm testing bauerbill on an old Pentium 3 laptop I have before I reinstall Arch (I currently have Gentoo install, and i'm not happy with it, I miss having my Arch Linux installed, hehe.) I'm an Arch addict, been using it for 2 years and i'll never look back!
Offline
I'm not sure how bauerbill handles groups, but I was under the impression pacman itself was a bit broken in latest release concerning groups (unable to select one-by-one or something like that).
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline
@Xyne
So bauerbill will build all the deps for packages from source too [dependency resolution] and build from source packages from groups [ex. xorg, gnome, kde, xfce4, etc]??
It should.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
@Xyne
bauerbill --build-all -S $(pacman -Qq)
That does not work, bauerbill gives the following error:
error: bauerbill does not match any package or group
I'm really wanting this function, because I just reinstalled Arch and would like to rebuild from source.
Last edited by Chaniyth (2010-08-20 04:44:28)
Offline
Have you enabled AUR on /etc/bauerbill.conf?
Offline
That's because that command would choke on any AUR packages (bauerbill is one of those). Try this:-
bauerbill --build-all -S $(pacman -Qq | grep -vx "$( pacman -Qmq )")
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline
Thank you gtklocker and ngoonee
It seems that it wants to compile several packages from [extra] too and I dunno why. I don't have anything installed from the [extra] repo except what was needed for powerpill and it's optional dependencies, this is a fresh install of Arch.
It's not compiling just the packages I have installed. I'm kinda confused, I thought the $(pacman -Qq) only would have it compile the packages that are currently installed on my system. Instead it's building those PLUS optional dependencies!
I guess --build-all also builds optional dependencies for packages as well? If so, optional dependencies should be built using a seperate --build flag.
In other words, what I want to do is recompile ONLY the packages that are currently installed on my system and not include any optional dependencies. Is this possible?
Last edited by Chaniyth (2010-08-20 06:32:38)
Offline
Specific examples? I don't think Xyne implemented any opt-dep stuff, it probably wouldn't even be possible to parse optdeps reliably currently.
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline