Crie um link simbólico primeiro e siga-o.
ln -s project-root something-else
tar cjf foo.tar.bz2 something-else/*
rm something-else
O /*
é necessário para seguir o link e selecionar todo o conteúdo, em vez de simplesmente tarring o próprio link simbólico. Você poderia alternativamente usar a opção -h
no GNU tar (mas isso também seguirá links dentro, o que você pode não querer fazer) ou a opção H
no tar do BSD (como em um Mac).
Você pode até fazer isso de dentro do projeto-raiz:
cd project-root
ln -s . something-else
tar cjf foo.tar.bz2 --exclude=something-else/something-else something-else/*
rm something-else
A menos que você exclua explicitamente (como acima), o link simbólico também existirá no tarball.
Obviamente, se você estiver fazendo isso muitas vezes e não se importar com o link simbólico, não precisará ser excluído e recriado a cada vez.