Your message dated Sat, 03 Sep 2016 15:36:16 +0000
with message-id <e1bgczq-0007b9...@franck.debian.org>
and subject line Bug#835236: Removed package(s) from unstable
has caused the Debian Bug report #818704,
regarding strigi: please make the build reproducible
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
818704: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=818704
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: strigi
Version: 0.7.8-2.1
Severity: wishlist
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: randomness
X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that strigi could not be built reproducibly.
During build several source files are generated by makecode.pl, which
iterates over hashes without sorting the keys.

The attached patch fixes this.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible_build.patch b/debian/patches/reproducible_build.patch
new file mode 100644
index 0000000..9fdeddc
--- /dev/null
+++ b/debian/patches/reproducible_build.patch
@@ -0,0 +1,78 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort keys to generate deterministic source file
+
+--- a/strigidaemon/bin/daemon/dbus/dbuscpp/makecode.pl
++++ b/strigidaemon/bin/daemon/dbus/dbuscpp/makecode.pl
+@@ -334,10 +334,10 @@
+ print FH "    std::string object;\n";
+ print FH "    DBusConnection* const conn;\n";
+ print FH "    DBusObjectInterface* const iface;\n";
+-foreach (keys %responses) {
++foreach (sort keys %responses) {
+     print FH "    void $_(".$responses{$_}.");\n";
+ }
+-foreach (keys %signals) {
++foreach (sort keys %signals) {
+     print FH "    void $_(".$signals{$_}.");\n";
+ }
+ print FH "public:\n";
+@@ -370,7 +370,7 @@
+ print FH "    std::map<std::string, handlerFunction> handlers;\n";
+ print FH "    DBusHandlerResult handleCall(DBusConnection*c,DBusMessage* m);\n";
+ print FH "    std::string getIntrospectionXML();\n";
+-foreach (keys %functionsIn) {
++foreach (sort keys %functionsIn) {
+     print FH "    void $_(DBusMessage* msg, DBusConnection* conn);\n";
+ }
+ print FH "public:\n";
+@@ -378,7 +378,7 @@
+ print FH "};\n";
+ print FH "Private$classname\::Private$classname($classname& i)\n";
+ print FH "        :DBusObjectInterface(\"$interfacename\"), impl(i) {\n";
+-foreach (keys %functionsIn) {
++foreach (sort keys %functionsIn) {
+     print FH "    handlers[\"$_\"] = &Private$classname\::".$_.";\n";
+ }
+ print FH "}\n";
+@@ -400,20 +400,20 @@
+ print FH "Private$classname\::getIntrospectionXML() {\n";
+ print FH "    std::ostringstream xml;\n";
+ print FH "    xml << \"  <interface name='\"+getInterfaceName()+\"'>\\n\"\n";
+-foreach (keys %functionsIn) {
++foreach (sort keys %functionsIn) {
+     if (defined $responses{$_."Response"}) {
+         printASyncIntrospectionXML($_);
+     } else {
+         printIntrospectionXML($_);
+     }
+ }
+-foreach (keys %signals) {
++foreach (sort keys %signals) {
+     printSignalIntrospectionXML($_);
+ }
+ print FH "    << \"  </interface>\\n\";\n";
+ print FH "    return xml.str();\n";
+ print FH "}\n";
+-foreach (keys %functionsIn) {
++foreach (sort keys %functionsIn) {
+     if (defined $responses{$_."Response"}) {
+         printASyncFunctionDefinition($_);
+     } else {
+@@ -439,7 +439,7 @@
+ print FH "$classname\::~$classname() {\n";
+ print FH "    delete iface;\n";
+ print FH "}\n";
+-foreach (keys %responses) {
++foreach (sort keys %responses) {
+     print FH "void\n";
+     print FH "$classname\::$_(".$responses{$_}.") {\n";
+     print FH "    DBusMessage* m = static_cast<DBusMessage*>(msg);\n";
+@@ -453,7 +453,7 @@
+     print FH "    dbus_message_unref(m);\n";
+     print FH "}\n";
+ }
+-foreach (keys %signals) {
++foreach (sort keys %signals) {
+     print FH "void\n";
+     print FH "$classname\::$_(".$signals{$_}.") {\n";
+     print FH "    DBusMessageWriter writer(conn, object.c_str(), \"$interfacename\", \"$_\");\n";
diff --git a/debian/patches/series b/debian/patches/series
index 4458755..ee211c0 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 deepgrep_mayhem_fix.diff
 libav10.patch
 ffmpeg_2.9.patch
+reproducible_build.patch

--- End Message ---
--- Begin Message ---
Version: 0.7.8-2.2+rm

Dear submitter,

as the package strigi has just been removed from the Debian archive
unstable we hereby close the associated bug reports.  We are sorry
that we couldn't deal with your issue properly.

For details on the removal, please see https://bugs.debian.org/835236

The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.

This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
ftpmas...@ftp-master.debian.org.

Debian distribution maintenance software
pp.
Chris Lamb (the ftpmaster behind the curtain)

--- End Message ---
_______________________________________________
pkg-kde-extras mailing list
pkg-kde-extras@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-kde-extras

Reply via email to