Debian: criar utilizador durante o acondicionamento
Pergunta
Estou reembalagem algum software (que tem seu próprio instalador) para uso privado sob um sistema baseado em Debian. Esse software já está compilado (sem fonte), então eu basicamente executar o instalador para a árvore $DESTDIR
.
Infelizmente, o instalador requer que um nome de usuário e groupname sistema é criado anteriormente. Agora, eu sei que é uma questão simples de fazê-lo "à mão" antes de construir (e instalar) o pacote Debian. Mas eu estou querendo saber se é possível instruir debuild para "fake a criação de um usuário" (durante a execução como root com fakeroot). Editando as obras debian/preinst.ex
e debian/postrm.ex
arquivos para fazer essas operações, mas isso também diz respeito à construção palco, onde os usuários tornam-se desnecessárias após a compilação.
Então, basicamente este ammounts para deixar as ferramentas de compilação do Debian (e ferramentas são executadas dentro da compilação) a "acreditar" que um certo usuário já existe. Curto de execução em um ambiente chroot-ed (tais como pbuilder), como posso fazer isso?
Solução
Um pouco tarde, mas meu melhor palpite seria uma LD_PRELOAD
, o que requer a construção de um arquivo C separado compilado para uma biblioteca dinâmica que pode substituir, por exemplo, getpwnam()
que é provavelmente o que os usos do instalador para verificar o usuário.
Mas, primeiro, eu realmente olhar para ver se o "instalador" não pode ser coagido a-mode descompactar. Muitos instaladores pode, usando opções escondidas.