Prefix development quiz $Revision: 1.6 $ - $Date: 2008/04/26 08:19:03 $ Answer in whatever length necessary for completeness. Review documentation. Consult your mentor if you're unable to locate answers. *** Organisational structure questions 1. What is Gentoo/Alt, and what is Gentoo Prefix? How do they relate to each other, and what is their status within Gentoo? 2. What are the sub projects of Gentoo/Alt, and for each of them, what are they about? *** Ebuild technical/policy questions 1. You import an ebuild from the main tree into the prefix tree. What are the proper steps to take to add this ebuild? 2. You are on platform ppc-aix and want to install XYZ, which is not keyworded. How do you proceed? 3. Compilation on sparc-solaris fails because of configure flag --enable-somefeature. What are you going to do if: (a) the --enable-somefeature was inserted via a use_enable call (b) the --enable-somefeature is hard coded in the ebuild (c) somefeature will never work on Solaris, because it's Linux specific 4. Package Y has a configure script that's just being run by econf. You just added Y and now try to install it. What do you watch for? 5. configure for package Z says "checking for libc... /lib/libc.so.6" how do you proceed? 6. In an overlay, a user has added an ebuild which contains a line like this: use userland_Darwin && epatch "${FILESDIR}"/${P}-darwin.patch What would you prefer to do differently when you see such construct? 7. A user comes up with a new platform called ppc-ps3, a PlayStation running Yellow Dog Linux 5.0. What would you do to support this user in Prefix? 8. You're creating an ebuild. Unfortunately, the ebuild's 'make install' target causes "double prefix" or "outside prefix" QA errors. What is the best course of action to take to have a clean, straightforward ebuild? 9. You made a little ebuild fix/change, and want to commit it. How do you proceed? What would you do if you were *not* in Prefix? And what if the package is not in the regular Gentoo tree? 10.You wish to mark an ebuild "stable", taking it out of ~ARCH KEYWORDS. It's a library. What steps should be taken to do so? 11.You run repoman and it complains like this: x11-libs/libfontenc/libfontenc-1.0.4.ebuild: Copyright header Error. Possibly date related. What is your course of action? 12.You just fixed an issue in an ebuild where the build system would pick a library from the host system instead of the Prefix. You rev-bump the ebuild for this reason, as it is an important fix. How do you proceed? *** Prefix and Regular Gentoo 1. An ebuild in the prefix tree is out of date, how do you update it? 2. You just imported an ebuild which doesn't quote all occurrences of $D ($ED), how do you proceed? 3. In an imported ebuild, a case statement needs an extra item for one or more prefix-archs, will you contact the ebuild maintainer about this? *** Prefix intricacies --- the real work 1. Which variables are specific to Prefix? What does each of them represent? How can you construct them? 2. An ebuild in the main tree does emake DESTDIR="${D}" somedir="${D}/somedir" otherdir="/other" install what would you change to make it correct in Prefix? 3. Same question for insinto /usr/bin 4. A configure scripts checks for gawk and finds /usr/bin/gawk, how do you proceed? What if it checks for a specific program via a --with-program flag? 5. A package installs objects or libraries that depend on other shared libraries. What do you check? What if the package installs some scripts? 6. You fire up $EDITOR which you just emerged, and notice that you get different colours than $EDITOR in regular Gentoo. What went probably wrong? 7. References to dynamic libraries in Prefix are sort of "fixed" to find the prefix libraries. Why is this done? 8. An eapify-ed ebuild contains if [ ${EROOT} = "/" ], is this correct? vim: ts=4:sw=4:tw=72:expandtab: