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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top