Como recompilar o pacote debian do firefox 57 usando o debuild?

3

Estou tentando recompilar o firefox 57 (o objetivo é adicionar alguns patches) no Ubuntu 16.04.

Estou realizando o procedimento usual:

sudo apt-get source firefox
sudo apt-get build-dep firefox
cd firefox-57.0.1+build2/
debuild -us -uc

No estágio "build-dep", recebo o seguinte erro:

The following packages have unmet dependencies:
 builddeps:firefox : Depends: cargo (>= 0.20)
                     Depends: rustc (>= 1.19.0)
E: Unable to correct problems, you have held broken packages.

Eu tenho todos os repositórios padrão para xenial (incluindo universe , multivers ), e não há tais pacotes. O mais recente rustc tem a versão 1.17.

Eu tentei:

  1. Instalação de rustc & carga localmente e passando seu caminho para debitar via --prepend-path
  2. Instalando o rustc & carga globaly usando ppa:jonathonf/rustlang .
  3. Instalando o rustc, cargo & clang / llvm do ppa: ubuntu-mozilla-security / ppa.

Mas recebo erros de compilação:

/home/idavydov/src/ff/firefox-57.0.1+build2/obj-x86_64-linux-gnu/dist/include/mozilla/Compiler.h:49:12: fatal error: 'cstddef' file not found, err: true
/home/idavydov/src/ff/firefox-57.0.1+build2/obj-x86_64-linux-gnu/dist/include/mozilla/mozalloc.h:16:12: fatal error: 'new' file not found, err: true
/home/idavydov/src/ff/firefox-57.0.1+build2/obj-x86_64-linux-gnu/dist/include/mozilla/mozalloc.h:16:12: fatal error: 'new' file not found, err: true
...
    stack backtrace:
       0:     0x5584a7075fb3 - std::sys::imp::backtrace::tracing::imp::unwind_backtrace::h8ed7485deb8ab958
                                   at /checkout/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
       1:     0x5584a7072520 - std::sys_common::backtrace::_print::h3d4f9ea58578e60f
                                   at /checkout/src/libstd/sys_common/backtrace.rs:69
...
      11:     0x5584a707aa9b - std::sys::imp::thread::Thread::new::thread_start::hbaf1b5aa1ca8e3ea
                                   at /checkout/src/liballoc/boxed.rs:736
                                   at /checkout/src/libstd/sys_common/thread.rs:24
                                   at /checkout/src/libstd/sys/unix/thread.rs:90
      12:     0x2b1467a296b9 - start_thread
      13:     0x2b1467f5c3dc - clone
      14:                0x0 - <unknown>

Que tipo de ambiente de compilação é necessário para reconstruir o firefox 57 deb no ubuntu xenial?

    
por Iakov Davydov 07.12.2017 / 16:53

1 resposta

1

Consegui resolver isso. Houve dois problemas:

Nenhum pacote para o dep-build

Para isso, a maneira correta foi adicionar o ppa relevante:

sudo apt-get source firefox
sudo add-apt-repository ppa:ubuntu-mozilla-security/ppa
sudo apt-get update
sudo apt-get build-dep firefox
cd firefox-57.0.1+build2/
debuild -uc -us -b

Erro de compilação

Isso provavelmente estava relacionado ao espaço livre disponível no disco. O Firefox requer 30 GB de espaço livre e pelo menos 2 GB de RAM para compilar . Eu tentei em outra máquina com muitos recursos e funcionou bem.

    
por Iakov Davydov 08.12.2017 / 13:22