Re: [gentoo-dev] rfc: noarch keyword

2020-03-20 Thread Kent Fredric
On Thu, 19 Mar 2020 15:40:20 -0400
Mike Gilbert  wrote:

> I'm not sure what you mean by "stabilization graph". I'm guessing you
> mean the dependency graph for stable keywords?
> 
> Valid dependency graphs are determined by whatever our tooling deems
> valid. The tooling could be updated to permit amd64 packages to depend
> on noarch packages, and vice-versa.

No, its worse than that :/

If X is "noarch" and its dependency Y is "amd64", then a user on "sparc"
will be able to install "X", but not its dependency "Y".

And thus, the error from portage will:

- Take longer to produce
- Be less clear

And any tooling that exposes "noarch" as "you can install this" will be
wrong, because instead of the KEYWORDS being an independent declaration
of usability, the entire dependency graph has to be checked for usability.

Thus, end users will have portage erroring that a no-arch package is
not available due to its dependencies being impossible to satisfy.

And, as a QA measure, we'd have to make that condition illegal.

And the only way to do that, would be for CI to reject packages that
are "noarch" and depend on things that are in turn, not "noarch".



pgpihB4EjbGxi.pgp
Description: OpenPGP digital signature


[gentoo-dev] [PATCH v2] fixheadtails.eclass: drop the sed dependency

2020-03-20 Thread David Michael
Signed-off-by: David Michael 
---

Changes since v1:
  * Drop the dependency altogether

 eclass/fixheadtails.eclass | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/eclass/fixheadtails.eclass b/eclass/fixheadtails.eclass
index c19d33924aa..475b182843a 100644
--- a/eclass/fixheadtails.eclass
+++ b/eclass/fixheadtails.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: fixheadtails.eclass
@@ -8,8 +8,6 @@
 # Original author John Mylchreest 
 # @BLURB: functions to replace obsolete head/tail with POSIX compliant ones
 
-DEPEND=">=sys-apps/sed-4"
-
 _do_sed_fix() {
einfo " - fixed $1"
sed -i \
-- 
2.21.1




Re: [gentoo-dev] [PATCH] fixheadtails.eclass: move sed to BDEPEND for EAPI 7

2020-03-20 Thread David Seifert
On Fri, 2020-03-20 at 14:19 -0400, David Michael wrote:
> It executes sed at build time, so it should be installed in /.
> 
> Signed-off-by: David Michael 
> ---
> 
> Hi,
> 
> Here is another simple dependency move to put a required program in the
> correct ROOT so it can be executed during the build.  It's basically the
> same as 814ab1294edf3565fc02fe63d15d6fa7ca886429.
> 
> Thanks.
> 
> David
> 
>  eclass/fixheadtails.eclass | 7 +--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/eclass/fixheadtails.eclass b/eclass/fixheadtails.eclass
> index c19d33924aa..5d221ca678c 100644
> --- a/eclass/fixheadtails.eclass
> +++ b/eclass/fixheadtails.eclass
> @@ -1,4 +1,4 @@
> -# Copyright 1999-2014 Gentoo Foundation
> +# Copyright 1999-2020 Gentoo Authors
>  # Distributed under the terms of the GNU General Public License v2
>  
>  # @ECLASS: fixheadtails.eclass
> @@ -8,7 +8,10 @@
>  # Original author John Mylchreest 
>  # @BLURB: functions to replace obsolete head/tail with POSIX compliant ones
>  
> -DEPEND=">=sys-apps/sed-4"
> +case "${EAPI:-0}" in
> + [0-6]) DEPEND=">=sys-apps/sed-4" ;;
> + *) BDEPEND=">=sys-apps/sed-4" ;;
> +esac
>  
>  _do_sed_fix() {
>   einfo " - fixed $1"

This is an ancient dependency, just kill it altogether.




[gentoo-dev] Last rites: x11-libs/gtkglarea and media-sound/galan

2020-03-20 Thread David Seifert
# David Seifert  (2020-03-20)
# Last release in 2014, unsupported, EOL.
# Include the last remaining revdep, which was last updated in 2004.
x11-libs/gtkglarea
media-sound/galan


signature.asc
Description: This is a digitally signed message part


[gentoo-dev] [PATCH] fixheadtails.eclass: move sed to BDEPEND for EAPI 7

2020-03-20 Thread David Michael
It executes sed at build time, so it should be installed in /.

Signed-off-by: David Michael 
---

Hi,

Here is another simple dependency move to put a required program in the
correct ROOT so it can be executed during the build.  It's basically the
same as 814ab1294edf3565fc02fe63d15d6fa7ca886429.

Thanks.

David

 eclass/fixheadtails.eclass | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/eclass/fixheadtails.eclass b/eclass/fixheadtails.eclass
index c19d33924aa..5d221ca678c 100644
--- a/eclass/fixheadtails.eclass
+++ b/eclass/fixheadtails.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: fixheadtails.eclass
@@ -8,7 +8,10 @@
 # Original author John Mylchreest 
 # @BLURB: functions to replace obsolete head/tail with POSIX compliant ones
 
-DEPEND=">=sys-apps/sed-4"
+case "${EAPI:-0}" in
+   [0-6]) DEPEND=">=sys-apps/sed-4" ;;
+   *) BDEPEND=">=sys-apps/sed-4" ;;
+esac
 
 _do_sed_fix() {
einfo " - fixed $1"
-- 
2.21.1




[gentoo-dev] Last rites: sci-physics/espresso++

2020-03-20 Thread Michał Górny
# Michał Górny  (2020-03-20)
# Python 2 only.  Upstream is not working on a port.
# Removal in 30 days.  Bug #713568.
sci-physics/espresso++

-- 
Best regards,
Michał Górny



signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] [PATCH] font.eclass: Don't assign FONT_S in global scope, allow an array.

2020-03-20 Thread Ulrich Mueller
> On Fri, 14 Feb 2020, Ulrich Müller wrote:

> Accessing ${S} in global scope is not allowed by PMS, therefore remove
> the global variable assignment of FONT_S which uses it. Add a fallback
> to ${S} in font_src_install() instead.

> Allow FONT_S to be an array, if there are multiple directories.
> Support for whitespace-separated lists will be kept for some time,
> and a QA warning will be shown.

> Die if pushd or popd fails.

> Closes: https://bugs.gentoo.org/613108
> Closes: https://bugs.gentoo.org/709578
> Signed-off-by: Ulrich Müller 
> ---
> This will be committed in 60 days from now. The backwards compatibility
> code for whitespace-separated FONT_S will be removed in one year.

I have merged this already today, because conflicts in the media-fonts
category started accumulating.

> * ATTENTION OVERLAY USERS *
> If your ebuilds currently output error messages like:
> /var/tmp/portage/media-fonts/foo/temp/environment: line 1036: pushd: 
> /var/tmp/portage/media-fonts/foo/work/foo: No such file or directory
> /var/tmp/portage/media-fonts/foo/temp/environment: line 1043: popd: directory 
> stack empty
> then in future these will be caught by the added "|| die" statements
> after pushd and popd. So make sure to fix such breakage before the
> updated eclass will be committed.


signature.asc
Description: PGP signature


Re: [gentoo-dev] Last rites: net-mail/automx

2020-03-20 Thread Ralph Seichter
Package www-servers/automx2 has now been moved to net-mail/automx2.

-Ralph



[gentoo-dev] Re: [gentoo-dev-announce] Last rites: dev-python/gnome-vfs-python, dev-python/libbonobo-python, dev-python/libgnome-python, dev-python/libgnomecanvas-python, dev-python/librsvg-python, de

2020-03-20 Thread Michał Górny
On Fri, 2020-03-20 at 09:59 +0100, Michał Górny wrote:
> # Michał Górny  (2020-03-20)
> # Deprecated GNOME libraries, replaced by introspection.  Python 2 only.
> # No reverse dependencies.
> # Removal in 30 days.  Bug #713566.
> dev-python/gnome-vfs-python
> dev-python/libbonobo-python
> dev-python/libgnome-python
> dev-python/libgnomecanvas-python
> dev-python/librsvg-python
> dev-python/pyorbit

Also:

dev-python/gtkspell-python
dev-python/gnome-python-desktop-base
dev-python/gnome-python-extras-base

-- 
Best regards,
Michał Górny



signature.asc
Description: This is a digitally signed message part


[gentoo-dev] Last rites: dev-python/gnome-vfs-python, dev-python/libbonobo-python, dev-python/libgnome-python, dev-python/libgnomecanvas-python, dev-python/librsvg-python, dev-python/pyorbit

2020-03-20 Thread Michał Górny
# Michał Górny  (2020-03-20)
# Deprecated GNOME libraries, replaced by introspection.  Python 2 only.
# No reverse dependencies.
# Removal in 30 days.  Bug #713566.
dev-python/gnome-vfs-python
dev-python/libbonobo-python
dev-python/libgnome-python
dev-python/libgnomecanvas-python
dev-python/librsvg-python
dev-python/pyorbit

-- 
Best regards,
Michał Górny



signature.asc
Description: This is a digitally signed message part


[gentoo-dev] Last rites: sci-electronics/geda-xgsch2pcb

2020-03-20 Thread Michał Górny
# Michał Górny  (2020-03-20)
# Added in 2009, not bumped since.  Python 2 only, requires dead
# dev-python/pygtk.  Gone from HOMEPAGE.
# Removal in 30 days.  Bug #710166.
sci-electronics/geda-xgsch2pcb

-- 
Best regards,
Michał Górny



signature.asc
Description: This is a digitally signed message part


[gentoo-dev] [PATCH 2/3] python-utils-r1.eclass: Replace python_export with getters

2020-03-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 eclass/python-utils-r1.eclass | 17 ++---
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index e6c6ac1155f2..064114b4faa3 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -774,9 +774,8 @@ python_newexe() {
local f=${1}
local newfn=${2}
 
-   local PYTHON_SCRIPTDIR d
-   python_export PYTHON_SCRIPTDIR
-   d=${PYTHON_SCRIPTDIR#${EPREFIX}}
+   local scriptdir=$(python_get_scriptdir)
+   local d=${scriptdir#${EPREFIX}}
 
(
dodir "${wrapd}"
@@ -902,10 +901,8 @@ python_domodule() {
d=${python_moduleroot}
else
# relative to site-packages
-   local PYTHON_SITEDIR=${PYTHON_SITEDIR}
-   [[ ${PYTHON_SITEDIR} ]] || python_export PYTHON_SITEDIR
-
-   d=${PYTHON_SITEDIR#${EPREFIX}}/${python_moduleroot//.//}
+   local sitedir=$(python_get_sitedir)
+   d=${sitedir#${EPREFIX}}/${python_moduleroot//.//}
fi
 
(
@@ -935,10 +932,8 @@ python_doheader() {
 
[[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is 
null).'
 
-   local d PYTHON_INCLUDEDIR=${PYTHON_INCLUDEDIR}
-   [[ ${PYTHON_INCLUDEDIR} ]] || python_export PYTHON_INCLUDEDIR
-
-   d=${PYTHON_INCLUDEDIR#${EPREFIX}}
+   local includedir=$(python_get_includedir)
+   local d=${includedir#${EPREFIX}}
 
(
insopts -m 0644
-- 
2.25.2




[gentoo-dev] [PATCH 3/3] python-utils-r1.eclass: Mark python_export private

2020-03-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 eclass/python-any-r1.eclass  |  12 +-
 eclass/python-r1.eclass  |  12 +-
 eclass/python-single-r1.eclass   |   8 +-
 eclass/python-utils-r1.eclass| 150 ---
 eclass/tests/python-utils-r1.sh  |   2 +-
 metadata/install-qa-check.d/60python-pyc |   2 +-
 6 files changed, 44 insertions(+), 142 deletions(-)

diff --git a/eclass/python-any-r1.eclass b/eclass/python-any-r1.eclass
index d16677debd2a..eef4c57b7e25 100644
--- a/eclass/python-any-r1.eclass
+++ b/eclass/python-any-r1.eclass
@@ -151,7 +151,7 @@ _python_any_set_globals() {
_python_set_impls
 
for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
-   python_export "${i}" PYTHON_PKG_DEP
+   _python_export "${i}" PYTHON_PKG_DEP
 
# note: need to strip '=' slot operator for || deps
deps="${PYTHON_PKG_DEP/:0=/:0} ${deps}"
@@ -232,7 +232,7 @@ python_gen_any_dep() {
local i PYTHON_PKG_DEP out=
for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
local 
PYTHON_USEDEP="python_targets_${i}(-),python_single_target_${i}(+)"
-   python_export "${i}" PYTHON_PKG_DEP
+   _python_export "${i}" PYTHON_PKG_DEP
 
local i_depstr=${depstr//\$\{PYTHON_USEDEP\}/${PYTHON_USEDEP}}
# note: need to strip '=' slot operator for || deps
@@ -299,7 +299,7 @@ python_setup() {
ewarn
ewarn "Dependencies won't be satisfied, and 
EPYTHON/eselect-python will be ignored."
 
-   python_export "${impls[0]}" EPYTHON PYTHON
+   _python_export "${impls[0]}" EPYTHON PYTHON
_python_wrapper_setup
einfo "Using ${EPYTHON} to build"
return
@@ -308,7 +308,7 @@ python_setup() {
# first, try ${EPYTHON}... maybe it's good enough for us.
if [[ ${EPYTHON} ]]; then
if _python_EPYTHON_supported "${EPYTHON}"; then
-   python_export EPYTHON PYTHON
+   _python_export EPYTHON PYTHON
_python_wrapper_setup
einfo "Using ${EPYTHON} to build"
return
@@ -324,7 +324,7 @@ python_setup() {
# no eselect-python?
break
elif _python_EPYTHON_supported "${i}"; then
-   python_export "${i}" EPYTHON PYTHON
+   _python_export "${i}" EPYTHON PYTHON
_python_wrapper_setup
einfo "Using ${EPYTHON} to build"
return
@@ -334,7 +334,7 @@ python_setup() {
# fallback to best installed impl.
# (reverse iteration over _PYTHON_SUPPORTED_IMPLS)
for (( i = ${#_PYTHON_SUPPORTED_IMPLS[@]} - 1; i >= 0; i-- )); do
-   python_export "${_PYTHON_SUPPORTED_IMPLS[i]}" EPYTHON PYTHON
+   _python_export "${_PYTHON_SUPPORTED_IMPLS[i]}" EPYTHON PYTHON
if _python_EPYTHON_supported "${EPYTHON}"; then
_python_wrapper_setup
einfo "Using ${EPYTHON} to build"
diff --git a/eclass/python-r1.eclass b/eclass/python-r1.eclass
index 3ac35e401217..8687b595123a 100644
--- a/eclass/python-r1.eclass
+++ b/eclass/python-r1.eclass
@@ -173,7 +173,7 @@ _python_set_globals() {
_python_set_impls
 
for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
-   python_export "${i}" PYTHON_PKG_DEP
+   _python_export "${i}" PYTHON_PKG_DEP
deps+="python_targets_${i}? ( ${PYTHON_PKG_DEP} ) "
done
 
@@ -485,7 +485,7 @@ python_gen_impl_dep() {
for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
if _python_impl_matches "${impl}" "${@}"; then
local PYTHON_PKG_DEP
-   python_export "${impl}" PYTHON_PKG_DEP
+   _python_export "${impl}" PYTHON_PKG_DEP
matches+=( "python_targets_${impl}? ( ${PYTHON_PKG_DEP} 
)" )
fi
done
@@ -563,7 +563,7 @@ python_gen_any_dep() {
for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
if _python_impl_matches "${i}" "${@}"; then
local 
PYTHON_USEDEP="python_targets_${i}(-),python_single_target_${i}(+)"
-   python_export "${i}" PYTHON_PKG_DEP
+   _python_export "${i}" PYTHON_PKG_DEP
 
local 
i_depstr=${depstr//\$\{PYTHON_USEDEP\}/${PYTHON_USEDEP}}
# note: need to strip '=' slot operator for || deps
@@ -637,7 +637,7 @@ _python_multibuild_wrapper() {
 
local -x EPYTHON PYTHON
local -x PATH=${PATH} PKG_CONFIG_PATH=${PKG_CONFIG_PATH}
-   python_export "${MULTIBUILD_VARIANT}" EPYTHON PYTHON
+   _python_export "${MULTIBUILD_VARIANT}" EPYTHON PYTHON
_python_wrapper_s

[gentoo-dev] [PATCH 1/3] distutils-r1.eclass: Replace python_export with getter

2020-03-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 eclass/distutils-r1.eclass | 8 +++-
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 114ccc8041cc..fd6c0193d12e 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -771,13 +771,11 @@ _distutils-r1_wrap_scripts() {
local path=${1}
local bindir=${2}
 
-   local PYTHON_SCRIPTDIR
-   python_export PYTHON_SCRIPTDIR
-
+   local scriptdir=$(python_get_scriptdir)
local f python_files=() non_python_files=()
 
-   if [[ -d ${path}${PYTHON_SCRIPTDIR} ]]; then
-   for f in "${path}${PYTHON_SCRIPTDIR}"/*; do
+   if [[ -d ${path}${scriptdir} ]]; then
+   for f in "${path}${scriptdir}"/*; do
[[ -d ${f} ]] && die "Unexpected directory: ${f}"
debug-print "${FUNCNAME}: found executable at 
${f#${path}/}"
 
-- 
2.25.2