From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id A6B2C158042 for ; Fri, 1 Nov 2024 18:28:37 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 3C820E0972; Fri, 1 Nov 2024 18:28:33 +0000 (UTC) Received: from nas2.srvdr.com (nas2.srvdr.com [51.178.178.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id EF293E095F for ; Fri, 1 Nov 2024 18:28:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=inode64.com ; s=nas2; h=To:Subject:From:MIME-Version:Date:Message-ID:Content-Type:Sender: Reply-To:Cc:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=rZ2ZmfLCr2DAPgEy3/LP8bsrsE8qY/TcyvKsTtLIwR4=; b=SvgSMAs3ijDijYO7huRBRNmG+j 3fOUosJ0DlyaUnaZxCDNXe/QcTVYEdEce7Wgnalh/dN0mUsezNmudNsb56w7MxuO8+YJdDAgEUCst FKlzhh2AX8xy3og6NMECGG+AdGUyfDwYs7KP5tWSFitIGUA+SUde+wyZEN4Kzj4hY659bA1cKj2tX z+qCzUKB1iT94n1/dcP/EqvERwMzFOwk936KlBbSC9yFpQvglnjen/nwLtXTGqp7jpUQKSnJbEO14 gjlkerbBKNOiCmESCS5fjh6f4qboyhA2/ha/MVg9CevwGBl4nzB4C52hA5YYglxtj3ATqVD7vqZM0 TKtJtGVA==; Received: from [172.31.16.7] (port=33360 helo=kvm9.srvdr.com) by nas2.srvdr.com with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.98) (envelope-from ) id 1t6wNr-0000000DmPr-30Mx for gentoo-dev@lists.gentoo.org; Fri, 01 Nov 2024 19:28:31 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=inode64.com ; s=kvm9; h=To:Subject:From:MIME-Version:Date:Message-ID:Content-Type:Sender: Reply-To:Cc:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=rZ2ZmfLCr2DAPgEy3/LP8bsrsE8qY/TcyvKsTtLIwR4=; b=Dx1j1McVAEFc6kdubCTt6LCXVK XMsj8Nwo/+fErq8uIMMKIKEYV706rZ1HPpw3MpzVVpB1Hrb/yQobRjWkKhxBgwIRHUI9LxWoFts11 gNMxBcSajLFhpckYdEwWb+HHhK5mopOiQXuNTMGCEtpuVsd8KMaAQydsaoGvwQoY0/14=; Received: from [188.26.203.246] (port=39372 helo=[192.168.2.253]) by kvm9.srvdr.com with esmtpsa (TLS1.3) tls TLS_AES_128_GCM_SHA256 (Exim 4.98) (envelope-from ) id 1t6wNr-00000000VOk-1E2a for gentoo-dev@lists.gentoo.org; Fri, 01 Nov 2024 19:28:31 +0100 Content-Type: multipart/alternative; boundary="------------OTZXmWiY5iZu20LtitcsImQZ" Message-ID: Date: Fri, 1 Nov 2024 19:28:31 +0100 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Desarrollos WEB Subject: [gentoo-dev] Serious problem with inheritance of RDEPEND, BDEPEND, DEPEND, To: gentoo-dev@lists.gentoo.org Content-Language: es-ES X-Archives-Salt: e453d594-0c49-4c74-b2aa-6a925d424819 X-Archives-Hash: 109523262380fd87b1409210eb593f71 This is a multi-part message in MIME format. --------------OTZXmWiY5iZu20LtitcsImQZ Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit I have discovered an issue that affects multiple ebuilds Analyzing the causes of why nmap gives an error when it is updated and at the same time the python version is changed, it generates an error that setuptool cannot find x86_64-pc-linux-gnu-g++ -c -DNOLUA -I./libdnet-stripped/include  -I./nbase -I./nsock/include -DHAVE_CONFIG_H -DNMAP_PLATFORM=\"x86_64-pc-linux-gnu\" -DNMAPDATADIR=\"/usr/share/nmap\" -O2 -pipe -march=native -fomit-frame-pointer -Wall -fno-strict-aliasing   utils.cc -o utils.o x86_64-pc-linux-gnu-g++ -c -DNOLUA -I./libdnet-stripped/include -I./nbase -I./nsock/include -DHAVE_CONFIG_H -DNMAP_PLATFORM=\"x86_64-pc-linux-gnu\" -DNMAPDATADIR=\"/usr/share/nmap\" -O2 -pipe -march=native -fomit-frame-pointer -Wall -fno-strict-aliasing   xml.cc -o xml.o x86_64-pc-linux-gnu-g++ -c -DNOLUA -I./libdnet-stripped/include -I./nbase -I./nsock/include -DHAVE_CONFIG_H -DNMAP_PLATFORM=\"x86_64-pc-linux-gnu\" -DNMAPDATADIR=\"/usr/share/nmap\" -O2 -pipe -march=native -fomit-frame-pointer -Wall -fno-strict-aliasing   main.cc -o main.o cd ndiff && /usr/bin/python3.12 setup.py build Traceback (most recent call last):   File "/var/tmp/portage/net-analyzer/nmap-7.95/work/nmap-7.95/ndiff/setup.py", line 11, in     import setuptools.command.install ModuleNotFoundError: No module named 'setuptools' make: *** [Makefile:381: build-ndiff] Error 1 make: *** Waiting for unfinished jobs....  * ERROR: net-analyzer/nmap-7.95::gentoo failed (compile phase):  *   emake failed  *  * If you need support, post the output of `emerge --info '=net-analyzer/nmap-7.95::gentoo'`,  * the complete build log and the output of `emerge -pqv '=net-analyzer/nmap-7.95::gentoo'`.  * The complete build log is located at '/var/tmp/portage/net-analyzer/nmap-7.95/temp/build.log'.  * The ebuild environment file is located at '/var/tmp/portage/net-analyzer/nmap-7.95/temp/environment'.  * Working directory: '/var/tmp/portage/net-analyzer/nmap-7.95/work/nmap-7.95'  * S: '/var/tmp/portage/net-analyzer/nmap-7.95/work/nmap-7.95' Inspecting both the ebuild and the distutils-r1 eclass I see that within this eclass you can modify RDEPEND , BDEPEND, DEPEND, REQUIRED_USE and IUSE, then when viewing the nmap ebuild, I see that BDEPEND is directly modified without preserving all the previous values, attached nmap code *BDEPEND="         ${PYTHON_DEPS}         virtual/pkgconfig         nls? ( sys-devel/gettext )         zenmap? ( ${DISTUTILS_DEPS} ) "* Seeing this problem, you should always use the variables RDEPEND, BDEPEND, DEPEND, adding content, not replacing it (of course, there may be a special case), but as a general rule you should add, not replace, these variables, both in eclass and ebuilds. It would have to be added instead of replacing using BDEPEND+= RDEPEND+= DEPEND+= -- new nmap.ebuild -- IUSE+=" ipv6 libssh2 ncat ndiff nping nls +nse ssl symlink zenmap" REQUIRED_USE+="         nse? ( ${LUA_REQUIRED_USE} )         symlink? ( ncat ) " RDEPEND+="         dev-libs/liblinear:=         dev-libs/libpcre2         net-libs/libpcap         ndiff? ( ${PYTHON_DEPS} )         libssh2? (                 net-libs/libssh2[zlib]                 sys-libs/zlib         )         nls? ( virtual/libintl )         nse? (                 ${LUA_DEPS}                 sys-libs/zlib         )         ssl? ( dev-libs/openssl:= )         symlink? (                 ncat? (                         !net-analyzer/netcat                         !net-analyzer/openbsd-netcat                 )         )         zenmap? (                 ${PYTHON_DEPS}                 $(python_gen_cond_dep '                         dev-python/pygobject:3[${PYTHON_USEDEP}]                 ')         ) " DEPEND+=" ${RDEPEND}" # Python is always needed at build time for some scripts BDEPEND+="         virtual/pkgconfig         nls? ( sys-devel/gettext )         zenmap? ( ${DISTUTILS_DEPS} ) " I removed ${PYTHON_DEPS} because it is inherited from distutils-r1 --------------OTZXmWiY5iZu20LtitcsImQZ Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

I have discovered an issue that affects multiple ebuilds
Analyzing the causes of why nmap gives an error when it is updated and at the same time the python version is changed, it generates an error that setuptool cannot find

x86_64-pc-linux-gnu-g++ -c -DNOLUA -I./libdnet-stripped/include  -I./nbase -I./nsock/include -DHAVE_CONFIG_H -DNMAP_PLATFORM=\"x86_64-pc-linux-gnu\" -DNMAPDATADIR=\"/usr/share/nmap\" -O2 -pipe -march=native -fomit-frame-pointer -Wall -fno-strict-aliasing   utils.cc -o utils.o
x86_64-pc-linux-gnu-g++ -c -DNOLUA -I./libdnet-stripped/include  -I./nbase -I./nsock/include -DHAVE_CONFIG_H -DNMAP_PLATFORM=\"x86_64-pc-linux-gnu\" -DNMAPDATADIR=\"/usr/share/nmap\" -O2 -pipe -march=native -fomit-frame-pointer -Wall -fno-strict-aliasing   xml.cc -o xml.o
x86_64-pc-linux-gnu-g++ -c -DNOLUA -I./libdnet-stripped/include  -I./nbase -I./nsock/include -DHAVE_CONFIG_H -DNMAP_PLATFORM=\"x86_64-pc-linux-gnu\" -DNMAPDATADIR=\"/usr/share/nmap\" -O2 -pipe -march=native -fomit-frame-pointer -Wall -fno-strict-aliasing   main.cc -o main.o
cd ndiff && /usr/bin/python3.12 setup.py build
Traceback (most recent call last):
  File "/var/tmp/portage/net-analyzer/nmap-7.95/work/nmap-7.95/ndiff/setup.py", line 11, in <module>
    import setuptools.command.install
ModuleNotFoundError: No module named 'setuptools'
make: *** [Makefile:381: build-ndiff] Error 1
make: *** Waiting for unfinished jobs....
 * ERROR: net-analyzer/nmap-7.95::gentoo failed (compile phase):
 *   emake failed
 *
 * If you need support, post the output of `emerge --info '=net-analyzer/nmap-7.95::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=net-analyzer/nmap-7.95::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/net-analyzer/nmap-7.95/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-analyzer/nmap-7.95/temp/environment'.
 * Working directory: '/var/tmp/portage/net-analyzer/nmap-7.95/work/nmap-7.95'
 * S: '/var/tmp/portage/net-analyzer/nmap-7.95/work/nmap-7.95'



Inspecting both the ebuild and the distutils-r1 eclass I see that within this eclass you can modify RDEPEND , BDEPEND, DEPEND, REQUIRED_USE and IUSE, then when viewing the nmap ebuild, I see that BDEPEND is directly modified without preserving all the previous values, attached nmap code

BDEPEND="
        ${PYTHON_DEPS}
        virtual/pkgconfig
        nls? ( sys-devel/gettext )
        zenmap? ( ${DISTUTILS_DEPS} )
"



Seeing this problem, you should always use the variables RDEPEND, BDEPEND, DEPEND, adding content, not replacing it (of course, there may be a special case), but as a general rule you should add, not replace, these variables, both in eclass and ebuilds.  

It would have to be added instead of replacing using BDEPEND+= RDEPEND+= DEPEND+=

-- new nmap.ebuild --

IUSE+=" ipv6 libssh2 ncat ndiff nping nls +nse ssl symlink zenmap"
REQUIRED_USE+="
        nse? ( ${LUA_REQUIRED_USE} )
        symlink? ( ncat )
"

RDEPEND+="
        dev-libs/liblinear:=
        dev-libs/libpcre2
        net-libs/libpcap
        ndiff? ( ${PYTHON_DEPS} )
        libssh2? (
                net-libs/libssh2[zlib]
                sys-libs/zlib
        )
        nls? ( virtual/libintl )
        nse? (
                ${LUA_DEPS}
                sys-libs/zlib
        )
        ssl? ( dev-libs/openssl:= )
        symlink? (
                ncat? (
                        !net-analyzer/netcat
                        !net-analyzer/openbsd-netcat
                )
        )
        zenmap? (
                ${PYTHON_DEPS}
                $(python_gen_cond_dep '
                        dev-python/pygobject:3[${PYTHON_USEDEP}]
                ')
        )
"
DEPEND+=" ${RDEPEND}"
# Python is always needed at build time for some scripts
BDEPEND+="
        virtual/pkgconfig
        nls? ( sys-devel/gettext )
        zenmap? ( ${DISTUTILS_DEPS} )
"


I removed ${PYTHON_DEPS} because it is inherited from distutils-r1



--------------OTZXmWiY5iZu20LtitcsImQZ--