Debian Bug report logs - #836075
libfile-stripnondeterminism-perl: hard-link is destroyed after normalization

version graph

Package: libfile-stripnondeterminism-perl; Maintainer for libfile-stripnondeterminism-perl is Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>; Source for libfile-stripnondeterminism-perl is src:strip-nondeterminism (PTS, buildd, popcon).

Reported by: "AYANOKOUZI, Ryuunosuke" <i38w7i3@yahoo.co.jp>

Date: Tue, 30 Aug 2016 13:06:02 UTC

Severity: normal

Tags: patch

Found in version strip-nondeterminism/0.023-2

Fixed in version strip-nondeterminism/0.024-1

Done: Chris Lamb <lamby@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

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


Report forwarded to debian-bugs-dist@lists.debian.org, i38w7i3@yahoo.co.jp, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#836075; Package libfile-stripnondeterminism-perl. (Tue, 30 Aug 2016 13:06:05 GMT) (full text, mbox, link).


Acknowledgement sent to "AYANOKOUZI, Ryuunosuke" <i38w7i3@yahoo.co.jp>:
New Bug report received and forwarded. Copy sent to i38w7i3@yahoo.co.jp, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>. (Tue, 30 Aug 2016 13:06:05 GMT) (full text, mbox, link).


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

From: "AYANOKOUZI, Ryuunosuke" <i38w7i3@yahoo.co.jp>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: libfile-stripnondeterminism-perl: hard-link is destroyed after normalization
Date: Tue, 30 Aug 2016 22:03:36 +0900
[Message part 1 (text/plain, inline)]
Package: libfile-stripnondeterminism-perl
Version: 0.023-2
Severity: normal
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: toolchain
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Dear maintainer,

Current file handlers is considering file mode, but other file attributes
(Ex. user ID, group ID, inode number, link counts, ...) are not considered.
It means that a file with same file name before and after normalization
could have different file attributes except for file mode.
This would cause some problem.

Suppose that we have a debian package which is packaged by "debhelper"
and that "debian/rule" execute "rdfind -makehardlinks true"
in "override_dh_auto_install" target to reduce package size
using hard-link of duplicated files in the package [1].

[1] https://wiki.debian.org/dedup.debian.net

"dh_strip_nondeterminism" target is executed
after "override_dh_auto_install" (hard-linking).
In the target, File::StripNondeterminism module
create new normalized file which has different inode number from target file
and rename() the normalized file to the target file it data has changed.
Because inode number has changed after rename().
hard-link status of files by "rdfind" could be changed [2].
This cause duplicated files in final package
in spite of "rdfind" invocation in "dh_strip_nondeterminism" target.

[2] hard-link status could be changed.
$ (umask 0006; convert xc:none /tmp/preserve_file_attributes.v1YRi3/ln_target.png)
$ ln /tmp/preserve_file_attributes.v1YRi3/ln_target.png /tmp/preserve_file_attributes.v1YRi3/ln_hardlink.png
$ stat /tmp/preserve_file_attributes.v1YRi3/ln_hardlink.png /tmp/preserve_file_attributes.v1YRi3/ln_target.png
  File: ‘/tmp/preserve_file_attributes.v1YRi3/ln_hardlink.png’
  Size: 272             Blocks: 8          IO Block: 4096   regular file
Device: fe01h/65025d    Inode: 498297      Links: 2
Access: (0660/-rw-rw----)  Uid: ( 1000/********)   Gid: ( 1000/********)
Access: 2016-08-30 21:53:27.562341916 +0900
Modify: 2016-08-30 21:53:27.558341948 +0900
Change: 2016-08-30 21:53:27.558341948 +0900
 Birth: -
  File: ‘/tmp/preserve_file_attributes.v1YRi3/ln_target.png’
  Size: 272             Blocks: 8          IO Block: 4096   regular file
Device: fe01h/65025d    Inode: 498297      Links: 2
Access: (0660/-rw-rw----)  Uid: ( 1000/********)   Gid: ( 1000/********)
Access: 2016-08-30 21:53:27.562341916 +0900
Modify: 2016-08-30 21:53:27.558341948 +0900
Change: 2016-08-30 21:53:27.558341948 +0900
 Birth: -
$ perl -I lib/ bin/strip-nondeterminism /tmp/preserve_file_attributes.v1YRi3/ln_hardlink.png
$ stat /tmp/preserve_file_attributes.v1YRi3/ln_hardlink.png /tmp/preserve_file_attributes.v1YRi3/ln_target.png
  File: ‘/tmp/preserve_file_attributes.v1YRi3/ln_hardlink.png’
  Size: 155             Blocks: 8          IO Block: 4096   regular file
Device: fe01h/65025d    Inode: 498310      Links: 1
Access: (0660/-rw-rw----)  Uid: ( 1000/********)   Gid: ( 1000/********)
Access: 2016-08-30 21:53:27.850341897 +0900
Modify: 2016-08-30 21:53:27.846341898 +0900
Change: 2016-08-30 21:53:27.846341898 +0900
 Birth: -
  File: ‘/tmp/preserve_file_attributes.v1YRi3/ln_target.png’
  Size: 272             Blocks: 8          IO Block: 4096   regular file
Device: fe01h/65025d    Inode: 498297      Links: 1
Access: (0660/-rw-rw----)  Uid: ( 1000/********)   Gid: ( 1000/********)
Access: 2016-08-30 21:53:27.850341897 +0900
Modify: 2016-08-30 21:53:27.558341948 +0900
Change: 2016-08-30 21:53:27.846341898 +0900
 Birth: -

To fix this issue and
to preserve as much file attribute information of target file as possible,
I prepared a patch to "master" branch of official repository [3].
I would like someone to request review the patch and merge it to the branch.

[3] https://anonscm.debian.org/git/reproducible/strip-nondeterminism.git/log/?h=master

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
Init: unable to detect

Versions of packages libfile-stripnondeterminism-perl depends on:
ii  libarchive-zip-perl  1.59-1
ii  perl                 5.22.2-3

libfile-stripnondeterminism-perl recommends no packages.

libfile-stripnondeterminism-perl suggests no packages.

-- no debconf information

Sincerely yours,
Ryuunosuke Ayanokouzi
-- 
AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>
[0001-Preserve-file-attribute-information-of-target-file.patch (application/octet-stream, attachment)]
[Message part 3 (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#836075; Package libfile-stripnondeterminism-perl. (Tue, 30 Aug 2016 14:24:03 GMT) (full text, mbox, link).


Acknowledgement sent to Chris Lamb <lamby@debian.org>:
Extra info received and forwarded to list. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>. (Tue, 30 Aug 2016 14:24:03 GMT) (full text, mbox, link).


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

From: Chris Lamb <lamby@debian.org>
To: "AYANOKOUZI, Ryuunosuke" <i38w7i3@yahoo.co.jp>, 836075@bugs.debian.org, Reproducible Builds discussion list <reproducible-builds@lists.alioth.debian.org>
Subject: Re: Bug#836075: libfile-stripnondeterminism-perl: hard-link is destroyed after normalization
Date: Tue, 30 Aug 2016 15:21:58 +0100
tags 836075 + pending
thanks

AYANOKOUZI, Ryuunosuke wrote:

> Current file handlers is considering file mode, but other file attributes
> (Ex. user ID, group ID, inode number, link counts, ...) are not considered.

[…]

> I would like someone to request review the patch and merge it to the branch.

Thanks so much; applied.


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby@debian.org / chris-lamb.co.uk
       `-



Added tag(s) pending. Request was from Chris Lamb <lamby@debian.org> to control@bugs.debian.org. (Tue, 30 Aug 2016 14:24:06 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#836075; Package libfile-stripnondeterminism-perl. (Wed, 31 Aug 2016 07:39:32 GMT) (full text, mbox, link).


Acknowledgement sent to "AYANOKOUZI, Ryuunosuke" <i38w7i3@yahoo.co.jp>:
Extra info received and forwarded to list. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>. (Wed, 31 Aug 2016 07:39:32 GMT) (full text, mbox, link).


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

From: "AYANOKOUZI, Ryuunosuke" <i38w7i3@yahoo.co.jp>
To: Chris Lamb <lamby@debian.org>
Cc: 836075@bugs.debian.org, Reproducible Builds discussion list <reproducible-builds@lists.alioth.debian.org>
Subject: Re: Bug#836075: libfile-stripnondeterminism-perl: hard-link is destroyed after normalization
Date: Wed, 31 Aug 2016 16:24:08 +0900
[Message part 1 (text/plain, inline)]
Dear Chris,

At Tue, 30 Aug 2016 15:21:58 +0100,
Chris Lamb <lamby@debian.org> wrote:
> 
> AYANOKOUZI, Ryuunosuke wrote:
> 
> > Current file handlers is considering file mode, but other file attributes
> > (Ex. user ID, group ID, inode number, link counts, ...) are not considered.
> 
> […]
> 
> > I would like someone to request review the patch and merge it to the branch.
> 
> Thanks so much; applied.

Thank you very much.
When would it be available on Sid?

Sincerely yours,
Ryuunosuke Ayanokouzi
-- 
AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#836075; Package libfile-stripnondeterminism-perl. (Wed, 31 Aug 2016 07:39:34 GMT) (full text, mbox, link).


Acknowledgement sent to Chris Lamb <lamby@debian.org>:
Extra info received and forwarded to list. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>. (Wed, 31 Aug 2016 07:39:34 GMT) (full text, mbox, link).


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

From: Chris Lamb <lamby@debian.org>
To: "AYANOKOUZI, Ryuunosuke" <i38w7i3@yahoo.co.jp>
Cc: 836075@bugs.debian.org, Reproducible Builds discussion list <reproducible-builds@lists.alioth.debian.org>
Subject: Re: Bug#836075: libfile-stripnondeterminism-perl: hard-link is destroyed after normalization
Date: Wed, 31 Aug 2016 08:36:51 +0100
> When would it be available on Sid?

It's currently the only change pending for this release but I would
guess certainly no more than one week, almost certainly less.

Hope that helps.


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby@debian.org / chris-lamb.co.uk
       `-



Information forwarded to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#836075; Package libfile-stripnondeterminism-perl. (Wed, 31 Aug 2016 08:45:04 GMT) (full text, mbox, link).


Acknowledgement sent to "AYANOKOUZI, Ryuunosuke" <i38w7i3@yahoo.co.jp>:
Extra info received and forwarded to list. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>. (Wed, 31 Aug 2016 08:45:04 GMT) (full text, mbox, link).


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

From: "AYANOKOUZI, Ryuunosuke" <i38w7i3@yahoo.co.jp>
To: Chris Lamb <lamby@debian.org>
Cc: 836075@bugs.debian.org, Reproducible Builds discussion list <reproducible-builds@lists.alioth.debian.org>
Subject: Re: Bug#836075: libfile-stripnondeterminism-perl: hard-link is destroyed after normalization
Date: Wed, 31 Aug 2016 17:42:08 +0900
[Message part 1 (text/plain, inline)]
Dear Chris,

At Wed, 31 Aug 2016 08:36:51 +0100,
Chris Lamb <lamby@debian.org> wrote:
> 
> > When would it be available on Sid?
> 
> It's currently the only change pending for this release but I would
> guess certainly no more than one week, almost certainly less.
> 
> Hope that helps.

OK, I understood.
Thank you for your swift action.

Sincerely yours,
Ryuunosuke Ayanokouzi
-- 
AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>
[Message part 2 (application/pgp-signature, inline)]

Reply sent to Chris Lamb <lamby@debian.org>:
You have taken responsibility. (Sat, 03 Sep 2016 19:39:09 GMT) (full text, mbox, link).


Notification sent to "AYANOKOUZI, Ryuunosuke" <i38w7i3@yahoo.co.jp>:
Bug acknowledged by developer. (Sat, 03 Sep 2016 19:39:09 GMT) (full text, mbox, link).


Message #32 received at 836075-close@bugs.debian.org (full text, mbox, reply):

From: Chris Lamb <lamby@debian.org>
To: 836075-close@bugs.debian.org
Subject: Bug#836075: fixed in strip-nondeterminism 0.024-1
Date: Sat, 03 Sep 2016 19:34:40 +0000
Source: strip-nondeterminism
Source-Version: 0.024-1

We believe that the bug you reported is fixed in the latest version of
strip-nondeterminism, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 836075@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Chris Lamb <lamby@debian.org> (supplier of updated strip-nondeterminism package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Sat, 03 Sep 2016 20:06:37 +0100
Source: strip-nondeterminism
Binary: libfile-stripnondeterminism-perl strip-nondeterminism dh-strip-nondeterminism
Architecture: source
Version: 0.024-1
Distribution: unstable
Urgency: medium
Maintainer: Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>
Changed-By: Chris Lamb <lamby@debian.org>
Description:
 dh-strip-nondeterminism - file non-deterministic information stripper — Debhelper add-on
 libfile-stripnondeterminism-perl - file non-deterministic information stripper — Perl module
 strip-nondeterminism - file non-deterministic information stripper — stand-alone tool
Closes: 836075
Changes:
 strip-nondeterminism (0.024-1) unstable; urgency=medium
 .
   [ Chris Lamb ]
   * Print test coverage report.
   * jar.pm: Drop unnecessary subroutine prototypes.
   * {ar,zip}.pm: Explicitly use oct(..) for integers with leading zeroes.
   * {jar,png,zip}: Ensure subroutines end with return statement.
   * zip.pm:
     - Use block form of grep over expression form.
     - zip.pm: Don't mix high and low-precedence booleans.
 .
   [ AYANOKOUZI, Ryuunosuke ]
   * Preserve file attribute information of target file. (Closes: #836075)
Checksums-Sha1:
 4f36013cbc9691a7b7ea2ee26d0ec3d92a1274b4 2350 strip-nondeterminism_0.024-1.dsc
 5a12d3df8d9a6bb6a2b831f83bf03b63575fae09 149488 strip-nondeterminism_0.024.orig.tar.gz
 9212be5c84d0fd63a8af4cd03880d5be8490b681 5548 strip-nondeterminism_0.024-1.debian.tar.xz
Checksums-Sha256:
 2cb5cdfd57ae3db38b94263a8a76e9c8ebeb772df7bad2faa9aefbe28c468431 2350 strip-nondeterminism_0.024-1.dsc
 773cdc73dca91ff1d824fd19c6813f302cd226d30717c0c39260b0a4b491eef3 149488 strip-nondeterminism_0.024.orig.tar.gz
 4fdb4084f471458ed1fc232d18a17fc0b2021f22f642d570e9a4dbe80e581754 5548 strip-nondeterminism_0.024-1.debian.tar.xz
Files:
 888189479dbbf7b74ac409868e3fbe20 2350 devel optional strip-nondeterminism_0.024-1.dsc
 690a011d8920d9e395973539c1487f32 149488 devel optional strip-nondeterminism_0.024.orig.tar.gz
 3d34e8e6e87fb7813995ea5c934af0b3 5548 devel optional strip-nondeterminism_0.024-1.debian.tar.xz

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

iQIcBAEBCAAGBQJXyx9eAAoJEB6VPifUMR5YfG4QAJQk+NwV6AooR6bWMZ7Rfhps
KxLInL0UftzTFSUknZaTvMxSCuzmzsMLu6SS806rLrA6pliluxiffFpe6Cqn+ic7
9C09UeuGICTTCPZpQOs+kFSSI7NRk4VSD+uG8dLDoKxdYXTMFL97uURj8wPVHKez
PkPKD1oQRdPP/6+8asPOfM2mt/BmYRKgMyveOZKaDt4OXU3l9H3mVf4DNgTrqqE8
8SXupBuINbIFI6YQysadwAEVmKtxQRZsdKIhwyNqrEyBiTFyH4i/q5L+WKnW1oD3
SAFolZdSH82CSKE3b7i81CQdPFAGuSDTxcrQM0KRWo80wH4NmhXk5LJV0DZrk6FY
UGIKqlZjN9m7qnvrEtw5stl6saygYRHtbFEGr8kWew6Dunn8hEkbbu4ixSaPkjXi
RCFSEs1E2QT7YK/PtlS0+8y92x1ZtgnB0ox9A2hZmhmUHBk6+zOOV4jcYiUlMKDz
JSlHnAD0ye8S+rR3YofcCEtR9h+WcIOzO8Gygeiri088sCDu85xIQuDvy+YKx4EJ
uBbjK9MrX0NBPkr/4fD+oPdsjeRAb3wvjx+WEIie9vEd21FY+UBquL2C5keJh2J0
4wMe2zjMTMS0G6jNVnYkBhHHfV7J8sxL4mELxTNLaelNDpjmhK5vlMirpWX51fW4
KTnAc+1jRSfYAWk1G4Lc
=+817
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Sun, 02 Oct 2016 07:31:12 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed May 17 14:02:43 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.