Archive for the ‘gentoo prefix’ Category.

State of Gentoo Prefix

The Gentoo Prefix project is still alive and still kicking. There has not been any major noteworthy highlights so you may not heard from us in some time. The number of users increases and the number of active contributors seems to stay the same or increase much more slowly. Gentoo Prefix was the reason I become a Gentoo Linux developer, so get involved..it is an easy gateway to being a Gentoo Developer if you are interested. :)

Some interesting things to note that I have been working on:

  • My ~x86-linux binpkg repo for Gentoo Linux hosts is still running every night. I use this to easily find simple build errors in packages before they hit too many users.
  • I started a ~amd64-linux binpkg repo to add coverage to my nightly automated testing. So, I’ve updated the instructions from the above post. This means that you can install your very own Gentoo Prefix installation on a Gentoo Linux host in 5 minutes for 32bit or 64 bit now.
  • While those are updating everynight. I am now bootstrapping everynight too. I set up a small script that debootstraps a Debian Lenny chroot and then sets up an Gentoo Prefix inside the chroot. This will help finding bootstrapping bugs that brand new users may hit. Often times bootstrapping is more sensitive/fragile to tree changes than just updating.
  • We are still migrating packages from the Gentoo Prefix tree to the Gentoo Linux tree. This is going slower than planned but there are not too many people working on it. Current: Over ~2000 packages migrated, still over 700 to go in our overlay. (Gentoo Prefix tree has over 7000 packages in it, but not all are tested/keyworded.)

Installing Gentoo Prefix on a Gentoo Linux host

Target Audience: Gentoo Linux developers or people otherwise interested in trying out Gentoo Prefix on a Gentoo Linux host.

The most often asked questions I hear are either: What is Gentoo Prefix about? or How is this Gentoo Prefix change going to work on normal Gentoo Linux hosts? As such, I have taken the time to put together a small, concise instruction document, here. If you have 20 minutes and 600M of free disk space, I encourage you to try out Gentoo Prefix on your Gentoo Linux host. This way, you can find out “what Gentoo Prefix is about” for yourself instead of just listening to us.

Resources:

Gentoo Prefix: ARM hardware

It is no surprise that Gentoo Prefix works fine on arm-linux given the great work being done in Gentoo Linux by the ARM team (armin76, maekke, et al).

For the Genesi Efika MX (unboxing), I now have a binpkg repo setup (for Gentoo Prefix only). This was mainly a fun proof-of-concept that I did. I went from installing 70 packages in about 18 hours, to about 30 minutes using binpkgs.

What does this mean:
Given the relatively small set of arm users and the highly specific use cases for arm hardware, well, there isn’t a very big percentage of users that will keep Ubuntu on their Efika MX when they get it. But, if they do, that means that they can get a complete toolchain and Gentoo Linux userland (including portage package manager) on the host in less than an hour. Of course, they could also get the same packages from the Ubuntu package manager but that isn’t as cool :)

How to install/get working:
Follow this easy guide that I wrote, here. All 70 packages will occupy about 580MB of space. Then you will have the toolchain and portage (emerge) at your disposal to use on your Ubuntu ARM (cortex-a8, armv7) system.

Have fun.

Gentoo Prefix: How I survive work…

As Dan writes, I too survive work by using Gentoo Prefix.

%% uname -a
HP-UX localhost B.11.31 U 9000/800 HP-UX
%% gcc --version
gcc (GCC) 4.2.4 (Gentoo 4.2.4-r01.2 p1.1)
%% bash --version
GNU bash, version 4.0.35(1)-release (hppa2.0n-hp-hpux11.31)
%% ls --version
ls (GNU coreutils) 8.1
Packaged by Gentoo (8.1 (p1))

Thanks to haubi for putting effort into the necessary upstream changes/patches for hppa-hpux support!

Gentoo Prefix/Windows

Markus Duft writes:

I’m preparing to conquer the world (again) ;) . To achieve my goal, I have
prepared a new Gentoo Prefix on Windows Setup, and the according
documentation.

Video demonstrating the installation of Gentoo Prefix/Windows: http://www.youtube.com/watch?v=az1RR60s5n4

Grab the latest iso’s from: http://distfiles.gentoo.org/experimental/prefix/x86-interix/20090826/

Docs: http://dev.gentoo.org/~mduft/gpx-installation-20090820.pdf (also available on the DVD installer)

AIX: Argument list too long (quick tip)

If you happen to be on an AIX 5.x host using Gentoo Prefix. Then you might see something like this eventually:

/bin/sh[3]: /home/jolexa/portage/aix-5.3/bin/chmod: arg list too long

This is caused by build systems that use wildcards or even ebuilds that have no issues on a normal GNU/Linux system. To work around this, you need to change the ARG/ENV list size in 4K byte blocks. The default value in AIX 5.x is 6. This is way too small. You will either need root access or kindly ask your system administrator to change this value. To change it, you have two options: use smitty (a curses sys-admin tool on AIX) or do root# chdev -l sys0 -a ncargs=40 on the command line

If you use smitty, you are looking for this:

root# smitty
=> System Environments
    => Change / Show Characteristics of Operating System
         ARG/ENV list size in 4K byte blocks                [40]

40 seems to be a good number. It would be hard to guess the smallest number possible. This is not a problem in AIX 6.1, because the default seems to be ’256′

Gentoo Prefix Use Cases

(I write this because I have talked quite a few times about the subject but never offered any use cases for it.)

We have a core group of Gentoo Prefix users in #gentoo-prefix on freenode. I took a poll and gathered up all the use cases for Gentoo Prefix. They are in somewhat of an order:

  • Bringing a Gentoo userland to your MacBook (macos/darwin) – without modifying the eye-candy host OS.
  • Allowing easy package management on your host where you do not have privileged access.  No more manual ./configure --prefix=~/foo && make && make install
  • GNU-ifying your non-GNU host, like Solaris, HP-UX, AIX, etc. (userland only, of course)
  • Providing a similar environment across distros for your simulated build/customer environment.
  • Using the familiar Gentoo/Portage on a non familiar OS
  • “I use Gentoo Prefix because it is cool” -grobian

For a more detailed use-case analysis on some of the points above, please read here. Otherwise, enjoy!

Gentoo Prefix – added OS support

Gentoo Prefix now supports Itanium Linux and AIX-6.1 (with caveats).

ia64-linux mostly works out of the box. There is one small issue with scanelf which I would like to fix if I ever find the time. (‘scanelf(9292): unaligned access to …’ – low priority because everything still appears to work). We previously supported ia64-linux but it was removed because we didn’t think anyone used it – and no one responded when we asked. It was added back, by me, to support a work endeavour.

AIX-6.1 – whew..this one was a pain to bootstrap a prefix env. I took the lazy way and put my AIX-5.3 prefix last in my PATH so I had working tools to start with. Now, after I got it all working, there is some sort of hiccup with bash/python(?). Something is causing something to hang when python’s workdir is trying to get cleaned up after the emerge. There is a hanging file descriptor out there (.nfs). Again, not easy to debug. (Don’t even bother telling me about lsof, I know, I know…). So AIX-6.1 works, but maybe not very well. YMMV ;)

As a side note, we are up to ~2100 packages in the prefix tree thanks to some helpful Prefix users.