# Default share directory location -GK_SHARE="/usr/share/genkernel" +GK_SHARE="${GK_SHARE:-/usr/share/genkernel}" Pretty sure this should be: GK_SHARE="${GK_SHARE}:/usr/share/genkernel" Reproducible: Always Steps to Reproduce: 1. Sync your tree 2. Update genkernel
(In reply to comment #0) > # Default share directory location > -GK_SHARE="/usr/share/genkernel" > +GK_SHARE="${GK_SHARE:-/usr/share/genkernel}" > > Pretty sure this should be: > > GK_SHARE="${GK_SHARE}:/usr/share/genkernel" > No, genkernel is currently correct. GK_SHARE can only be one directory at a time (unlike $PATH which works like you specify). In a shell, try the following as proof, your code: $ unset GK_SHARE $ echo "${GK_SHARE}:/usr/share/genkernel" :/usr/share/genkernel Note the added ':' $ export GK_SHARE="/tmp" $ echo "${GK_SHARE}:/usr/share/genkernel" /tmp:/usr/share/genkernel Note that both entries are there seperated by a ':' This is something genkernel is not supposed to handle, and probably never will as it does not make sense to handle it either. The current code becomes the following: $ unset GK_SHARE $ echo "${GK_SHARE:-/usr/share/genkernel}" /usr/share/genkernel $ export GK_SHARE="/tmp" $ echo "${GK_SHARE:-/usr/share/genkernel}" /tmp With other words, if GK_SHARE is specified it will be used, else genkernel will use the default entry.
To put it into other words: this is Bash's way of default values for a variable. Compare this: # FOO=foo bash -c 'echo ${FOO:-bar}' foo # bash -c 'echo ${FOO:-bar}' bar For more search for "%%" in "man bash". Closing as invalid, if you don't mind. Still, thanks for asking!