[From nobody Wed Sep 23 12:21:05 2026
Received: (at submit) by bugs.debian.org; 8 Jun 2023 22:50:56 +0000
X-Spam-Checker-Version: SpamAssassin 3.4.6-bugs.debian.org_2005_01_02
 (2021-04-09) on buxtehude.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-9.2 required=4.0 tests=BAYES_00,DIGITS_LETTERS,
 DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MD5_SHA1_SUM,
 MURPHY_DRUGS_REL8,PGPSIGNATURE,SPF_HELO_NONE,SPF_PASS,
 T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no
 version=3.4.6-bugs.debian.org_2005_01_02
X-Spam-Bayes: score:0.0000 Tokens: new, 48; hammy, 150; neutral, 78; spammy,
 0. spammytokens: hammytokens:0.000-+--bookworm, 0.000-+--X-Debbugs-Cc,
 0.000-+--XDebbugsCc, 0.000-+--U*reproducible-builds,
 0.000-+--reproduciblebuildslistsaliothdebianorg
Return-path: &lt;vagrant@reproducible-builds.org&gt;
Received: from cascadia.aikidev.net ([173.255.214.101]:54174)
 by buxtehude.debian.org with esmtps
 (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.94.2) (envelope-from &lt;vagrant@reproducible-builds.org&gt;)
 id 1q7OT0-006kmg-Rf
 for submit@bugs.debian.org; Thu, 08 Jun 2023 22:50:56 +0000
Received: from localhost (unknown [IPv6:2600:3c01:e000:21:7:77:0:50])
 (Authenticated sender: vagrant@aikidev.net)
 by cascadia.aikidev.net (Postfix) with ESMTPSA id E231D1AB94
 for &lt;submit@bugs.debian.org&gt;; Thu,  8 Jun 2023 15:50:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
 d=reproducible-builds.org; s=1.vagrant; t=1686264649;
 bh=inoihJk8e3TRqGcCDEk/XY+e/gbIwboIiVWST0rYtwc=;
 h=From:To:Subject:Date:From;
 b=hkxmVp1sBcz8gR3U77RF2jdoXDej43G5SC/mRVKKkLRIjG68o5W/njP83r3kPW3mv
 WRtDr4Z3NCioUYOIGHJBVU2O4jqe/OIJ6xzIGT8X6QeEXW2uJYpFAYR3mgM0lYC2xB
 u7F32QUvUfTS6DtBdBi9lbjEUFubzB9vHE+cgQUUWtnnU9IemhmIt0xA8uPz0X1YhD
 g5Vefaz+10FMYrRB60Q/QKKDuiALiValyaz2IKYePnBWJsoCyqsGwAYoodqmcnUOG2
 Y8hfhlAMaACe7jf+6+4gpWc3ajs9b0t0YKdTyk9Fb0zPYxh+14/SOpEjLCfUW2maht
 /SLANuvGMdPcA==
From: Vagrant Cascadian &lt;vagrant@reproducible-builds.org&gt;
To: submit@bugs.debian.org
Subject: gradle-kotlin-dsl: reproducible-builds: generated classpath files
 differ when /bin/sh -&gt; bash
Date: Thu, 08 Jun 2023 15:50:43 -0700
Message-ID: &lt;87bkhpefgc.fsf@wireframe&gt;
MIME-Version: 1.0
Content-Type: multipart/signed; boundary=&quot;==-=-=&quot;;
 micalg=pgp-sha512; protocol=&quot;application/pgp-signature&quot;
Delivered-To: submit@bugs.debian.org

--==-=-=
Content-Type: multipart/mixed; boundary=&quot;=-=-=&quot;

--=-=-=
Content-Type: text/plain

Source: gradle-kotlin-dsl
Severity: normal
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: shell
X-Debbugs-Cc: reproducible-bugs@lists.alioth.debian.org

When /bin/sh points to bash vs. dash, two classpath files get generated
different with different content.

  https://tests.reproducible-builds.org/debian/rb-pkg/bookworm/amd64/diffoscope-results/gradle-kotlin-dsl.html

  runtime=annotations-13.0.jar,gradle-kotlin-dsl-tooling-models.jar ...
  vs.
  projects=\nruntime=annotations-13.0.jar,gradle-kotlin-dsl-tooling-models.jar ...

The attached patch fixes this in debian/rules by using printf instead of
echo, as echo implementations vary in the handling of &quot;\n&quot; in different
shells.

According to my local tests, applying this patch should make
gradle-jotlin-dsl build reproducibly on tests.reproducible-builds.org!

Thanks for maintaining gradle-kotlin-dsl!

live well,
  vagrant

--=-=-=
Content-Type: text/x-diff
Content-Disposition: inline;
 filename=0001-debian-rules-Fix-generation-of-classpath-files-to-be.patch
Content-Transfer-Encoding: quoted-printable

From=206d6af7fa4775f07170dfb9659c46309c288d14c8 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian &lt;vagrant@reproducible-builds.org&gt;
Date: Thu, 8 Jun 2023 15:36:41 -0700
Subject: [PATCH] debian/rules: Fix generation of classpath files to be
 independent of shell implementation.

Use printf instead of echo, as echo implementations vary in the
handling of &quot;\n&quot; in different shells.

https://tests.reproducible-builds.org/debian/issues/unstable/bin_sh_is_bash=
_issue.html
=2D--
 debian/rules | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/debian/rules b/debian/rules
index 312ca0b..4311749 100755
=2D-- a/debian/rules
+++ b/debian/rules
@@ -42,7 +42,7 @@ override_dh_auto_build:
 	cp -Rp provider/src/main/kotlin/*    provider/target/classes
 	cp -Rp provider/src/main/resources/* provider/target/classes
=20
=2D	echo 'projects=3D\nruntime=3Dannotations-13.0.jar,gradle-kotlin-dsl-too=
ling-models.jar,kotlin-compiler-embeddable.jar,kotlin-reflect.jar,kotlin-sa=
m-with-receiver-compiler-plugin.jar,kotlin-stdlib.jar,kotlin-stdlib-jdk7.ja=
r,kotlin-stdlib-jdk8.jar,kotlin-script-runtime.jar,trove4j.jar' \
+	printf 'projects=3D\nruntime=3Dannotations-13.0.jar,gradle-kotlin-dsl-too=
ling-models.jar,kotlin-compiler-embeddable.jar,kotlin-reflect.jar,kotlin-sa=
m-with-receiver-compiler-plugin.jar,kotlin-stdlib.jar,kotlin-stdlib-jdk7.ja=
r,kotlin-stdlib-jdk8.jar,kotlin-script-runtime.jar,trove4j.jar' \
 	    &gt; provider/target/classes/gradle-kotlin-dsl-classpath.properties
=20
 	jar cf provider/target/gradle-kotlin-dsl.jar -C provider/target/classes/ .
@@ -67,7 +67,7 @@ override_dh_auto_build:
=20
 	cp -Rp tooling-builders/src/main/kotlin/* tooling-builders/target/classes
=20
=2D	echo 'projects=3D\nruntime=3Dgradle-kotlin-dsl.jar,gradle-kotlin-dsl-to=
oling-models.jar,kotlin-compiler-embeddable.jar,kotlin-reflect.jar,kotlin-s=
am-with-receiver-compiler-plugin.jar,kotlin-stdlib.jar,kotlin-stdlib-jdk7.j=
ar,kotlin-stdlib-jdk8.jar,annotations-13.0.jar' \
+	printf 'projects=3D\nruntime=3Dgradle-kotlin-dsl.jar,gradle-kotlin-dsl-to=
oling-models.jar,kotlin-compiler-embeddable.jar,kotlin-reflect.jar,kotlin-s=
am-with-receiver-compiler-plugin.jar,kotlin-stdlib.jar,kotlin-stdlib-jdk7.j=
ar,kotlin-stdlib-jdk8.jar,annotations-13.0.jar' \
 	    &gt; tooling-builders/target/classes/gradle-kotlin-dsl-tooling-builders-=
classpath.properties
=20
 	jar cf tooling-builders/target/gradle-kotlin-dsl-tooling-builders.jar -C =
tooling-builders/target/classes .
=2D-=20
2.39.2


--=-=-=--

--==-=-=
Content-Type: application/pgp-signature; name=&quot;signature.asc&quot;

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

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCZIJbQwAKCRDcUY/If5cW
qtuJAQDTcwWaVozvxpQ68JrZq2E4aZ8FpbY6nqFeO4PE4wy5TgEAq7/2k6MzmDys
P8Ha55c8hSLe3AeAljYbvuxoFWJe0g4=
=krZ8
-----END PGP SIGNATURE-----
--==-=-=--
]