Bug 1199709 - lsof varies from build machine hostname
Summary: lsof varies from build machine hostname
Status: RESOLVED FIXED
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Other (show other bugs)
Version: Current
Hardware: Other All
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Danilo Spinella
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 1084909
  Show dependency treegraph
 
Reported: 2022-05-19 12:17 UTC by Bernhard Wiedemann
Modified: 2022-07-04 13:56 UTC (History)
1 user (show)

See Also:
Found By: Development
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bernhard Wiedemann 2022-05-19 12:17:51 UTC
While working on reproducible builds for openSUSE, I found that
our lsof package varies as it includes the build machine's hostname

/usr/bin/lsof differs in ELF section .rodata
--- old /usr/bin/lsof (objdump)
+++ new /usr/bin/lsof (objdump)
@@ -1015,7 +1015,7 @@
  25f20 6c617465 73742046 41513a20 25730a00  latest FAQ: %s..
  25f30 20202020 636f6e66 69677572 6174696f      configuratio
  25f40 6e20696e 666f3a20 25730a00 6275696c  n info: %s..buil
- 25f50 64686f73 74610061 6275696c 64002020  dhosta.abuild.
+ 25f50 64686f73 74620061 6275696c 64002020  dhostb.abuild.
  25f60 2020636f 6e737472 75637465 64202573    constructed %s
  25f70 3a202573 25732573 0a002020 20206275  : %s%s%s..    bu
  25f80 696c6465 72277320 636f6d6d 656e743a  ilder's comment:
@@ -1158,7 +1158,7 @@
  26810 57657272 6f723d72 65747572 6e2d7479  Werror=return-ty
  26820 7065202d 666c746f 3d617574 6f202d57  pe -flto=auto -W
  26830 616c6c20 2d576e6f 2d756e75 73656400  all -Wno-unused.
- 26840 4c696e75 78206275 696c6468 6f737461  Linux buildhosta
+ 26840 4c696e75 78206275 696c6468 6f737462  Linux buildhostb
  26850 20352e31 372e372d 312d6465 6661756c   5.17.7-1-defaul
  26860 74202331 20534d50 20505245 454d5054  t #1 SMP PREEMPT
  26870 20546875 204d6179 20313220 31323a33   Thu May 12 12:3 


This seems to come from the Configure script that calls
uname -n
and another uname variant such as uname -a

please fix (ideally upstream)

If it is not possible to always omit or normalize the hostname,
it should be possible to override it with $HOSTNAME or to normalize it when $SOURCE_DATE_EPOCH is set.

For example patches see
https://github.com/BenLangmead/bowtie2/pull/210/files
https://github.com/heimdal/heimdal/pull/332/files
https://build.opensuse.org/request/show/555498
Comment 2 Danilo Spinella 2022-05-20 09:58:31 UTC
This bug has been fixed, closing.

https://build.opensuse.org/request/show/978255
https://github.com/lsof-org/lsof/pull/217
Comment 3 Bernhard Wiedemann 2022-05-20 19:39:36 UTC
I found that the problem persists with utilities/lsof, even after I added a
export HOSTNAME=OBS

I verified that the 2 sources of non-determinism are rather
https://github.com/lsof-org/lsof/blob/4.95.0/dialects/linux/Makefile#L92
https://github.com/lsof-org/lsof/blob/4.95.0/dialects/linux/Makefile#L111
Comment 4 Danilo Spinella 2022-07-04 13:56:59 UTC
The changes have been merged upstream and backported to TW. I am closing this bug as fixed, please re-open if any other related problem appears.