Verificando se o pacote do Ubuntu contém a atualização desejada

1

Vamos considerar o exemplo de Clang. A compatibilidade ABI do Clang divergiu do GCC5 e compilar as coisas com o Clang tornou-se um grande desafio no Ubuntu 16.04. Em algum momento, um patch foi comprometido e eventualmente fundido ao Clang 3.8 .

O Clang 3.8 também está disponível nos repositórios do Ubuntu, e quando eu adiciono o repositório do LLVM e atualizo a lista de fontes e tento instalar o Clang- 3.8, a versão do repositório do Ubuntu é instalada como a mais recente ( apt está configurada para sempre preferir a versão mais alta).

Sem tentar compilar o código para ver o que acontece, existe uma boa maneira de verificar se esse patch já está no repositório do Ubuntu ou não?

    
por TheBicentennialMan 15.01.2017 / 12:06

1 resposta

0

Uma maneira é inspecionar o changelog do pacote:

$ zgrep abi_tag /usr/share/doc/clang-3.8/changelog.Debian.gz
  * Add support for gcc's attribute abi_tag (needed for compatibility with

O changelog também está disponível on-line , no link .

Parece que o patch que você quer está incluído.

A outra maneira é inspecionar os remendos aplicados durante a embalagem. Você pode baixar o código-fonte da embalagem e inspecioná-lo:

$ apt-get source clang-3.8
Reading package lists... Done
Picking 'llvm-toolchain-3.8' as source package instead of 'clang-3.8'
NOTICE: 'llvm-toolchain-3.8' packaging is maintained in the 'Svn' version control system at:
svn://anonscm.debian.org/svn/pkg-llvm/llvm-toolchain/branches/3.8/
Need to get 37.8 MB of source archives.
Get:1 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main llvm-toolchain-3.8 1:3.8-2ubuntu4 (dsc) [5,787 B]
Get:2 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main llvm-toolchain-3.8 1:3.8-2ubuntu4 (tar) [358 kB]
Get:3 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main llvm-toolchain-3.8 1:3.8-2ubuntu4 (tar) [10.6 MB]
Get:4 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main llvm-toolchain-3.8 1:3.8-2ubuntu4 (tar) [1,641 kB]
Get:5 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main llvm-toolchain-3.8 1:3.8-2ubuntu4 (tar) [3,974 kB]
Get:6 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main llvm-toolchain-3.8 1:3.8-2ubuntu4 (tar) [1,996 kB]
Get:7 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main llvm-toolchain-3.8 1:3.8-2ubuntu4 (tar) [19.2 MB]
Get:8 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main llvm-toolchain-3.8 1:3.8-2ubuntu4 (diff) [60.1 kB]
Fetched 37.8 MB in 2s (14.7 MB/s)
dpkg-source: info: extracting llvm-toolchain-3.8 in llvm-toolchain-3.8-3.8
dpkg-source: info: unpacking llvm-toolchain-3.8_3.8.orig.tar.bz2
dpkg-source: info: unpacking llvm-toolchain-3.8_3.8.orig-clang.tar.bz2
dpkg-source: info: unpacking llvm-toolchain-3.8_3.8.orig-clang-tools-extra.tar.bz2
dpkg-source: info: unpacking llvm-toolchain-3.8_3.8.orig-compiler-rt.tar.bz2
dpkg-source: info: unpacking llvm-toolchain-3.8_3.8.orig-lldb.tar.bz2
dpkg-source: info: unpacking llvm-toolchain-3.8_3.8.orig-polly.tar.bz2
dpkg-source: info: unpacking llvm-toolchain-3.8_3.8-2ubuntu4.debian.tar.xz
dpkg-source: info: applying 18-soname.patch
dpkg-source: info: applying 19-clang_debian_version.patch
dpkg-source: info: applying 23-strlcpy_strlcat_warning_removed.diff
dpkg-source: info: applying 27-fix_clang_stdint.diff
dpkg-source: info: applying 26-set-correct-float-abi.diff
dpkg-source: info: applying 0003-Debian-version-info-and-bugreport.patch
dpkg-source: info: applying 0021-shared-lib-debian.patch
dpkg-source: info: applying 0023-link-libopagent.patch
dpkg-source: info: applying 0044-soname.diff
dpkg-source: info: applying scan-build-clang-path.diff
dpkg-source: info: applying declare_clear_cache.diff
dpkg-source: info: applying 31-powerpcspe.diff
dpkg-source: info: applying 34-powerpc-no-altivec.diff
dpkg-source: info: applying clang-format-version.diff
dpkg-source: info: applying disable-execinfo-usage.diff
dpkg-source: info: applying unwind-chain-inclusion.diff
dpkg-source: info: applying hurd-pathmax.diff
dpkg-source: info: applying use-deb-json.diff
dpkg-source: info: applying atomic_library_1.diff
dpkg-source: info: applying atomic_library_2.diff
dpkg-source: info: applying python-clangpath.diff
dpkg-source: info: applying removeduplicatedeclaration.diff
dpkg-source: info: applying fix-clang-path-and-build.diff
dpkg-source: info: applying do-not-fail-on-unexpected-pass.diff
dpkg-source: info: applying silent-more-tests.diff
dpkg-source: info: applying disable-display-PASS-UNSUPPORTED-XFAIL.diff
dpkg-source: info: applying lldb-link-atomic.diff
dpkg-source: info: applying fix-llvm-config-obj-src-root.patch
dpkg-source: info: applying compiler-rt-path.diff
dpkg-source: info: applying lldb-soname.diff
dpkg-source: info: applying force-link-pass.o.diff
dpkg-source: info: applying follow-parallel-var.diff
dpkg-source: info: applying hurd-EIEIO-undef.diff
dpkg-source: info: applying silent-MCJIIT-tests.diff
dpkg-source: info: applying lldb-libname.diff
dpkg-source: info: applying compiler-rt-i586.diff
dpkg-source: info: applying clang-analyzer-force-version.diff
dpkg-source: info: applying fix-cmake-config-prefix.diff
dpkg-source: info: applying llvm25468-lldb-swig-format-security.diff
dpkg-source: info: applying llvm26003-sanitizer-check-env.diff
dpkg-source: info: applying drop-avx512-from-skylake.diff
dpkg-source: info: applying D17567-PR23529-Sema-part-of-attrbute-abi_tag-support.diff
dpkg-source: info: applying D18035-PR23529-Mangler-part-of-attrbute-abi_tag-support.diff

Existem muitos patches sendo aplicados, entre eles:

$ grep abi_tag llvm-toolchain-3.8-3.8/debian/patches -Rm1
llvm-toolchain-3.8-3.8/debian/patches/D18035-PR23529-Mangler-part-of-attrbute-abi_tag-support.diff:+  // abi_tag is a gcc attribute, taking one or more strings called "tags".
llvm-toolchain-3.8-3.8/debian/patches/series:D17567-PR23529-Sema-part-of-attrbute-abi_tag-support.diff
llvm-toolchain-3.8-3.8/debian/patches/D17567-PR23529-Sema-part-of-attrbute-abi_tag-support.diff:+This text tries to describe gcc semantic for mangling "abi_tag" attributes

Portanto, você tem pelo menos dois patches aplicados para abi_tag .

    
por muru 17.02.2018 / 05:14