[gentoo-dev] [PATCH] rpm.eclass: Drop support for EAPI 6

2024-04-12 Thread Ulrich Müller
Signed-off-by: Ulrich Müller 
---
 eclass/rpm.eclass | 63 +++
 1 file changed, 3 insertions(+), 60 deletions(-)

diff --git a/eclass/rpm.eclass b/eclass/rpm.eclass
index b9187167eb8f..c9c21aa6ebbd 100644
--- a/eclass/rpm.eclass
+++ b/eclass/rpm.eclass
@@ -1,14 +1,13 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: rpm.eclass
 # @MAINTAINER:
 # base-sys...@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
 # @BLURB: convenience class for extracting RPMs
 
 case ${EAPI} in
-   6) inherit epatch eqawarn ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
@@ -18,10 +17,7 @@ _RPM_ECLASS=1
 
 inherit estack
 
-case ${EAPI} in
-   6) DEPEND="app-arch/rpm2targz" ;;
-   *) BDEPEND="app-arch/rpm2targz" ;;
-esac
+BDEPEND="app-arch/rpm2targz"
 
 # @FUNCTION: rpm_unpack
 # @USAGE: 
@@ -88,59 +84,6 @@ rpm_src_unpack() {
done
 }
 
-# @FUNCTION: rpm_spec_epatch
-# @USAGE: [spec]
-# @DEPRECATED: none
-# @DESCRIPTION:
-# Read the specified spec (defaults to ${PN}.spec) and attempt to apply
-# all the patches listed in it.  If the spec does funky things like moving
-# files around, well this won't handle that.
-rpm_spec_epatch() {
-   # no epatch in EAPI 7 and later
-   [[ ${EAPI} == 6 ]] || die "${FUNCNAME} is banned in EAPI ${EAPI}"
-
-   local p spec=$1
-   local dir
-
-   if [[ -z ${spec} ]] ; then
-   # search likely places for the spec file
-   for spec in "${PWD}" "${S}" "${WORKDIR}" ; do
-   spec+="/${PN}.spec"
-   [[ -e ${spec} ]] && break
-   done
-   fi
-   [[ ${spec} == */* ]] \
-   && dir=${spec%/*} \
-   || dir=
-
-   ebegin "Applying patches from ${spec}"
-
-   grep '^%patch' "${spec}" | \
-   while read line ; do
-   # expand the %patch line
-   set -- ${line}
-   p=$1
-   shift
-
-   # process the %patch arguments
-   local arg
-   EPATCH_OPTS=
-   for arg in "$@" ; do
-   case ${arg} in
-   -b) EPATCH_OPTS+=" --suffix" ;;
-   *)  EPATCH_OPTS+=" ${arg}" ;;
-   esac
-   done
-
-   # extract the patch name from the Patch# line
-   set -- $(grep "^P${p#%p}: " "${spec}")
-   shift
-   epatch "${dir:+${dir}/}$*"
-   done
-
-   eend
-}
-
 fi
 
 EXPORT_FUNCTIONS src_unpack
-- 
2.44.0




[gentoo-dev] [PATCH] gnustep-*.eclass: Drop support for EAPI 6

2024-04-09 Thread Ulrich Müller
In EAPI 6, gnustep-base inherits eutils which is going to be last-rited.

Signed-off-by: Ulrich Müller 
---
 eclass/gnustep-2.eclass| 20 ++--
 eclass/gnustep-base.eclass |  5 ++---
 2 files changed, 8 insertions(+), 17 deletions(-)

diff --git a/eclass/gnustep-2.eclass b/eclass/gnustep-2.eclass
index 9750efa8d5c8..3797dd80151e 100644
--- a/eclass/gnustep-2.eclass
+++ b/eclass/gnustep-2.eclass
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: gnustep-2.eclass
 # @MAINTAINER:
 # GNUstep Herd 
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
 # @PROVIDES: gnustep-base
 # @BLURB: eclass for GNUstep Apps, Frameworks, and Bundles build
 # @DESCRIPTION:
@@ -12,7 +12,7 @@
 # GNUstep packages
 
 case ${EAPI} in
-   6|7|8) ;;
+   7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
@@ -21,17 +21,9 @@ _GNUSTEP_2_ECLASS=1
 
 inherit gnustep-base
 
-case ${EAPI} in
-   6)
-   DEPEND=">=gnustep-base/gnustep-make-2.0"
-   ;;
-   *)
-   BDEPEND=">=gnustep-base/gnustep-make-2.0"
-   ;;
-esac
-
-DEPEND+=" virtual/gnustep-back"
-RDEPEND="${DEPEND}"
+RDEPEND="virtual/gnustep-back"
+DEPEND="${RDEPEND}"
+BDEPEND=">=gnustep-base/gnustep-make-2.0"
 
 # The following gnustep-based exported functions are available:
 # * gnustep-base_pkg_setup
diff --git a/eclass/gnustep-base.eclass b/eclass/gnustep-base.eclass
index b5b350106471..a0a877bf8e13 100644
--- a/eclass/gnustep-base.eclass
+++ b/eclass/gnustep-base.eclass
@@ -1,17 +1,16 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: gnustep-base.eclass
 # @MAINTAINER:
 # GNUstep Herd 
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
 # @BLURB: Internal handling of GNUstep packages
 # @DESCRIPTION:
 # Inner gnustep eclass, should only be inherited directly by gnustep-base
 # packages
 
 case ${EAPI} in
-   6) inherit eutils ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
-- 
2.44.0




[gentoo-dev] [PATCH 2/2] elisp-common.eclass: Drop test for existence of ${T}

2024-04-03 Thread Ulrich Müller
This was the remnant of a 2008 workaround for Paludis (bug #517),
which didn't define T in the postrm phase.

Signed-off-by: Ulrich Müller 
---
 eclass/elisp-common.eclass | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 1ea2aa111d7e..3d99838a0221 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -699,9 +699,6 @@ elisp-site-regen() {
[[ -d ${sitelisp} ]] \
|| die "elisp-site-regen: Directory ${sitelisp} does not exist"
 
-   [[ -d ${T} ]] \
-   || die "elisp-site-regen: Temporary directory ${T} does not 
exist"
-
ebegin "Regenerating site-gentoo.el for GNU Emacs (${EBUILD_PHASE})"
 
for sf in "${sitelisp}"/site-gentoo.d/[0-9][0-9]*.el; do
-- 
2.44.0




[gentoo-dev] [PATCH 1/2] elisp-common.eclass: Use EROOT instead of ROOT+EPREFIX

2024-04-03 Thread Ulrich Müller
This was a leftover of pre-EAPI-3 compatibility.

Signed-off-by: Ulrich Müller 
---
 eclass/elisp-common.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index bab7250a6818..1ea2aa111d7e 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: elisp-common.eclass
@@ -687,7 +687,7 @@ elisp-make-site-file() {
 # directory.
 
 elisp-site-regen() {
-   local sitelisp=${ROOT%/}${EPREFIX}${SITELISP}
+   local sitelisp=${EROOT}${SITELISP}
local sf i ret=0 null="" page=$'\f'
local -a sflist
 
-- 
2.44.0




[gentoo-dev] [PATCH v2 2/2] ssl-cert.eclass: Drop openssl slot dependency

2023-12-29 Thread Ulrich Müller
Suggested-by: David Seifert 
Signed-off-by: Ulrich Müller 
---
 eclass/ssl-cert.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/ssl-cert.eclass b/eclass/ssl-cert.eclass
index 48cb10db16e8..240f9f12cc91 100644
--- a/eclass/ssl-cert.eclass
+++ b/eclass/ssl-cert.eclass
@@ -42,10 +42,10 @@ _SSL_CERT_ECLASS=1
 
 if [[ "${SSL_DEPS_SKIP}" == "0" ]]; then
if [[ "${SSL_CERT_MANDATORY}" == "0" ]]; then
-   BDEPEND="${SSL_CERT_USE}? ( dev-libs/openssl:0 )"
+   BDEPEND="${SSL_CERT_USE}? ( dev-libs/openssl )"
IUSE="${SSL_CERT_USE}"
else
-   BDEPEND="dev-libs/openssl:0"
+   BDEPEND="dev-libs/openssl"
fi
 fi
 
-- 
2.43.0




[gentoo-dev] [PATCH v2 1/2] ssl-cert.eclass: Drop support for EAPI 6

2023-12-29 Thread Ulrich Müller
Signed-off-by: Ulrich Müller 
---
 eclass/ssl-cert.eclass | 19 ---
 1 file changed, 4 insertions(+), 15 deletions(-)

diff --git a/eclass/ssl-cert.eclass b/eclass/ssl-cert.eclass
index 0453f0fbf665..48cb10db16e8 100644
--- a/eclass/ssl-cert.eclass
+++ b/eclass/ssl-cert.eclass
@@ -6,7 +6,7 @@
 # maintainer-nee...@gentoo.org
 # @AUTHOR:
 # Max Kalika 
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
 # @BLURB: Eclass for SSL certificates
 # @DESCRIPTION:
 # This eclass implements a standard installation procedure for installing
@@ -15,7 +15,7 @@
 # "install_cert /foo/bar" installs ${ROOT}/foo/bar.{key,csr,crt,pem}
 
 case ${EAPI} in
-   6|7|8) ;;
+   7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
@@ -42,22 +42,11 @@ _SSL_CERT_ECLASS=1
 
 if [[ "${SSL_DEPS_SKIP}" == "0" ]]; then
if [[ "${SSL_CERT_MANDATORY}" == "0" ]]; then
-   SSL_DEPEND="${SSL_CERT_USE}? ( dev-libs/openssl:0 )"
+   BDEPEND="${SSL_CERT_USE}? ( dev-libs/openssl:0 )"
IUSE="${SSL_CERT_USE}"
else
-   SSL_DEPEND="dev-libs/openssl:0"
+   BDEPEND="dev-libs/openssl:0"
fi
-
-   case "${EAPI}" in
-   6)
-   DEPEND="${SSL_DEPEND}"
-   ;;
-   *)
-   BDEPEND="${SSL_DEPEND}"
-   ;;
-   esac
-
-   unset SSL_DEPEND
 fi
 
 # @FUNCTION: gen_cnf
-- 
2.43.0




[gentoo-dev] [PATCH] ssl-cert.eclass: Drop support for EAPI 6

2023-12-29 Thread Ulrich Müller
Signed-off-by: Ulrich Müller 
---
 eclass/ssl-cert.eclass | 19 ---
 1 file changed, 4 insertions(+), 15 deletions(-)

diff --git a/eclass/ssl-cert.eclass b/eclass/ssl-cert.eclass
index 0453f0fbf665..48cb10db16e8 100644
--- a/eclass/ssl-cert.eclass
+++ b/eclass/ssl-cert.eclass
@@ -6,7 +6,7 @@
 # maintainer-nee...@gentoo.org
 # @AUTHOR:
 # Max Kalika 
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
 # @BLURB: Eclass for SSL certificates
 # @DESCRIPTION:
 # This eclass implements a standard installation procedure for installing
@@ -15,7 +15,7 @@
 # "install_cert /foo/bar" installs ${ROOT}/foo/bar.{key,csr,crt,pem}
 
 case ${EAPI} in
-   6|7|8) ;;
+   7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
@@ -42,22 +42,11 @@ _SSL_CERT_ECLASS=1
 
 if [[ "${SSL_DEPS_SKIP}" == "0" ]]; then
if [[ "${SSL_CERT_MANDATORY}" == "0" ]]; then
-   SSL_DEPEND="${SSL_CERT_USE}? ( dev-libs/openssl:0 )"
+   BDEPEND="${SSL_CERT_USE}? ( dev-libs/openssl:0 )"
IUSE="${SSL_CERT_USE}"
else
-   SSL_DEPEND="dev-libs/openssl:0"
+   BDEPEND="dev-libs/openssl:0"
fi
-
-   case "${EAPI}" in
-   6)
-   DEPEND="${SSL_DEPEND}"
-   ;;
-   *)
-   BDEPEND="${SSL_DEPEND}"
-   ;;
-   esac
-
-   unset SSL_DEPEND
 fi
 
 # @FUNCTION: gen_cnf
-- 
2.43.0




[gentoo-dev] [PATCH 2/2] rpm.eclass: Replace eutils inherit by eqawarn in EAPI 6

2023-12-07 Thread Ulrich Müller
Signed-off-by: Ulrich Müller 
---
 eclass/rpm.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/rpm.eclass b/eclass/rpm.eclass
index d8bb0ad2814d..b9187167eb8f 100644
--- a/eclass/rpm.eclass
+++ b/eclass/rpm.eclass
@@ -8,7 +8,7 @@
 # @BLURB: convenience class for extracting RPMs
 
 case ${EAPI} in
-   6) inherit epatch eutils ;; # eutils for eqawarn
+   6) inherit epatch eqawarn ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
-- 
2.43.0




[gentoo-dev] [PATCH 1/2] flag-o-matic.eclass: Replace eutils inherit by eqawarn in EAPI 6

2023-12-07 Thread Ulrich Müller
Signed-off-by: Ulrich Müller 
---
 eclass/flag-o-matic.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index d377568327e6..40662f4f7d7b 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -20,7 +20,7 @@ _FLAG_O_MATIC_ECLASS=1
 
 inherit toolchain-funcs
 
-[[ ${EAPI} == 6 ]] && inherit eutils
+[[ ${EAPI} == 6 ]] && inherit eqawarn
 
 # @FUNCTION: all-flag-vars
 # @DESCRIPTION:
-- 
2.43.0




[gentoo-dev] [PATCH 0/2] *.eclass: Replace eutils inherit by eqawarn in EAPI 6

2023-12-07 Thread Ulrich Müller
These trivial patches replace "inherit eutils" by "inherit eqawarn"
which is the only function that is actually needed. This will allow
dropping EAPI 6 from indirectly (via eutils) inherited eclasses in a
second step.

I've verified that none of the affected 53 ebuilds in the Gentoo
repository call any functions of the indirectly inherited eclasses.

Ulrich Müller (2):
  flag-o-matic.eclass: Replace eutils inherit by eqawarn in EAPI 6
  rpm.eclass: Replace eutils inherit by eqawarn in EAPI 6

 eclass/flag-o-matic.eclass | 2 +-
 eclass/rpm.eclass  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

-- 
2.43.0




[gentoo-dev] [PATCH v2] acct-user.eclass: Warn when the user is removed from a group

2023-10-23 Thread Ulrich Müller
Acked-by: Mike Gilbert 
Signed-off-by: Ulrich Müller 
---
v2: Add explanation and documentation reference to warning message

 eclass/acct-user.eclass | 14 ++
 1 file changed, 14 insertions(+)

diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass
index f658aa0eabc3..c9d335c4e558 100644
--- a/eclass/acct-user.eclass
+++ b/eclass/acct-user.eclass
@@ -431,6 +431,20 @@ acct-user_pkg_postinst() {
opts+=( --prefix "${ROOT}" )
fi
 
+   local g old_groups del_groups=""
+   old_groups=$(egetgroups "${ACCT_USER_NAME}")
+   for g in ${old_groups//,/ }; do
+   has "${g}" "${groups[@]}" || del_groups+="${del_groups:+, }${g}"
+   done
+   if [[ -n ${del_groups} ]]; then
+   ewarn "Removing user ${ACCT_USER_NAME} from group(s): 
${del_groups}"
+   ewarn "To retain the user's group membership in the local 
system"
+   ewarn "config, override with 
ACCT_USER_${ACCT_USER_NAME^^}_GROUPS"
+   ewarn "or ACCT_USER_${ACCT_USER_NAME^^}_GROUPS_ADD in 
make.conf."
+   ewarn "Documentation reference:"
+   ewarn 
"https://wiki.gentoo.org/wiki/Practical_guide_to_the_GLEP_81_migration#Override_user_groups;
+   fi
+
elog "Updating user ${ACCT_USER_NAME}"
# usermod outputs a warning if unlocking the account would result in an
# empty password. Hide stderr in a text file and display it if usermod 
fails.
-- 
2.42.0




[gentoo-dev] [PATCH] acct-user.eclass: Warn when the user is removed from a group

2023-10-23 Thread Ulrich Müller
Acked-by: Mike Gilbert 
Signed-off-by: Ulrich Müller 
---
 eclass/acct-user.eclass | 8 
 1 file changed, 8 insertions(+)

diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass
index f658aa0eabc3..67fdf509b3b1 100644
--- a/eclass/acct-user.eclass
+++ b/eclass/acct-user.eclass
@@ -431,6 +431,14 @@ acct-user_pkg_postinst() {
opts+=( --prefix "${ROOT}" )
fi
 
+   local g old_groups del_groups=""
+   old_groups=$(egetgroups "${ACCT_USER_NAME}")
+   for g in ${old_groups//,/ }; do
+   has "${g}" "${groups[@]}" || del_groups+="${del_groups:+, }${g}"
+   done
+   [[ -n ${del_groups} ]] &&
+   ewarn "Removing user ${ACCT_USER_NAME} from group(s): 
${del_groups}"
+
elog "Updating user ${ACCT_USER_NAME}"
# usermod outputs a warning if unlocking the account would result in an
# empty password. Hide stderr in a text file and display it if usermod 
fails.
-- 
2.42.0




[gentoo-dev] [PATCH] eutils.eclass: Drop EAPI 7

2023-08-26 Thread Ulrich Müller
Remove placeholders for emktemp, path_exists and use_if_iuse, which are
all non-functional since more than one year.

Signed-off-by: Ulrich Müller 
---
 eclass/eutils.eclass | 26 ++
 1 file changed, 2 insertions(+), 24 deletions(-)

diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass
index 3b6a90fecb81..b48c18f97904 100644
--- a/eclass/eutils.eclass
+++ b/eclass/eutils.eclass
@@ -1,10 +1,10 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: eutils.eclass
 # @MAINTAINER:
 # base-sys...@gentoo.org
-# @SUPPORTED_EAPIS: 6 7
+# @SUPPORTED_EAPIS: 6
 # @BLURB: many extra (but common) functions that are used in ebuilds
 # @DEPRECATED: native package manager functions, more specific eclasses
 
@@ -15,28 +15,6 @@ _EUTILS_ECLASS=1
 case ${EAPI} in
6) inherit desktop edos2unix epatch eqawarn estack ltprune multilib \
preserve-libs strip-linguas toolchain-funcs vcs-clean 
wrapper ;;
-   7) inherit edos2unix strip-linguas wrapper ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
-
-emktemp() {
-   eerror "emktemp has been removed."
-   eerror "Create a temporary file in \${T} instead."
-   die "emktemp is banned"
-}
-
-path_exists() {
-   eerror "path_exists has been removed.  Please see the following post"
-   eerror "for a replacement snippet:"
-   eerror 
"https://blogs.gentoo.org/mgorny/2018/08/09/inlining-path_exists/;
-   die "path_exists is banned"
-}
-
-use_if_iuse() {
-   eerror "use_if_iuse has been removed."
-   eerror "Define it as a local function, or inline it:"
-   eerror "in_iuse foo && use foo"
-   die "use_if_iuse is banned"
-}
-
 fi
-- 
2.42.0




[gentoo-dev] [PATCH] elisp-common.eclass: Document sed script in elisp-site-file-install

2023-08-22 Thread Ulrich Müller
Even though it is a simple one-liner, some people find it difficult
to read.

Signed-off-by: Ulrich Müller 
---
 eclass/elisp-common.eclass | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 1958b4a07e18..03e47d931f44 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -590,7 +590,13 @@ elisp-modules-install() {
 
 elisp-site-file-install() {
local sf="${1##*/}" my_pn="${2:-${PN}}" modules ret
-   local header=" ${PN} site-lisp configuration"
+   local add_header="1 {
+   # Find first non-empty line
+   :x; /^\$/ { n; bx; }
+   # Insert a header, unless we already look at one
+   /^;.*${PN}/I! s/^/;;; ${PN} site-lisp configuration\n\n/
+   1 s/^/\n/
+   }"
 
[[ ${sf} == [0-9][0-9]*-gentoo*.el ]] \
|| ewarn "elisp-site-file-install: bad name of site-init file"
@@ -599,7 +605,7 @@ elisp-site-file-install() {
ebegin "Installing site initialisation file for GNU Emacs"
[[ $1 == "${sf}" ]] || cp "$1" "${sf}"
modules=${EMACSMODULES//@libdir@/$(get_libdir)}
-   sed -i -e 
"1{:x;/^\$/{n;bx;};/^;.*${PN}/I!s:^:${header}\n\n:;1s:^:\n:;}" \
+   sed -i -e "${add_header}" \
-e "s:@SITELISP@:${EPREFIX}${SITELISP}/${my_pn}:g" \
-e "s:@SITEETC@:${EPREFIX}${SITEETC}/${my_pn}:g" \
-e "s:@EMACSMODULES@:${EPREFIX}${modules}/${my_pn}:g;\$q" 
"${sf}"
-- 
2.41.0




[gentoo-dev] [PATCH 2/2] elisp.eclass: Update elisp_src_install

2023-06-29 Thread Ulrich Müller
Call the new elisp-make-site-file function when no explicit site-init
file is found.

Signed-off-by: Ulrich Müller 
---
 eclass/elisp.eclass | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index 1ac1a2dbfabf..72e623a12179 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -166,7 +166,11 @@ elisp_src_test() {
 elisp_src_install() {
elisp-install ${PN} *.el *.elc
if [[ -n ${SITEFILE} ]]; then
-   elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+   if [[ -f "${FILESDIR}/${SITEFILE}" ]]; then
+   elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+   else
+   elisp-make-site-file "${SITEFILE}"
+   fi
fi
if [[ -n ${ELISP_TEXINFO} ]]; then
set -- ${ELISP_TEXINFO}
-- 
2.41.0




[gentoo-dev] [PATCH 1/2] elisp-common.eclass: New function elisp-make-site-file

2023-06-29 Thread Ulrich Müller
This creates and installs a site-init file for the package. The default
case will add the package's SITELISP subdirectory to Emacs' load-path.
This allows to remove all trivial site-init files (consisting only of a
load-path line).

More complicated cases can be handled by providing additional arguments,
which are appended as lines to the site-init file.

Signed-off-by: Ulrich Müller 
---
 eclass/elisp-common.eclass | 35 +++
 1 file changed, 35 insertions(+)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 1f60d3c337b9..ff1b2d0da0f3 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -132,6 +132,17 @@
 # "50${PN}-gentoo.el".  If your subdirectory is not named ${PN}, give
 # the differing name as second argument.
 #
+# For the simple case that only the package's subdirectory needs to be
+# added to the load-path, function elisp-make-site-file() will create
+# and install a site-init file that does just that:
+#
+# @CODE
+#  elisp-make-site-file "${SITEFILE}"
+# @CODE
+#
+# Again, this must be called in src_install().  See the function's
+# documentation for more details on its usage.
+#
 # @SUBSECTION pkg_setup() usage:
 #
 # If your ebuild uses the elisp-compile eclass function to compile
@@ -601,6 +612,30 @@ elisp-site-file-install() {
eend ${ret} "elisp-site-file-install: doins failed" || die
 }
 
+# @FUNCTION: elisp-make-site-file
+# @USAGE:  [subdirectory] [line]...
+# @DESCRIPTION:
+# Create and install a site-init file for the package.  By default,
+# this will add the package's SITELISP subdirectory to Emacs' load-path:
+#
+# @CODE
+#  (add-to-list 'load-path "@SITELISP@")
+# @CODE
+#
+# Additional arguments are appended as lines to the destination file.
+# Any @SITELISP@, @SITEETC@, and @EMACSMODULES@ tokens in these
+# arguments are replaced, as described for elisp-site-file-install.
+
+elisp-make-site-file() {
+   [[ $1 == [0-9][0-9]*-gentoo.el ]] \
+   || die "elisp-make-site-file: bad name of site-init file"
+
+   local f="${T}/$1" my_pn="${2:-${PN}}"
+   shift; shift
+   printf "%s\n" "(add-to-list 'load-path \"@SITELISP@\")" "$@" >"${f}" || 
die
+   elisp-site-file-install "${f}" "${my_pn}"
+}
+
 # @FUNCTION: elisp-site-regen
 # @DESCRIPTION:
 # Regenerate the site-gentoo.el file, based on packages' site
-- 
2.41.0




[gentoo-dev] [PATCH] common-lisp-3.eclass: Don't inherit eutils

2023-06-16 Thread Ulrich Müller
Neither the eclass nor any of the ebuilds inheriting common-lisp-3 needs
eutils features.

Signed-off-by: Ulrich Müller 
---
 eclass/common-lisp-3.eclass | 2 --
 1 file changed, 2 deletions(-)

diff --git a/eclass/common-lisp-3.eclass b/eclass/common-lisp-3.eclass
index 6c87ef3db842..cd654f37b904 100644
--- a/eclass/common-lisp-3.eclass
+++ b/eclass/common-lisp-3.eclass
@@ -18,8 +18,6 @@ esac
 if [[ -z ${_COMMON_LISP_3_ECLASS} ]]; then
 _COMMON_LISP_3_ECLASS=1
 
-inherit eutils
-
 # @ECLASS_VARIABLE: CLIMPLEMENTATIONS
 # @DESCRIPTION:
 # Common Lisp implementations
-- 
2.41.0




[gentoo-dev] [PATCH 2/2] rpm.eclass: Don't inherit eutils in EAPI 7

2023-06-16 Thread Ulrich Müller
None of the ebuilds inheriting rpm in EAPI 7 needs any of the remaining
eutils features.

Signed-off-by: Ulrich Müller 
---
 eclass/rpm.eclass | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/eclass/rpm.eclass b/eclass/rpm.eclass
index d03493466e1e..d8bb0ad2814d 100644
--- a/eclass/rpm.eclass
+++ b/eclass/rpm.eclass
@@ -9,8 +9,7 @@
 
 case ${EAPI} in
6) inherit epatch eutils ;; # eutils for eqawarn
-   7) inherit eutils ;; # not needed, but ebuilds may still rely on it
-   8) ;;
+   7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
-- 
2.41.0




[gentoo-dev] [PATCH 1/2] rpm.eclass: Drop support for EAPI 5

2023-06-16 Thread Ulrich Müller
Signed-off-by: Ulrich Müller 
---
 eclass/rpm.eclass | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/eclass/rpm.eclass b/eclass/rpm.eclass
index c97e23144c2b..d03493466e1e 100644
--- a/eclass/rpm.eclass
+++ b/eclass/rpm.eclass
@@ -1,14 +1,14 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: rpm.eclass
 # @MAINTAINER:
 # base-sys...@gentoo.org
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 6 7 8
 # @BLURB: convenience class for extracting RPMs
 
 case ${EAPI} in
-   5|6) inherit epatch eutils ;; # eutils for eqawarn
+   6) inherit epatch eutils ;; # eutils for eqawarn
7) inherit eutils ;; # not needed, but ebuilds may still rely on it
8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
@@ -20,7 +20,7 @@ _RPM_ECLASS=1
 inherit estack
 
 case ${EAPI} in
-   5|6) DEPEND="app-arch/rpm2targz" ;;
+   6) DEPEND="app-arch/rpm2targz" ;;
*) BDEPEND="app-arch/rpm2targz" ;;
 esac
 
@@ -98,7 +98,7 @@ rpm_src_unpack() {
 # files around, well this won't handle that.
 rpm_spec_epatch() {
# no epatch in EAPI 7 and later
-   [[ ${EAPI} == [56] ]] || die "${FUNCNAME} is banned in EAPI ${EAPI}"
+   [[ ${EAPI} == 6 ]] || die "${FUNCNAME} is banned in EAPI ${EAPI}"
 
local p spec=$1
local dir
-- 
2.41.0




[gentoo-dev] [PATCH 2/2] mercurial.eclass: Don't inherit eutils

2023-06-15 Thread Ulrich Müller
None of the ebuilds inheriting mercurial.eclass needs any of the
remaining eutils features in EAPI 7.

Signed-off-by: Ulrich Müller 
---
 eclass/mercurial.eclass | 8 
 1 file changed, 8 deletions(-)

diff --git a/eclass/mercurial.eclass b/eclass/mercurial.eclass
index 472d7448d513..16d9fc87cb0a 100644
--- a/eclass/mercurial.eclass
+++ b/eclass/mercurial.eclass
@@ -25,14 +25,6 @@ _MERCURIAL_ECLASS=1
 
 PROPERTIES+=" live"
 
-case ${EAPI:-0} in
-   7)
-   # For compatibiilty only (indirect inherits).
-   # Eclass itself doesn't need it.
-   inherit eutils
-   ;;
-esac
-
 BDEPEND="dev-vcs/mercurial"
 
 # @ECLASS_VARIABLE: EHG_REPO_URI
-- 
2.41.0




[gentoo-dev] [PATCH 1/2] mercurial.eclass: Fix typo in eclassdoc

2023-06-15 Thread Ulrich Müller
Fixes: 216f39ea557e3950aa4d0c174f36df737afcb5fe
Signed-off-by: Ulrich Müller 
---
 eclass/mercurial.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/mercurial.eclass b/eclass/mercurial.eclass
index 27fb525bcbd6..472d7448d513 100644
--- a/eclass/mercurial.eclass
+++ b/eclass/mercurial.eclass
@@ -3,7 +3,7 @@
 
 # @ECLASS: mercurial.eclass
 # @MAINTAINER:
-# No maintainer 
 # @AUTHOR:
 # Next gen author: Krzysztof Pawlik 
 # Original author: Aron Griffis 
-- 
2.41.0




[gentoo-dev] [PATCH] flag-o-matic.eclass: Don't inherit eutils in EAPI 7

2023-06-15 Thread Ulrich Müller
None of the ebuilds inheriting flag-o-matic in EAPI 7 needs any of the
remaining eutils features.

Signed-off-by: Ulrich Müller 
---
 eclass/flag-o-matic.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index bef3abf69dde..0558e639b981 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -20,7 +20,7 @@ _FLAG_O_MATIC_ECLASS=1
 
 inherit toolchain-funcs
 
-[[ ${EAPI} == [67] ]] && inherit eutils
+[[ ${EAPI} == 6 ]] && inherit eutils
 
 # @FUNCTION: all-flag-vars
 # @DESCRIPTION:
-- 
2.41.0




[gentoo-dev] [PATCH] estack.eclass: Fix bug in eshopts_push()

2023-06-14 Thread Ulrich Müller
"eshopts_push -s autocd; eshopts_pop" (i.e. the first option listed
by "shopt -p") would not restore the option because of bogus whitespace
in the saved string.

Signed-off-by: Ulrich Müller 
---
 eclass/estack.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/estack.eclass b/eclass/estack.eclass
index c0823adb03f7..d00c931e117d 100644
--- a/eclass/estack.eclass
+++ b/eclass/estack.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: estack.eclass
@@ -156,7 +156,7 @@ evar_pop() {
 eshopts_push() {
# Save both "shopt" and "set -o" option sets, because otherwise
# restoring posix would disable expand_aliases by side effect. #662586
-   estack_push eshopts "$(shopt -p -o) $(shopt -p)"
+   estack_push eshopts "$(shopt -p -o; shopt -p)"
if [[ $1 == -[su] ]] ; then
[[ $# -le 1 ]] && return 0
shopt "$@" || die "${FUNCNAME}: bad options to shopt: $*"
-- 
2.41.0




[gentoo-dev] [PATCH] eapi8-dosym.eclass: Prevent globbing of argument in _dosym8_canonicalize

2023-06-05 Thread Ulrich Müller
Signed-off-by: Ulrich Müller 
---
 eclass/eapi8-dosym.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/eapi8-dosym.eclass b/eclass/eapi8-dosym.eclass
index 4e3977ef54cf..93b11dda7fd6 100644
--- a/eclass/eapi8-dosym.eclass
+++ b/eclass/eapi8-dosym.eclass
@@ -31,7 +31,7 @@ esac
 _dosym8_canonicalize() {
local path slash i prev out IFS=/
 
-   path=( $1 )
+   read -r -d '' -a path <<< "$1"
[[ $1 == /* ]] && slash=/
 
while true; do
@@ -39,7 +39,7 @@ _dosym8_canonicalize() {
# or as a special case, "/.." at the beginning of the path.
# Also drop empty and "." path components as we go along.
prev=
-   for i in ${!path[@]}; do
+   for i in "${!path[@]}"; do
if [[ -z ${path[i]} || ${path[i]} == . ]]; then
unset "path[i]"
elif [[ ${path[i]} != .. ]]; then
-- 
2.41.0




[gentoo-dev] [PATCH 1/3] texlive-module.eclass: Speed up SRC_URI calculation

2023-06-02 Thread Ulrich Müller
For texlive-latexextra-2021, SRC_URI calculation ran for 37 seconds
here. Reduced it to 0.025 seconds (i.e. more than a factor 1000) by
using bash arrays and parameter expansion instead of nested loops.

Reported-by: Tim Harder 
Signed-off-by: Ulrich Müller 
---
 eclass/texlive-module.eclass | 39 +---
 1 file changed, 23 insertions(+), 16 deletions(-)

diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index fea4003c37a8..99a90d91654f 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -99,32 +99,39 @@ TEXLIVE_DEVS=${TEXLIVE_DEVS:- zlogene dilfridge sam }
 BDEPEND="${COMMON_DEPEND}
app-arch/xz-utils"
 
-for i in ${TEXLIVE_MODULE_CONTENTS}; do
-   for tldev in ${TEXLIVE_DEVS}; do
-   SRC_URI="${SRC_URI} 
https://dev.gentoo.org/~${tldev}/distfiles/texlive/tl-${i}-${PV}.${PKGEXT};
-   done
+tl_uri_prefix="https://dev.gentoo.org/~@dev@/distfiles/texlive/tl-;
+tl_uri_suffix="-${PV}.${PKGEXT}"
+
+tl_uri=( ${TEXLIVE_MODULE_CONTENTS} )
+tl_uri=( "${tl_uri[@]/%/${tl_uri_suffix}}" )
+for tldev in ${TEXLIVE_DEVS}; do
+   SRC_URI+=" ${tl_uri[@]/#/${tl_uri_prefix/@dev@/${tldev}}}"
 done
 
 # Forge doc SRC_URI
-[[ -n ${TEXLIVE_MODULE_DOC_CONTENTS} ]] && SRC_URI="${SRC_URI} doc? ("
-for i in ${TEXLIVE_MODULE_DOC_CONTENTS}; do
+if [[ -n ${TEXLIVE_MODULE_DOC_CONTENTS} ]]; then
+   SRC_URI+=" doc? ("
+   tl_uri=( ${TEXLIVE_MODULE_DOC_CONTENTS} )
+   tl_uri=( "${tl_uri[@]/%/${tl_uri_suffix}}" )
for tldev in ${TEXLIVE_DEVS}; do
-   SRC_URI="${SRC_URI} 
https://dev.gentoo.org/~${tldev}/distfiles/texlive/tl-${i}-${PV}.${PKGEXT};
+   SRC_URI+=" ${tl_uri[@]/#/${tl_uri_prefix/@dev@/${tldev}}}"
done
-done
-[[ -n ${TEXLIVE_MODULE_DOC_CONTENTS} ]] && SRC_URI="${SRC_URI} )"
+   SRC_URI+=" )"
+fi
 
 # Forge source SRC_URI
-if [[ -n ${TEXLIVE_MODULE_SRC_CONTENTS} ]] ; then
-   SRC_URI="${SRC_URI} source? ("
-   for i in ${TEXLIVE_MODULE_SRC_CONTENTS}; do
-   for tldev in ${TEXLIVE_DEVS}; do
-   SRC_URI="${SRC_URI} 
https://dev.gentoo.org/~${tldev}/distfiles/texlive/tl-${i}-${PV}.${PKGEXT};
-   done
+if [[ -n ${TEXLIVE_MODULE_SRC_CONTENTS} ]]; then
+   SRC_URI+=" source? ("
+   tl_uri=( ${TEXLIVE_MODULE_SRC_CONTENTS} )
+   tl_uri=( "${tl_uri[@]/%/${tl_uri_suffix}}" )
+   for tldev in ${TEXLIVE_DEVS}; do
+   SRC_URI+=" ${tl_uri[@]/#/${tl_uri_prefix/@dev@/${tldev}}}"
done
-   SRC_URI="${SRC_URI} )"
+   SRC_URI+=" )"
 fi
 
+unset tldev tl_uri tl_uri_prefix tl_uri_suffix
+
 RDEPEND="${COMMON_DEPEND}"
 
 IUSE="${IUSE} doc"
-- 
2.40.1




[gentoo-dev] [PATCH 3/3] texlive-module.eclass: Whitespace

2023-06-02 Thread Ulrich Müller
Signed-off-by: Ulrich Müller 
---
 eclass/texlive-module.eclass | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index a5c86b65cef0..f9907ab7b617 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -341,8 +341,8 @@ texlive-module_src_compile() {
done
 
# Determine texlive-core version for fmtutil call
-fmt_call="$(has_version '>=app-text/texlive-core-2019' \
- && echo "fmtutil-user" || echo "fmtutil")"
+   fmt_call="$(has_version '>=app-text/texlive-core-2019' \
+   && echo "fmtutil-user" || echo "fmtutil")"
 
# Build format files
for i in texmf-dist/fmtutil/format*.cnf; do
@@ -402,7 +402,6 @@ texlive-module_src_install() {
cp -pR tlpkg "${ED}/usr/share/" || die
fi
 
-
if [[ -d texmf-var ]]; then
insinto /var/lib/texmf
doins -r texmf-var/.
-- 
2.40.1




[gentoo-dev] [PATCH 2/3] texlive-module.eclass: Reduce number of executed external commands

2023-06-02 Thread Ulrich Müller
For texlive-latexextra-2021[doc], the number of "mv" commands is
reduced from 12718 to 3130. Speedup is also by a factor of about 4,
which saves another 4 seconds.

Signed-off-by: Ulrich Müller 
---
 eclass/texlive-module.eclass | 12 ++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index 99a90d91654f..a5c86b65cef0 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -164,10 +164,18 @@ texlive-module_src_unpack() {
sed -e 's/\/[^/]*$//' -e "s:^:${RELOC_TARGET}/:" "${T}/reloclist" |
sort -u |
xargs mkdir -p || die
-   local i
+   local i dir="" files=()
while read i; do
-   mv "${i}" "${RELOC_TARGET}/${i%/*}" || die
+   if [[ ${RELOC_TARGET}/${i%/*} != "${dir}" ]]; then
+   # new dir, do the previous move
+   [[ -z ${dir} ]] || mv "${files[@]}" "${dir}" || die
+   dir="${RELOC_TARGET}/${i%/*}"
+   files=()
+   fi
+   # collect files with same destination dir
+   files+=( "${i}" )
done < "${T}/reloclist"
+   mv "${files[@]}" "${dir}" || die
 }
 
 # @FUNCTION: texlive-module_add_format
-- 
2.40.1




[gentoo-dev] [PATCH 3/3] autotools.eclass: Whitespace

2023-05-28 Thread Ulrich Müller
Signed-off-by: Ulrich Müller 
---
 eclass/autotools.eclass | 1 -
 1 file changed, 1 deletion(-)

diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 7b94efc225fe..77124e098aac 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -389,7 +389,6 @@ eautoconf() {
die "No configure.{ac,in} present!"
fi
 
-
if [[ ${WANT_AUTOCONF} != "2.1" && -e configure.in ]] ; then
case ${EAPI} in
6|7)
-- 
2.40.1




[gentoo-dev] [PATCH 2/3] autotools.eclass: Allow running the tools only in src_prepare

2023-05-28 Thread Ulrich Müller
Running them in src_unpack made sense only in EAPIs 0 and 1.

Fixes: 18fda95cea306efe8009d1100195225acd8f8756
Signed-off-by: Ulrich Müller 
---
 eclass/autotools.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 3a040b863eea..7b94efc225fe 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -560,7 +560,7 @@ autotools_run_tool() {
shift
done
 
-   if [[ ${EBUILD_PHASE_FUNC} != "src_unpack" && ${EBUILD_PHASE_FUNC} != 
"src_prepare" ]] ; then
+   if [[ ${EBUILD_PHASE_FUNC} != "src_prepare" ]] ; then
eqawarn "Running '${1}' in ${EBUILD_PHASE_FUNC} phase"
fi
 
-- 
2.40.1




[gentoo-dev] [PATCH 1/3] autotools.eclass: Downgrade eqawarn for renaming configure.in

2023-05-28 Thread Ulrich Müller
At this point, almost all upstreams will have switched to configure.ac.
Therefore, configure.in is most likely an indication of an inactive
upstream, and there is no useful way for the ebuild maintainer to
silence the warning (other than the ebuild renaming the file).

Keep the message as einfo, so there is still an indication that the file
was renamed.

Bug: https://bugs.gentoo.org/426262
Signed-off-by: Ulrich Müller 
---
 eclass/autotools.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 91046b9f82f3..3a040b863eea 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -400,7 +400,7 @@ eautoconf() {
*)
# Move configure file to the new location only 
on newer EAPIs to ensure
# checks are done rather than retroactively 
breaking ebuilds.
-   eqawarn "Moving configure.in to configure.ac 
(bug #426262)"
+   einfo "Moving configure.in to configure.ac (bug 
#426262)"
mv configure.{in,ac} || die
;;
esac
-- 
2.40.1




[gentoo-dev] [PATCH] elisp-common.eclass: Drop EAPI 6 support

2023-05-08 Thread Ulrich Müller
Signed-off-by: Ulrich Müller 
---
 eclass/elisp-common.eclass | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 0462f022d1ba..1f60d3c337b9 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -11,7 +11,7 @@
 # Christian Faulhammer 
 # Ulrich Müller 
 # Maciej Barć 
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
 # @BLURB: Emacs-related installation utilities
 # @DESCRIPTION:
 #
@@ -167,7 +167,6 @@
 # to above calls of elisp-site-regen().
 
 case ${EAPI} in
-   6) inherit eapi7-ver ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
-- 
2.40.1




[gentoo-dev] [PATCH] multilib.eclass: Drop CONF_LIBDIR

2023-05-06 Thread Ulrich Müller
The CONF_LIBDIR variable was used exclusively in the 2004.3 profile
(i.e. it was no longer defined in 2005.0), before the ABI and
LIBDIR_${ABI} variables existed.

Simply use "lib" as default, which is consistent with get_libdir().

Bug: https://bugs.gentoo.org/267159
Signed-off-by: Ulrich Müller 
---
 eclass/multilib.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/multilib.eclass b/eclass/multilib.eclass
index 4a6e4160d5cb..77340a23e30f 100644
--- a/eclass/multilib.eclass
+++ b/eclass/multilib.eclass
@@ -26,7 +26,7 @@ export CFLAGS_default
 export LDFLAGS_default
 export CHOST_default=${CHOST_default:-${CHOST}}
 export CTARGET_default=${CTARGET_default:-${CTARGET:-${CHOST_default}}}
-export LIBDIR_default=${CONF_LIBDIR:-"lib"}
+export LIBDIR_default="lib"
 export KERNEL_ABI=${KERNEL_ABI:-${DEFAULT_ABI}}
 
 # @FUNCTION: has_multilib_profile
-- 
2.40.1




[gentoo-portage-dev] [PATCH 3/3] prepman: Deprecate it

2023-04-04 Thread Ulrich Müller
According to PMS, calling prepman from ebuilds was never allowed.
Last usage in Gentoo repository has been removed on 2019-04-14.

Signed-off-by: Ulrich Müller 
---
 bin/ebuild-helpers/prepman | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/bin/ebuild-helpers/prepman b/bin/ebuild-helpers/prepman
index 871fd589b..0c0a7e812 100755
--- a/bin/ebuild-helpers/prepman
+++ b/bin/ebuild-helpers/prepman
@@ -1,8 +1,12 @@
 #!/usr/bin/env bash
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # Note: this really does nothing these days. It's going to be banned
 # when the last consumers are gone.
 
+source "${PORTAGE_BIN_PATH}"/isolated-functions.sh || exit 1
+
+eqawarn "QA Notice: '${0##*/}' is not allowed in ebuild scope"
+
 exit 0
-- 
2.40.0




[gentoo-portage-dev] [PATCH 2/3] prepinfo: Deprecate it

2023-04-04 Thread Ulrich Müller
According to PMS, calling prepinfo from ebuilds was never allowed.
Last usage in Gentoo repository has been removed on 2018-11-22.

Bug: https://bugs.gentoo.org/899898
Signed-off-by: Ulrich Müller 
---
 bin/ebuild-helpers/prepinfo | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/bin/ebuild-helpers/prepinfo b/bin/ebuild-helpers/prepinfo
index 14fa38226..af5ae9f08 100755
--- a/bin/ebuild-helpers/prepinfo
+++ b/bin/ebuild-helpers/prepinfo
@@ -1,9 +1,11 @@
 #!/usr/bin/env bash
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 source "${PORTAGE_BIN_PATH}"/isolated-functions.sh || exit 1
 
+eqawarn "QA Notice: '${0##*/}' is not allowed in ebuild scope"
+
 if ! ___eapi_has_prefix_variables ; then
ED=${D}
 fi
-- 
2.40.0




[gentoo-portage-dev] [PATCH 1/3] misc-functions.sh: Inline prepinfo code in install_qa_check()

2023-04-04 Thread Ulrich Müller
Add a deprecation warning. Presumably, subdirs of /usr/share/info have
never been used by any package except app-editors/emacs.

Remove duplicate rm statement at the end of the function.

Bug: https://bugs.gentoo.org/899898
Signed-off-by: Ulrich Müller 
---
 bin/misc-functions.sh | 24 +++-
 1 file changed, 19 insertions(+), 5 deletions(-)

diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh
index 55c4afe73..235823afc 100755
--- a/bin/misc-functions.sh
+++ b/bin/misc-functions.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env bash
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 #
 # Miscellaneous shell functions that make use of the ebuild env but don't need
@@ -143,7 +143,24 @@ install_qa_check() {
chflags -R nosunlnk,nouunlnk "${ED}" 2>/dev/null
fi
 
-   [[ -d ${ED%/}/usr/share/info ]] && prepinfo
+   if [[ -d ${ED%/}/usr/share/info ]]; then
+   # Portage regenerates this on the installed system.
+   rm -f 
"${ED%/}"/usr/share/info/dir{,.info}{,.Z,.gz,.bz2,.lzma,.lz,.xz,.zst} \
+   || die "rm failed"
+   # Recurse into subdirs. Remove this code after 2023-12-31. 
#899898
+   while read -r -d '' x; do
+   ( shopt -s failglob; : "${x}"/.keepinfodir* ) 
2>/dev/null \
+   && continue
+   for f in 
"${x}"/dir{,.info}{,.Z,.gz,.bz2,.lzma,.lz,.xz,.zst}; do
+   if [[ -e ${f} ]]; then
+   eqawarn "QA Notice: Removing Info 
directory file '${f}'."
+   eqawarn "Relying on this behavior is 
deprecated and may"
+   eqawarn "cause file collisions in 
future."
+   rm -f "${f}" || die "rm failed"
+   fi
+   done
+   done < <(find "${ED%/}"/usr/share/info -mindepth 1 -type d 
-print0)
+   fi
 
# If binpkg-docompress is enabled, apply compression before creating
# the binary package.
@@ -251,9 +268,6 @@ install_qa_check() {
prepallstrip
fi
fi
-
-   # Portage regenerates this on the installed system.
-   rm -f "${ED%/}"/usr/share/info/dir{,.Z,.gz,.bz2,.lzma,.lz,.xz,.zst} || 
die "rm failed!"
 }
 
 __dyn_instprep() {
-- 
2.40.0




[gentoo-dev] [PATCH 61/61] xorg-3.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/xorg-3.eclass | 24 
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/eclass/xorg-3.eclass b/eclass/xorg-3.eclass
index a68341591edd..2faccebba16c 100644
--- a/eclass/xorg-3.eclass
+++ b/eclass/xorg-3.eclass
@@ -33,7 +33,7 @@ _XORG_3_ECLASS=1
 GIT_ECLASS=""
 if [[ ${PV} == ** ]]; then
GIT_ECLASS="git-r3"
-   : ${XORG_EAUTORECONF:="yes"}
+   : "${XORG_EAUTORECONF:="yes"}"
 fi
 
 # If we're a font package, but not the font.alias one
@@ -55,7 +55,7 @@ fi
 # @DESCRIPTION:
 # If set to 'yes', the multilib support for package will be enabled. Set
 # before inheriting this eclass.
-: ${XORG_MULTILIB:="no"}
+: "${XORG_MULTILIB:="no"}"
 
 # we need to inherit autotools first to get the deps
 inherit autotools libtool multilib toolchain-funcs flag-o-matic \
@@ -69,14 +69,14 @@ unset FONT_ECLASS GIT_ECLASS
 # @DESCRIPTION:
 # If set to 'yes' and configure.ac exists, eautoreconf will run. Set
 # before inheriting this eclass.
-: ${XORG_EAUTORECONF:="no"}
+: "${XORG_EAUTORECONF:="no"}"
 
 # @ECLASS_VARIABLE: XORG_BASE_INDIVIDUAL_URI
 # @PRE_INHERIT
 # @DESCRIPTION:
 # Set up SRC_URI for individual modular releases. If set to an empty
 # string, no SRC_URI will be provided by the eclass.
-: ${XORG_BASE_INDIVIDUAL_URI="https://www.x.org/releases/individual"}
+: "${XORG_BASE_INDIVIDUAL_URI="https://www.x.org/releases/individual"};
 
 # @ECLASS_VARIABLE: XORG_MODULE
 # @PRE_INHERIT
@@ -84,7 +84,7 @@ unset FONT_ECLASS GIT_ECLASS
 # The subdirectory to download source from. Possible settings are app,
 # doc, data, util, driver, font, lib, proto, xserver. Set above the
 # inherit to override the default autoconfigured module.
-: ${XORG_MODULE:="auto"}
+: "${XORG_MODULE:="auto"}"
 if [[ ${XORG_MODULE} == auto ]]; then
case "${CATEGORY}/${P}" in
app-doc/*)   XORG_MODULE=doc/ ;;
@@ -104,7 +104,7 @@ fi
 # @DESCRIPTION:
 # For git checkout the git repository might differ from package name.
 # This variable can be used for proper directory specification
-: ${XORG_PACKAGE_NAME:=${PN}}
+: "${XORG_PACKAGE_NAME:=${PN}}"
 
 HOMEPAGE="https://www.x.org/wiki/ 
https://gitlab.freedesktop.org/xorg/${XORG_MODULE}${XORG_PACKAGE_NAME};
 
@@ -113,20 +113,20 @@ HOMEPAGE="https://www.x.org/wiki/ 
https://gitlab.freedesktop.org/xorg/${XORG_MOD
 # @DESCRIPTION:
 # Most X11 projects provide tarballs as tar.bz2 or tar.xz. This eclass defaults
 # to bz2.
-: ${XORG_TARBALL_SUFFIX:="bz2"}
+: "${XORG_TARBALL_SUFFIX:="bz2"}"
 
 if [[ ${PV} == ** ]]; then
-   : 
${EGIT_REPO_URI:="https://gitlab.freedesktop.org/xorg/${XORG_MODULE}${XORG_PACKAGE_NAME}.git"}
+   : 
"${EGIT_REPO_URI:="https://gitlab.freedesktop.org/xorg/${XORG_MODULE}${XORG_PACKAGE_NAME}.git"};
 elif [[ -n ${XORG_BASE_INDIVIDUAL_URI} ]]; then

SRC_URI="${XORG_BASE_INDIVIDUAL_URI}/${XORG_MODULE}${P}.tar.${XORG_TARBALL_SUFFIX}"
 fi
 
-: ${SLOT:=0}
+: "${SLOT:=0}"
 
 # Set the license for the package. This can be overridden by setting
 # LICENSE after the inherit. Nearly all FreeDesktop-hosted X packages
 # are under the MIT license. (This is what Red Hat does in their rpms)
-: ${LICENSE:=MIT}
+: "${LICENSE:=MIT}"
 
 # Set up autotools shared dependencies
 # Remember that all versions here MUST be stable
@@ -181,7 +181,7 @@ BDEPEND+=" virtual/pkgconfig"
 # are required for. Default value is "no"
 #
 # Eg. XORG_DRI="opengl" will pull all dri dependent deps for opengl useflag
-: ${XORG_DRI:="no"}
+: "${XORG_DRI:="no"}"
 
 DRI_COMMON_DEPEND="
x11-base/xorg-server[-minimal]
@@ -215,7 +215,7 @@ fi
 # are required for. Default value is "no"
 #
 # Eg. XORG_DOC="manual" will pull all doc dependent deps for manual useflag
-: ${XORG_DOC:="no"}
+: "${XORG_DOC:="no"}"
 
 DOC_DEPEND="
doc? (
-- 
2.40.0




[gentoo-dev] [PATCH 60/61] xemacs-packages.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/xemacs-packages.eclass | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/eclass/xemacs-packages.eclass b/eclass/xemacs-packages.eclass
index 648f5146f47e..ca60e0c3b3b7 100644
--- a/eclass/xemacs-packages.eclass
+++ b/eclass/xemacs-packages.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: xemacs-packages.eclass
@@ -35,13 +35,13 @@ _XEMACS_PACKAGES_ECLASS=1
 RDEPEND="app-editors/xemacs"
 S="${WORKDIR}"
 
-: ${HOMEPAGE:="http://xemacs.org/"}
-: ${LICENSE:="GPL-2+"}
+: "${HOMEPAGE:="http://xemacs.org/"};
+: "${LICENSE:="GPL-2+"}"
 
 if [[ -n ${XEMACS_EXPERIMENTAL} ]]; then
-   : 
${SRC_URI:="http://ftp.xemacs.org/pub/xemacs/beta/experimental/packages/${P}-pkg.tar.gz"}
+   : 
"${SRC_URI:="http://ftp.xemacs.org/pub/xemacs/beta/experimental/packages/${P}-pkg.tar.gz"};
 else
-   : 
${SRC_URI:="http://ftp.xemacs.org/pub/xemacs/packages/${P}-pkg.tar.gz"}
+   : 
"${SRC_URI:="http://ftp.xemacs.org/pub/xemacs/packages/${P}-pkg.tar.gz"};
 fi
 
 xemacs-packages_src_unpack() { :; }
-- 
2.40.0




[gentoo-dev] [PATCH 59/61] xdg-utils.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/xdg-utils.eclass | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/eclass/xdg-utils.eclass b/eclass/xdg-utils.eclass
index 9a58add23d36..34535a129e33 100644
--- a/eclass/xdg-utils.eclass
+++ b/eclass/xdg-utils.eclass
@@ -1,4 +1,4 @@
-# Copyright 2004-2022 Gentoo Authors
+# Copyright 2004-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: xdg-utils.eclass
@@ -26,13 +26,13 @@ esac
 # @INTERNAL
 # @DESCRIPTION:
 # Directory where .desktop files database is stored
-: ${DESKTOP_DATABASE_DIR="/usr/share/applications"}
+: "${DESKTOP_DATABASE_DIR="/usr/share/applications"}"
 
 # @ECLASS_VARIABLE: MIMEINFO_DATABASE_DIR
 # @INTERNAL
 # @DESCRIPTION:
 # Directory where .desktop files database is stored
-: ${MIMEINFO_DATABASE_DIR:="/usr/share/mime"}
+: "${MIMEINFO_DATABASE_DIR:="/usr/share/mime"}"
 
 # @FUNCTION: xdg_environment_reset
 # @DESCRIPTION:
-- 
2.40.0




[gentoo-dev] [PATCH 58/61] waf-utils.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/waf-utils.eclass | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/eclass/waf-utils.eclass b/eclass/waf-utils.eclass
index 1be02bbea3cb..88b822cb335e 100644
--- a/eclass/waf-utils.eclass
+++ b/eclass/waf-utils.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: waf-utils.eclass
@@ -30,7 +30,7 @@ inherit multilib toolchain-funcs multiprocessing
 # @DESCRIPTION:
 # Set to OFF to disable verbose messages during compilation
 # this is _not_ meant to be set in ebuilds
-: ${WAF_VERBOSE:=ON}
+: "${WAF_VERBOSE:=ON}"
 
 # @ECLASS_VARIABLE: WAF_BINARY
 # @DESCRIPTION:
@@ -77,7 +77,7 @@ waf-utils_src_configure() {
 
[[ ${fail} ]] && die "Invalid use of waf-utils.eclass"
 
-   : ${WAF_BINARY:="${S}/waf"}
+   : "${WAF_BINARY:="${S}/waf"}"
 
local conf_args=()
 
-- 
2.40.0




[gentoo-dev] [PATCH 57/61] virtualx.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/virtualx.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/virtualx.eclass b/eclass/virtualx.eclass
index 2513f4e16256..e2bfee1dfeaa 100644
--- a/eclass/virtualx.eclass
+++ b/eclass/virtualx.eclass
@@ -26,7 +26,7 @@ _VIRTUALX_ECLASS=1
 # Any other value is taken as useflag desired to be in control of
 # the dependency (eg. VIRTUALX_REQUIRED="kde" will add the dependency
 # into "kde? ( )" and add kde into IUSE.
-: ${VIRTUALX_REQUIRED:=test}
+: "${VIRTUALX_REQUIRED:=test}"
 
 # @ECLASS_VARIABLE: VIRTUALX_DEPEND
 # @OUTPUT_VARIABLE
-- 
2.40.0




[gentoo-dev] [PATCH 56/61] vim-spell.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/vim-spell.eclass | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/eclass/vim-spell.eclass b/eclass/vim-spell.eclass
index 38db4ccda13f..1a241d2ba0d1 100644
--- a/eclass/vim-spell.eclass
+++ b/eclass/vim-spell.eclass
@@ -79,30 +79,30 @@ SLOT="0"
 # This variable defines the language for the spell package being
 # installed.
 # The default value is "English".
-: ${VIM_SPELL_LANGUAGE:="English"}
+: "${VIM_SPELL_LANGUAGE:="English"}"
 
 # @ECLASS_VARIABLE: VIM_SPELL_LOCALE
 # @INTERNAL
 # @DESCRIPTION:
 # This variable defines the locale for the current ebuild.
 # The default value is ${PN} stripped of the "vim-spell-" string.
-: ${VIM_SPELL_LOCALE:="${PN/vim-spell-/}"}
+: "${VIM_SPELL_LOCALE:="${PN/vim-spell-/}"}"
 
 # @ECLASS_VARIABLE: VIM_SPELL_DIRECTORY
 # @INTERNAL
 # @DESCRIPTION:
 # This variable defines the path to Vim spell files.
-: ${VIM_SPELL_DIRECTORY:="${EPREFIX}/usr/share/vim/vimfiles/spell/"}
+: "${VIM_SPELL_DIRECTORY:="${EPREFIX}/usr/share/vim/vimfiles/spell/"}"
 
 # @ECLASS_VARIABLE: DESCRIPTION
 # @DESCRIPTION:
 # This variable defines the DESCRIPTION for Vim spell ebuilds.
-: ${DESCRIPTION:="vim spell files: ${VIM_SPELL_LANGUAGE} 
(${VIM_SPELL_LOCALE})"}
+: "${DESCRIPTION:="vim spell files: ${VIM_SPELL_LANGUAGE} 
(${VIM_SPELL_LOCALE})"}"
 
 # @ECLASS_VARIABLE: HOMEPAGE
 # @DESCRIPTION:
 # This variable defines the HOMEPAGE for Vim spell ebuilds.
-: ${HOMEPAGE:="https://www.vim.org"}
+: "${HOMEPAGE:="https://www.vim.org"};
 
 # @FUNCTION: vim-spell_src_install
 # @DESCRIPTION:
-- 
2.40.0




[gentoo-dev] [PATCH 55/61] vim-plugin.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/vim-plugin.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/vim-plugin.eclass b/eclass/vim-plugin.eclass
index 81e1e54f638d..ee4f1b6e0f81 100644
--- a/eclass/vim-plugin.eclass
+++ b/eclass/vim-plugin.eclass
@@ -27,7 +27,7 @@ inherit vim-doc
 # @ECLASS_VARIABLE: VIM_PLUGIN_VIM_VERSION
 # @DESCRIPTION:
 # Minimum Vim version the plugin supports.
-: ${VIM_PLUGIN_VIM_VERSION:=7.3}
+: "${VIM_PLUGIN_VIM_VERSION:=7.3}"
 
 DEPEND="|| ( >=app-editors/vim-${VIM_PLUGIN_VIM_VERSION}
>=app-editors/gvim-${VIM_PLUGIN_VIM_VERSION} )"
-- 
2.40.0




[gentoo-dev] [PATCH 54/61] verify-sig.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/verify-sig.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/verify-sig.eclass b/eclass/verify-sig.eclass
index 5e757cdd6038..6472e995e827 100644
--- a/eclass/verify-sig.eclass
+++ b/eclass/verify-sig.eclass
@@ -57,7 +57,7 @@ IUSE="verify-sig"
 #
 # - openpgp -- verify PGP signatures using app-crypt/gnupg (the default)
 # - signify -- verify signatures with Ed25519 public key using 
app-crypt/signify
-: ${VERIFY_SIG_METHOD:=openpgp}
+: "${VERIFY_SIG_METHOD:=openpgp}"
 
 case ${VERIFY_SIG_METHOD} in
openpgp)
@@ -102,7 +102,7 @@ esac
 # connection.
 #
 # Supported for OpenPGP only.
-: ${VERIFY_SIG_OPENPGP_KEY_REFRESH:=no}
+: "${VERIFY_SIG_OPENPGP_KEY_REFRESH:=no}"
 
 # @FUNCTION: verify-sig_verify_detached
 # @USAGE:   []
-- 
2.40.0




[gentoo-dev] [PATCH 53/61] vala.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/vala.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/vala.eclass b/eclass/vala.eclass
index 20bf00ebd8bc..11f8e52f92dd 100644
--- a/eclass/vala.eclass
+++ b/eclass/vala.eclass
@@ -167,7 +167,7 @@ vala_setup() {
fi
done
done
-   : 
${PKG_CONFIG_PATH:="${EPREFIX}/usr/$(get_libdir)/pkgconfig:${EPREFIX}/usr/share/pkgconfig"}
+   : 
"${PKG_CONFIG_PATH:="${EPREFIX}/usr/$(get_libdir)/pkgconfig:${EPREFIX}/usr/share/pkgconfig"}"
export PKG_CONFIG_PATH="${T}/pkgconfig:${PKG_CONFIG_PATH}"
 }
 
-- 
2.40.0




[gentoo-dev] [PATCH 52/61] unpacker.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/unpacker.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/unpacker.eclass b/eclass/unpacker.eclass
index 2a0dcf45d76a..a3c388c6b9b7 100644
--- a/eclass/unpacker.eclass
+++ b/eclass/unpacker.eclass
@@ -421,7 +421,7 @@ _unpacker_get_decompressor() {
type -P lbzip2 || type -P pbzip2 || type -P bzip2
)}
local bzuncmd=${PORTAGE_BUNZIP2_COMMAND:-${bzcmd} -d}
-   : ${UNPACKER_BZ2:=${bzuncmd}}
+   : "${UNPACKER_BZ2:=${bzuncmd}}"
echo "${UNPACKER_BZ2} -c"
;;
*.z|*.gz|*.tgz)
@@ -444,7 +444,7 @@ _unpacker_get_decompressor() {
done
}
 
-   : ${UNPACKER_LZIP:=$(find_lz_unpacker)}
+   : "${UNPACKER_LZIP:=$(find_lz_unpacker)}"
echo "${UNPACKER_LZIP} -dc" ;;
*.zst)
echo "zstd -dc" ;;
-- 
2.40.0




[gentoo-dev] [PATCH 51/61] toolchain.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/toolchain.eclass | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 8ffdd9e26f1e..afacbe31389a 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -53,9 +53,9 @@ if [[ ${CTARGET} = ${CHOST} ]] ; then
export CTARGET=${CATEGORY#cross-}
fi
 fi
-: ${TARGET_ABI:=${ABI}}
-: ${TARGET_MULTILIB_ABIS:=${MULTILIB_ABIS}}
-: ${TARGET_DEFAULT_ABI:=${DEFAULT_ABI}}
+: "${TARGET_ABI:=${ABI}}"
+: "${TARGET_MULTILIB_ABIS:=${MULTILIB_ABIS}}"
+: "${TARGET_DEFAULT_ABI:=${DEFAULT_ABI}}"
 
 is_crosscompile() {
[[ ${CHOST} != ${CTARGET} ]]
@@ -400,17 +400,17 @@ PDEPEND=">=sys-devel/gcc-config-2.3"
 # Used to override compression used for for patchsets.
 # Default is xz for EAPI 8+ and bz2 for older EAPIs.
 if [[ ${EAPI} == 8 ]] ; then
-   : ${TOOLCHAIN_PATCH_SUFFIX:=xz}
+   : "${TOOLCHAIN_PATCH_SUFFIX:=xz}"
 else
# Older EAPIs
-   : ${TOOLCHAIN_PATCH_SUFFIX:=bz2}
+   : "${TOOLCHAIN_PATCH_SUFFIX:=bz2}"
 fi
 
 # @ECLASS_VARIABLE: TOOLCHAIN_SET_S
 # @DESCRIPTION:
 # Used to override value of S for snapshots and such. Mainly useful
 # if needing to set GCC_TARBALL_SRC_URI.
-: ${TOOLCHAIN_SET_S:=yes}
+: "${TOOLCHAIN_SET_S:=yes}"
 
 # Set the source directory depending on whether we're using
 # a live git tree, snapshot, or release tarball.
@@ -1305,7 +1305,7 @@ toolchain_src_configure() {
[[ ${arm_arch} == armv7? ]] && arm_arch=${arm_arch/7/7-}
# See if this is a valid --with-arch flag
if (srcdir=${S}/gcc target=${CTARGET} 
with_arch=${arm_arch};
-   . "${srcdir}"/config.gcc) &>/dev/null
+   . "${srcdir}"/config.gcc) &>/dev/null
then
confgcc+=( --with-arch=${arm_arch} )
fi
@@ -1958,7 +1958,7 @@ gcc_do_make() {
LIBPATH="${LIBPATH}" \
BOOT_CFLAGS="${BOOT_CFLAGS}"
popd > /dev/null || die
-fi
+   fi
 
einfo "Compiling ${PN} (${GCC_MAKE_TARGET})..."
 
-- 
2.40.0




[gentoo-dev] [PATCH 50/61] toolchain-funcs.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/toolchain-funcs.eclass | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 805a3b0dfe61..63db0cfa5e0e 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -355,16 +355,16 @@ tc-export_build_env() {
# Some build envs will initialize vars like:
# : ${BUILD_LDFLAGS:-${LDFLAGS}}
# So make sure all variables are non-empty. #526734
-   : ${BUILD_CFLAGS:=-O1 -pipe}
-   : ${BUILD_CXXFLAGS:=-O1 -pipe}
-   : ${BUILD_CPPFLAGS:= }
-   : ${BUILD_LDFLAGS:= }
+   : "${BUILD_CFLAGS:=-O1 -pipe}"
+   : "${BUILD_CXXFLAGS:=-O1 -pipe}"
+   : "${BUILD_CPPFLAGS:= }"
+   : "${BUILD_LDFLAGS:= }"
else
# https://bugs.gentoo.org/654424
-   : ${BUILD_CFLAGS:=${CFLAGS}}
-   : ${BUILD_CXXFLAGS:=${CXXFLAGS}}
-   : ${BUILD_CPPFLAGS:=${CPPFLAGS}}
-   : ${BUILD_LDFLAGS:=${LDFLAGS}}
+   : "${BUILD_CFLAGS:=${CFLAGS}}"
+   : "${BUILD_CXXFLAGS:=${CXXFLAGS}}"
+   : "${BUILD_CPPFLAGS:=${CPPFLAGS}}"
+   : "${BUILD_LDFLAGS:=${LDFLAGS}}"
fi
export BUILD_{C,CXX,CPP,LD}FLAGS
 
@@ -654,7 +654,7 @@ tc-has-tls() {
-l) ;;
-*) die "Usage: tc-has-tls [-c|-l] [toolchain prefix]";;
esac
-   : ${flags:=-fPIC -shared -Wl,-z,defs}
+   : "${flags:=-fPIC -shared -Wl,-z,defs}"
[[ $1 == -* ]] && shift
$(tc-getCC "$@") ${flags} "${base}.c" -o "${base}" >&/dev/null
local ret=$?
-- 
2.40.0




[gentoo-dev] [PATCH 49/61] stardict.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/stardict.eclass | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/eclass/stardict.eclass b/eclass/stardict.eclass
index 1ca6d10d6d78..080c01f92470 100644
--- a/eclass/stardict.eclass
+++ b/eclass/stardict.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: stardict.eclass
@@ -33,16 +33,16 @@ RESTRICT="strip"
 # @DEFAULT_UNSET
 # @DESCRIPTION:
 # Suffix used for dictionaries.
-: ${DICT_SUFFIX:=${PN#stardict-[[:lower:]]*-}}
+: "${DICT_SUFFIX:=${PN#stardict-[[:lower:]]*-}}"
 
 # @ECLASS_VARIABLE: DICT_P
 # @PRE_INHERIT
 # @DEFAULT_UNSET
 # @DESCRIPTION:
 # The filestem used for downloading dictionaries from SourceForge.
-: ${DICT_P:=stardict-${DICT_PREFIX}${DICT_SUFFIX}-${PV}}
+: "${DICT_P:=stardict-${DICT_PREFIX}${DICT_SUFFIX}-${PV}}"
 
-: ${DESCRIPTION:="Another Stardict Dictionary"}
+: "${DESCRIPTION:="Another Stardict Dictionary"}"
 if [[ -n ${FROM_LANG} && -n ${TO_LANG} ]]; then
DESCRIPTION="Stardict Dictionary ${FROM_LANG} to ${TO_LANG}"
 fi
-- 
2.40.0




[gentoo-dev] [PATCH 48/61] ssl-cert.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/ssl-cert.eclass | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/eclass/ssl-cert.eclass b/eclass/ssl-cert.eclass
index 83fbcf6143d1..0453f0fbf665 100644
--- a/eclass/ssl-cert.eclass
+++ b/eclass/ssl-cert.eclass
@@ -26,19 +26,19 @@ _SSL_CERT_ECLASS=1
 # @PRE_INHERIT
 # @DESCRIPTION:
 # Set to non zero if ssl-cert is mandatory for ebuild.
-: ${SSL_CERT_MANDATORY:=0}
+: "${SSL_CERT_MANDATORY:=0}"
 
 # @ECLASS_VARIABLE: SSL_CERT_USE
 # @PRE_INHERIT
 # @DESCRIPTION:
 # Use flag to append dependency to.
-: ${SSL_CERT_USE:=ssl}
+: "${SSL_CERT_USE:=ssl}"
 
 # @ECLASS_VARIABLE: SSL_DEPS_SKIP
 # @PRE_INHERIT
 # @DESCRIPTION:
 # Set to non zero to skip adding to DEPEND and IUSE.
-: ${SSL_DEPS_SKIP:=0}
+: "${SSL_DEPS_SKIP:=0}"
 
 if [[ "${SSL_DEPS_SKIP}" == "0" ]]; then
if [[ "${SSL_CERT_MANDATORY}" == "0" ]]; then
-- 
2.40.0




[gentoo-dev] [PATCH 47/61] selinux-policy-2.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/selinux-policy-2.eclass | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/eclass/selinux-policy-2.eclass b/eclass/selinux-policy-2.eclass
index 84e95678a67b..7d4f438c65f5 100644
--- a/eclass/selinux-policy-2.eclass
+++ b/eclass/selinux-policy-2.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # Eclass for installing SELinux policy, and optionally
@@ -30,21 +30,21 @@ _SELINUX_POLICY_2_ECLASS=1
 # @DESCRIPTION:
 # This variable contains the (upstream) module name for the SELinux module.
 # This name is only the module name, not the category!
-: ${MODS:="_illegal"}
+: "${MODS:="_illegal"}"
 
 # @ECLASS_VARIABLE: BASEPOL
 # @DESCRIPTION:
 # This variable contains the version string of the selinux-base-policy package
 # that this module build depends on. It is used to patch with the appropriate
 # patch bundle(s) that are part of selinux-base-policy.
-: ${BASEPOL:=${PVR}}
+: "${BASEPOL:=${PVR}}"
 
 # @ECLASS_VARIABLE: POLICY_PATCH
 # @DESCRIPTION:
 # This variable contains the additional patch(es) that need to be applied on 
top
 # of the patchset already contained within the BASEPOL variable. The variable
 # can be both a simple string (space-separated) or a bash array.
-: ${POLICY_PATCH:=""}
+: "${POLICY_PATCH:=""}"
 
 # @ECLASS_VARIABLE: POLICY_FILES
 # @DESCRIPTION:
@@ -53,7 +53,7 @@ _SELINUX_POLICY_2_ECLASS=1
 # Generally, users would want to include at least a .te and .fc file, but .if
 # files are supported as well. The variable can be both a simple string
 # (space-separated) or a bash array.
-: ${POLICY_FILES:=""}
+: "${POLICY_FILES:=""}"
 
 # @ECLASS_VARIABLE: POLICY_TYPES
 # @DESCRIPTION:
@@ -62,7 +62,7 @@ _SELINUX_POLICY_2_ECLASS=1
 # This variable is the same POLICY_TYPES variable that we tell SELinux
 # users to set in make.conf. Therefore, it is not the module that should
 # override it, but the user.
-: ${POLICY_TYPES:="targeted strict mcs mls"}
+: "${POLICY_TYPES:="targeted strict mcs mls"}"
 
 # @ECLASS_VARIABLE: SELINUX_GIT_REPO
 # @DESCRIPTION:
@@ -71,7 +71,7 @@ _SELINUX_POLICY_2_ECLASS=1
 # using a single variable, rather than having to set the packagename_LIVE_REPO
 # variable for each and every SELinux policy module package they want to 
install.
 # The default value is Gentoo's hardened-refpolicy repository.
-: 
${SELINUX_GIT_REPO:="https://anongit.gentoo.org/git/proj/hardened-refpolicy.git"};
+: 
"${SELINUX_GIT_REPO:="https://anongit.gentoo.org/git/proj/hardened-refpolicy.git"};
 
 # @ECLASS_VARIABLE: SELINUX_GIT_BRANCH
 # @DESCRIPTION:
@@ -80,7 +80,7 @@ _SELINUX_POLICY_2_ECLASS=1
 # SELinux policy packages, rather than having to override them one by one with 
the
 # packagename_LIVE_BRANCH variable.
 # The default value is the 'master' branch.
-: ${SELINUX_GIT_BRANCH:="master"};
+: "${SELINUX_GIT_BRANCH:="master"}"
 
 case ${BASEPOL} in
)   inherit git-r3
@@ -166,7 +166,7 @@ selinux-policy-2_src_prepare() {
# Copy additional files to the 3rd_party/ location
if [[ "$(declare -p POLICY_FILES 2>/dev/null 2>&1)" == "declare -a"* ]] 
||
   [[ -n ${POLICY_FILES} ]]; then
-   add_interfaces=1;
+   add_interfaces=1;
cd "${S}/refpolicy/policy/modules"
for POLFILE in ${POLICY_FILES[@]};
do
-- 
2.40.0




[gentoo-dev] [PATCH 46/61] rust-toolchain.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/rust-toolchain.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/rust-toolchain.eclass b/eclass/rust-toolchain.eclass
index 0bbdf46df1f4..df48d3fae264 100644
--- a/eclass/rust-toolchain.eclass
+++ b/eclass/rust-toolchain.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: rust-toolchain.eclass
@@ -23,7 +23,7 @@ inherit multilib-build
 # This variable specifies the base URL used by the
 # rust_arch_uri and rust_all_arch_uris functions when
 # generating the URI output list.
-: ${RUST_TOOLCHAIN_BASEURL:=https://static.rust-lang.org/dist/}
+: "${RUST_TOOLCHAIN_BASEURL:=https://static.rust-lang.org/dist/};
 
 # @FUNCTION: rust_abi
 # @USAGE: [CHOST-value]
-- 
2.40.0




[gentoo-dev] [PATCH 45/61] ruby-ng-gnome2.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/ruby-ng-gnome2.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/ruby-ng-gnome2.eclass b/eclass/ruby-ng-gnome2.eclass
index 7abf84f6034b..e6636811aacc 100644
--- a/eclass/ruby-ng-gnome2.eclass
+++ b/eclass/ruby-ng-gnome2.eclass
@@ -30,7 +30,7 @@ RUBY_FAKEGEM_TASK_DOC=""
 # @DESCRIPTION:
 # If set to 'yes', the test is run with virtx. Set before inheriting this
 # eclass.
-: ${RUBY_GNOME2_NEED_VIRTX:="no"}
+: "${RUBY_GNOME2_NEED_VIRTX:="no"}"
 
 inherit ruby-fakegem
 if [[ ${RUBY_GNOME2_NEED_VIRTX} == yes ]]; then
-- 
2.40.0




[gentoo-dev] [PATCH 44/61] readme.gentoo-r1.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/readme.gentoo-r1.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/readme.gentoo-r1.eclass b/eclass/readme.gentoo-r1.eclass
index baf4b57bef76..202ba31f4f70 100644
--- a/eclass/readme.gentoo-r1.eclass
+++ b/eclass/readme.gentoo-r1.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: readme.gentoo-r1.eclass
@@ -45,7 +45,7 @@ esac
 # @ECLASS_VARIABLE: README_GENTOO_SUFFIX
 # @DESCRIPTION:
 # If you want to specify a suffix for README.gentoo file please export it.
-: ${README_GENTOO_SUFFIX:=""}
+: "${README_GENTOO_SUFFIX:=""}"
 
 # @FUNCTION: readme.gentoo_create_doc
 # @DESCRIPTION:
-- 
2.40.0




[gentoo-dev] [PATCH 43/61] qt6-build.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/qt6-build.eclass | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 79c06f341ede..91f076ad1948 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -26,14 +26,14 @@ _QT6_BUILD_ECLASS=1
 # @DESCRIPTION:
 # The upstream name of the module this package belongs to. Used for
 # SRC_URI and EGIT_REPO_URI. Must be set before inheriting the eclass.
-: ${QT6_MODULE:=${PN}}
+: "${QT6_MODULE:=${PN}}"
 
 # @ECLASS_VARIABLE: VIRTUALX_REQUIRED
 # @DESCRIPTION:
 # For proper description see virtualx.eclass man page.
 # Here we redefine default value to be manual, if your package needs virtualx
 # for tests you should proceed with setting VIRTUALX_REQUIRED=test.
-: ${VIRTUALX_REQUIRED:=manual}
+: "${VIRTUALX_REQUIRED:=manual}"
 
 inherit cmake virtualx
 
@@ -82,7 +82,7 @@ EGIT_REPO_URI=(
 # @OUTPUT_VARIABLE
 # @DESCRIPTION:
 # Build directory for out-of-source builds.
-: ${QT6_BUILD_DIR:=${S}_build}
+: "${QT6_BUILD_DIR:=${S}_build}"
 
 IUSE="debug test"
 
@@ -142,9 +142,9 @@ qt_feature() {
 # @DESCRIPTION:
 # Symlink a given binary from QT6_BINDIR to QT6_PREFIX/bin, with optional 
suffix
 qt6_symlink_binary_to_path() {
-[[ $# -ge 1 ]] || die "${FUNCNAME}() requires at least one argument"
+   [[ $# -ge 1 ]] || die "${FUNCNAME}() requires at least one argument"
 
-dosym -r "${QT6_BINDIR}"/${1} /usr/bin/${1}${2}
+   dosym -r "${QT6_BINDIR}"/${1} /usr/bin/${1}${2}
 }
 
 ##  Internal functions  ##
-- 
2.40.0




[gentoo-dev] [PATCH 42/61] qt5-build.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/qt5-build.eclass | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/eclass/qt5-build.eclass b/eclass/qt5-build.eclass
index ae74c2e0540b..25499b0c2e07 100644
--- a/eclass/qt5-build.eclass
+++ b/eclass/qt5-build.eclass
@@ -51,7 +51,7 @@ readonly QT5_BUILD_TYPE
 # @DESCRIPTION:
 # The upstream name of the module this package belongs to. Used for
 # SRC_URI and EGIT_REPO_URI. Must be set before inheriting the eclass.
-: ${QT5_MODULE:=${PN}}
+: "${QT5_MODULE:=${PN}}"
 
 # @ECLASS_VARIABLE: QT5_PV
 # @DESCRIPTION:
@@ -100,7 +100,7 @@ readonly QT5_PV
 # For proper description see virtualx.eclass man page.
 # Here we redefine default value to be manual, if your package needs virtualx
 # for tests you should proceed with setting VIRTUALX_REQUIRED=test.
-: ${VIRTUALX_REQUIRED:=manual}
+: "${VIRTUALX_REQUIRED:=manual}"
 
 inherit estack flag-o-matic toolchain-funcs virtualx
 
@@ -140,7 +140,7 @@ fi
 # @OUTPUT_VARIABLE
 # @DESCRIPTION:
 # Build directory for out-of-source builds.
-: ${QT5_BUILD_DIR:=${S}_build}
+: "${QT5_BUILD_DIR:=${S}_build}"
 
 LICENSE="|| ( GPL-2 GPL-3 LGPL-3 ) FDL-1.3"
 
-- 
2.40.0




[gentoo-dev] [PATCH 41/61] pypi.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/pypi.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/pypi.eclass b/eclass/pypi.eclass
index 53505de8e67e..d869a8c17a6c 100644
--- a/eclass/pypi.eclass
+++ b/eclass/pypi.eclass
@@ -61,7 +61,7 @@ _PYPI_ECLASS=1
 # @CODE
 # PYPI_PN=${PN/-/.}
 # @CODE
-: ${PYPI_PN:=${PN}}
+: "${PYPI_PN:=${PN}}"
 
 # @FUNCTION: pypi_normalize_name
 # @USAGE: 
-- 
2.40.0




[gentoo-dev] [PATCH 40/61] plasma-mobile.kde.org.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/plasma-mobile.kde.org.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/plasma-mobile.kde.org.eclass 
b/eclass/plasma-mobile.kde.org.eclass
index 1e2c5b6eb4fe..9fd54100d24e 100644
--- a/eclass/plasma-mobile.kde.org.eclass
+++ b/eclass/plasma-mobile.kde.org.eclass
@@ -29,7 +29,7 @@ _PLASMA_MOBILE_KDE_ORG_ECLASS=1
 # @PRE_INHERIT
 # @DESCRIPTION:
 # For proper description see kde.org.eclass manpage.
-: ${KDE_ORG_CATEGORY:=plasma-mobile}
+: "${KDE_ORG_CATEGORY:=plasma-mobile}"
 
 inherit kde.org
 
-- 
2.40.0




[gentoo-dev] [PATCH 39/61] php-pear-r2.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/php-pear-r2.eclass | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/eclass/php-pear-r2.eclass b/eclass/php-pear-r2.eclass
index 29bcf1e6fce8..9882c7dcc700 100644
--- a/eclass/php-pear-r2.eclass
+++ b/eclass/php-pear-r2.eclass
@@ -29,12 +29,12 @@ RDEPEND=">=dev-php/pear-1.8.1"
 # @DESCRIPTION:
 # Set this if the PEAR package name differs from ${PN/PEAR-/}
 # (generally shouldn't be the case).
-: ${PHP_PEAR_PKG_NAME:=${PN/PEAR-/}}
+: "${PHP_PEAR_PKG_NAME:=${PN/PEAR-/}}"
 
 # @ECLASS_VARIABLE: PEAR_PV
 # @DESCRIPTION:
 # Set in ebuild if the ${PV} breaks SRC_URI for alpha/beta/rc versions
-: ${PEAR_PV:=${PV}}
+: "${PEAR_PV:=${PV}}"
 
 # @ECLASS_VARIABLE: PEAR-P
 # @INTERNAL
@@ -46,7 +46,7 @@ PEAR_P="${PHP_PEAR_PKG_NAME}-${PEAR_PV}"
 # @DESCRIPTION:
 # Set in ebuild to the domain name of the channel if not pear.php.net
 # When the domain is not pear.php.net, setting the SRC_URI is required
-: ${PHP_PEAR_DOMAIN:=pear.php.net}
+: "${PHP_PEAR_DOMAIN:=pear.php.net}"
 
 # @ECLASS_VARIABLE: PHP_PEAR_CHANNEL
 # @DEFAULT_UNSET
@@ -60,7 +60,7 @@ if [[ "${PHP_PEAR_DOMAIN}" == "pear.php.net" ]] ; then
SRC_URI="https://pear.php.net/get/${PEAR_P}.tgz;
 fi
 
-: ${HOMEPAGE:=https://${PHP_PEAR_DOMAIN}/package/${PHP_PEAR_PKG_NAME}}
+: "${HOMEPAGE:=https://${PHP_PEAR_DOMAIN}/package/${PHP_PEAR_PKG_NAME}};
 
 S="${WORKDIR}/${PEAR_P}"
 
-- 
2.40.0




[gentoo-dev] [PATCH 38/61] php-ext-source-r3.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/php-ext-source-r3.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/php-ext-source-r3.eclass b/eclass/php-ext-source-r3.eclass
index 7179ab756f6b..e463d3282e83 100644
--- a/eclass/php-ext-source-r3.eclass
+++ b/eclass/php-ext-source-r3.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: php-ext-source-r3.eclass
@@ -81,7 +81,7 @@ esac
 # @CODE
 # PHP_INI_NAME="40-foo"
 # @CODE
-: ${PHP_INI_NAME:=${PHP_EXT_NAME}}
+: "${PHP_INI_NAME:=${PHP_EXT_NAME}}"
 
 # @ECLASS_VARIABLE: PHP_EXT_NEEDED_USE
 # @PRE_INHERIT
-- 
2.40.0




[gentoo-dev] [PATCH 37/61] opam.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/opam.eclass | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/eclass/opam.eclass b/eclass/opam.eclass
index 197c3256f015..49e3c426b062 100644
--- a/eclass/opam.eclass
+++ b/eclass/opam.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: opam.eclass
@@ -25,7 +25,7 @@ QA_FLAGS_IGNORED='.*'
 # @PRE_INHERIT
 # @DESCRIPTION:
 # Override dependency for OPAM_INSTALLER
-: ${OPAM_INSTALLER_DEP:="dev-ml/opam-installer"}
+: "${OPAM_INSTALLER_DEP:="dev-ml/opam-installer"}"
 
 RDEPEND=">=dev-lang/ocaml-4:="
 BDEPEND="${OPAM_INSTALLER_DEP} dev-lang/ocaml"
@@ -34,7 +34,7 @@ DEPEND="${RDEPEND}"
 # @ECLASS_VARIABLE: OPAM_INSTALLER
 # @DESCRIPTION:
 # Eclass can use different opam-installer binary than the one provided in by 
system.
-: ${OPAM_INSTALLER:=opam-installer}
+: "${OPAM_INSTALLER:=opam-installer}"
 
 # @FUNCTION: opam-install
 # @USAGE: 
-- 
2.40.0




[gentoo-dev] [PATCH 36/61] office-ext-r1.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/office-ext-r1.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/office-ext-r1.eclass b/eclass/office-ext-r1.eclass
index abc0cabaa310..716ae001be1d 100644
--- a/eclass/office-ext-r1.eclass
+++ b/eclass/office-ext-r1.eclass
@@ -68,7 +68,7 @@ fi
 # @CODE
 # OFFICE_EXTENSIONS_LOCATION="${S}/unpacked/"
 # @CODE
-: ${OFFICE_EXTENSIONS_LOCATION:=${DISTDIR}}
+: "${OFFICE_EXTENSIONS_LOCATION:=${DISTDIR}}"
 
 IUSE=""
 RDEPEND=""
-- 
2.40.0




[gentoo-dev] [PATCH 35/61] ninja-utils.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/ninja-utils.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/ninja-utils.eclass b/eclass/ninja-utils.eclass
index 4577e26fa57c..8969863959e3 100644
--- a/eclass/ninja-utils.eclass
+++ b/eclass/ninja-utils.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: ninja-utils.eclass
@@ -34,7 +34,7 @@ _NINJA_UTILS_ECLASS=1
 # but other values can be set where NINJA_DEPEND will then be set
 # to a blank variable.
 # The default is set to "ninja".
-: ${NINJA:=ninja}
+: "${NINJA:=ninja}"
 
 # @ECLASS_VARIABLE: NINJA_DEPEND
 # @OUTPUT_VARIABLE
-- 
2.40.0




[gentoo-dev] [PATCH 34/61] multilib.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/multilib.eclass | 50 +-
 1 file changed, 25 insertions(+), 25 deletions(-)

diff --git a/eclass/multilib.eclass b/eclass/multilib.eclass
index e3c0d78a6e43..7769cb7c7c89 100644
--- a/eclass/multilib.eclass
+++ b/eclass/multilib.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: multilib.eclass
@@ -288,8 +288,8 @@ multilib_env() {
# - https://bugs.gentoo.org/675954
# - https://gcc.gnu.org/PR90077
# - https://github.com/gentoo/musl/issues/245
-   : ${MULTILIB_ABIS=default}
-   : ${DEFAULT_ABI=default}
+   : "${MULTILIB_ABIS=default}"
+   : "${DEFAULT_ABI=default}"
export MULTILIB_ABIS DEFAULT_ABI
return
fi
@@ -311,8 +311,8 @@ multilib_env() {
export CTARGET_arm64=${CHOST_arm64}
export LIBDIR_arm64="lib64"
 
-   : ${MULTILIB_ABIS=arm64}
-   : ${DEFAULT_ABI=arm64}
+   : "${MULTILIB_ABIS=arm64}"
+   : "${DEFAULT_ABI=arm64}"
;;
x86_64*)
export CFLAGS_x86=${CFLAGS_x86--m32}
@@ -337,12 +337,12 @@ multilib_env() {
 
case ${CTARGET} in
*-gnux32)
-   : ${MULTILIB_ABIS=x32 amd64 x86}
-   : ${DEFAULT_ABI=x32}
+   : "${MULTILIB_ABIS=x32 amd64 x86}"
+   : "${DEFAULT_ABI=x32}"
;;
*)
-   : ${MULTILIB_ABIS=amd64 x86}
-   : ${DEFAULT_ABI=amd64}
+   : "${MULTILIB_ABIS=amd64 x86}"
+   : "${DEFAULT_ABI=amd64}"
;;
esac
;;
@@ -352,8 +352,8 @@ multilib_env() {
export CTARGET_lp64d=${CTARGET}
export LIBDIR_lp64d=${LIBDIR_lp64d-lib64}
 
-   : ${MULTILIB_ABIS=lp64d}
-   : ${DEFAULT_ABI=lp64d}
+   : "${MULTILIB_ABIS=lp64d}"
+   : "${DEFAULT_ABI=lp64d}"
;;
mips64*|mipsisa64*)
export CFLAGS_o32=${CFLAGS_o32--mabi=32}
@@ -372,8 +372,8 @@ multilib_env() {
export CTARGET_n64=${CHOST_n64}
export LIBDIR_n64="lib64"
 
-   : ${MULTILIB_ABIS=n64 n32 o32}
-   : ${DEFAULT_ABI=n32}
+   : "${MULTILIB_ABIS=n64 n32 o32}"
+   : "${DEFAULT_ABI=n32}"
;;
powerpc64*)
export CFLAGS_ppc=${CFLAGS_ppc--m32}
@@ -386,12 +386,12 @@ multilib_env() {
export CTARGET_ppc64=${CHOST_ppc64}
export LIBDIR_ppc64="lib64"
 
-   : ${MULTILIB_ABIS=ppc64 ppc}
-   : ${DEFAULT_ABI=ppc64}
+   : "${MULTILIB_ABIS=ppc64 ppc}"
+   : "${DEFAULT_ABI=ppc64}"
;;
riscv64*)
-   : ${MULTILIB_ABIS=lp64d lp64 ilp32d ilp32}
-   : ${DEFAULT_ABI=lp64d}
+   : "${MULTILIB_ABIS=lp64d lp64 ilp32d ilp32}"
+   : "${DEFAULT_ABI=lp64d}"
 
# the default abi is set to the 1-level libdir default
 
@@ -422,8 +422,8 @@ multilib_env() {
export LIBDIR_ilp32=${LIBDIR_ilp32-lib32/ilp32}
;;
riscv32*)
-   : ${MULTILIB_ABIS=ilp32d ilp32}
-   : ${DEFAULT_ABI=ilp32d}
+   : "${MULTILIB_ABIS=ilp32d ilp32}"
+   : "${DEFAULT_ABI=ilp32d}"
 
# the default abi is set to the 1-level libdir default
 
@@ -454,8 +454,8 @@ multilib_env() {
export CTARGET_s390x=${CHOST_s390x}
export LIBDIR_s390x="lib64"
 
-   : ${MULTILIB_ABIS=s390x s390}
-   : ${DEFAULT_ABI=s390x}
+   : "${MULTILIB_ABIS=s390x s390}"
+   : "${DEFAULT_ABI=s390x}"
;;
sparc64*)
export CFLAGS

[gentoo-dev] [PATCH 33/61] mozlinguas-v2.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/mozlinguas-v2.eclass | 34 +-
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/eclass/mozlinguas-v2.eclass b/eclass/mozlinguas-v2.eclass
index 063430e1cb74..81e00275a8f6 100644
--- a/eclass/mozlinguas-v2.eclass
+++ b/eclass/mozlinguas-v2.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: mozlinguas-v2.eclass
@@ -30,59 +30,59 @@ inherit mozextension
 # Array containing the list of language pack xpis available for
 # this release. The list can be updated with scripts/get_langs.sh from the
 # mozilla overlay.
-: ${MOZ_LANGS:=()}
+: "${MOZ_LANGS:=()}"
 
 # @ECLASS_VARIABLE: MOZ_PV
 # @DEFAULT_UNSET
 # @DESCRIPTION:
 # Ebuild package version converted to equivalent upstream version.
 # Defaults to ${PV}, and should be overridden for alphas, betas, and RCs
-: ${MOZ_PV:="${PV}"}
+: "${MOZ_PV:="${PV}"}"
 
 # @ECLASS_VARIABLE: MOZ_PN
 # @DEFAULT_UNSET
 # @DESCRIPTION:
 # Ebuild package name converted to equivalent upstream name.
 # Defaults to ${PN}, and should be overridden for binary ebuilds.
-: ${MOZ_PN:="${PN}"}
+: "${MOZ_PN:="${PN}"}"
 
 # @ECLASS_VARIABLE: MOZ_P
 # @DEFAULT_UNSET
 # @DESCRIPTION:
 # Ebuild package name + version converted to upstream equivalent.
 # Defaults to ${MOZ_PN}-${MOZ_PV}
-: ${MOZ_P:="${MOZ_PN}-${MOZ_PV}"}
+: "${MOZ_P:="${MOZ_PN}-${MOZ_PV}"}"
 
 # @ECLASS_VARIABLE: MOZ_FTP_URI
 # @DEFAULT_UNSET
 # @DESCRIPTION:
 # The ftp URI prefix for the release tarballs and language packs.
-: ${MOZ_FTP_URI:=""}
+: "${MOZ_FTP_URI:=""}"
 
 # @ECLASS_VARIABLE: MOZ_HTTP_URI
 # @PRE_INHERIT
 # @DESCRIPTION:
 # The http URI prefix for the release tarballs and language packs.
-: ${MOZ_HTTP_URI:=""}
+: "${MOZ_HTTP_URI:=""}"
 
 # @ECLASS_VARIABLE: MOZ_LANGPACK_HTTP_URI
 # @PRE_INHERIT
 # @DESCRIPTION:
 # An alternative http URI if it differs from official mozilla URI.
 # Defaults to whatever MOZ_HTTP_URI was set to.
-: ${MOZ_LANGPACK_HTTP_URI:=${MOZ_HTTP_URI}}
+: "${MOZ_LANGPACK_HTTP_URI:=${MOZ_HTTP_URI}}"
 
 # @ECLASS_VARIABLE: MOZ_LANGPACK_PREFIX
 # @DESCRIPTION:
 # The relative path till the lang code in the langpack file URI.
 # Defaults to ${MOZ_PV}/linux-i686/xpi/
-: ${MOZ_LANGPACK_PREFIX:="${MOZ_PV}/linux-i686/xpi/"}
+: "${MOZ_LANGPACK_PREFIX:="${MOZ_PV}/linux-i686/xpi/"}"
 
 # @ECLASS_VARIABLE: MOZ_LANGPACK_SUFFIX
 # @DESCRIPTION:
 # The suffix after the lang code in the langpack file URI.
 # Defaults to '.xpi'
-: ${MOZ_LANGPACK_SUFFIX:=".xpi"}
+: "${MOZ_LANGPACK_SUFFIX:=".xpi"}"
 
 # @ECLASS_VARIABLE: MOZ_LANGPACK_UNOFFICIAL
 # @DESCRIPTION:
@@ -92,7 +92,7 @@ inherit mozextension
 # unofficially by others (ie the Gentoo mozilla team).  When
 # this var is set, the distfile will have a .unofficial.xpi
 # suffix.
-: ${MOZ_LANGPACK_UNOFFICIAL:=""}
+: "${MOZ_LANGPACK_UNOFFICIAL:=""}"
 
 # @ECLASS_VARIABLE: MOZ_GENERATE_LANGPACKS
 # @PRE_INHERIT
@@ -103,13 +103,13 @@ inherit mozextension
 # being downloaded and installed from upstream pre-built
 # extensions.  Primarily it supports pre-release builds.
 # Defaults to empty.
-: ${MOZ_GENERATE_LANGPACKS:=""}
+: "${MOZ_GENERATE_LANGPACKS:=""}"
 
 # @ECLASS_VARIABLE: MOZ_L10N_SOURCEDIR
 # @DESCRIPTION:
 # The path that l10n sources can be found at, once unpacked.
 # Defaults to ${WORKDIR}/l10n-sources
-: ${MOZ_L10N_SOURCEDIR:="${WORKDIR}/l10n-sources"}
+: "${MOZ_L10N_SOURCEDIR:="${WORKDIR}/l10n-sources"}"
 
 # @ECLASS_VARIABLE: MOZ_L10N_URI_PREFIX
 # @PRE_INHERIT
@@ -120,21 +120,21 @@ inherit mozextension
 # SRC_URI when MOZ_GENERATE_LANGPACKS is set.  If empty, nothing will
 # be added to SRC_URI.
 # Defaults to empty.
-: ${MOZ_L10N_URI_PREFIX:=""}
+: "${MOZ_L10N_URI_PREFIX:=""}"
 
 # @ECLASS_VARIABLE: MOZ_L10N_URI_SUFFIX
 # @DEFAULT_UNSET
 # @DESCRIPTION:
 # The suffix of l10n source distfiles.
 # Defaults to '.tar.xz'
-: ${MOZ_L10N_URI_SUFFIX:=".tar.xz"}
+: "${MOZ_L10N_URI_SUFFIX:=".tar.xz"}"
 
 # @ECLASS_VARIABLE: MOZ_FORCE_UPSTREAM_L10N
 # @DEFAULT_UNSET
 # @DESCRIPTION:
 # Set this to use upstream langpaks even if the package normally
 # shouldn't (ie it is an alpha or beta package)
-: ${MOZ_FORCE_UPSTREAM_L10N:=""}
+: "${MOZ_FORCE_UPSTREAM_L10N:=""}"
 
 # @ECLASS_VARIABLE: MOZ_TOO_REGIONALIZED_FOR_L10N
 # @INTERNAL
@@ -146,7 +146,7 @@ MOZ_TOO_REGIONALIZED_FOR_L10N=( fy-NL ga-IE gu-IN hi-IN 
hy-AM nb-NO nn-NO pa-IN
 # @DESCRIPTION:
 # Install langpacks as .xpi file instead of unpacked directory.
 # Leave unset to install unpacked
-: ${MOZ_INSTALL_L10N_XPIFILE:=""}
+: "${MOZ_INSTALL_L10N_XPIFILE:=""}"
 
 # Add l10n_* to IUSE according to available language packs
 # No language packs for alphas and betas
-- 
2.40.0




[gentoo-dev] [PATCH 32/61] mozextension.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/mozextension.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/mozextension.eclass b/eclass/mozextension.eclass
index 692aa816d8ed..52fe26280e6e 100644
--- a/eclass/mozextension.eclass
+++ b/eclass/mozextension.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: mozextension.eclass
@@ -21,7 +21,7 @@ _MOZEXTENSION_ECLASS=1
 # to be overridden from the default app-global extensions path.
 # Default is empty, which installs to predetermined hard-coded
 # paths specified in the eclass.
-: ${MOZEXTENSION_TARGET:=""}
+: "${MOZEXTENSION_TARGET:=""}"
 
 BDEPEND="app-arch/unzip"
 
-- 
2.40.0




[gentoo-dev] [PATCH 31/61] meson.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/meson.eclass | 30 +++---
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/eclass/meson.eclass b/eclass/meson.eclass
index 881e24700053..4dfa08ba5553 100644
--- a/eclass/meson.eclass
+++ b/eclass/meson.eclass
@@ -58,7 +58,7 @@ BDEPEND=">=dev-util/meson-0.62.2
 # @ECLASS_VARIABLE: EMESON_BUILDTYPE
 # @DESCRIPTION:
 # The buildtype value to pass to meson setup.
-: ${EMESON_BUILDTYPE=plain}
+: "${EMESON_BUILDTYPE=plain}"
 
 # @ECLASS_VARIABLE: EMESON_SOURCE
 # @DEFAULT_UNSET
@@ -289,21 +289,21 @@ meson_src_configure() {
local BUILD_PKG_CONFIG_PATH=${BUILD_PKG_CONFIG_PATH}
 
if tc-is-cross-compiler; then
-   : ${BUILD_CFLAGS:=-O1 -pipe}
-   : ${BUILD_CXXFLAGS:=-O1 -pipe}
-   : ${BUILD_FCFLAGS:=-O1 -pipe}
-   : ${BUILD_OBJCFLAGS:=-O1 -pipe}
-   : ${BUILD_OBJCXXFLAGS:=-O1 -pipe}
+   : "${BUILD_CFLAGS:=-O1 -pipe}"
+   : "${BUILD_CXXFLAGS:=-O1 -pipe}"
+   : "${BUILD_FCFLAGS:=-O1 -pipe}"
+   : "${BUILD_OBJCFLAGS:=-O1 -pipe}"
+   : "${BUILD_OBJCXXFLAGS:=-O1 -pipe}"
else
-   : ${BUILD_CFLAGS:=${CFLAGS}}
-   : ${BUILD_CPPFLAGS:=${CPPFLAGS}}
-   : ${BUILD_CXXFLAGS:=${CXXFLAGS}}
-   : ${BUILD_FCFLAGS:=${FCFLAGS}}
-   : ${BUILD_LDFLAGS:=${LDFLAGS}}
-   : ${BUILD_OBJCFLAGS:=${OBJCFLAGS}}
-   : ${BUILD_OBJCXXFLAGS:=${OBJCXXFLAGS}}
-   : ${BUILD_PKG_CONFIG_LIBDIR:=${PKG_CONFIG_LIBDIR}}
-   : ${BUILD_PKG_CONFIG_PATH:=${PKG_CONFIG_PATH}}
+   : "${BUILD_CFLAGS:=${CFLAGS}}"
+   : "${BUILD_CPPFLAGS:=${CPPFLAGS}}"
+   : "${BUILD_CXXFLAGS:=${CXXFLAGS}}"
+   : "${BUILD_FCFLAGS:=${FCFLAGS}}"
+   : "${BUILD_LDFLAGS:=${LDFLAGS}}"
+   : "${BUILD_OBJCFLAGS:=${OBJCFLAGS}}"
+   : "${BUILD_OBJCXXFLAGS:=${OBJCXXFLAGS}}"
+   : "${BUILD_PKG_CONFIG_LIBDIR:=${PKG_CONFIG_LIBDIR}}"
+   : "${BUILD_PKG_CONFIG_PATH:=${PKG_CONFIG_PATH}}"
fi
 
local mesonargs=(
-- 
2.40.0




[gentoo-dev] [PATCH 30/61] mercurial.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/mercurial.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/mercurial.eclass b/eclass/mercurial.eclass
index 776ed2d9a1f0..27fb525bcbd6 100644
--- a/eclass/mercurial.eclass
+++ b/eclass/mercurial.eclass
@@ -45,7 +45,7 @@ BDEPEND="dev-vcs/mercurial"
 #
 # EHG_REVISION is passed as a value for --updaterev parameter, so it can be 
more
 # than just a revision, please consult `hg help revisions' for more details.
-: ${EHG_REVISION:="default"}
+: "${EHG_REVISION:="default"}"
 
 # @ECLASS_VARIABLE: EHG_STORE_DIR
 # @USER_VARIABLE
@@ -70,7 +70,7 @@ BDEPEND="dev-vcs/mercurial"
 # @ECLASS_VARIABLE: EHG_QUIET
 # @DESCRIPTION:
 # Suppress some extra noise from mercurial, set it to 'ON' to be quiet.
-: ${EHG_QUIET:="OFF"}
+: "${EHG_QUIET:="OFF"}"
 [[ "${EHG_QUIET}" == "ON" ]] && EHG_QUIET_CMD_OPT="--quiet"
 
 # @ECLASS_VARIABLE: EHG_CONFIG
-- 
2.40.0




[gentoo-dev] [PATCH 29/61] mate.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/mate.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/mate.eclass b/eclass/mate.eclass
index 388cdf2f827d..ad988f5a145a 100644
--- a/eclass/mate.eclass
+++ b/eclass/mate.eclass
@@ -63,7 +63,7 @@ mate_py_cond_func_wrap() {
 # - true: will always run eautoreconf
 # - false: will default to automatic detect
 # - If it is not set, it will default to false
-: ${MATE_FORCE_AUTORECONF:="false"}
+: "${MATE_FORCE_AUTORECONF:="false"}"
 
 # @FUNCTION: ematedocize
 # @DESCRIPTION:
-- 
2.40.0




[gentoo-dev] [PATCH 28/61] mate-desktop.org.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/mate-desktop.org.eclass | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/eclass/mate-desktop.org.eclass b/eclass/mate-desktop.org.eclass
index 875e4615773c..0dd77aa19a3e 100644
--- a/eclass/mate-desktop.org.eclass
+++ b/eclass/mate-desktop.org.eclass
@@ -29,25 +29,25 @@ fi
 # @DESCRIPTION:
 # All projects hosted on mate-desktop.org provide tarballs as tar.xz.
 # Undefined in live ebuilds.
-[[ ${PV} !=  ]] && : ${MATE_TARBALL_SUFFIX:="xz"}
+[[ ${PV} !=  ]] && : "${MATE_TARBALL_SUFFIX:="xz"}"
 
 # @ECLASS_VARIABLE: MATE_DESKTOP_ORG_PN
 # @DESCRIPTION:
 # Name of the package as hosted on mate-desktop.org.
 # Leave unset if package name matches PN.
-: ${MATE_DESKTOP_ORG_PN:=${PN}}
+: "${MATE_DESKTOP_ORG_PN:=${PN}}"
 
 # @ECLASS_VARIABLE: MATE_DESKTOP_ORG_PV
 # @DESCRIPTION:
 # Package version string as listed on mate-desktop.org.
 # Leave unset if package version string matches PV.
-: ${MATE_DESKTOP_ORG_PV:=${PV}}
+: "${MATE_DESKTOP_ORG_PV:=${PV}}"
 
 # @ECLASS_VARIABLE: MATE_BRANCH
 # @DESCRIPTION:
 # Major and minor numbers of the version number, unless live.
 # If live ebuild, will be set to ''.
-: ${MATE_BRANCH:=$(ver_cut 1-2)}
+: "${MATE_BRANCH:=$(ver_cut 1-2)}"
 
 # Set SRC_URI or EGIT_REPO_URI based on whether live
 if [[ ${PV} ==  ]]; then
-- 
2.40.0




[gentoo-dev] [PATCH 27/61] linux-mod.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/linux-mod.eclass | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/eclass/linux-mod.eclass b/eclass/linux-mod.eclass
index 98b22dcb9fc6..e993ac37da0d 100644
--- a/eclass/linux-mod.eclass
+++ b/eclass/linux-mod.eclass
@@ -38,7 +38,7 @@
 # @DESCRIPTION:
 # A string containing the directory of the target kernel sources. The default 
value is
 # "/usr/src/linux"
-: ${KERNEL_DIR:=/usr/src/linux}
+: "${KERNEL_DIR:=/usr/src/linux}"
 
 # @ECLASS_VARIABLE: ECONF_PARAMS
 # @DEFAULT_UNSET
@@ -54,7 +54,7 @@
 # @ECLASS_VARIABLE: BUILD_TARGETS
 # @DESCRIPTION:
 # It's a string with the build targets to pass to make. The default value is 
"clean module"
-: ${BUILD_TARGETS:=clean module}
+: "${BUILD_TARGETS:=clean module}"
 
 # @ECLASS_VARIABLE: MODULE_NAMES
 # @DEFAULT_UNSET
@@ -177,7 +177,7 @@ RDEPEND="
)
${MODULES_OPTIONAL_USE:+)}"
 DEPEND="${RDEPEND}
-${MODULES_OPTIONAL_USE}${MODULES_OPTIONAL_USE:+? (}
+   ${MODULES_OPTIONAL_USE}${MODULES_OPTIONAL_USE:+? (}
kernel_linux? ( virtual/linux-sources virtual/libelf )
${MODULES_OPTIONAL_USE:+)}"
 
-- 
2.40.0




[gentoo-dev] [PATCH 26/61] linux-info.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/linux-info.eclass | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/eclass/linux-info.eclass b/eclass/linux-info.eclass
index ce04a0dc66a7..66cf77f1dd81 100644
--- a/eclass/linux-info.eclass
+++ b/eclass/linux-info.eclass
@@ -45,7 +45,7 @@ _LINUX_INFO_ECLASS=1
 # @DESCRIPTION:
 # Do not error out in check_extra_config if CONFIG settings are not met.
 # This is a user flag and should under _no circumstances_ be set in the ebuild.
-: ${CHECKCONFIG_DONOTHING:=""}
+: "${CHECKCONFIG_DONOTHING:=""}"
 
 # @ECLASS_VARIABLE: KERNEL_DIR
 # @DESCRIPTION:
@@ -105,7 +105,7 @@ KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
 # the following names, in order: GNUmakefile, makefile and Makefile. Set this 
variable to the
 # proper Makefile name or the eclass will search in this order for it.
 # See https://www.gnu.org/software/make/manual/make.html
-: ${KERNEL_MAKEFILE:=""}
+: "${KERNEL_MAKEFILE:=""}"
 
 # @ECLASS_VARIABLE: KV_FULL
 # @OUTPUT_VARIABLE
@@ -156,7 +156,7 @@ KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
 # Do not check for kernel sources or a running kernel version.
 # Main use-case is for chroots.
 # This is a user flag and should under _no circumstances_ be set in the ebuild.
-: ${SKIP_KERNEL_CHECK:=""}
+: "${SKIP_KERNEL_CHECK:=""}"
 
 # And to ensure all the weirdness with crosscompile
 inherit toolchain-funcs
@@ -679,7 +679,7 @@ get_running_version() {
KV_MINOR=$(ver_cut 2 ${kv_full})
KV_PATCH=$(ver_cut 3 ${kv_full})
KV_EXTRA="${KV_FULL#${KV_MAJOR}.${KV_MINOR}${KV_PATCH:+.${KV_PATCH}}}"
-   : ${KV_PATCH:=0}
+   : "${KV_PATCH:=0}"
 
return 0
 }
-- 
2.40.0




[gentoo-dev] [PATCH 25/61] libretro-core.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/libretro-core.eclass | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/eclass/libretro-core.eclass b/eclass/libretro-core.eclass
index 55d7e9f11513..906526e32436 100644
--- a/eclass/libretro-core.eclass
+++ b/eclass/libretro-core.eclass
@@ -1,4 +1,4 @@
-# Copyright 2018-2022 Gentoo Authors
+# Copyright 2018-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: libretro-core.eclass
@@ -69,17 +69,17 @@ fi
 # @DESCRIPTION:
 # Contains the real repo name of the core formatted as "repouser/reponame".
 # Needs to be set before inherit. Otherwise defaults to "libretro/${PN}"
-: ${LIBRETRO_REPO_NAME:="libretro/libretro-${LIBRETRO_CORE_NAME}"}
+: "${LIBRETRO_REPO_NAME:="libretro/libretro-${LIBRETRO_CORE_NAME}"}"
 
-: ${HOMEPAGE:="https://github.com/${LIBRETRO_REPO_NAME}"}
+: "${HOMEPAGE:="https://github.com/${LIBRETRO_REPO_NAME}"};
 
 if [[ ${PV} == * ]]; then
-   : ${EGIT_REPO_URI:="https://github.com/${LIBRETRO_REPO_NAME}.git"}
+   : "${EGIT_REPO_URI:="https://github.com/${LIBRETRO_REPO_NAME}.git"};
inherit git-r3
 else
[[ -z "${LIBRETRO_COMMIT_SHA}" ]] && die "LIBRETRO_COMMIT_SHA must be 
set before inherit."
S="${WORKDIR}/${LIBRETRO_REPO_NAME##*/}-${LIBRETRO_COMMIT_SHA}"
-   : 
${SRC_URI:="https://github.com/${LIBRETRO_REPO_NAME}/archive/${LIBRETRO_COMMIT_SHA}.tar.gz
 -> ${P}.tar.gz"}
+   : 
"${SRC_URI:="https://github.com/${LIBRETRO_REPO_NAME}/archive/${LIBRETRO_COMMIT_SHA}.tar.gz
 -> ${P}.tar.gz"}"
 fi
 inherit flag-o-matic toolchain-funcs
 
-- 
2.40.0




[gentoo-dev] [PATCH 24/61] kernel-2.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/kernel-2.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
index 3c78aa5a8445..4563cc71028c 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.eclass
@@ -299,13 +299,13 @@ if [[ ${CTARGET} == ${CHOST} && ${CATEGORY/cross-} != 
${CATEGORY} ]]; then
 fi
 
 HOMEPAGE="https://www.kernel.org/ https://wiki.gentoo.org/wiki/Kernel 
${HOMEPAGE}"
-: ${LICENSE:="GPL-2"}
+: "${LICENSE:="GPL-2"}"
 
 # No need to run scanelf/strip on kernel sources/headers (bug #134453).
 RESTRICT="binchecks strip"
 
 # set LINUX_HOSTCFLAGS if not already set
-: ${LINUX_HOSTCFLAGS:="-Wall -Wstrict-prototypes -Os -fomit-frame-pointer 
-I${S}/include"}
+: "${LINUX_HOSTCFLAGS:="-Wall -Wstrict-prototypes -Os -fomit-frame-pointer 
-I${S}/include"}"
 
 
 # @FUNCTION: debug-print-kernel2-variables
-- 
2.40.0




[gentoo-dev] [PATCH 23/61] kde.org.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/kde.org.eclass | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/eclass/kde.org.eclass b/eclass/kde.org.eclass
index 629c57d9a082..88040026ecae 100644
--- a/eclass/kde.org.eclass
+++ b/eclass/kde.org.eclass
@@ -84,7 +84,7 @@ readonly KDE_ORG_CATEGORIES
 # @DESCRIPTION:
 # If unset, default value is mapped from ${CATEGORY} to corresponding upstream
 # category on invent.kde.org, with "kde" as fallback value.
-: ${KDE_ORG_CATEGORY:=${KDE_ORG_CATEGORIES[${CATEGORY}]:-kde}}
+: "${KDE_ORG_CATEGORY:=${KDE_ORG_CATEGORIES[${CATEGORY}]:-kde}}"
 
 # @ECLASS_VARIABLE: KDE_ORG_COMMIT
 # @PRE_INHERIT
@@ -99,12 +99,12 @@ readonly KDE_ORG_CATEGORIES
 # @DESCRIPTION:
 # If unset, default value is set to ${PN}.
 # Name of the package as hosted on kde.org mirrors.
-: ${KDE_ORG_NAME:=$PN}
+: "${KDE_ORG_NAME:=$PN}"
 
 # @ECLASS_VARIABLE: KDE_ORG_SCHEDULE_URI
 # @DESCRIPTION:
 # Known schedule URI of package or release group.
-: ${KDE_ORG_SCHEDULE_URI:="https://community.kde.org/Schedules"}
+: "${KDE_ORG_SCHEDULE_URI:="https://community.kde.org/Schedules"};
 
 # @ECLASS_VARIABLE: KDE_SELINUX_MODULE
 # @PRE_INHERIT
@@ -112,7 +112,7 @@ readonly KDE_ORG_CATEGORIES
 # If set to "none", do nothing.
 # For any other value, add selinux to IUSE, and depending on that useflag
 # add a dependency on sec-policy/selinux-${KDE_SELINUX_MODULE} to (R)DEPEND.
-: ${KDE_SELINUX_MODULE:=none}
+: "${KDE_SELINUX_MODULE:=none}"
 
 case ${KDE_SELINUX_MODULE} in
none)   ;;
-- 
2.40.0




[gentoo-dev] [PATCH 22/61] java-pkg-simple.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/java-pkg-simple.eclass | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass
index a1589b025617..929ce68c6c07 100644
--- a/eclass/java-pkg-simple.eclass
+++ b/eclass/java-pkg-simple.eclass
@@ -116,7 +116,7 @@ fi
 # @ECLASS_VARIABLE: JAVA_ENCODING
 # @DESCRIPTION:
 # The character encoding used in the source files.
-: ${JAVA_ENCODING:=UTF-8}
+: "${JAVA_ENCODING:=UTF-8}"
 
 # @ECLASS_VARIABLE: JAVAC_ARGS
 # @DEFAULT_UNSET
@@ -148,7 +148,7 @@ fi
 # @ECLASS_VARIABLE: JAVA_JAR_FILENAME
 # @DESCRIPTION:
 # The name of the jar file to create and install.
-: ${JAVA_JAR_FILENAME:=${PN}.jar}
+: "${JAVA_JAR_FILENAME:=${PN}.jar}"
 
 # @ECLASS_VARIABLE: JAVA_BINJAR_FILENAME
 # @DEFAULT_UNSET
@@ -161,7 +161,7 @@ fi
 # If ${JAVA_MAIN_CLASS} is set, we will create a launcher to
 # execute the jar, and ${JAVA_LAUNCHER_FILENAME} will be the
 # name of the script.
-: ${JAVA_LAUNCHER_FILENAME:=${PN}-${SLOT}}
+: "${JAVA_LAUNCHER_FILENAME:=${PN}-${SLOT}}"
 
 # @ECLASS_VARIABLE: JAVA_TESTING_FRAMEWORKS
 # @DEFAULT_UNSET
-- 
2.40.0




[gentoo-dev] [PATCH 21/61] haskell-cabal.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/haskell-cabal.eclass | 34 +-
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/eclass/haskell-cabal.eclass b/eclass/haskell-cabal.eclass
index 12251a268b45..917c4dd5206e 100644
--- a/eclass/haskell-cabal.eclass
+++ b/eclass/haskell-cabal.eclass
@@ -58,14 +58,14 @@ inherit ghc-package multilib toolchain-funcs
 # User-specified additional parameters passed to 'setup configure'.
 # example: /etc/portage/make.conf:
 #CABAL_EXTRA_CONFIGURE_FLAGS="--enable-shared --enable-executable-dynamic"
-: ${CABAL_EXTRA_CONFIGURE_FLAGS:=}
+: "${CABAL_EXTRA_CONFIGURE_FLAGS:=}"
 
 # @ECLASS_VARIABLE: CABAL_EXTRA_BUILD_FLAGS
 # @USER_VARIABLE
 # @DESCRIPTION:
 # User-specified additional parameters passed to 'setup build'.
 # example: /etc/portage/make.conf: CABAL_EXTRA_BUILD_FLAGS=-v
-: ${CABAL_EXTRA_BUILD_FLAGS:=}
+: "${CABAL_EXTRA_BUILD_FLAGS:=}"
 
 # @ECLASS_VARIABLE: GHC_BOOTSTRAP_FLAGS
 # @USER_VARIABLE
@@ -74,7 +74,7 @@ inherit ghc-package multilib toolchain-funcs
 # _only_ 'setup' binary bootstrap.
 # example: /etc/portage/make.conf: GHC_BOOTSTRAP_FLAGS=-dynamic to make
 # linking 'setup' faster.
-: ${GHC_BOOTSTRAP_FLAGS:=}
+: "${GHC_BOOTSTRAP_FLAGS:=}"
 
 # @ECLASS_VARIABLE: CABAL_EXTRA_HADDOCK_FLAGS
 # @USER_VARIABLE
@@ -82,7 +82,7 @@ inherit ghc-package multilib toolchain-funcs
 # User-specified additional parameters passed to 'setup haddock'.
 # example: /etc/portage/make.conf:
 #CABAL_EXTRA_HADDOCK_FLAGS="--haddock-options=--latex 
--haddock-options=--pretty-html"
-: ${CABAL_EXTRA_HADDOCK_FLAGS:=}
+: "${CABAL_EXTRA_HADDOCK_FLAGS:=}"
 
 # @ECLASS_VARIABLE: CABAL_EXTRA_HOOGLE_FLAGS
 # @USER_VARIABLE
@@ -90,7 +90,7 @@ inherit ghc-package multilib toolchain-funcs
 # User-specified additional parameters passed to 'setup haddock --hoogle'.
 # example: /etc/portage/make.conf:
 #CABAL_EXTRA_HOOGLE_FLAGS="--haddock-options=--show-all"
-: ${CABAL_EXTRA_HOOGLE_FLAGS:=}
+: "${CABAL_EXTRA_HOOGLE_FLAGS:=}"
 
 # @ECLASS_VARIABLE: CABAL_EXTRA_HSCOLOUR_FLAGS
 # @USER_VARIABLE
@@ -98,7 +98,7 @@ inherit ghc-package multilib toolchain-funcs
 # User-specified additional parameters passed to 'setup hscolour'.
 # example: /etc/portage/make.conf:
 #CABAL_EXTRA_HSCOLOUR_FLAGS="--executables --tests"
-: ${CABAL_EXTRA_HSCOLOUR_FLAGS:=}
+: "${CABAL_EXTRA_HSCOLOUR_FLAGS:=}"
 
 
 # @ECLASS_VARIABLE: CABAL_EXTRA_TEST_FLAGS
@@ -107,13 +107,13 @@ inherit ghc-package multilib toolchain-funcs
 # User-specified additional parameters passed to 'setup test'.
 # example: /etc/portage/make.conf:
 #CABAL_EXTRA_TEST_FLAGS="-v3 --show-details=streaming"
-: ${CABAL_EXTRA_TEST_FLAGS:=}
+: "${CABAL_EXTRA_TEST_FLAGS:=}"
 
 # @ECLASS_VARIABLE: CABAL_DEBUG_LOOSENING
 # @DESCRIPTION:
 # Show debug output for 'cabal_chdeps' function if set.
 # Needs working 'diff'.
-: ${CABAL_DEBUG_LOOSENING:=}
+: "${CABAL_DEBUG_LOOSENING:=}"
 
 # @ECLASS_VARIABLE: CABAL_REPORT_OTHER_BROKEN_PACKAGES
 # @DESCRIPTION:
@@ -121,14 +121,14 @@ inherit ghc-package multilib toolchain-funcs
 # It should be normally enabled unless you know you are about
 # to try to compile a lot of broken packages. Default value: 'yes'
 # Set to anything else to disable.
-: ${CABAL_REPORT_OTHER_BROKEN_PACKAGES:=yes}
+: "${CABAL_REPORT_OTHER_BROKEN_PACKAGES:=yes}"
 
 # @ECLASS_VARIABLE: CABAL_HACKAGE_REVISION
 # @PRE_INHERIT
 # @DESCRIPTION:
 # Set the upstream revision number from Hackage. This will automatically
 # add the upstream cabal revision to SRC_URI and apply it in src_prepare.
-: ${CABAL_HACKAGE_REVISION:=0}
+: "${CABAL_HACKAGE_REVISION:=0}"
 
 # @ECLASS_VARIABLE: CABAL_PN
 # @PRE_INHERIT
@@ -136,7 +136,7 @@ inherit ghc-package multilib toolchain-funcs
 # Set the name of the package as it is recorded in the Hackage database. This
 # is mostly used when packages use CamelCase names upstream, but we want them
 # to be lowercase in portage.
-: ${CABAL_PN:=${PN}}
+: "${CABAL_PN:=${PN}}"
 
 # @ECLASS_VARIABLE: CABAL_PV
 # @PRE_INHERIT
@@ -144,7 +144,7 @@ inherit ghc-package multilib toolchain-funcs
 # Set the version of the package as it is recorded in the Hackage database.
 # This can be useful if we use a different versioning scheme in Portage than
 # the one from upstream
-: ${CABAL_PV:=${PV}}
+: "${CABAL_PV:=${PV}}"
 
 # @ECLASS_VARIABLE: CABAL_P
 # @OUTPUT_VARIABLE
@@ -158,7 +158,7 @@ S="${WORKDIR}/${CABAL_P}"
 # @DESCRIPTION:
 # The location of the .cabal file for the Haskell package. This defaults to
 # "${S}/${CABAL_PN}.cabal".
-: ${CABAL_FILE:="${S}/${CABAL_PN}.cabal"}
+: "${CABAL_FILE:="${S}/${CABAL_PN}.cabal"}"
 
 # @ECLASS_VARIABLE: CABAL_DISTFILE
 # @OUTPUT_VARIABLE
@@ -179,14 +179,14 

[gentoo-dev] [PATCH 20/61] gstreamer-meson.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/gstreamer-meson.eclass | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/eclass/gstreamer-meson.eclass b/eclass/gstreamer-meson.eclass
index aa54d05fdb85..fae030d4f754 100644
--- a/eclass/gstreamer-meson.eclass
+++ b/eclass/gstreamer-meson.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: gstreamer-meson.eclass
@@ -143,7 +143,7 @@ gstreamer_system_library() {
 # Actual build directories of the plugins.
 # Most often the same as the configure switch name.
 # FIXME: Change into a bash array
-: ${GST_PLUGINS_BUILD_DIR:=${PN/gst-plugins-/}}
+: "${GST_PLUGINS_BUILD_DIR:=${PN/gst-plugins-/}}"
 
 # @ECLASS_VARIABLE: GST_TARBALL_SUFFIX
 # @DESCRIPTION:
@@ -151,7 +151,7 @@ gstreamer_system_library() {
 # tarballs as tar.bz2 or tar.xz. This eclass defaults to xz. This is
 # because the gstreamer mirrors are moving to only have xz tarballs for
 # new releases.
-: ${GST_TARBALL_SUFFIX:="xz"}
+: "${GST_TARBALL_SUFFIX:="xz"}"
 
 # Even though xz-utils are in @system, they must still be added to BDEPEND; see
 # 
https://archives.gentoo.org/gentoo-dev/msg_a0d4833eb314d1be5d5802a3b710e0a4.xml
@@ -163,13 +163,13 @@ fi
 # @DESCRIPTION:
 # Name of the module as hosted on gstreamer.freedesktop.org mirrors.
 # Leave unset if package name matches module name.
-: ${GST_ORG_MODULE:=${PN}}
+: "${GST_ORG_MODULE:=${PN}}"
 
 # @ECLASS_VARIABLE: GST_ORG_PVP
 # @INTERNAL
 # @DESCRIPTION:
 # Major and minor numbers of the version number.
-: ${GST_ORG_PVP:=$(ver_cut 1-2)}
+: "${GST_ORG_PVP:=$(ver_cut 1-2)}"
 
 
 DESCRIPTION="${BUILD_GST_PLUGINS} plugin for gstreamer"
-- 
2.40.0




[gentoo-dev] [PATCH 19/61] golang-vcs.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/golang-vcs.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/golang-vcs.eclass b/eclass/golang-vcs.eclass
index 7eb60e5f2453..6f60b6dd3ae0 100644
--- a/eclass/golang-vcs.eclass
+++ b/eclass/golang-vcs.eclass
@@ -67,7 +67,7 @@ _golang-vcs_env_setup() {
debug-print-function ${FUNCNAME} "$@"
 
local distdir=${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}
-   : ${EGO_STORE_DIR:=${distdir}/go-src}
+   : "${EGO_STORE_DIR:=${distdir}/go-src}"
 
[[ -n ${EVCS_UMASK} ]] && eumask_push $EVCS_UMASK
 
-- 
2.40.0




[gentoo-dev] [PATCH 18/61] gnome2-utils.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/gnome2-utils.eclass | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/eclass/gnome2-utils.eclass b/eclass/gnome2-utils.eclass
index 4bbbdc82dae7..0e9a91db07fb 100644
--- a/eclass/gnome2-utils.eclass
+++ b/eclass/gnome2-utils.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: gnome2-utils.eclass
@@ -29,29 +29,29 @@ esac
 # @INTERNAL
 # @DESCRIPTION:
 # Path to gconftool-2
-: ${GCONFTOOL_BIN:="/usr/bin/gconftool-2"}
+: "${GCONFTOOL_BIN:="/usr/bin/gconftool-2"}"
 
 # @ECLASS_VARIABLE: SCROLLKEEPER_DIR
 # @INTERNAL
 # @DESCRIPTION:
 # Directory where scrollkeeper-update should do its work
-: ${SCROLLKEEPER_DIR:="/var/lib/scrollkeeper"}
+: "${SCROLLKEEPER_DIR:="/var/lib/scrollkeeper"}"
 
 # @ECLASS_VARIABLE: SCROLLKEEPER_UPDATE_BIN
 # @INTERNAL
 # @DESCRIPTION:
 # Path to scrollkeeper-update
-: ${SCROLLKEEPER_UPDATE_BIN:="/usr/bin/scrollkeeper-update"}
+: "${SCROLLKEEPER_UPDATE_BIN:="/usr/bin/scrollkeeper-update"}"
 
 # @ECLASS_VARIABLE: GLIB_COMPILE_RESOURCES
 # @DESCRIPTION:
 # Path to glib-compile-resources
-: ${GLIB_COMPILE_RESOURCES:="/usr/bin/glib-compile-resources"}
+: "${GLIB_COMPILE_RESOURCES:="/usr/bin/glib-compile-resources"}"
 
 # @ECLASS_VARIABLE: GLIB_COMPILE_SCHEMAS
 # @DESCRIPTION:
 # Path to glib-compile-schemas
-: ${GLIB_COMPILE_SCHEMAS:="/usr/bin/glib-compile-schemas"}
+: "${GLIB_COMPILE_SCHEMAS:="/usr/bin/glib-compile-schemas"}"
 
 # @ECLASS_VARIABLE: GNOME2_ECLASS_SCHEMAS
 # @INTERNAL
-- 
2.40.0




[gentoo-dev] [PATCH 17/61] gnome.org.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/gnome.org.eclass | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/eclass/gnome.org.eclass b/eclass/gnome.org.eclass
index 05025f5f58fa..99b0090fda7c 100644
--- a/eclass/gnome.org.eclass
+++ b/eclass/gnome.org.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: gnome.org.eclass
@@ -29,7 +29,7 @@ _GNOME_ORG_ECLASS=1
 # Most projects hosted on gnome.org mirrors provide tarballs as tar.bz2 or
 # tar.xz. This eclass defaults to xz. This is because the GNOME mirrors are
 # moving to only have xz tarballs for new releases.
-: ${GNOME_TARBALL_SUFFIX:="xz"}
+: "${GNOME_TARBALL_SUFFIX:="xz"}"
 
 # Even though xz-utils are in @system, they must still be added to BDEPEND; see
 # 
https://archives.gentoo.org/gentoo-dev/msg_a0d4833eb314d1be5d5802a3b710e0a4.xml
@@ -45,16 +45,16 @@ fi
 # @DESCRIPTION:
 # Name of the module as hosted on gnome.org mirrors.
 # Leave unset if package name matches module name.
-: ${GNOME_ORG_MODULE:=$PN}
+: "${GNOME_ORG_MODULE:=$PN}"
 
 # @ECLASS_VARIABLE: GNOME_ORG_PVP
 # @INTERNAL
 # @DESCRIPTION:
 # Components of the version number that correspond to a 6 month release.
 if ver_test -ge 40.0; then
-   : ${GNOME_ORG_PVP:=$(ver_cut 1)}
+   : "${GNOME_ORG_PVP:=$(ver_cut 1)}"
 else
-   : ${GNOME_ORG_PVP:=$(ver_cut 1-2)}
+   : "${GNOME_ORG_PVP:=$(ver_cut 1-2)}"
 fi
 
 
SRC_URI="mirror://gnome/sources/${GNOME_ORG_MODULE}/${GNOME_ORG_PVP}/${GNOME_ORG_MODULE}-${PV}.tar.${GNOME_TARBALL_SUFFIX}"
-- 
2.40.0




[gentoo-dev] [PATCH 16/61] git-r3.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/git-r3.eclass | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/eclass/git-r3.eclass b/eclass/git-r3.eclass
index 5c7dc29627cb..32f1129f86bc 100644
--- a/eclass/git-r3.eclass
+++ b/eclass/git-r3.eclass
@@ -62,7 +62,7 @@ fi
 # unavailable calls like 'git describe' will not reference prior tags.
 # No purging of old references is done. This mode is intended mostly for
 # embedded systems with limited disk space.
-: ${EGIT_CLONE_TYPE:=single}
+: "${EGIT_CLONE_TYPE:=single}"
 
 # @ECLASS_VARIABLE: EGIT_MIN_CLONE_TYPE
 # @DESCRIPTION:
@@ -79,7 +79,7 @@ fi
 # or a similar remote is used that does not support shallow clones
 # and fetching tags along with commits. Please use sparingly, and to fix
 # fatal errors rather than 'non-pretty versions'.
-: ${EGIT_MIN_CLONE_TYPE:=shallow}
+: "${EGIT_MIN_CLONE_TYPE:=shallow}"
 
 # @ECLASS_VARIABLE: EGIT3_STORE_DIR
 # @USER_VARIABLE
@@ -317,7 +317,7 @@ _git-r3_set_gitdir() {
repo_name=${repo_name//\//_}
 
local distdir=${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}
-   : ${EGIT3_STORE_DIR:=${distdir}/git3-src}
+   : "${EGIT3_STORE_DIR:=${distdir}/git3-src}"
 
GIT_DIR=${EGIT3_STORE_DIR}/${repo_name}
 
-- 
2.40.0




[gentoo-dev] [PATCH 15/61] fortran-2.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/fortran-2.eclass | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/eclass/fortran-2.eclass b/eclass/fortran-2.eclass
index 72b3d2d1857b..48f84e9e4980 100644
--- a/eclass/fortran-2.eclass
+++ b/eclass/fortran-2.eclass
@@ -40,7 +40,7 @@ inherit toolchain-funcs
 # @DESCRIPTION:
 # Set to "1" in order to automatically have the eclass abort if the fortran
 # compiler lacks openmp support.
-: ${FORTRAN_NEED_OPENMP:=0}
+: "${FORTRAN_NEED_OPENMP:=0}"
 
 # @ECLASS_VARIABLE: FORTRAN_STANDARD
 # @DESCRIPTION:
@@ -48,7 +48,7 @@ inherit toolchain-funcs
 # Generally not needed as default is sufficient.
 #
 # Valid settings are any combination of: 77 90 95 2003
-: ${FORTRAN_STANDARD:=77}
+: "${FORTRAN_STANDARD:=77}"
 
 # @ECLASS_VARIABLE: FORTRAN_NEEDED
 # @DESCRIPTION:
@@ -61,7 +61,7 @@ inherit toolchain-funcs
 # DEPEND="lapack? ( virtual/fortran )"
 #
 # If unset, we always depend on virtual/fortran.
-: ${FORTRAN_NEEDED:=always}
+: "${FORTRAN_NEEDED:=always}"
 
 for _f_use in ${FORTRAN_NEEDED}; do
case ${_f_use} in
@@ -221,9 +221,9 @@ _fortran_test_function() {
 
local dialect
 
-   : ${F77:=$(tc-getFC)}
+   : "${F77:=$(tc-getFC)}"
 
-   : ${FORTRAN_STANDARD:=77}
+   : "${FORTRAN_STANDARD:=77}"
for dialect in ${FORTRAN_STANDARD}; do
case ${dialect} in
77) _fortran_compile_test "$(tc-getF77)" || \
-- 
2.40.0




[gentoo-dev] [PATCH 14/61] elisp-common.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/elisp-common.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 2715c26c91a8..1a54686988a2 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: elisp-common.eclass
@@ -206,7 +206,7 @@ BYTECOMPFLAGS="-L ."
 # @ECLASS_VARIABLE: NEED_EMACS
 # @DESCRIPTION:
 # The minimum Emacs version required for the package.
-: ${NEED_EMACS:=23.1}
+: "${NEED_EMACS:=23.1}"
 
 # @ECLASS_VARIABLE: _ELISP_EMACS_VERSION
 # @INTERNAL
-- 
2.40.0




[gentoo-dev] [PATCH 13/61] ecm.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/ecm.eclass | 34 +-
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index 9fca1647778c..1e620e5ec204 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -34,7 +34,7 @@ _ECM_ECLASS=1
 # For proper description see virtualx.eclass manpage.
 # Here we redefine default value to be manual, if your package needs virtualx
 # for tests you should proceed with setting VIRTUALX_REQUIRED=test.
-: ${VIRTUALX_REQUIRED:=manual}
+: "${VIRTUALX_REQUIRED:=manual}"
 
 inherit cmake flag-o-matic toolchain-funcs virtualx
 
@@ -46,9 +46,9 @@ inherit cmake flag-o-matic toolchain-funcs virtualx
 # kde-frameworks/oxygen-icons and run the xdg.eclass routines for pkg_preinst,
 # pkg_postinst and pkg_postrm. If set to "true", do nothing.
 if [[ ${CATEGORY} = kde-frameworks ]] ; then
-   : ${ECM_NONGUI:=true}
+   : "${ECM_NONGUI:=true}"
 fi
-: ${ECM_NONGUI:=false}
+: "${ECM_NONGUI:=false}"
 
 if [[ ${ECM_NONGUI} = false ]] ; then
inherit xdg
@@ -58,25 +58,25 @@ fi
 # @DESCRIPTION:
 # Assume the package is using KDEInstallDirs macro and switch
 # KDE_INSTALL_USE_QT_SYS_PATHS to ON. If set to "false", do nothing.
-: ${ECM_KDEINSTALLDIRS:=true}
+: "${ECM_KDEINSTALLDIRS:=true}"
 
 # @ECLASS_VARIABLE: ECM_DEBUG
 # @DESCRIPTION:
 # Add "debug" to IUSE. If !debug, add -DQT_NO_DEBUG to CPPFLAGS. If set to
 # "false", do nothing.
-: ${ECM_DEBUG:=true}
+: "${ECM_DEBUG:=true}"
 
 # @ECLASS_VARIABLE: ECM_DESIGNERPLUGIN
 # @DESCRIPTION:
 # If set to "true", add "designer" to IUSE to toggle build of designer plugins
 # and add the necessary BDEPEND. If set to "false", do nothing.
-: ${ECM_DESIGNERPLUGIN:=false}
+: "${ECM_DESIGNERPLUGIN:=false}"
 
 # @ECLASS_VARIABLE: ECM_EXAMPLES
 # @DESCRIPTION:
 # By default unconditionally ignore a top-level examples subdirectory.
 # If set to "true", add "examples" to IUSE to toggle adding that subdirectory.
-: ${ECM_EXAMPLES:=false}
+: "${ECM_EXAMPLES:=false}"
 
 # @ECLASS_VARIABLE: ECM_HANDBOOK
 # @DESCRIPTION:
@@ -90,20 +90,20 @@ fi
 # when !handbook. In case package requires KF5KDELibs4Support, see next:
 # If set to "forceoptional", remove a KF5DocTools dependency from the root
 # CMakeLists.txt in addition to the above.
-: ${ECM_HANDBOOK:=false}
+: "${ECM_HANDBOOK:=false}"
 
 # @ECLASS_VARIABLE: ECM_HANDBOOK_DIR
 # @DESCRIPTION:
 # Specifies the directory containing the docbook file(s) relative to ${S} to
 # be processed by KF5DocTools (kdoctools_install).
-: ${ECM_HANDBOOK_DIR:=doc}
+: "${ECM_HANDBOOK_DIR:=doc}"
 
 # @ECLASS_VARIABLE: ECM_PO_DIRS
 # @DESCRIPTION:
 # Specifies directories of l10n files relative to ${S} to be processed by
 # KF5I18n (ki18n_install). If IUSE nls exists and is disabled then disable
 # build of these directories in CMakeLists.txt.
-: ${ECM_PO_DIRS:="po poqm"}
+: "${ECM_PO_DIRS:="po poqm"}"
 
 # @ECLASS_VARIABLE: ECM_QTHELP
 # @DEFAULT_UNSET
@@ -113,9 +113,9 @@ fi
 # -DBUILD_QCH=ON generate and install Qt compressed help files when USE=doc.
 # If set to "false", do nothing.
 if [[ ${CATEGORY} = kde-frameworks ]]; then
-   : ${ECM_QTHELP:=true}
+   : "${ECM_QTHELP:=true}"
 fi
-: ${ECM_QTHELP:=false}
+: "${ECM_QTHELP:=false}"
 
 # @ECLASS_VARIABLE: ECM_TEST
 # @DEFAULT_UNSET
@@ -135,9 +135,9 @@ fi
 # meant as a short-term fix and creates ${T}/${P}-tests-optional.patch to
 # refine and submit upstream.
 if [[ ${CATEGORY} = kde-frameworks ]]; then
-   : ${ECM_TEST:=true}
+   : "${ECM_TEST:=true}"
 fi
-: ${ECM_TEST:=false}
+: "${ECM_TEST:=false}"
 
 # @ECLASS_VARIABLE: KFMIN
 # @DEFAULT_UNSET
@@ -147,15 +147,15 @@ fi
 # changed unless we also bump EAPI, which usually implies (rev-)bumping.
 # Version will also be used to differentiate between KF5/Qt5 and KF6/Qt6.
 if [[ ${CATEGORY} = kde-frameworks ]]; then
-   : ${KFMIN:=$(ver_cut 1-2)}
+   : "${KFMIN:=$(ver_cut 1-2)}"
 fi
-: ${KFMIN:=5.82.0}
+: "${KFMIN:=5.82.0}"
 
 # @ECLASS_VARIABLE: KFSLOT
 # @INTERNAL
 # @DESCRIPTION:
 # KDE Frameworks and Qt slot dependency, implied by KFMIN version.
-: ${KFSLOT:=5}
+: "${KFSLOT:=5}"
 
 case ${ECM_NONGUI} in
true) ;;
-- 
2.40.0




[gentoo-dev] [PATCH 12/61] dune.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/dune.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/dune.eclass b/eclass/dune.eclass
index 655a41be84d6..f0faea007c9f 100644
--- a/eclass/dune.eclass
+++ b/eclass/dune.eclass
@@ -27,7 +27,7 @@ _DUNE_ECLASS=1
 # @DESCRIPTION:
 # Sets the actual Dune package name, if different from Gentoo package name.
 # Set before inheriting the eclass.
-: ${DUNE_PKG_NAME:=${PN}}
+: "${DUNE_PKG_NAME:=${PN}}"
 
 inherit edo multiprocessing
 
-- 
2.40.0




[gentoo-dev] [PATCH 11/61] docs.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/docs.eclass | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/eclass/docs.eclass b/eclass/docs.eclass
index 810b56460f3f..da598226bfc0 100644
--- a/eclass/docs.eclass
+++ b/eclass/docs.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: docs.eclass
@@ -210,7 +210,7 @@ python_append_deps() {
 sphinx_deps() {
debug-print-function ${FUNCNAME}
 
-   : ${DOCS_AUTODOC:=1}
+   : "${DOCS_AUTODOC:=1}"
 
deps="dev-python/sphinx[\${PYTHON_USEDEP}]
${DOCS_DEPEND}"
@@ -235,8 +235,8 @@ sphinx_compile() {
debug-print-function ${FUNCNAME}
use doc || return
 
-   : ${DOCS_DIR:="${S}"}
-   : ${DOCS_OUTDIR:="${S}/_build/html/sphinx"}
+   : "${DOCS_DIR:="${S}"}"
+   : "${DOCS_OUTDIR:="${S}/_build/html/sphinx"}"
 
[[ ${DOCS_INITIALIZE_GIT} ]] && initialize_git_repo
 
@@ -274,7 +274,7 @@ sphinx_compile() {
 mkdocs_deps() {
debug-print-function ${FUNCNAME}
 
-   : ${DOCS_AUTODOC:=0}
+   : "${DOCS_AUTODOC:=0}"
 
deps="dev-python/mkdocs[\${PYTHON_USEDEP}]
${DOCS_DEPEND}"
@@ -298,8 +298,8 @@ mkdocs_compile() {
debug-print-function ${FUNCNAME}
use doc || return
 
-   : ${DOCS_DIR:="${S}"}
-   : ${DOCS_OUTDIR:="${S}/_build/html/mkdocs"}
+   : "${DOCS_DIR:="${S}"}"
+   : "${DOCS_OUTDIR:="${S}/_build/html/mkdocs"}"
 
[[ ${DOCS_INITIALIZE_GIT} ]] && initialize_git_repo
 
@@ -342,9 +342,9 @@ doxygen_compile() {
use doc || return
 
# This is the default name of the config file, upstream can change it.
-   : ${DOCS_CONFIG_NAME:="Doxyfile"}
-   : ${DOCS_DIR:="${S}"}
-   : ${DOCS_OUTDIR:="${S}/_build/html/doxygen"}
+   : "${DOCS_CONFIG_NAME:="Doxyfile"}"
+   : "${DOCS_DIR:="${S}"}"
+   : "${DOCS_OUTDIR:="${S}/_build/html/doxygen"}"
 
[[ ${DOCS_INITIALIZE_GIT} ]] && initialize_git_repo
 
-- 
2.40.0




[gentoo-dev] [PATCH 10/61] cvs.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/cvs.eclass | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/eclass/cvs.eclass b/eclass/cvs.eclass
index 5ba2197f5174..dbacc2c09cfe 100644
--- a/eclass/cvs.eclass
+++ b/eclass/cvs.eclass
@@ -37,13 +37,13 @@ _CVS_ECLASS=1
 # @DESCRIPTION:
 # Set the default compression level.  Has no effect when ECVS_CVS_COMMAND
 # is defined by ebuild/user.
-: ${ECVS_CVS_COMPRESS:=-z1}
+: "${ECVS_CVS_COMPRESS:=-z1}"
 
 # @ECLASS_VARIABLE: ECVS_CVS_OPTIONS
 # @DESCRIPTION:
 # Additional options to the cvs commands.  Has no effect when ECVS_CVS_COMMAND
 # is defined by ebuild/user.
-: ${ECVS_CVS_OPTIONS:=-q -f}
+: "${ECVS_CVS_OPTIONS:=-q -f}"
 
 # @ECLASS_VARIABLE: ECVS_CVS_COMMAND
 # @DESCRIPTION:
@@ -53,13 +53,13 @@ _CVS_ECLASS=1
 # on the cvs connection.  The default of "cvs -q -f -z4" means to be
 # quiet, to disregard the ~/.cvsrc config file and to use maximum
 # compression.
-: ${ECVS_CVS_COMMAND:=cvs ${ECVS_CVS_OPTIONS} ${ECVS_CVS_COMPRESS}}
+: "${ECVS_CVS_COMMAND:=cvs ${ECVS_CVS_OPTIONS} ${ECVS_CVS_COMPRESS}}"
 
 # @ECLASS_VARIABLE: ECVS_UP_OPTS
 # @DESCRIPTION:
 # CVS options given after the cvs update command. Don't remove "-dP" or things
 # won't work.
-: ${ECVS_UP_OPTS:=-dP}
+: "${ECVS_UP_OPTS:=-dP}"
 
 # @ECLASS_VARIABLE: ECVS_CO_OPTS
 # @DEFAULT_UNSET
@@ -72,7 +72,7 @@ _CVS_ECLASS=1
 # Set this variable to a non-empty value to disable the automatic updating of
 # a CVS source tree. This is intended to be set outside the cvs source
 # tree by users.
-: ${ECVS_OFFLINE:=${EVCS_OFFLINE}}
+: "${ECVS_OFFLINE:=${EVCS_OFFLINE}}"
 
 # @ECLASS_VARIABLE: ECVS_LOCAL
 # @DEFAULT_UNSET
@@ -97,7 +97,7 @@ _CVS_ECLASS=1
 # @ECLASS_VARIABLE: ECVS_TOP_DIR
 # @DESCRIPTION:
 # The directory under which CVS modules are checked out.
-: ${ECVS_TOP_DIR:="${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}/cvs-src"}
+: "${ECVS_TOP_DIR:="${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}/cvs-src"}"
 
 # @ECLASS_VARIABLE: ECVS_SERVER
 # @DESCRIPTION:
@@ -110,7 +110,7 @@ _CVS_ECLASS=1
 #
 # Set this to "offline" to disable fetching (i.e. to assume the module
 # is already checked out in ECVS_TOP_DIR).
-: ${ECVS_SERVER:="offline"}
+: "${ECVS_SERVER:="offline"}"
 
 # @ECLASS_VARIABLE: ECVS_MODULE
 # @REQUIRED
@@ -152,12 +152,12 @@ _CVS_ECLASS=1
 #  e.g.
 #   "cvs -danon...@savannah.gnu.org:/cvsroot/backbone co System"
 #   ( from gnustep-apps/textedit )
-: ${ECVS_AUTH:="pserver"}
+: "${ECVS_AUTH:="pserver"}"
 
 # @ECLASS_VARIABLE: ECVS_USER
 # @DESCRIPTION:
 # Username to use for authentication on the remote server.
-: ${ECVS_USER:="anonymous"}
+: "${ECVS_USER:="anonymous"}"
 
 # @ECLASS_VARIABLE: ECVS_PASS
 # @DEFAULT_UNSET
@@ -423,7 +423,7 @@ EOF
# Make sure DISPLAY is set (SSH will not use SSH_ASKPASS
# if DISPLAY is not set)
 
-   : ${DISPLAY:="DISPLAY"}
+   : "${DISPLAY:="DISPLAY"}"
export DISPLAY
 
# Create a dummy executable to echo ${ECVS_PASS}
-- 
2.40.0




[gentoo-dev] [PATCH 09/61] cuda.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/cuda.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/cuda.eclass b/eclass/cuda.eclass
index d885e77d0616..5f3f0c3af37d 100644
--- a/eclass/cuda.eclass
+++ b/eclass/cuda.eclass
@@ -28,12 +28,12 @@ inherit flag-o-matic toolchain-funcs
 # @DESCRIPTION:
 # nvcc compiler flags (see nvcc --help), which should be used like
 # CFLAGS for c compiler
-: ${NVCCFLAGS:=-O2}
+: "${NVCCFLAGS:=-O2}"
 
 # @ECLASS_VARIABLE: CUDA_VERBOSE
 # @DESCRIPTION:
 # Being verbose during compilation to see underlying commands
-: ${CUDA_VERBOSE:=true}
+: "${CUDA_VERBOSE:=true}"
 
 # @FUNCTION: cuda_gccdir
 # @USAGE: [-f]
-- 
2.40.0




[gentoo-dev] [PATCH 08/61] cmake.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/cmake.eclass | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 03f2517c5b56..30de3c71faa4 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -35,15 +35,15 @@ inherit flag-o-matic multiprocessing ninja-utils 
toolchain-funcs xdg-utils
 # For in-source build it's fixed to ${CMAKE_USE_DIR}.
 # For out-of-source build it can be overridden, by default it uses
 # ${CMAKE_USE_DIR}_build (in EAPI-7: ${WORKDIR}/${P}_build).
-[[ ${EAPI} == 7 ]] && : ${BUILD_DIR:=${WORKDIR}/${P}_build}
+[[ ${EAPI} == 7 ]] && : "${BUILD_DIR:=${WORKDIR}/${P}_build}"
 # EAPI-8: set inside _cmake_check_build_dir
 
 # @ECLASS_VARIABLE: CMAKE_BINARY
 # @DESCRIPTION:
 # Eclass can use different cmake binary than the one provided in by system.
-: ${CMAKE_BINARY:=cmake}
+: "${CMAKE_BINARY:=cmake}"
 
-[[ ${EAPI} == 7 ]] && : ${CMAKE_BUILD_TYPE:=Gentoo}
+[[ ${EAPI} == 7 ]] && : "${CMAKE_BUILD_TYPE:=Gentoo}"
 # @ECLASS_VARIABLE: CMAKE_BUILD_TYPE
 # @DESCRIPTION:
 # Set to override default CMAKE_BUILD_TYPE. Only useful for packages
@@ -55,7 +55,7 @@ inherit flag-o-matic multiprocessing ninja-utils 
toolchain-funcs xdg-utils
 # build type to achieve desirable results.
 #
 # In EAPI 7, the default was non-standard build type of Gentoo.
-: ${CMAKE_BUILD_TYPE:=RelWithDebInfo}
+: "${CMAKE_BUILD_TYPE:=RelWithDebInfo}"
 
 # @ECLASS_VARIABLE: CMAKE_IN_SOURCE_BUILD
 # @DEFAULT_UNSET
@@ -69,7 +69,7 @@ inherit flag-o-matic multiprocessing ninja-utils 
toolchain-funcs xdg-utils
 # Specify a makefile generator to be used by cmake.
 # At this point only "emake" and "ninja" are supported.
 # The default is set to "ninja".
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+: "${CMAKE_MAKEFILE_GENERATOR:=ninja}"
 
 # @ECLASS_VARIABLE: CMAKE_REMOVE_MODULES_LIST
 # @PRE_INHERIT
@@ -100,14 +100,14 @@ fi
 # @USER_VARIABLE
 # @DESCRIPTION:
 # Set to OFF to disable verbose messages during compilation
-: ${CMAKE_VERBOSE:=ON}
+: "${CMAKE_VERBOSE:=ON}"
 
 # @ECLASS_VARIABLE: CMAKE_WARN_UNUSED_CLI
 # @DESCRIPTION:
 # Warn about variables that are declared on the command line
 # but not used. Might give false-positives.
 # "no" to disable (default) or anything else to enable.
-: ${CMAKE_WARN_UNUSED_CLI:=yes}
+: "${CMAKE_WARN_UNUSED_CLI:=yes}"
 
 # @ECLASS_VARIABLE: CMAKE_EXTRA_CACHE_FILE
 # @USER_VARIABLE
@@ -284,15 +284,15 @@ cmake-utils_useno() { _cmake_banned_func "" "$@" ; }
 # Determine using IN or OUT source build
 _cmake_check_build_dir() {
if [[ ${EAPI} == 7 ]]; then
-   : ${CMAKE_USE_DIR:=${S}}
+   : "${CMAKE_USE_DIR:=${S}}"
else
-   : ${CMAKE_USE_DIR:=${PWD}}
+   : "${CMAKE_USE_DIR:=${PWD}}"
fi
if [[ -n ${CMAKE_IN_SOURCE_BUILD} ]]; then
# we build in source dir
BUILD_DIR="${CMAKE_USE_DIR}"
else
-   : ${BUILD_DIR:=${CMAKE_USE_DIR}_build}
+   : "${BUILD_DIR:=${CMAKE_USE_DIR}_build}"
fi
 
einfo "Source directory (CMAKE_USE_DIR): \"${CMAKE_USE_DIR}\""
-- 
2.40.0




[gentoo-dev] [PATCH 07/61] cmake-multilib.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/cmake-multilib.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/cmake-multilib.eclass b/eclass/cmake-multilib.eclass
index c8fad94ac0a9..826f0ffcd967 100644
--- a/eclass/cmake-multilib.eclass
+++ b/eclass/cmake-multilib.eclass
@@ -24,7 +24,7 @@
 # @DEPRECATED: none
 # @DESCRIPTION:
 # Only "cmake" is supported.
-: ${CMAKE_ECLASS:=cmake}
+: "${CMAKE_ECLASS:=cmake}"
 
 case ${EAPI} in
7|8)
-- 
2.40.0




[gentoo-dev] [PATCH 06/61] cdrom.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/cdrom.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/cdrom.eclass b/eclass/cdrom.eclass
index 81539e8560ce..4e56db951196 100644
--- a/eclass/cdrom.eclass
+++ b/eclass/cdrom.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: cdrom.eclass
@@ -200,7 +200,7 @@ cdrom_load_next_cd() {
 
while true ; do
local i cdset
-   : CD_ROOT_${CDROM_CURRENT_CD}
+   : "CD_ROOT_${CDROM_CURRENT_CD}"
export CDROM_ROOT=${CD_ROOT:-${!_}}
local var="CDROM_CHECK_${CDROM_CURRENT_CD}"
IFS=: read -r -a cdset -d "" <<< "${!var}"
-- 
2.40.0




[gentoo-dev] [PATCH 05/61] cargo.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/cargo.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index e3f36fc6ad9b..e8218a241a0e 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -352,7 +352,7 @@ cargo_live_src_unpack() {
mkdir -p "${ECARGO_HOME}" || die
 
local distdir=${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}
-   : ${ECARGO_REGISTRY_DIR:=${distdir}/cargo-registry}
+   : "${ECARGO_REGISTRY_DIR:=${distdir}/cargo-registry}"
 
local offline="${ECARGO_OFFLINE:-${EVCS_OFFLINE}}"
 
-- 
2.40.0




[gentoo-dev] [PATCH 04/61] bzr.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/bzr.eclass | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/eclass/bzr.eclass b/eclass/bzr.eclass
index 552990e3a581..d522326773e1 100644
--- a/eclass/bzr.eclass
+++ b/eclass/bzr.eclass
@@ -32,42 +32,42 @@ BDEPEND="dev-vcs/breezy"
 # @USER_VARIABLE
 # @DESCRIPTION:
 # The directory to store all fetched Bazaar live sources.
-: ${EBZR_STORE_DIR:=${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/bzr-src}
+: "${EBZR_STORE_DIR:=${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/bzr-src}"
 
 # @ECLASS_VARIABLE: EBZR_UNPACK_DIR
 # @DESCRIPTION:
 # The working directory where the sources are copied to.
-: ${EBZR_UNPACK_DIR:=${WORKDIR}/${P}}
+: "${EBZR_UNPACK_DIR:=${WORKDIR}/${P}}"
 
 # @ECLASS_VARIABLE: EBZR_INIT_REPO_CMD
 # @DESCRIPTION:
 # The Bazaar command to initialise a shared repository.
-: ${EBZR_INIT_REPO_CMD:="brz init-shared-repository --no-trees"}
+: "${EBZR_INIT_REPO_CMD:="brz init-shared-repository --no-trees"}"
 
 # @ECLASS_VARIABLE: EBZR_FETCH_CMD
 # @DESCRIPTION:
 # The Bazaar command to fetch the sources.
-: ${EBZR_FETCH_CMD:="brz branch --no-tree"}
+: "${EBZR_FETCH_CMD:="brz branch --no-tree"}"
 
 # @ECLASS_VARIABLE: EBZR_UPDATE_CMD
 # @DESCRIPTION:
 # The Bazaar command to update the sources.
-: ${EBZR_UPDATE_CMD:="brz pull --overwrite-tags"}
+: "${EBZR_UPDATE_CMD:="brz pull --overwrite-tags"}"
 
 # @ECLASS_VARIABLE: EBZR_EXPORT_CMD
 # @DESCRIPTION:
 # The Bazaar command to export a branch.
-: ${EBZR_EXPORT_CMD:="brz export"}
+: "${EBZR_EXPORT_CMD:="brz export"}"
 
 # @ECLASS_VARIABLE: EBZR_CHECKOUT_CMD
 # @DESCRIPTION:
 # The Bazaar command to checkout a branch.
-: ${EBZR_CHECKOUT_CMD:="brz checkout --lightweight -q"}
+: "${EBZR_CHECKOUT_CMD:="brz checkout --lightweight -q"}"
 
 # @ECLASS_VARIABLE: EBZR_REVNO_CMD
 # @DESCRIPTION:
 # The Bazaar command to list a revision number of the branch.
-: ${EBZR_REVNO_CMD:="brz revno"}
+: "${EBZR_REVNO_CMD:="brz revno"}"
 
 # @ECLASS_VARIABLE: EBZR_OPTIONS
 # @DEFAULT_UNSET
@@ -88,7 +88,7 @@ BDEPEND="dev-vcs/breezy"
 # If EBZR_BRANCH is set (see below), then a shared repository will be
 # created in that directory, and the branch will be located in
 # ${EBZR_STORE_DIR}/${EBZR_PROJECT}/${EBZR_BRANCH}.
-: ${EBZR_PROJECT:=${PN}}
+: "${EBZR_PROJECT:=${PN}}"
 
 # @ECLASS_VARIABLE: EBZR_BRANCH
 # @DEFAULT_UNSET
@@ -116,7 +116,7 @@ BDEPEND="dev-vcs/breezy"
 # Set this variable to a non-empty value to disable automatic updating
 # of a bzr source tree.  This is intended to be set outside the ebuild
 # by users.
-: ${EBZR_OFFLINE=${EVCS_OFFLINE}}
+: "${EBZR_OFFLINE=${EVCS_OFFLINE}}"
 
 # @ECLASS_VARIABLE: EVCS_UMASK
 # @USER_VARIABLE
-- 
2.40.0




[gentoo-dev] [PATCH 03/61] autotools.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/autotools.eclass | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 3a9119856abc..9eda52b281ad 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -39,19 +39,19 @@ inherit gnuconfig libtool
 # @PRE_INHERIT
 # @DESCRIPTION:
 # The major version of autoconf your package needs
-: ${WANT_AUTOCONF:=latest}
+: "${WANT_AUTOCONF:=latest}"
 
 # @ECLASS_VARIABLE: WANT_AUTOMAKE
 # @PRE_INHERIT
 # @DESCRIPTION:
 # The major version of automake your package needs
-: ${WANT_AUTOMAKE:=latest}
+: "${WANT_AUTOMAKE:=latest}"
 
 # @ECLASS_VARIABLE: WANT_LIBTOOL
 # @PRE_INHERIT
 # @DESCRIPTION:
 # Do you want libtool?  Valid values here are "latest" and "none".
-: ${WANT_LIBTOOL:=latest}
+: "${WANT_LIBTOOL:=latest}"
 
 # @ECLASS_VARIABLE: _LATEST_AUTOMAKE
 # @INTERNAL
@@ -125,7 +125,7 @@ RDEPEND=""
 # Set to 'no' to disable automatically adding to DEPEND.  This lets
 # ebuilds form conditional depends by using ${AUTOTOOLS_DEPEND} in
 # their own DEPEND string.
-: ${AUTOTOOLS_AUTO_DEPEND:=yes}
+: "${AUTOTOOLS_AUTO_DEPEND:=yes}"
 if [[ ${AUTOTOOLS_AUTO_DEPEND} != "no" ]] ; then
case ${EAPI} in
6) DEPEND=${AUTOTOOLS_DEPEND} ;;
@@ -141,14 +141,14 @@ unset _automake_atom _autoconf_atom
 # @DESCRIPTION:
 # Additional options to pass to automake during
 # eautoreconf call.
-: ${AM_OPTS:=}
+: "${AM_OPTS:=}"
 
 # @ECLASS_VARIABLE: AT_NOEAUTOHEADER
 # @DEFAULT_UNSET
 # @DESCRIPTION:
 # Don't run eautoheader command if set to 'yes'; only used to work around
 # packages that don't want their headers being modified.
-: ${AT_NOEAUTOHEADER:=}
+: "${AT_NOEAUTOHEADER:=}"
 
 # @ECLASS_VARIABLE: AT_NOEAUTOMAKE
 # @DEFAULT_UNSET
@@ -156,7 +156,7 @@ unset _automake_atom _autoconf_atom
 # Don't run eautomake command if set to 'yes'; only used to workaround
 # broken packages.  Generally you should, instead, fix the package to
 # not call AM_INIT_AUTOMAKE if it doesn't actually use automake.
-: ${AT_NOEAUTOMAKE:=}
+: "${AT_NOEAUTOMAKE:=}"
 
 # @ECLASS_VARIABLE: AT_NOELIBTOOLIZE
 # @DEFAULT_UNSET
@@ -164,13 +164,13 @@ unset _automake_atom _autoconf_atom
 # Don't run elibtoolize command if set to 'yes',
 # useful when elibtoolize needs to be ran with
 # particular options
-: ${AT_NOELIBTOOLIZE:=}
+: "${AT_NOELIBTOOLIZE:=}"
 
 # @ECLASS_VARIABLE: AT_M4DIR
 # @DEFAULT_UNSET
 # @DESCRIPTION:
 # Additional director(y|ies) aclocal should search
-: ${AT_M4DIR:=}
+: "${AT_M4DIR:=}"
 
 # @ECLASS_VARIABLE: AT_SYS_M4DIR
 # @DEFAULT_UNSET
@@ -179,7 +179,7 @@ unset _automake_atom _autoconf_atom
 # For system integrators, a list of additional aclocal search paths.
 # This variable gets eval-ed, so you can use variables in the definition
 # that may not be valid until eautoreconf & friends are run.
-: ${AT_SYS_M4DIR:=}
+: "${AT_SYS_M4DIR:=}"
 
 # @FUNCTION: eautoreconf
 # @DESCRIPTION:
-- 
2.40.0




[gentoo-dev] [PATCH 02/61] acct-user.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/acct-user.eclass | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass
index 145fdb41aaf8..d12dfd21ffd3 100644
--- a/eclass/acct-user.eclass
+++ b/eclass/acct-user.eclass
@@ -80,14 +80,14 @@ readonly ACCT_USER_NAME
 # If set to a non-null value, the eclass will require the user to have
 # specified UID.  If the user already exists with another UID, or
 # the UID is taken by another user, the install will fail.
-: ${ACCT_USER_ENFORCE_ID:=}
+: "${ACCT_USER_ENFORCE_ID:=}"
 
 # @ECLASS_VARIABLE: ACCT_USER_NO_MODIFY
 # @DEFAULT_UNSET
 # @DESCRIPTION:
 # If set to a non-null value, the eclass will not make any changes
 # to an already existing user.
-: ${ACCT_USER_NO_MODIFY:=}
+: "${ACCT_USER_NO_MODIFY:=}"
 
 # @ECLASS_VARIABLE: ACCT_USER_COMMENT
 # @DEFAULT_UNSET
@@ -101,7 +101,7 @@ readonly ACCT_USER_NAME
 # The shell to use for the user.  If not specified, a 'nologin' variant
 # for the system is used.  This can be overriden in make.conf through
 # ACCT_USER__SHELL variable.
-: ${ACCT_USER_SHELL:=/sbin/nologin}
+: "${ACCT_USER_SHELL:=/sbin/nologin}"
 
 # @ECLASS_VARIABLE: ACCT_USER_HOME
 # @DESCRIPTION:
@@ -110,7 +110,7 @@ readonly ACCT_USER_NAME
 # not exist.  When updating, existing home directory will not be moved.
 # This can be overriden in make.conf through
 # ACCT_USER__HOME variable.
-: ${ACCT_USER_HOME:=/dev/null}
+: "${ACCT_USER_HOME:=/dev/null}"
 
 # @ECLASS_VARIABLE: ACCT_USER_HOME_OWNER
 # @DEFAULT_UNSET
@@ -125,7 +125,7 @@ readonly ACCT_USER_NAME
 # The permissions to use for the home directory, in chmod (octal
 # or verbose) form.  This can be overriden in make.conf through
 # ACCT_USER__HOME_PERMS variable.
-: ${ACCT_USER_HOME_PERMS:=0755}
+: "${ACCT_USER_HOME_PERMS:=0755}"
 
 # @ECLASS_VARIABLE: ACCT_USER_GROUPS
 # @REQUIRED
@@ -142,9 +142,9 @@ readonly ACCT_USER_NAME
 
 
 # << Boilerplate ebuild variables >>
-: ${DESCRIPTION:="System user: ${ACCT_USER_NAME}"}
-: ${SLOT:=0}
-: ${KEYWORDS:=alpha amd64 arm arm64 hppa ia64 ~loong m68k ~mips ppc ppc64 
~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris}
+: "${DESCRIPTION:="System user: ${ACCT_USER_NAME}"}"
+: "${SLOT:=0}"
+: "${KEYWORDS:=alpha amd64 arm arm64 hppa ia64 ~loong m68k ~mips ppc ppc64 
~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris}"
 S=${WORKDIR}
 
 
@@ -269,7 +269,7 @@ acct-user_src_install() {
debug-print-function ${FUNCNAME} "${@}"
 
# Replace reserved characters in comment
-   : ${ACCT_USER_COMMENT:=${DESCRIPTION//[:,=]/;}}
+   : "${ACCT_USER_COMMENT:=${DESCRIPTION//[:,=]/;}}"
 
# serialize for override support
local ACCT_USER_GROUPS=${ACCT_USER_GROUPS[*]}
-- 
2.40.0




[gentoo-dev] [PATCH 01/61] acct-group.eclass: Quote argument of ":" command

2023-03-24 Thread Ulrich Müller
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223

Signed-off-by: Ulrich Müller 
---
 eclass/acct-group.eclass | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/eclass/acct-group.eclass b/eclass/acct-group.eclass
index 47e2d278f73e..06eb9445f35d 100644
--- a/eclass/acct-group.eclass
+++ b/eclass/acct-group.eclass
@@ -72,13 +72,13 @@ readonly ACCT_GROUP_NAME
 # If set to a non-null value, the eclass will require the group to have
 # specified GID.  If the group already exists with another GID, or
 # the GID is taken by another group, the install will fail.
-: ${ACCT_GROUP_ENFORCE_ID:=}
+: "${ACCT_GROUP_ENFORCE_ID:=}"
 
 
 # << Boilerplate ebuild variables >>
-: ${DESCRIPTION:="System group: ${ACCT_GROUP_NAME}"}
-: ${SLOT:=0}
-: ${KEYWORDS:=alpha amd64 arm arm64 hppa ia64 ~loong m68k ~mips ppc ppc64 
~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris}
+: "${DESCRIPTION:="System group: ${ACCT_GROUP_NAME}"}"
+: "${SLOT:=0}"
+: "${KEYWORDS:=alpha amd64 arm arm64 hppa ia64 ~loong m68k ~mips ppc ppc64 
~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris}"
 S=${WORKDIR}
 
 
-- 
2.40.0




[gentoo-dev] [PATCH 1/1] glep-0068: Allow EAPI 5 dependency specifications

2023-02-22 Thread Ulrich Müller
This applies to the "restrict" attribute which is used with the
"maintainer", "longdescription", "flag", and "stabilize-allarches"
elements.

Closes: https://bugs.gentoo.org/895790
Reviewed-by: Michał Górny 
Signed-off-by: Ulrich Müller 
---
 glep-0068.rst | 16 +++-
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/glep-0068.rst b/glep-0068.rst
index 9d10aaa..ca75991 100644
--- a/glep-0068.rst
+++ b/glep-0068.rst
@@ -4,9 +4,9 @@ Title: Package and category metadata
 Author: Michał Górny 
 Type: Standards Track
 Status: Final
-Version: 1.3
+Version: 1.4
 Created: 2016-03-14
-Last-Modified: 2022-10-14
+Last-Modified: 2023-01-22
 Post-History: 2016-03-16, 2018-02-20, 2022-05-22, 2022-10-07
 Content-Type: text/x-rst
 Requires: 67
@@ -118,7 +118,7 @@ of ``en`` is assumed.
 
 Restriction specifiers are used whenever an element supports restricting to
 specific package versions. In this case, each occurence of the element may
-contain an optional ``restrict=""`` attribute that contains an EAPI 0
+contain an optional ``restrict=""`` attribute that contains an EAPI 5
 dependency specification that has to match one or more versions of the
 package. In this case, the metadata provided by the element applies only to
 the package versions matching the restriction.
@@ -341,8 +341,9 @@ added three clarifications to it:
 - only package dependency specifications are allowed (i.e. no USE-conditionals
   or multiple dependency specifications),
 
-- only EAPI=0 dependency specifications are allowed, since ``metadata.xml``
-  provides no EAPI identification mechanism and it predates EAPI,
+- EAPI 5 dependency specifications are allowed. Although ``metadata.xml``
+  provides no EAPI identification mechanism, the top-level profile directory
+  specifies EAPI 5, and Portage supports EAPI 5 since 2012.
 
 - only dependencies referencing the same package are allowed.
 
@@ -452,6 +453,11 @@ Example metadata.xml file
 develo...@example.com
 Example Developer
   
+  
+another...@example.com
+Another Developer
+CC only on bugs for libfoo.so.11
+  
   
 proj...@example.com
 Example Project
-- 
2.39.2




[gentoo-dev] [PATCH 0/1] GLEP 68: Allow EAPI 5 dependency specifications

2023-02-22 Thread Ulrich Müller
This was discussed in #gentoo-council a while ago.

There is no EAPI identification mechanism in metadata.xml, but EAPI 5
is specified in the top-level profile directory, and it has been
supported by Portage for 10+ years.

Find the updated full text of GLEP 68 below, and a diff in the next
message.

Ulrich Müller (1):
  glep-0068: Allow EAPI 5 dependency specifications

 glep-0068.rst | 16 +++-
 1 file changed, 11 insertions(+), 5 deletions(-)

-- 
2.39.2

---
GLEP: 68
Title: Package and category metadata
Author: Michał Górny 
Type: Standards Track
Status: Final
Version: 1.4
Created: 2016-03-14
Last-Modified: 2023-01-22
Post-History: 2016-03-16, 2018-02-20, 2022-05-22, 2022-10-07
Content-Type: text/x-rst
Requires: 67
Replaces: 34, 46, 56
---

Abstract


This GLEP specifies the format of files used to describe category and package
metadata (``metadata.xml``).


Motivation
==

At the moment of writing this GLEP, category and package ``metadata.xml``
lacked proper specification. PMS Appendix A [#PMS-A]_ specified that
the format of this file is beyond its scope, deferring the specification
to the DTD file.

The original metadata.dtd file [#METADATA-DTD]_ (the version before cleanups
related to this spec) did not serve well as the specification. Due to
the technical limitations on DTD format, it was both unable to enforce
the specification fully and explain it in a readable form. Furthermore,
it lacked some important details such as the format of  entries.

Besides that, there were numerous alterations to the format. GLEP 34 added
metadata files for category descriptions, GLEP 46 added upstream information,
GLEP 56 added USE flag descriptions, GLEP 67 altered the maintainer
descriptions. Furthermore, there were additions and removals done without
a formal specification, e.g. addition of slot descriptions.

Sadly, some of those GLEPs are partially in conflict with other specifications
— for example, the  element as described in GLEP 56 is different
than the one originally proposed and used in metadata.xml.

Therefore, the motivation for this GLEP is to provide unified, clear
and complete specification for both category-wide and package-wide
metadata.xml files. It is meant to combine previous GLEPs, relevant
discussions and implementation in order to provide the specification that is
closest to the originally intended meaning while preserving best compatibility
with existing tools and data.


Specification
=

Metadata files
--

This specification provides two kinds of metadata files: category metadata
files and package metadata files. Both kinds of files use the XML 1.0 file
format [#XML10]_. They must not use external markup declarations, as defined
in the XML specification. While they may reference or include a DTD, the parser
must not fetch or process it.

The data structure of metadata files is defined in this GLEP. The elements
and attributes do not use namespaces. Conforming files must not contain
any elements or attributes that are not defined in this specification.
However, parsers should ignore any unknown elements or attributes in order
to permit future extension.

Category metadata files are named ``metadata.xml`` and located inside category
directories in an ebuild repository. Their structure is described
in `Category metadata`_ section.

Package metadata files are named ``metadata.xml`` and located inside package
directories in an ebuild repository. Their structure is described
in `Package metadata`_ section.

Text data
-

The following text data types are used:

- text data,
- multi-line text data.

In case of text data, all whitespace inside the element is normalized
(consecutive whitespace sequences are replaced by a single SP). Trailing
and leading whitespace is stripped.

In case of multi-line text data, all whitespace except for newline characters
is normalized. Newlines are used to delimit lines of text. Leading
and trailing lines of text that are either empty or consist purely of
whitespace are stripped. Afterwards, the whitespace belonging to
the indentation common to all non-empty lines of text is stripped.

Optionally, interspersing text with  and  elements can be
allowed. In this case,  element is used to reference a category
inside the repository, and must contain a valid category name. 
is used to reference a package, and must contain a valid qualified package
name.

Common attributes
-

The following common attributes are allowed on multiple elements:

- language specifiers,
- restriction specifiers.

Language specifiers are used whenever an element supports variants
in different languages. In this case, each occurrence of the element may
contain an optional ``lang=""`` attribute that contains an IETF language tag
[#BCP-47]_. In case no ``lang=""`` attribute is provided, an implicit default
of ``en`` is assumed.

Restriction specifiers are used whenever an element 

[gentoo-portage-dev] [PATCH] Remove obsolete FEATURES=force-prefix

2023-01-22 Thread Ulrich Müller
Signed-off-by: Ulrich Müller 
---
 bin/dohtml.py|  6 ++
 bin/eapi.sh  |  4 ++--
 lib/portage/const.py |  3 +--
 lib/portage/package/ebuild/config.py | 11 +++
 man/make.conf.5  |  8 +---
 5 files changed, 9 insertions(+), 23 deletions(-)

diff --git a/bin/dohtml.py b/bin/dohtml.py
index 4ebee7779..d1f0e3140 100755
--- a/bin/dohtml.py
+++ b/bin/dohtml.py
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 #
@@ -146,9 +146,7 @@ class OptionsClass:
 self.PF = os.environ["PF"]
 if self.PF:
 self.PF = normalize_path(self.PF)
-if "force-prefix" not in os.environ.get(
-"FEATURES", ""
-).split() and os.environ.get("EAPI", "0") in ("0", "1", "2"):
+if os.environ.get("EAPI", "0") in ("0", "1", "2"):
 self.ED = os.environ.get("D", "")
 else:
 self.ED = os.environ.get("ED", "")
diff --git a/bin/eapi.sh b/bin/eapi.sh
index d90c3cd2e..ae815f3a6 100644
--- a/bin/eapi.sh
+++ b/bin/eapi.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env bash
-# Copyright 2012-2022 Gentoo Authors
+# Copyright 2012-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # PHASES
@@ -27,7 +27,7 @@ ___eapi_has_S_WORKDIR_fallback() {
 # VARIABLES
 
 ___eapi_has_prefix_variables() {
-   [[ ! ${1-${EAPI-0}} =~ ^(0|1|2)$ || " ${FEATURES} " == *" force-prefix 
"* ]]
+   [[ ! ${1-${EAPI-0}} =~ ^(0|1|2)$ ]]
 }
 
 ___eapi_has_BROOT() {
diff --git a/lib/portage/const.py b/lib/portage/const.py
index a6f7a2242..99206fe2c 100644
--- a/lib/portage/const.py
+++ b/lib/portage/const.py
@@ -1,5 +1,5 @@
 # portage: Constants
-# Copyright 1998-2021 Gentoo Authors
+# Copyright 1998-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 import os
@@ -156,7 +156,6 @@ SUPPORTED_FEATURES = frozenset(
 "fakeroot",
 "fixlafiles",
 "force-mirror",
-"force-prefix",
 "getbinpkg",
 "gpg-keepalive",
 "icecream",
diff --git a/lib/portage/package/ebuild/config.py 
b/lib/portage/package/ebuild/config.py
index 23b524235..f66bf6485 100644
--- a/lib/portage/package/ebuild/config.py
+++ b/lib/portage/package/ebuild/config.py
@@ -1,4 +1,4 @@
-# Copyright 2010-2021 Gentoo Authors
+# Copyright 2010-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 __all__ = [
@@ -3347,14 +3347,9 @@ class config:
 if not (src_like_phase and eapi_attrs.broot):
 mydict.pop("BROOT", None)
 
-# Prefix variables are supported beginning with EAPI 3, or when
-# force-prefix is in FEATURES, since older EAPIs would otherwise be
-# useless with prefix configurations. This brings compatibility with
-# the prefix branch of portage, which also supports EPREFIX for all
-# EAPIs (for obvious reasons).
+# Prefix variables are supported beginning with EAPI 3.
 if phase == "depend" or (
-"force-prefix" not in self.features
-and eapi is not None
+eapi is not None
 and not eapi_supports_prefix(eapi)
 ):
 mydict.pop("ED", None)
diff --git a/man/make.conf.5 b/man/make.conf.5
index 34c3cd5b5..05832ce1c 100644
--- a/man/make.conf.5
+++ b/man/make.conf.5
@@ -1,4 +1,4 @@
-.TH "MAKE.CONF" "5" "Nov 2021" "Portage VERSION" "Portage"
+.TH "MAKE.CONF" "5" "Jan 2023" "Portage VERSION" "Portage"
 .SH "NAME"
 make.conf \- custom settings for Portage
 .SH "SYNOPSIS"
@@ -522,12 +522,6 @@ fixes (order of flags, duplicated entries, ...)
 Only fetch files from configured mirrors, ignoring \fBSRC_URI\fR,
 except when \fImirror\fR is in the \fBebuild\fR(5) \fBRESTRICT\fR variable.
 .TP
-.B force\-prefix
-Enable prefix support for all ebuilds, regardless of EAPI, since older EAPIs
-would otherwise be useless with prefix configurations. This brings
-compatibility with the prefix branch of portage, which also supports EPREFIX
-for all EAPIs (for obvious reasons).
-.TP
 .B getbinpkg
 Force emerges to always try to fetch files from the \fIPORTAGE_BINHOST\fR.  See
 \fBmake.conf\fR(5) for more information.
-- 
2.39.1




[gentoo-dev] [PATCH] elisp.eclass: Drop EAPI 6 support

2022-10-20 Thread Ulrich Müller
Signed-off-by: Ulrich Müller 
---
 eclass/elisp.eclass | 9 +++--
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index 6b6679df5c5d..7c05948c0f57 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -9,7 +9,7 @@
 # Jeremy Maitin-Shepard 
 # Christian Faulhammer 
 # Ulrich Müller 
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
 # @PROVIDES: elisp-common
 # @BLURB: Eclass for Emacs Lisp packages
 # @DESCRIPTION:
@@ -65,7 +65,7 @@
 inherit elisp-common
 
 case ${EAPI} in
-   6|7|8) ;;
+   7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
@@ -73,10 +73,7 @@ EXPORT_FUNCTIONS 
src_{unpack,prepare,configure,compile,install} \
pkg_{setup,postinst,postrm}
 
 RDEPEND=">=app-editors/emacs-${NEED_EMACS}:*"
-case ${EAPI} in
-   6) DEPEND="${RDEPEND}" ;;
-   *) BDEPEND="${RDEPEND}" ;;
-esac
+BDEPEND="${RDEPEND}"
 
 # @FUNCTION: elisp_pkg_setup
 # @DESCRIPTION:
-- 
2.38.1




  1   2   3   4   >