• [gentoo-dev] [PATCH 1/4] profiles/use.desc: create USE=strip global USE

    From Ionen Wolkens@21:1/5 to All on Fri May 26 06:10:01 2023
    Primarily intended for use by linux-mod-r1.eclass, which needs
    a global IUSE to control stripping of kernel modules *before*
    signatures and compression (alternative would be to simply never
    strip, but that seem sub-optimal).

    Originally meant to be USE=modules-strip or similar, but this can
    have a more general use case when portage does not know how to
    strip special files properly while the ebuild does.

    Notable is mingw ebuilds (wine-*, dxvk, vkd3d-proton, mingw64-*).
    If portage uses x86_64-pc-linux-strip on, e.g. mingw64-toolchain's
    runtime libraries, then at least the 32bit toolchain ends up broken
    and cannot compile anything anymore. But then dostrip -x results in
    unstripped files while we can use x86_64-w64-mingw32-strip in the
    ebuild potentially saving 60MB+. Currently this is done through
    USE=debug, but does not feel fully fitting given this isn't about
    adding debugging paths (or even symbols, or anything) and is merely
    "do not strip".

    No USE in ::gentoo currently contain the word "strip" and defining
    it should not conflict.

    Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
    ---
    profiles/use.desc | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/profiles/use.desc b/profiles/use.desc
    index 47438c839071..aa5d16dd652e 100644
    --- a/profiles/use.desc
    +++ b/profiles/use.desc
    @@ -301,6 +301,7 @@ ssl - Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer
    startup-notification - Enable application startup event feedback mechanism
    static - !!do not set this during bootstrap!! Causes binaries to be statically linked instead of dynamically
    static-libs - Build static versions of dynamic libraries as well
    +strip - Allow symbol stripping to be performed by the ebuild for special files
    subversion - Enable subversion (version control system) support
    suid - Enable setuid root program(s)
    svg - Add support for SVG (Scalable Vector Graphics)
    --
    2.40.1

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Sam James@21:1/5 to Ionen Wolkens on Fri May 26 07:10:01 2023
    Ionen Wolkens <ionen@gentoo.org> writes:

    Primarily intended for use by linux-mod-r1.eclass, which needs
    a global IUSE to control stripping of kernel modules *before*
    signatures and compression (alternative would be to simply never
    strip, but that seem sub-optimal).

    Originally meant to be USE=modules-strip or similar, but this can
    have a more general use case when portage does not know how to
    strip special files properly while the ebuild does.

    Notable is mingw ebuilds (wine-*, dxvk, vkd3d-proton, mingw64-*).
    If portage uses x86_64-pc-linux-strip on, e.g. mingw64-toolchain's
    runtime libraries, then at least the 32bit toolchain ends up broken
    and cannot compile anything anymore. But then dostrip -x results in unstripped files while we can use x86_64-w64-mingw32-strip in the
    ebuild potentially saving 60MB+. Currently this is done through
    USE=debug, but does not feel fully fitting given this isn't about
    adding debugging paths (or even symbols, or anything) and is merely
    "do not strip".

    No USE in ::gentoo currently contain the word "strip" and defining
    it should not conflict.

    This sounds fine (and a good idea), but we may want some indication
    in the USE flag description (eh), a QA policy to indicate
    it's only for special situations, or some note in the devmanual.

    Can see people getting this wrong and trying to use it in ebuilds
    which would work otherwise. But maybe the "special" in the USE
    description is enough?

    -----BEGIN PGP SIGNATURE-----

    iOUEARYKAI0WIQQlpruI3Zt2TGtVQcJzhAn1IN+RkAUCZHA+zF8UgAAAAAAuAChp c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0MjVB NkJCODhERDlCNzY0QzZCNTU0MUMyNzM4NDA5RjUyMERGOTE5MA8cc2FtQGdlbnRv by5vcmcACgkQc4QJ9SDfkZAQkAD8DR58fezYzoj5DjjWLTyLlCbXHLkRcnQrjsqI komh2GYA/0hdI5iA8gtfYH2d3SrDkrWxrODm3v111jf/91NHk7gL
    =g9kp
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ionen Wolkens@21:1/5 to Sam James on Fri May 26 07:30:01 2023
    On Fri, May 26, 2023 at 06:06:46AM +0100, Sam James wrote:

    Ionen Wolkens <ionen@gentoo.org> writes:

    Primarily intended for use by linux-mod-r1.eclass, which needs
    a global IUSE to control stripping of kernel modules *before*
    signatures and compression (alternative would be to simply never
    strip, but that seem sub-optimal).

    Originally meant to be USE=modules-strip or similar, but this can
    have a more general use case when portage does not know how to
    strip special files properly while the ebuild does.

    Notable is mingw ebuilds (wine-*, dxvk, vkd3d-proton, mingw64-*).
    If portage uses x86_64-pc-linux-strip on, e.g. mingw64-toolchain's
    runtime libraries, then at least the 32bit toolchain ends up broken
    and cannot compile anything anymore. But then dostrip -x results in unstripped files while we can use x86_64-w64-mingw32-strip in the
    ebuild potentially saving 60MB+. Currently this is done through
    USE=debug, but does not feel fully fitting given this isn't about
    adding debugging paths (or even symbols, or anything) and is merely
    "do not strip".

    No USE in ::gentoo currently contain the word "strip" and defining
    it should not conflict.

    This sounds fine (and a good idea), but we may want some indication
    in the USE flag description (eh), a QA policy to indicate
    it's only for special situations, or some note in the devmanual.

    Can see people getting this wrong and trying to use it in ebuilds
    which would work otherwise. But maybe the "special" in the USE
    description is enough?

    This is what I had in mind when I used that word. Didn't want the
    description to sound like it's aimed at developers more than users,
    but still have something that prevents matching common strip usage.
    --
    ionen

    -----BEGIN PGP SIGNATURE-----

    iQEzBAABCAAdFiEEx3SLh1HBoPy/yLVYskQGsLCsQzQFAmRwQr8ACgkQskQGsLCs QzQYAwf7BdxYev4XS0PrGeVHFu+seEwBwLgVV/Ch8pOdYTCy2eDSpoHQ6by24E/p axb7W66iWHmP7+6aR+BK9Kt+cIybg6qgFAFkL5cac+GSdR63rG1KZhirbtXtm4C4 in1DxcaZcJ5NHPkoqFk7YroaZ99vD9sBK7v36WEbRWfCYLmXmWvPXyiuIHEN2lRY Do47tVSZk3EyvKm0n3XGEuEHaAdv8WxSiiR/YMUYdDS1pNMXL639U3osPh9LpYy+ 1hcdJkHb7/R+n1mBLIv1jgKbYKAqieNdda204E3SyvryYI1t9FEkLlov0UDks7eP L91YAr6lFmsITjAnRYBHekbsHNKz9A==
    =1RT7
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)