summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--recruiters/quizzes/end-quiz.txt84
1 files changed, 44 insertions, 40 deletions
diff --git a/recruiters/quizzes/end-quiz.txt b/recruiters/quizzes/end-quiz.txt
index 3782de8..c2db1bf 100644
--- a/recruiters/quizzes/end-quiz.txt
+++ b/recruiters/quizzes/end-quiz.txt
@@ -2,17 +2,21 @@
# This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
# https://creativecommons.org/licenses/by-sa/3.0/
Ebuild development (end of mentoring) quiz
-Revision 1.4.6 - 14 January 2017
+Revision 1.4.7 - 24 February 2017
+
+
Answer in whatever length necessary for completeness.
Review documentation. Consult your mentor if you're unable to locate answers.
+
This quiz is based largely on ciaranm's bash quiz -- much thanks to
him for the original and for extensive helpful feedback.
+
1. You are writing an ebuild for the foomatic package. Upstream calls
- the current version "1.3-7b" (but this is _not_ a beta release).
- How would the ebuild be named? What's wrong with the ebuild
- snippet below and how should this be written to aid
- maintainability?
+ the current version "1.3-7b" (but this is _not_ a beta release).
+ How would the ebuild be named? What's wrong with the ebuild
+ snippet below and how should this be written to aid
+ maintainability?
SRC_URI="https://foomatic.example.com/download/foomatic-1.3-7b.tar.bz2"
S=${WORKDIR}/foomatic-1.3-7b
@@ -30,17 +34,17 @@ docs: devmanual
docs: PMS
4. Why should an external application (for example sed/grep) not be
- called in global scope? What alternative methods can be used?
+ called in global scope? What alternative methods can be used?
docs: devmanual
5. What is wrong with using $(somecommand) or `somecommand` or $ARCH
- inside SRC_URI, DEPEND, etc?
+ inside SRC_URI, DEPEND, etc?
docs: devmanual
6. Explain what's incorrect about the following code snippets and suggest
- an alternative.
+ an alternative.
6.a
# This ebuild doesn't like the -mcpu=ultrasparc CFLAG, so drop to v9
@@ -57,7 +61,7 @@ docs: devmanual
6.c
# Extra settings for when SSL is enabled
if [ "`use ssl `" ] ; then
- # blah
+ # blah
fi
docs: devmanual
@@ -65,11 +69,11 @@ docs: devmanual
6.d
# Extra options for configure
use jpeg && myconf="--enable-jpeg" \
- || myconf="--disable-jpeg"
+ || myconf="--disable-jpeg"
use png && myconf="${myconf} --enable-png" \
- || myconf="${myconf} --disable-png"
+ || myconf="${myconf} --disable-png"
use gif && myconf="${myconf} --enable-gif89a" \
- || myconf="${myconf} --disable-gif89a"
+ || myconf="${myconf} --disable-gif89a"
econf ${myconf}
docs: devmanual
@@ -88,34 +92,34 @@ docs: devmanual
docs: devmanual
7. Explain briefly the purpose of the following tools:
- grep, cut, sed, cat, wc, awk
+ grep, cut, sed, cat, wc, awk
docs: devmanual
8. You're writing an ebuild and init script for a server application
- that needs networking to be available when started and can also
- use a system logger if one is available. How should this be
- written in the init script?
+ that needs networking to be available when started and can also
+ use a system logger if one is available. How should this be
+ written in the init script?
docs: devmanual
9. What is the 'Gentoo Way' of allowing the user to pass other options
- to the previously mentioned server application?
+ to the previously mentioned server application?
docs: devmanual
10. What is the 'Gentoo Way' of globally setting environment variables
- for all users?
+ for all users?
docs: devmanual
11. What directory should be used for application-generated
- non-temporary data?
+ non-temporary data?
docs: devmanual
12. Which directory should manual (man) pages be in and how should they
- be installed from an ebuild?
+ be installed from an ebuild?
docs: PMS
@@ -129,46 +133,46 @@ docs: devmanual
docs: devmanual
15. You are committing a new package to the tree. What will you have in
- the KEYWORDS variable?
+ the KEYWORDS variable?
docs: devmanual
16. You are bumping foomatic's ebuild from version 1.2 to version
- 1.3. The new release contains bugfixes and new
- functionality. The current KEYWORDS for 1.2 are
- "x86 sparc ~mips amd64" -- what will KEYWORDS be for
- the new 1.3 ebuild?
+ 1.3. The new release contains bugfixes and new
+ functionality. The current KEYWORDS for 1.2 are
+ "x86 sparc ~mips amd64" -- what will KEYWORDS be for
+ the new 1.3 ebuild?
docs: devmanual
17. You are bumping foomatic's ebuild from version 1.3 to 1.4. The
- new release extends functionality and introduces a new
- dependency on libfnord version 1.2 or later. The
- KEYWORDS for foomatic-1.3 are "x86 sparc ~mips amd64"
- and the KEYWORDS for libfnord-1.2 are "x86 ~sparc" --
- what will you do?
+ new release extends functionality and introduces a new
+ dependency on libfnord version 1.2 or later. The
+ KEYWORDS for foomatic-1.3 are "x86 sparc ~mips amd64"
+ and the KEYWORDS for libfnord-1.2 are "x86 ~sparc" --
+ what will you do?
docs: devmanual
18. You are bumping foomatic's ebuild from version 1.4 to 1.5. This
- release introduces new optional support for the libgerbil
- library, which you are controlling via the gerbil global
- USE flag. Unfortunately libgerbil is full of code which
- doesn't work properly on big endian systems, and so has
- "-sparc -mips" in the KEYWORDS. How will you handle this?
+ release introduces new optional support for the libgerbil
+ library, which you are controlling via the gerbil global
+ USE flag. Unfortunately libgerbil is full of code which
+ doesn't work properly on big endian systems, and so has
+ "-sparc -mips" in the KEYWORDS. How will you handle this?
docs: devmanual
19. You are bumping foomatic's ebuild from version 1.5 to version
- 2.0. This new version is a massive rewrite which introduces
- huge changes to the build system, the required libraries
- and how the code works. What will you do for KEYWORDS here?
+ 2.0. This new version is a massive rewrite which introduces
+ huge changes to the build system, the required libraries
+ and how the code works. What will you do for KEYWORDS here?
docs: devmanual
20. Your package only builds with newer gcc (e.g. >gcc-4.7).
- How do you ensure that the user uses an appropriate compiler to build the
- package? Under which circumstances should you avoid this check and how?
+ How do you ensure that the user uses an appropriate compiler to build the
+ package? Under which circumstances should you avoid this check and how?
docs: devmanual