Some of you may already know about it but, now that it has been tested
a bit more, felt should advertise here.

It's small'ish scripts available from "app-portage/iwdevtools"

See github[1]'s README.rst for a lowdown (and --help or man pages for
options), but for a quick overview:

qa-vdb:
    Looks at VDB's (/var/db/pkg) information and suggest changes if
    something is unexpected, such as a used shared library that isn't
    in RDEPEND.

    Can be optionally integrated with portage to display post-emerge:
    * QA: detected possibly incorrect RDEPEND
    * dev-db/sqlite <
    * dev-libs/glib | dev-libs/glib:2
    *               > media-libs/libogg
    *               > sys-libs/readline:=
    (Says to remove sqlite, add :2, add missing libogg / readline.
     Will be optionally colored, like :2 in a different color.)

    It's only suggestions and still needs someone to verify (e.g.
    dlopen() is unknown to the tool, or if a package uses bin/openssl
    executable and not its libraries), exclusion rules or disabling
    some checks entirely (like explicit :SLOT) can be done as needed
    if don't want to be nagged for your packages when you know it's
    right.

qa-sed:
    Attempts to detect when a sed(1) command in an ebuild did nothing,
    indicating that it (probably) needs updating or cleanup.

qa-cmp:
    Compares portage install images (tmp/<cat>/<pkg>/image) either with
    each others or with system's copy to give an overview of changes.

    Can also be optionally integrated to display post-emerge:
    * QA: comparing =media-libs/libid3tag-0.15.1b-r4 with <snip>
    *  FILES:+usr/lib64/cmake/id3tag/id3tagConfig.cmake
    *  FILES:+usr/lib64/cmake/id3tag/id3tagConfigVersion.cmake
    *  FILES:+usr/lib64/cmake/id3tag/id3tagTargets-gentoo.cmake
    *  FILES:+usr/lib64/cmake/id3tag/id3tagTargets.cmake
    *  FILES:-usr/lib64/libid3tag.so.0
    *  FILES:-usr/lib64/libid3tag.so.0.3.0
    *  FILES:+usr/lib64/libid3tag.so.${PV}
    * SONAME:-libid3tag.so.0(64)
    * SONAME:+libid3tag.so.0.16.1(64)
    * ------> FILES(+5,-2) SONAME(+1,-1)
    (In this example it's showing us the SONAME change needs some
     looking into. Can display/hide other information like simple
     size and ABI changes with abidiff(1), or simple full lists.)

eoldnew:
    Minor helper to emerge previous version then latest, can be useful
    with qa-cmp when old wasn't already installed.

scrub-patch:
    This takes the devmanual's "clean patches" sed[2] and additionally
    performs basic checks on making patches a bit better and to spot a
    handful of possible oversights.

These are still experimental but should usually work fine.
More small tools may be added in the future.

If any issues / questions / suggestions, feel welcome to mention them
to me on Libera IRC (nick: ionen), github[1], or b.g.o as preferred.

[1] https://github.com/ionenwks/iwdevtools
[2] https://devmanual.gentoo.org/ebuild-writing/misc-files/patches/index.html
-- 
ionen

Attachment: signature.asc
Description: PGP signature

Reply via email to