Gentoo Archives: gentoo-dev

From: "Yuan Liao (Leo3418)" <liaoyuan@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [PATCH] java-utils-2.eclass: ECLASS_VARIABLE JAVA_PKG_NO_CLEAN
Date: Sat, 04 Feb 2023 14:50:19
Message-Id: Y95wopoQvg9XuADh@mac-mini.taila8f4.ts.net
In Reply to: [gentoo-dev] [PATCH] java-utils-2.eclass: ECLASS_VARIABLE JAVA_PKG_NO_CLEAN by "Volkmar W. Pogatzki"
1 On Sat, Feb 04, 2023 at 02:29:31PM +0100, Volkmar W. Pogatzki wrote:
2 > @@ -2928,9 +2940,16 @@ is-java-strict() {
3 > # Java package cleaner function. This will remove all *.class and *.jar
4 > # files, removing any bundled dependencies.
5 > java-pkg_clean() {
6 > - if [[ -z "${JAVA_PKG_NO_CLEAN}" ]]; then
7 > - find "${@}" '(' -name '*.class' -o -name '*.jar' ')' -type f -delete -print || die
8 > - fi
9 > + pushd ${S} > /dev/null || die
10 > + local FILES_TO_DELETE=$(find * '(' -name '*.class' -o -name '*.jar' ')')
11
12 This could break existing ebuilds that pass argument to java-pkg_clean.
13 ::gentoo has a few such ebuilds:
14
15 $ git grep 'java-pkg_clean.\+$'
16 dev-java/bcmail/bcmail-1.72.ebuild: java-pkg_clean ..
17 dev-java/bcpg/bcpg-1.72.ebuild: java-pkg_clean ..
18 dev-java/bcpkix/bcpkix-1.72.ebuild: java-pkg_clean ..
19 dev-java/bcprov/bcprov-1.72.ebuild: java-pkg_clean ..
20 dev-java/bcutil/bcutil-1.72.ebuild: java-pkg_clean ..
21 dev-java/jakarta-mail-api/jakarta-mail-api-2.1.0-r1.ebuild: java-pkg_clean ..
22 dev-java/javassist/javassist-3.29.2.ebuild: java-pkg_clean javassist.jar
23 dev-java/osgi-annotation/osgi-annotation-8.1.0.ebuild: java-pkg_clean org
24 dev-java/osgi-cmpn/osgi-cmpn-8.0.0.ebuild: java-pkg_clean org
25 dev-java/osgi-core/osgi-core-8.0.0.ebuild: java-pkg_clean org
26 dev-java/stringtemplate/stringtemplate-4.3.2.ebuild: # Do not call java-pkg_clean; otherwise, it would remove
27 dev-java/swingx-ws/swingx-ws-1.0_p20110515-r2.ebuild: java-pkg_clean "${WORKDIR}"
28 dev-java/testng/testng-6.9.10-r1.ebuild: java-pkg_clean ! -path "./src/*"
29 dev-lang/nqp/nqp-2021.06.ebuild: java-pkg_clean 3rdparty/
30 dev-lang/nqp/nqp-2021.08.ebuild: java-pkg_clean 3rdparty/
31 dev-lang/nqp/nqp-2021.10.ebuild: java-pkg_clean 3rdparty/
32 dev-lang/nqp/nqp-9999.ebuild: java-pkg_clean 3rdparty/
33 eclass/java-utils-2.eclass:java-pkg_clean() {
34
35 One ebuild that fails due to this change is
36 dev-java/jakarta-mail-api-2.1.0-r1:
37
38 Preparing source in /var/tmp/portage/dev-java/jakarta-mail-api-2.1.0-r1/work/mail-2.1.0/api ...
39
40 rm: missing operand
41 Try 'rm --help' for more information.
42 * ERROR: dev-java/jakarta-mail-api-2.1.0-r1::gentoo failed (prepare
43 * phase):
44 * (no error message)
45 *
46 * Call stack:
47 * ebuild.sh, line 136: Called src_prepare
48 * environment, line 2476: Called java-pkg_clean '..'
49 * environment, line 1173: Called die
50 * The specific snippet of code:
51 * rm -v ${delete} || die;

Attachments

File name MIME type
signature.asc application/pgp-signature