Ebuild development quiz Revision 1.12 - 19 January 2014 Answer in whatever length necessary for completeness. Review documentation. Consult your mentor if you're unable to locate answers. *** Organizational structure questions 1. When is it appropriate to post to the following mailing lists: gentoo-core, gentoo-dev, gentoo-dev-announce, gentoo-project? docs: gentoo.org 2. Who should be contacted with complaints about specific developers or projects? docs: comrel policy 3. What is the proper method for suggesting a wide-ranging feature or enhancement to Gentoo? Describe the process for getting this feature approved and implemented. docs: GLEPs 4. What is the purpose of the Gentoo Council? docs: GLEPs 5. What is the Gentoo Foundation? How does one apply for membership and who are eligible? docs: gentoo.org 6. What is the purpose of the Gentoo project structure? docs: GLEPs 7. Who can start new Gentoo projects and how is it done? docs: GLEPs 8. What is the purpose of herds? docs: devmanual 9. What is the devaway system? docs: handbook *** Ebuild technical/policy questions 1. You change a package's ebuild to install an init script. Previously, the package had no init script at all. Is a revision bump necessary? Why? What about when adding a patch? docs: devmanual 2. A user submits a "live" VCS (git, svn ...) ebuild. What would be a preferable alternative to such an ebuild? docs: handbook 3. (a) What is repoman? How would you check for QA problems with repoman? docs: handbook (b) A user submits a brand-new ebuild for a new package. What are the proper steps (including repoman/cvs commands) to take to add this ebuild to the tree? docs: handbook 4. A user submits an ebuild that has numerous technical problems and violates policy. How would you handle that situation? docs: handbook 5. You have a set of new ebuilds that could potentially benefit from a global USE flag. What steps should be taken before a new USE flag is implemented? What should be done if the USE flag only applies to a single package? docs: devmanual 6. What steps are needed to remove a use flag from IUSE in an ebuild? docs: 7. You're creating an ebuild. Unfortunately, the ebuild's 'make install' target causes numerous access violations. What is the best course of action to take to have a clean, straightforward ebuild? docs: devmanual 8. You're creating an ebuild that needs a patch. The patch is nontrivially large - bigger than 20kbytes. Where should the patch be kept? docs: devmanual 9. You're creating an ebuild that has its own license - one that doesn't exist in /usr/portage/licenses/. What is the proper course of action? docs: GLEPs, devmanual 10. (a) You wish to have an ebuild marked "stable," taking it out of ~ARCH KEYWORDS. It's a library. What steps should be taken to do so? docs: devmanual (b) You wish to mark an ebuild "testing," putting it into ~ARCH KEYWORDS. It was previously hard-masked in package.mask. What should be done prior to doing so? docs: handbook (c) You wish to have an ebuild marked "stable." It is a popular application, but no other ebuilds depend on it. What should be done first? docs: devmanual 11. You're committing a user-submitted ebuild. What should be in the initial ChangeLog? docs: devmanual 12. What is the difference between DEPEND and RDEPEND? docs: devmanual 13. You wish to make a change to an ebuild, but you checked ChangeLogs and metadata.xml and it appears to be maintained by someone else. How should you proceed? docs: 14. You find a situation in which an eclass may be useful. What should you do before implementing such an eclass? docs: devmanual 15. How can you verify an ebuild has correct run time dependencies (RDEPEND) for all installed binaries? docs: handbook 16. How do you deal with a situation in which an ebuild wishes to install a file already installed by another package? docs: handbook 17. Most configure scripts attempt to automatically determine settings based on the host system. When should the ebuild specifically override settings? docs: devmanual 18. What is EAPI? docs: devmanual, PMS 19. What is the procedure for removing packages from the tree? docs: handbook 20. How do keywording policies for less often used arches like ia64 or mips differ from the more common ones like amd64? docs: devmanual 21. You are adding a new major version to the tree that requires users to follow an upgrade guide. How will you communicate this to the users? docs: GLEPs *** Please also submit the following information: * GPG public key ID (if you do not have one, please create one) You should sign your quizzes with your key http://www.gentoo.org/doc/en/gnupg-user.xml * SSH public key (if you do not have one, please create one) http://www.gentoo.org/proj/en/infrastructure/cvs-sshkeys.xml If you don't paste your key inline, make sure it's signed by your gpg key. * Date of birth * Where do you live (Town/City, Country) * What are your programming/scripting skills, if applicable? * What other areas are you experienced in? * What other projects have you contributed to, if any? * Tell us about yourself. This doesn't need to be strictly computer-relevant; things like where you're from, hobbies, job, family, interests... This information will be used for your public new developer announcement so please mention if something should not be part of that.