Bug#824592: twitter-bootstrap: wrong copyright formatting when using bash
Source: twitter-bootstrap
Version: 2.0.2+dfsg-9
Severity: minor
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: environment
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org
Dear Maintainer,
While working on the “reproducible builds” effort [1], we have noticed
that 'twitter-bootstrap' could not be built reproducibly [2].
When using the shell bash, echo does not expand "\n" in the copyright
string, leading to an unexpected result.
This can be fixed by using printf instead of echo, as illustrated by the
attached patch.
Once applied, twitter-bootstrap can be built reproducibly in our current
experimental framework.
Regards,
Alexis Bienvenüe.
[1] https://wiki.debian.org/ReproducibleBuilds
[2]
https://reproducible.debian.net/rb-pkg/testing/amd64/twitter-bootstrap.html
diff -Nru twitter-bootstrap-2.0.2+dfsg/debian/patches/06-use-printf-instead-of-echo.patch twitter-bootstrap-2.0.2+dfsg/debian/patches/06-use-printf-instead-of-echo.patch
--- twitter-bootstrap-2.0.2+dfsg/debian/patches/06-use-printf-instead-of-echo.patch 1970-01-01 01:00:00.000000000 +0100
+++ twitter-bootstrap-2.0.2+dfsg/debian/patches/06-use-printf-instead-of-echo.patch 2016-05-17 22:06:16.000000000 +0200
@@ -0,0 +1,17 @@
+Description: Use printf instead of echo
+ "\n" can be expanded or not by echo, depending on the shell used.
+ So using printf instead of echo is more reliable.
+Author: Alexis Bienvenüe <pado@passoire.fr>
+Index: twitter-bootstrap-2.0.2+dfsg/Makefile
+===================================================================
+--- twitter-bootstrap-2.0.2+dfsg.orig/Makefile
++++ twitter-bootstrap-2.0.2+dfsg/Makefile
+@@ -35,7 +35,7 @@ bootstrap:
+ lessc --compress ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.min.css
+ cat js/bootstrap-transition.js js/bootstrap-alert.js js/bootstrap-button.js js/bootstrap-carousel.js js/bootstrap-collapse.js js/bootstrap-dropdown.js js/bootstrap-modal.js js/bootstrap-tooltip.js js/bootstrap-popover.js js/bootstrap-scrollspy.js js/bootstrap-tab.js js/bootstrap-typeahead.js > bootstrap/js/bootstrap.js
+ uglifyjs bootstrap/js/bootstrap.js > bootstrap/js/bootstrap.min.tmp.js
+- echo "/**\n* Bootstrap.js by @fat & @mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > bootstrap/js/copyright.js
++ printf "/**\n* Bootstrap.js by @fat & @mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/\n" > bootstrap/js/copyright.js
+ cat bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js > bootstrap/js/bootstrap.min.js
+ rm bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js
+
diff -Nru twitter-bootstrap-2.0.2+dfsg/debian/patches/series twitter-bootstrap-2.0.2+dfsg/debian/patches/series
--- twitter-bootstrap-2.0.2+dfsg/debian/patches/series 2015-09-25 15:00:00.000000000 +0200
+++ twitter-bootstrap-2.0.2+dfsg/debian/patches/series 2016-05-17 22:06:56.000000000 +0200
@@ -3,3 +3,4 @@
03-use-nodejs-command.patch
04-build-with-node-1.4.2.patch
05-drop-nc-from-uglifyjs.patch
+06-use-printf-instead-of-echo.patch
Reply to: