From 3de07d17ee409cb270797633aa8ba3f0ed63331f Mon Sep 17 00:00:00 2001 From: Michał Górny Date: Fri, 2 Dec 2016 13:45:20 +0100 Subject: Rework the ebuild quiz Attempt to improve the ebuild quiz further: - expand and clarify a few of the questions, - add a variant of q1 for dependency changes, - merge q11 into q3 -- both are about committing a user-submitted ebuild, so it makes sense to ask both at the same time, - expand q12 (now q11) to all dependency types, - remove the mention of ChangeLogs since they no longer affect the git repository used by developers. --- recruiters/quizzes/ebuild-quiz.txt | 53 +++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/recruiters/quizzes/ebuild-quiz.txt b/recruiters/quizzes/ebuild-quiz.txt index 6ce9f36..a34c4a2 100644 --- a/recruiters/quizzes/ebuild-quiz.txt +++ b/recruiters/quizzes/ebuild-quiz.txt @@ -4,6 +4,7 @@ Ebuild development quiz Revision 1.16 - 01 December 2016 + Answer in whatever length necessary for completeness. Support your answers with documentation links. Consult your mentor if you're unable to locate answers. @@ -52,22 +53,25 @@ docs: wiki 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? + What about when adding a dependency? docs: devmanual -2. A user submits a "live" VCS (git, svn ...) ebuild. What would be a preferable - alternative to such an ebuild? +2. A user submits a "live" VCS (git, svn ...) ebuild in order to obtain + a bugfix that has not been released yet. What would be a preferable + alternative to such an ebuild? What if there are numerous changes + involved? docs: devmanual -3. (a) What is repoman? How would you check for QA problems with - repoman? +3. (a) What is repoman? When should it be used? How would you check for QA + problems with repoman? docs: devmanual, wiki - (b) A user submits a brand-new ebuild for a new package. What are the - proper steps (including repoman commands) to take to add - this ebuild to the tree? + (b) A user submits a brand-new ebuild for a new package. What are + the proper steps (including repoman commands) to take to add + this ebuild to ::gentoo? What should be in the commit message? docs: devmanual, wiki @@ -87,21 +91,20 @@ docs: devmanual 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? +7. You're creating an ebuild. Unfortunately, the default 'emake + DESTDIR="${D}" install' call causes numerous access violations. + What are the best long-term and short-term solutions? docs: devmanual 8. You're creating an ebuild that needs a patch. The patch is - nontrivially large - bigger than 20kbytes. Where should + nontrivially large - bigger than 20 KiB. 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 +9. You're creating an ebuild for a package whose license does not match + any of the licenses in the 'licenses' directory. What is the proper course of action? docs: GLEPs, devmanual @@ -123,18 +126,14 @@ docs: devmanual docs: devmanual -11. You're committing a user-submitted ebuild. What should be in the - initial commit message? - -docs: devmanual - -12. What is the difference between DEPEND and RDEPEND? +11. What is the difference between different dependency classes (DEPEND, + RDEPEND and PDEPEND)? When should each of them be used? Provide examples. docs: devmanual -13. You wish to make a change to an ebuild, but you checked - ChangeLogs, commit messages and metadata.xml and it appears to be - maintained by someone else. How should you proceed? +12. You wish to make a change to an ebuild, but you checked the commit + messages and metadata.xml and it appears to be maintained by someone + else. How should you proceed? docs: devmanual @@ -144,12 +143,12 @@ docs: devmanual docs: devmanual 15. How can you verify an ebuild has correct run time dependencies - (RDEPEND) for all installed binaries? + (RDEPEND) for all installed binaries? Provide an example tool calls. docs: -16. How do you deal with a situation in which an ebuild wishes to - install a file already installed by another package? +16. How do you deal with a situation in which an ebuild tries to + install a file that is already installed by another package? docs: devmanual @@ -159,7 +158,7 @@ docs: devmanual docs: devmanual -18. What is EAPI? +18. What is the EAPI version? How does it affect ebuilds and eclasses? docs: devmanual, PMS -- cgit v1.2.3-65-gdbad