Source: kodi
Version: 16.1+dfsg1-1
Severity: wishlist
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: timestamps
X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org

Dear Maintainer,

While working on the “reproducible builds” effort [1], we have noticed
that kodi could not be built reproducibly.

The attached patch removes extra timestamps from the build system.

Regards,
Lukas Rechberger


[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/01_reproducible_build.patch b/debian/patches/01_reproducible_build.patch
index ed4f07a..c9292eb 100644
--- a/debian/patches/01_reproducible_build.patch
+++ b/debian/patches/01_reproducible_build.patch
@@ -5,23 +5,23 @@ Forwarded: not-needed
 
 --- a/xbmc/Application.cpp
 +++ b/xbmc/Application.cpp
-@@ -511,7 +511,7 @@
+@@ -514,7 +514,7 @@
  //  specialVersion = " (version for XXXX)";
  #endif
-   CLog::Log(LOGNOTICE, "Using %s %s x%d build%s", buildType.c_str(), g_infoManager.GetAppName().c_str(), g_sysinfo.GetXbmcBitness(), specialVersion.c_str());
--  CLog::Log(LOGNOTICE, "%s compiled " __DATE__ " by %s for %s %s %d-bit %s (%s)", g_infoManager.GetAppName().c_str(), g_sysinfo.GetUsedCompilerNameAndVer().c_str(), g_sysinfo.GetBuildTargetPlatformName().c_str(),
-+  CLog::Log(LOGNOTICE, "%s compiled from " DEB_VERSION " by %s for %s %s %d-bit %s (%s)", g_infoManager.GetAppName().c_str(), g_sysinfo.GetUsedCompilerNameAndVer().c_str(), g_sysinfo.GetBuildTargetPlatformName().c_str(),
+   CLog::Log(LOGNOTICE, "Using %s %s x%d build%s", buildType.c_str(), CSysInfo::GetAppName().c_str(), g_sysinfo.GetXbmcBitness(), specialVersion.c_str());
+-  CLog::Log(LOGNOTICE, "%s compiled " __DATE__ " by %s for %s %s %d-bit %s (%s)", CSysInfo::GetAppName().c_str(), g_sysinfo.GetUsedCompilerNameAndVer().c_str(), g_sysinfo.GetBuildTargetPlatformName().c_str(),
++  CLog::Log(LOGNOTICE, "%s compiled from " DEB_VERSION " by %s for %s %s %d-bit %s (%s)", CSysInfo::GetAppName().c_str(), g_sysinfo.GetUsedCompilerNameAndVer().c_str(), g_sysinfo.GetBuildTargetPlatformName().c_str(),
              g_sysinfo.GetBuildTargetCpuFamily().c_str(), g_sysinfo.GetXbmcBitness(), g_sysinfo.GetBuildTargetPlatformVersionDecoded().c_str(),
              g_sysinfo.GetBuildTargetPlatformVersion().c_str());
  
---- a/xbmc/GUIInfoManager.cpp
-+++ b/xbmc/GUIInfoManager.cpp
-@@ -4358,7 +4358,7 @@
+--- a/xbmc/utils/SystemInfo.cpp
++++ b/xbmc/utils/SystemInfo.cpp
+@@ -1256,7 +1256,7 @@
  
- std::string CGUIInfoManager::GetBuild()
+ std::string CSysInfo::GetBuildDate()
  {
 -  return StringUtils::Format("%s", __DATE__);
 +  return StringUtils::Format("%s", DEB_VERSION);
  }
  
- std::string CGUIInfoManager::GetAppName()
+ bool CSysInfo::HasVideoToolBoxDecoder()
diff --git a/debian/patches/series b/debian/patches/series
index adbbc22..3e678ba 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,6 +2,7 @@
 0002-core-added-arm64-support-to-GetKernelCpuFamily.patch
 0003-core-added-s390x-support-to-system-info.patch
 0004-core-Make-GetKernelBitness-return-64-for-s390x.patch
+01_reproducible_build.patch
 02_allow_all_arches.patch
 03-privacy.patch
 04-differentiate-from-vanilla-Kodi.patch
diff --git a/debian/rules b/debian/rules
index bc907d3..f500a24 100755
--- a/debian/rules
+++ b/debian/rules
@@ -96,7 +96,7 @@ DEJAVUSANS=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
 endif
 
 override_dh_auto_configure: configure
-	sed -i 's/DEB_VERSION/"'$(VERSION)'"/' xbmc/utils/SystemInfo.cpp
+	sed -i 's/DEB_VERSION/"'$(VERSION)'"/' xbmc/Application.cpp xbmc/utils/SystemInfo.cpp
 	fontforge -script $(CURDIR)/debian/mergefonts.ff \
 		/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf \
 		$(DEJAVUSANS) \

Reply via email to