if (type == exact) {
   setupRequired(sconsUtils      -j gc8c338059c)
   setupRequired(base            -j g53246c7159+d801c9999e)
   setupRequired(afw             -j g3a5ebb7d8a+28b83bf6a5)
   setupRequired(daf_base        -j g8ea07a8fe4+5da20ec74a)
   setupRequired(utils           -j gceb28a84d6+4507af2415)
   setupRequired(sphinxutils     -j g44fe3e915d+d801c9999e)
   setupRequired(cpputils        -j g87389fa792+0bb42a27e1)
   setupRequired(pex_exceptions  -j g786e29fd12+76ce5f0d11)
   setupRequired(pex_config      -j ge80df9fc40+e858edc189)
   setupRequired(resources       -j g00ce9103bc+468930ee49)
   setupRequired(geom            -j g19811a7679+feebeae811)
   setupRequired(sphgeom         -j gdcc65144bf+d801c9999e)
   setupRequired(log             -j geaed405ab2+468930ee49)
   setupRequired(astshim         -j gf5dcc679e7+7aca86229d)
   setupRequired(meas_base       -j g76965917b2+194111e28e)
   setupRequired(skymap          -j g29c66ce358+4f7c993bbb)
   setupOptional(daf_butler      -j gf884090451+fd86ccfb95)
   setupRequired(pipe_base       -j gb297bb95a5+3e769b8c42)
} else {
   setupRequired(sconsUtils gc8c338059c [>= gc8c338059c])
   setupRequired(base g53246c7159+d801c9999e [>= g53246c7159+d801c9999e])
   setupRequired(afw g3a5ebb7d8a+28b83bf6a5 [>= g3a5ebb7d8a+28b83bf6a5])
   setupRequired(meas_base g76965917b2+194111e28e [>= g76965917b2+194111e28e])
   setupRequired(utils gceb28a84d6+4507af2415 [>= gceb28a84d6+4507af2415])
   setupRequired(pex_config ge80df9fc40+e858edc189 [>= ge80df9fc40+e858edc189])
   setupRequired(pex_exceptions g786e29fd12+76ce5f0d11 [>= g786e29fd12+76ce5f0d11])
   setupRequired(geom g19811a7679+feebeae811 [>= g19811a7679+feebeae811])
   
   # The following is boilerplate for all packages.
   # Pure-Python packages only need the last line.
}
}
envPrepend(LD_LIBRARY_PATH, ${PRODUCT_DIR}/lib)
envPrepend(DYLD_LIBRARY_PATH, ${PRODUCT_DIR}/lib)
envPrepend(LSST_LIBRARY_PATH, ${PRODUCT_DIR}/lib)
envPrepend(PYTHONPATH, ${PRODUCT_DIR}/python)
