# ---------------------------------------------------------------------------
# rpmlint -- configuracao especifica do libcap (susemux / Bionic / Termux)
# ---------------------------------------------------------------------------
# Nome: "%{name}-rpmlintrc" (openSUSE:Packaging_checks). O rpmlint carrega
# sozinho qualquer "*-rpmlintrc" na pasta SOURCES (glob "*-rpmlintrc"); e' assim
# que este arquivo passa a valer -- sem nenhum "addFilter" manual na linha de
# comando. Ele tambem esta' declarado como "Source100" no libcap.spec, por
# paridade com o bzip2.spec (o OBS entrega o arquivo ao worker de qualquer forma,
# mas declarar o inclui no SRPM e preserva a convencao do repositorio).
#
# Diferente do libxml2, aqui o build NAO aborta sozinho: o rpmlint soma 9 de
# badness (um por "E:"), abaixo do limite (999). Os "E:" e "W:" abaixo descrevem
# uma plataforma que nao e' a do alvo -- glibc/SystemV, FHS 2.3, "/usr" e
# ldconfig -- e nao um defeito DESTE pacote. Filtrados para manter o log limpo,
# como no libxml2. O alvo e' Android/Bionic com o prefixo do Termux
# (susemux-macros, secoes 1 e 7).

# ---------------------------------------------------------------------------
#  Biblioteca estatica sem debuginfo -- 1 de badness (E)
# ---------------------------------------------------------------------------
# "static-library-without-debuginfo (E) .../lib/libpsx.a".
#
# O repositorio faz cross-build para Bionic e NAO gera pacote de debuginfo (nada
# no aparelho o consome). O Leap entrega "libpsx.a" no libcap-devel
# (filelists.xml), entao ele e' mantido; so' o debuginfo, que nunca e' produzido
# aqui, faz o check disparar.
addFilter("static-library-without-debuginfo")

# ---------------------------------------------------------------------------
#  "no-binary" -- o pacote principal e' vazio (x86_64 sem ELF)
# ---------------------------------------------------------------------------
# "libcap" nao tem payload: no Leap a biblioteca vive no "libcap2". A arch e'
# necessaria porque os subpacotes carregam ELF por ABI. (Idem libxml2.)
addFilter("no-binary")

# ---------------------------------------------------------------------------
#  ldconfig -- nao existe na Bionic
# ---------------------------------------------------------------------------
# "library-without-ldconfig-postin" / "postun" para libcap2 e libpsx2. O Android
# nao tem ldconfig nem cache de bibliotecas; o loader resolve pelo caminho
# absoluto no DT_RUNPATH (ver a secao 1 do susemux-macros).
addFilter("library-without-ldconfig-postin")
addFilter("library-without-ldconfig-postun")

# ---------------------------------------------------------------------------
#  FHS 2.3 -- o prefixo do Termux nao e' /usr
# ---------------------------------------------------------------------------
# "filelist-forbidden-fhs23 /data" (E, um por subpacote) e os
# "dir-or-file-outside-snapshot" (W, um por caminho). O prefixo
# /data/data/com.termux/files/usr e' fixo por design. (Idem libxml2.)
addFilter("filelist-forbidden-fhs23")
addFilter("dir-or-file-outside-snapshot")

# ---------------------------------------------------------------------------
#  ".hash" SysV ausente -- rede de seguranca
# ---------------------------------------------------------------------------
# O libcap NAO usa "%configure", entao o "-Wl,--hash-style=both" do
# "%{bionic_ldflags}" nao chega sozinho: foi escrito A MAO no "LDFLAGS=" do
# "%build" (ver a ARMADILHA 9 no libcap.spec). Com a flag o check nao aparece --
# por isso ele NAO entra como "addFilter" (o rpmlint reprova addFilter ocioso,
# "unused-rpmlintrc-filter"). "setBadness" a 0 e' a rede de seguranca: se um dia
# a flag sumir do "LDFLAGS=", o E vira W sem badness em vez de derrubar o build.
setBadness("missing-hash-section", 0)

# "no-%check-section" NAO e' filtrado: e' aviso util (o upstream tem testsuite,
# mas o build de cross nao o roda hoje). Fica visivel como lembrete.
