compila o pacote fonte com múltiplos núcleos cpu no debian, “apt-get -b source”

5

Eu uso apt-get -b source e este comando faz o download e compila o código fonte com um núcleo de cpu. Existe alguma maneira de compilar o pacote no debian com o gerenciador de pacotes apt com múltiplos núcleos cpu? como a opção -j no comando make : make -jX .

Obrigado.

    
por alireza 02.01.2015 / 14:17

1 resposta

7

Eu uso o comando debuild do pacote devscripts , que chama dpkg-buildpackage do pacote dpkg-dev . Isso tem algumas vantagens sobre o uso de dpkg-buildpackage diretamente, por exemplo, cria um log de construção automaticamente. Uso normal após a execução

apt-get source pkgname

é

debuild -uc -us

Mas você pode fazer (por exemplo)

debuild -uc -us -j4

Isso passa o sinalizador -j para dpkg-buildpackage .

Aqui está a seção relevante de man dpkg-buildpackage .

-jjobs Number of jobs allowed to be run simultaneously, equivalent to the make(1) option of the same name. Will add itself to the MAKEFLAGS environment variable, which should cause all subsequent make invocations to inherit the option. Also adds parallel=jobs to the DEB_BUILD_OPTIONS environment variable which allows debian/rules files to use this information for their own purposes. The parallel=jobs in DEB_BUILD_OPTIONS environment variable will override the -j value if this option is given.

Isto obviamente não é garantido para funcionar. A compilação terá que realmente usar MAKEFLAGS ou DEB_BUILD_OPTIONS de maneira adequada para que isso tenha efeito.

Eu nunca usei apt-get -b source , mas você pode ser capaz de passar bandeiras adequadas através dessa linha de comando também. No entanto, eu recomendaria fazer isso em duas etapas. Em qualquer caso, a construção diretamente após um download não funciona na maioria das vezes. Geralmente você tem que instalar pelo menos dependências de compilação primeiro. Em situações em que você está fazendo backports ou trabalhando com um pacote que não foi projetado para a mesma versão que você está tentando construir, talvez seja necessário modificar a embalagem antes de tentar criar.

    
por 02.01.2015 / 14:39

Tags