[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: