Esta abordagem de modificação de /etc/inittab usa a classe build. Um script de classe build é executado com um script shell e sua saída se torna a nova versão do arquivo que está sendo executado. Em outras palavras, o arquivo de dados /etc/inittab distribuído com este pacote será executado e a saída de tal execução será /etc/inittab.
O script de classe build é executado durante a instalação e a remoção do pacote. O argumento install é passado para o arquivo se ele estiver sendo executado no tempo de instalação. Observe no script de classe build de amostra que as ações de instalação são definidas ao testar este argumento.
Para editar /etc/inittab usando a classe build, você deve realizar as tarefas seguintes:
Definir o arquivo build no arquivo prototype.
A entrada do arquivo build no arquivo prototype deve colocá-lo na classe build e definir seu tipo de arquivo como e. Certifique-se de que o parâmetro CLASSES do arquivo pkginfo esteja definido como build.
Criar o script de classe build.
O script de classe build de amostra realiza os seguintes procedimentos:
Edita o arquivo /etc/inittab para remover as alterações existentes deste pacote. Observe que o nome do arquivo /etc/inittab está definido de modo determinado e inalterável no comando sed.
Se o pacote estiver sendo instalado, adiciona a nova linha ao final de /etc/inittab. Uma marca de comentário é incluída na nova entrada para descrever de onde tal entrada provém.
Executa o comando init q.
Esta solução trata das desvantagens descritas nos estudos de caso em Modificando um arquivo usando classes padrão e scripts de ação de classe e em Modificando um arquivo usando a classe sed e um script postinstall. É necessário somente um arquivo breve (além dos arquivos pkginfo e prototype). O arquivo funciona com várias instâncias de um pacote desde que o parâmetro PKGINST seja usado, e o script postinstall não é necessário desde que o comando init q possa ser executado da classe build.