Debian Bug report logs - #990247
vlc: reproducible builds: Fix passing sort order to tar when generating default.vlt

Package: src:vlc; Maintainer for src:vlc is Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>;

Reported by: Vagrant Cascadian <vagrant@reproducible-builds.org>

Date: Wed, 23 Jun 2021 20:27:01 UTC

Severity: normal

Tags: upstream

Reply or subscribe to this bug.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, reproducible-bugs@lists.alioth.debian.org, Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>:
Bug#990247; Package src:vlc. (Wed, 23 Jun 2021 20:27:04 GMT) (full text, mbox, link).


Acknowledgement sent to Vagrant Cascadian <vagrant@reproducible-builds.org>:
New Bug report received and forwarded. Copy sent to reproducible-bugs@lists.alioth.debian.org, Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>. (Wed, 23 Jun 2021 20:27:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Vagrant Cascadian <vagrant@reproducible-builds.org>
To: submit@bugs.debian.org
Subject: vlc: reproducible builds: Fix passing sort order to tar when generating default.vlt
Date: Wed, 23 Jun 2021 13:24:23 -0700
[Message part 1 (text/plain, inline)]
Source: vlc
Severity: normal
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-bugs@lists.alioth.debian.org

In share/Makefile.am, when creating default.vlt it attempts to detect
the availability of the tar --sort= option, but then incorrectly passes
the variable to tar.

It does not appear to affect the sort order on
tests.reproducible-builds.org, but it does appear to cause issues when
testing with reprotest, and so may occur in other situations in the
wild.


The attached patch fixes this by passing it as a make variable rather
than a quoted shell variable.


This patch does not address all reproducibility issues in vlc
(e.g. build paths).


Thanks for maintaining vlc!


live well,
  vagrant
[0002-Pass-sort-option-to-tar-as-a-make-variable-when-crea.patch (text/x-diff, inline)]
From 126a1a298a5c658a2d04a064b506da62882b9092 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
Date: Wed, 23 Jun 2021 19:42:34 +0000
Subject: [PATCH 2/3] Pass sort option to tar as a make variable when creating
 default.vlt file.

While detection for --sort= support in tar appeared to work, but the
variable ended up not being evaluated when calling tar:

  tarsort= ; \
  tar --help|grep -q sort=ORDER && tarsort=--sort=name ; \
  GZIP=--no-name \
  tar cvvzf skins2/default.vlt.tmp \
  	--format=ustar $tarsort \
  	--owner=root --group=root --directory="./skins2" \
  	default/
---
 share/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/share/Makefile.am b/share/Makefile.am
index 803964a9f..29e6d36f6 100644
--- a/share/Makefile.am
+++ b/share/Makefile.am
@@ -96,7 +96,7 @@ skins2/default.vlt: $(skins2_default_vlt_FILES)
 	tar --help|grep -q sort=ORDER && tarsort=--sort=name ; \
 	GZIP=--no-name \
 	tar cvvzf skins2/default.vlt.tmp \
-		--format=ustar $$tarsort \
+		--format=ustar $(tarsort) \
 		--owner=root --group=root --directory="$(srcdir)/skins2" \
 		default/
 	$(AM_V_at)mv -f -- skins2/default.vlt.tmp skins2/default.vlt
-- 
2.32.0

[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>:
Bug#990247; Package src:vlc. (Tue, 17 May 2022 15:15:02 GMT) (full text, mbox, link).


Acknowledgement sent to Rémi Denis-Courmont <remi@remlab.net>:
Extra info received and forwarded to list. Copy sent to Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>. (Tue, 17 May 2022 15:15:02 GMT) (full text, mbox, link).


Message #10 received at 990247@bugs.debian.org (full text, mbox, reply):

From: Rémi Denis-Courmont <remi@remlab.net>
To: 990247@bugs.debian.org
Subject: Re: vlc: reproducible builds: Fix passing sort order to tar when generating default.vlt
Date: Tue, 17 May 2022 18:04:30 +0300
Control: tags 990247 = upstream

On Wed, 23 Jun 2021 13:24:23 -0700 Vagrant Cascadian <vagrant@reproducible-
builds.org> wrote:
> In share/Makefile.am, when creating default.vlt it attempts to detect
> the availability of the tar --sort= option, but then incorrectly passes
> the variable to tar.
> 
> It does not appear to affect the sort order on
> tests.reproducible-builds.org, but it does appear to cause issues when
> testing with reprotest, and so may occur in other situations in the
> wild.
> 
> 
> The attached patch fixes this by passing it as a make variable rather
> than a quoted shell variable.

Such a patch should be submitted upstream but for a start, it does not look 
right to me. Specifically $$tarsort is correct. AFAICT, the problem is that 
predicate for the assignment relies on locale-dependent behaviour and thus 
fails with non-English languages.

Br,

-- 
Rémi Denis-Courmont
http://www.remlab.net/






Added tag(s) upstream; removed tag(s) patch. Request was from Rémi Denis-Courmont <remi@remlab.net> to 990247-submit@bugs.debian.org. (Tue, 17 May 2022 15:15:02 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>:
Bug#990247; Package src:vlc. (Sun, 17 Jul 2022 01:30:02 GMT) (full text, mbox, link).


Acknowledgement sent to Vagrant Cascadian <vagrant@reproducible-builds.org>:
Extra info received and forwarded to list. Copy sent to Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>. (Sun, 17 Jul 2022 01:30:02 GMT) (full text, mbox, link).


Message #17 received at 990247@bugs.debian.org (full text, mbox, reply):

From: Vagrant Cascadian <vagrant@reproducible-builds.org>
To: Rémi Denis-Courmont <remi@remlab.net>, 990247@bugs.debian.org
Subject: Re: Bug#990247: vlc: reproducible builds: Fix passing sort order to tar when generating default.vlt
Date: Sat, 16 Jul 2022 18:25:46 -0700
[Message part 1 (text/plain, inline)]
On 2022-05-17, Rémi Denis-Courmont wrote:
> On Wed, 23 Jun 2021 13:24:23 -0700 Vagrant Cascadian <vagrant@reproducible-
> builds.org> wrote:
>> In share/Makefile.am, when creating default.vlt it attempts to detect
>> the availability of the tar --sort= option, but then incorrectly passes
>> the variable to tar.
>> 
>> It does not appear to affect the sort order on
>> tests.reproducible-builds.org, but it does appear to cause issues when
>> testing with reprotest, and so may occur in other situations in the
>> wild.
>> 
>> 
>> The attached patch fixes this by passing it as a make variable rather
>> than a quoted shell variable.
>
> Such a patch should be submitted upstream but for a start, it does not look 
> right to me. Specifically $$tarsort is correct.

Ok, will try to take this upstream.

> AFAICT, the problem is that predicate for the assignment relies on
> locale-dependent behaviour and thus fails with non-English languages.

This also apparently happens with the C.UTF-8 locale:

  https://buildd.debian.org/status/fetch.php?pkg=vlc&arch=amd64&ver=3.0.17.4-4%2Bb1&stamp=1656788338&raw=0

  tarsort= ; \
  tar --help|grep -q sort=ORDER && tarsort=--sort=name ; \
  GZIP=--no-name \
  tar cvvzf skins2/default.vlt.tmp \
  	--format=ustar $tarsort \
  	--owner=root --group=root --directory="./skins2" \
  	default/


live well,
  vagrant

p.s. please CC the submitter or NNN-submitter@bugs.debian.org if you
want them to notice!
[signature.asc (application/pgp-signature, inline)]

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed May 17 12:10:56 2023; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.