2019-12-14 22:12 CET

View Issue Details Jump to Notes ] Related Changesets ]
IDProjectCategoryView StatusLast Update
0005798Spring engineGeneralpublic2017-10-12 12:42
Reporterapoleon 
Assigned Tohokomoko 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
Product Version104.0 
Target VersionFixed in Version 
Summary0005798: Please make the build reproducible
DescriptionCurrently the spring engine cannot be built reproducibly. There are several advantages when a piece of software can be built in a reproducible way. More information can be found at https://wiki.debian.org/ReproducibleBuilds.

Please find attached a patch for one known issue when spring is built in different timezones.
Steps To ReproduceRebuild spring in different timezones.
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files
  • patch file icon reproducible.patch (808 bytes) 2017-10-04 19:53 -
    From: Debian Games Team <pkg-games-devel@lists.alioth.debian.org>
    Date: Fri, 6 Jan 2017 19:43:11 +0100
    Subject: reproducible
    
    ---
     cont/base/CMakeLists.txt | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/cont/base/CMakeLists.txt b/cont/base/CMakeLists.txt
    index 71c487d..ce0c307 100644
    --- a/cont/base/CMakeLists.txt
    +++ b/cont/base/CMakeLists.txt
    @@ -18,7 +18,7 @@ MACRO(CreateBaseContentArchive outputdir filename files)
     	set(outputfile "${Spring_BINARY_DIR}/${outputdir}/${filename}")
     	add_custom_command(
     		OUTPUT "${outputfile}"
    -		COMMAND ${SEVENZIP_BIN} a -tzip ${outputfile} ${files} ${QUIET}
    +		COMMAND env TZ=UTC ${SEVENZIP_BIN} a -tzip ${outputfile} ${files} ${QUIET}
     		WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
     		COMMENT "Creating ${outputfile}"
     		DEPENDS ${files}
    
    patch file icon reproducible.patch (808 bytes) 2017-10-04 19:53 +

-Relationships
+Relationships

-Notes

~0018471

apoleon (reporter)

Here you can find more information about the current reproducible build result.

https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/spring.html

~0018472

abma (administrator)

Fix 68227f1a0d37defef61ce955d76bc6baf0f50f29 committed to develop branch: fix 0005798:

apply patch for reproducible builds, repo: spring changeset id: 8903

~0018473

abma (administrator)

thanks for the patch!

FYI: we also accept pull requests: https://github.com/spring/spring/pulls

~0018474

abma (administrator)


7z allows to store without timestamps: wouldn't that be the better solution here?

i.e.:

$ 7z a -mtm=off reproducible.patch.7z reproducible.patch

...

$ 7z l reproducible.patch.7z

   Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
                    ....A 808 486 reproducible.patch
------------------- ----- ------------ ------------ ------------------------
                                   808 486 1 files

~0018475

apoleon (reporter)

I'm not sure. I only know that timestamps will make your build unreproducible. So turning them off is the best solution.

~0018489

abma (administrator)

oh, bad idea: the affected files are zipped (-tzip) and zip doesn't support this param.

this could be changed but i would give your change a try first as switching to 7z could cause other problems.

please report back when your change doesn't for for some reason / more changes are needed. :)

~0018501

abma (administrator)

https://github.com/spring/spring/commit/72e23c95782e54a53230870ead6161b7767c34b0

~0018504

hokomoko (developer)

Fix 7236dd312311ab9059a76b5771530a4c1b80c390 committed to develop branch: Fix 0005798, repo: spring changeset id: 8981

~0018505

hokomoko (developer)

Fix faa643929c768e50921dd247e29ce68b095d97d9 committed to develop branch: Fix 0005798 take 2, repo: spring changeset id: 8982
+Notes

+Related Changesets

-Issue History
Date Modified Username Field Change
2017-10-04 19:53 apoleon New Issue
2017-10-04 19:53 apoleon File Added: reproducible.patch
2017-10-04 19:56 apoleon Note Added: 0018471
2017-10-05 12:41 abma Changeset attached => spring develop 68227f1a
2017-10-05 12:41 abma Note Added: 0018472
2017-10-05 12:41 abma Assigned To => abma
2017-10-05 12:41 abma Status new => resolved
2017-10-05 12:41 abma Resolution open => fixed
2017-10-05 12:42 abma Note Added: 0018473
2017-10-05 12:55 abma Status resolved => feedback
2017-10-05 12:55 abma Resolution fixed => reopened
2017-10-05 12:55 abma Note Added: 0018474
2017-10-05 13:01 apoleon Note Added: 0018475
2017-10-05 13:01 apoleon Status feedback => assigned
2017-10-10 00:35 abma Status assigned => resolved
2017-10-10 00:35 abma Resolution reopened => fixed
2017-10-10 00:35 abma Note Added: 0018489
2017-10-11 00:37 abma Assigned To abma =>
2017-10-11 00:37 abma Status resolved => new
2017-10-11 00:37 abma Resolution fixed => reopened
2017-10-11 00:37 abma Note Added: 0018501
2017-10-12 12:31 hokomoko Changeset attached => spring develop 7236dd31
2017-10-12 12:31 hokomoko Note Added: 0018504
2017-10-12 12:31 hokomoko Assigned To => hokomoko
2017-10-12 12:31 hokomoko Status new => resolved
2017-10-12 12:31 hokomoko Resolution reopened => fixed
2017-10-12 12:42 hokomoko Changeset attached => spring develop faa64392
2017-10-12 12:42 hokomoko Note Added: 0018505
+Issue History