{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.Jln33XL7/b1/libdap_3.20.7-6_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.Jln33XL7/b2/libdap_3.20.7-6_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,11 +1,11 @@\n \n 76c9edc3cd783bc53a99b6f233de82ca 189212 debug optional libdap-bin-dbgsym_3.20.7-6_amd64.deb\n 47d6a7f5b63335494f37d51ccfc815e9 143084 utils optional libdap-bin_3.20.7-6_amd64.deb\n 038c095e15eda407fb3580702dfb5766 873508 libdevel optional libdap-dev_3.20.7-6_amd64.deb\n- 7ff6117377bc696d4b762a3aecb0ec77 7059988 doc optional libdap-doc_3.20.7-6_all.deb\n+ f17c34d8393fb36886b99d39a9951cbe 7060036 doc optional libdap-doc_3.20.7-6_all.deb\n cb5a272c3d4f58eeeeddd83266a8173e 5512904 debug optional libdap27-dbgsym_3.20.7-6_amd64.deb\n bb12595263e1319410554b19fdf53a6f 566116 libs optional libdap27_3.20.7-6_amd64.deb\n d1ac2d2ee2e7a3a1bf1842f2471cfe11 1212232 debug optional libdapclient6v5-dbgsym_3.20.7-6_amd64.deb\n bad75b8f82c9e23c8ae80940893ae40e 208108 libs optional libdapclient6v5_3.20.7-6_amd64.deb\n 785ee18877767efb99390aa6baf411fc 196404 debug optional libdapserver7v5-dbgsym_3.20.7-6_amd64.deb\n f2380f10b99a7270235fa735f90071be 139080 libs optional libdapserver7v5_3.20.7-6_amd64.deb\n"}, {"source1": "libdap-doc_3.20.7-6_all.deb", "source2": "libdap-doc_3.20.7-6_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2021-02-05 10:42:06.000000 debian-binary\n--rw-r--r-- 0 0 0 24448 2021-02-05 10:42:06.000000 control.tar.xz\n--rw-r--r-- 0 0 0 7035348 2021-02-05 10:42:06.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 24516 2021-02-05 10:42:06.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 7035328 2021-02-05 10:42:06.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "./usr/share/doc/libdap-dev/html/deprecated.html", "source2": "./usr/share/doc/libdap-dev/html/deprecated.html", "unified_diff": "@@ -118,16 +118,16 @@\n
Member libdap::dap_version ()
\n
\n
Member libdap::DDS::print_xml (FILE *out, bool constrained, const string &blob=\"\")
\n
\n
Member libdap::DDS::print_xml (ostream &out, bool constrained, const string &blob=\"\")
\n
\n
Member libdap::DDS::set_dap_major (int p)
\n-

\n-

\n+

\n+

\n
\n
Member libdap::DDS::set_dap_minor (int p)
\n

\n

\n
\n
Member libdap::DDS::set_dap_version (double d)
\n

\n@@ -166,34 +166,34 @@\n
\n
Member libdap::RCReader::set_proxy_for_regexp_flags (int i)
\n
\n
Member libdap::RCReader::set_proxy_server_host_url (const string &s)
\n
\n
Member libdap::remove_mime_header (FILE *in)
\n
\n-
Member libdap::set_mime_binary (FILE *out, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
\n-
\n
Member libdap::set_mime_binary (ostream &strm, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
\n
\n+
Member libdap::set_mime_binary (FILE *out, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
\n+
\n
Member libdap::set_mime_error (ostream &strm, int code, const string &reason, const string &version)
\n
\n
Member libdap::set_mime_error (FILE *out, int code, const string &reason, const string &version)
\n
\n
Member libdap::set_mime_html (ostream &strm, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
\n
\n
Member libdap::set_mime_html (FILE *out, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
\n
\n
Member libdap::set_mime_not_modified (ostream &strm)
\n
\n
Member libdap::set_mime_not_modified (FILE *out)
\n
\n-
Member libdap::set_mime_text (FILE *out, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
\n-
\n
Member libdap::set_mime_text (ostream &strm, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
\n
\n+
Member libdap::set_mime_text (FILE *out, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
\n+
\n
Module MIME utility functions
\n

Use ResponseBuilder instead.

\n

\n
\n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -87,28 +87,28 @@\n Member libdap::RCReader::is_proxy_for_used ()\n Member libdap::RCReader::set_no_proxy_for_port (int i)\n Member libdap::RCReader::set_proxy_for_proxy_host_url (const string &s)\n Member libdap::RCReader::set_proxy_for_regexp (const string &s)\n Member libdap::RCReader::set_proxy_for_regexp_flags (int i)\n Member libdap::RCReader::set_proxy_server_host_url (const string &s)\n Member libdap::remove_mime_header (FILE *in)\n- Member libdap::set_mime_binary (FILE *out, ObjectType type, const string\n- &ver, EncodingType enc, const time_t last_modified)\n Member libdap::set_mime_binary (ostream &strm, ObjectType type, const string\n &ver, EncodingType enc, const time_t last_modified)\n+ Member libdap::set_mime_binary (FILE *out, ObjectType type, const string\n+ &ver, EncodingType enc, const time_t last_modified)\n Member libdap::set_mime_error (ostream &strm, int code, const string &reason,\n const string &version)\n Member libdap::set_mime_error (FILE *out, int code, const string &reason,\n const string &version)\n Member libdap::set_mime_html (ostream &strm, ObjectType type, const string\n &ver, EncodingType enc, const time_t last_modified)\n Member libdap::set_mime_html (FILE *out, ObjectType type, const string &ver,\n EncodingType enc, const time_t last_modified)\n Member libdap::set_mime_not_modified (ostream &strm)\n Member libdap::set_mime_not_modified (FILE *out)\n- Member libdap::set_mime_text (FILE *out, ObjectType type, const string &ver,\n- EncodingType enc, const time_t last_modified)\n Member libdap::set_mime_text (ostream &strm, ObjectType type, const string\n &ver, EncodingType enc, const time_t last_modified)\n+ Member libdap::set_mime_text (FILE *out, ObjectType type, const string &ver,\n+ EncodingType enc, const time_t last_modified)\n Module MIME_utility_functions\n Use ResponseBuilder instead.\n * Generated by [doxygen] 1.9.1\n"}]}, {"source1": "./usr/share/doc/libdap-dev/html/todo.html", "source2": "./usr/share/doc/libdap-dev/html/todo.html", "unified_diff": "@@ -61,36 +61,36 @@\n
\n
\n
\n
Todo List
\n
\n
\n
\n-
Member libdap::BaseType::set_length (int)
\n-
change param type to int64_t
\n-
Class libdap::D4Enum
\n-
Note the hack to remove the union...
\n
Member libdap::Array::Array (const string &n, const string &d, BaseType *v, bool is_dap4=false)
\n
Force the Array::add_var() method to be used to add v. This version of add_var() calls Vector::add_var().
\n
Member libdap::Array::Array (const string &n, BaseType *v, bool is_dap4=false)
\n
Force the Array::add_var() method to be used to add v. This version of add_var() calls Vector::add_var().
\n
Member libdap::BaseType::add_var (BaseType *bt, Part part=nil)
\n
We should get rid of the Part parameter and adopt the convention that the first variable is the Array and all subsequent ones are Maps (when dealing with a Grid, the only time Part matters). This would enable several methods to migrate from Structure, Sequence and Grid to Constructor.
\n
Member libdap::BaseType::length () const
\n
change the return type to int64_t
\n
Member libdap::BaseType::read ()
\n-

Modify all of the stock handlers so they conform to this!

\n-

Modify the D4 serialize code so that it supports the true/false behavior of read() for arrays.

\n+

Modify the D4 serialize code so that it supports the true/false behavior of read() for arrays.

\n+

Modify all of the stock handlers so they conform to this!

\n
\n+
Member libdap::BaseType::set_length (int)
\n+
change param type to int64_t
\n
Member libdap::BaseType::set_read_p (bool state)
\n
Look at making synthesized variables easier to implement and at making them more integrated into the overall CE evaluation process. Maybe the code that computes the synthesized var's value should be in the that variable's read() method? This might provide a way to get rid of the awkward 'projection functions' by replacing them with real children of BaseType. It would also provide a way to clean up the way the synthesized_p prop intrudes on the read_p prop.
\n
Member libdap::Constructor::is_linear ()
\n
Change the name to is_flattenable or something like that. 05/16/03 jhrg
\n
Member libdap::Constructor::serialize (D4StreamMarshaller &m, DMR &dmr, bool filter=false)
\n
See notebook for 8/21/14
\n+
Class libdap::D4Enum
\n+
Note the hack to remove the union...
\n
Member libdap::D4Group::transform_to_dap2 (AttrTable *parent_attr_table)
\n
Fix the comment.
\n
Member libdap::D4RValue::value (DMR &dmr)
\n
Could move the operation that wraps a constant in a BaseType to this method while providing other ways to access the value(s) (methods to determine if the rvalue is a constant and what DAP type it is, e.g.). This would provide an optimization for the filter evaluator which may access the values many times. We might also modify the server side functions so they could access constant values more efficiently.
\n
Member libdap::DDS::mark (const string &name, bool state)
\n

These methods that use the btp_stack to keep track of the path from the top of a dataset to a particular variable can be rewritten to use the parent field instead.

\n

All the methods that use names to identify variables should have counterparts that take BaseType pointers.

\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -3,18 +3,14 @@\n \n \n \n libdap \u00a0Updated for version 3.20.7\n libdap4 is an implementation of OPeNDAP's DAP protocol.\n \n Todo List\n- Member libdap::BaseType::set_length (int)\n- change param type to int64_t\n- Class libdap::D4Enum\n- Note the hack to remove the union...\n Member libdap::Array::Array (const string &n, const string &d, BaseType *v,\n bool is_dap4=false)\n Force the Array::add_var() method to be used to add v. This version of\n add_var() calls Vector::add_var().\n Member libdap::Array::Array (const string &n, BaseType *v, bool\n is_dap4=false)\n Force the Array::add_var() method to be used to add v. This version of\n@@ -24,30 +20,34 @@\n first variable is the Array and all subsequent ones are Maps (when\n dealing with a Grid, the only time Part matters). This would enable\n several methods to migrate from Structure, Sequence and Grid to\n Constructor.\n Member libdap::BaseType::length () const\n change the return type to int64_t\n Member libdap::BaseType::read ()\n- Modify all of the stock handlers so they conform to this!\n Modify the D4 serialize code so that it supports the true/false behavior\n of read() for arrays.\n+ Modify all of the stock handlers so they conform to this!\n+ Member libdap::BaseType::set_length (int)\n+ change param type to int64_t\n Member libdap::BaseType::set_read_p (bool state)\n Look at making synthesized variables easier to implement and at making\n them more integrated into the overall CE evaluation process. Maybe the\n code that computes the synthesized var's value should be in the that\n variable's read() method? This might provide a way to get rid of the\n awkward 'projection functions' by replacing them with real children of\n BaseType. It would also provide a way to clean up the way the\n synthesized_p prop intrudes on the read_p prop.\n Member libdap::Constructor::is_linear ()\n Change the name to is_flattenable or something like that. 05/16/03 jhrg\n Member libdap::Constructor::serialize (D4StreamMarshaller &m, DMR &dmr, bool\n filter=false)\n See notebook for 8/21/14\n+ Class libdap::D4Enum\n+ Note the hack to remove the union...\n Member libdap::D4Group::transform_to_dap2 (AttrTable *parent_attr_table)\n Fix the comment.\n Member libdap::D4RValue::value (DMR &dmr)\n Could move the operation that wraps a constant in a BaseType to this\n method while providing other ways to access the value(s) (methods to\n determine if the rvalue is a constant and what DAP type it is, e.g.).\n This would provide an optimization for the filter evaluator which may\n"}]}, {"source1": "./usr/share/doc/libdap-doc/html/deprecated.html", "source2": "./usr/share/doc/libdap-doc/html/deprecated.html", "unified_diff": "@@ -118,16 +118,16 @@\n
Member libdap::dap_version ()
\n
\n
Member libdap::DDS::print_xml (FILE *out, bool constrained, const string &blob=\"\")
\n
\n
Member libdap::DDS::print_xml (ostream &out, bool constrained, const string &blob=\"\")
\n
\n
Member libdap::DDS::set_dap_major (int p)
\n-

\n-

\n+

\n+

\n
\n
Member libdap::DDS::set_dap_minor (int p)
\n

\n

\n
\n
Member libdap::DDS::set_dap_version (double d)
\n

\n@@ -166,34 +166,34 @@\n
\n
Member libdap::RCReader::set_proxy_for_regexp_flags (int i)
\n
\n
Member libdap::RCReader::set_proxy_server_host_url (const string &s)
\n
\n
Member libdap::remove_mime_header (FILE *in)
\n
\n-
Member libdap::set_mime_binary (FILE *out, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
\n-
\n
Member libdap::set_mime_binary (ostream &strm, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
\n
\n+
Member libdap::set_mime_binary (FILE *out, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
\n+
\n
Member libdap::set_mime_error (ostream &strm, int code, const string &reason, const string &version)
\n
\n
Member libdap::set_mime_error (FILE *out, int code, const string &reason, const string &version)
\n
\n
Member libdap::set_mime_html (ostream &strm, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
\n
\n
Member libdap::set_mime_html (FILE *out, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
\n
\n
Member libdap::set_mime_not_modified (ostream &strm)
\n
\n
Member libdap::set_mime_not_modified (FILE *out)
\n
\n-
Member libdap::set_mime_text (FILE *out, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
\n-
\n
Member libdap::set_mime_text (ostream &strm, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
\n
\n+
Member libdap::set_mime_text (FILE *out, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
\n+
\n
Module MIME utility functions
\n

Use ResponseBuilder instead.

\n

\n
\n
\n
\n
\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -87,28 +87,28 @@\n Member libdap::RCReader::is_proxy_for_used ()\n Member libdap::RCReader::set_no_proxy_for_port (int i)\n Member libdap::RCReader::set_proxy_for_proxy_host_url (const string &s)\n Member libdap::RCReader::set_proxy_for_regexp (const string &s)\n Member libdap::RCReader::set_proxy_for_regexp_flags (int i)\n Member libdap::RCReader::set_proxy_server_host_url (const string &s)\n Member libdap::remove_mime_header (FILE *in)\n- Member libdap::set_mime_binary (FILE *out, ObjectType type, const string\n- &ver, EncodingType enc, const time_t last_modified)\n Member libdap::set_mime_binary (ostream &strm, ObjectType type, const string\n &ver, EncodingType enc, const time_t last_modified)\n+ Member libdap::set_mime_binary (FILE *out, ObjectType type, const string\n+ &ver, EncodingType enc, const time_t last_modified)\n Member libdap::set_mime_error (ostream &strm, int code, const string &reason,\n const string &version)\n Member libdap::set_mime_error (FILE *out, int code, const string &reason,\n const string &version)\n Member libdap::set_mime_html (ostream &strm, ObjectType type, const string\n &ver, EncodingType enc, const time_t last_modified)\n Member libdap::set_mime_html (FILE *out, ObjectType type, const string &ver,\n EncodingType enc, const time_t last_modified)\n Member libdap::set_mime_not_modified (ostream &strm)\n Member libdap::set_mime_not_modified (FILE *out)\n- Member libdap::set_mime_text (FILE *out, ObjectType type, const string &ver,\n- EncodingType enc, const time_t last_modified)\n Member libdap::set_mime_text (ostream &strm, ObjectType type, const string\n &ver, EncodingType enc, const time_t last_modified)\n+ Member libdap::set_mime_text (FILE *out, ObjectType type, const string &ver,\n+ EncodingType enc, const time_t last_modified)\n Module MIME_utility_functions\n Use ResponseBuilder instead.\n * Generated by [doxygen] 1.9.1\n"}]}, {"source1": "./usr/share/doc/libdap-doc/html/todo.html", "source2": "./usr/share/doc/libdap-doc/html/todo.html", "unified_diff": "@@ -61,36 +61,36 @@\n
\n
\n
\n
Todo List
\n
\n
\n
\n-
Member libdap::BaseType::set_length (int)
\n-
change param type to int64_t
\n-
Class libdap::D4Enum
\n-
Note the hack to remove the union...
\n
Member libdap::Array::Array (const string &n, const string &d, BaseType *v, bool is_dap4=false)
\n
Force the Array::add_var() method to be used to add v. This version of add_var() calls Vector::add_var().
\n
Member libdap::Array::Array (const string &n, BaseType *v, bool is_dap4=false)
\n
Force the Array::add_var() method to be used to add v. This version of add_var() calls Vector::add_var().
\n
Member libdap::BaseType::add_var (BaseType *bt, Part part=nil)
\n
We should get rid of the Part parameter and adopt the convention that the first variable is the Array and all subsequent ones are Maps (when dealing with a Grid, the only time Part matters). This would enable several methods to migrate from Structure, Sequence and Grid to Constructor.
\n
Member libdap::BaseType::length () const
\n
change the return type to int64_t
\n
Member libdap::BaseType::read ()
\n-

Modify all of the stock handlers so they conform to this!

\n-

Modify the D4 serialize code so that it supports the true/false behavior of read() for arrays.

\n+

Modify the D4 serialize code so that it supports the true/false behavior of read() for arrays.

\n+

Modify all of the stock handlers so they conform to this!

\n
\n+
Member libdap::BaseType::set_length (int)
\n+
change param type to int64_t
\n
Member libdap::BaseType::set_read_p (bool state)
\n
Look at making synthesized variables easier to implement and at making them more integrated into the overall CE evaluation process. Maybe the code that computes the synthesized var's value should be in the that variable's read() method? This might provide a way to get rid of the awkward 'projection functions' by replacing them with real children of BaseType. It would also provide a way to clean up the way the synthesized_p prop intrudes on the read_p prop.
\n
Member libdap::Constructor::is_linear ()
\n
Change the name to is_flattenable or something like that. 05/16/03 jhrg
\n
Member libdap::Constructor::serialize (D4StreamMarshaller &m, DMR &dmr, bool filter=false)
\n
See notebook for 8/21/14
\n+
Class libdap::D4Enum
\n+
Note the hack to remove the union...
\n
Member libdap::D4Group::transform_to_dap2 (AttrTable *parent_attr_table)
\n
Fix the comment.
\n
Member libdap::D4RValue::value (DMR &dmr)
\n
Could move the operation that wraps a constant in a BaseType to this method while providing other ways to access the value(s) (methods to determine if the rvalue is a constant and what DAP type it is, e.g.). This would provide an optimization for the filter evaluator which may access the values many times. We might also modify the server side functions so they could access constant values more efficiently.
\n
Member libdap::DDS::mark (const string &name, bool state)
\n

These methods that use the btp_stack to keep track of the path from the top of a dataset to a particular variable can be rewritten to use the parent field instead.

\n

All the methods that use names to identify variables should have counterparts that take BaseType pointers.

\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -3,18 +3,14 @@\n \n \n \n libdap \u00a0Updated for version 3.20.7\n libdap4 is an implementation of OPeNDAP's DAP protocol.\n \n Todo List\n- Member libdap::BaseType::set_length (int)\n- change param type to int64_t\n- Class libdap::D4Enum\n- Note the hack to remove the union...\n Member libdap::Array::Array (const string &n, const string &d, BaseType *v,\n bool is_dap4=false)\n Force the Array::add_var() method to be used to add v. This version of\n add_var() calls Vector::add_var().\n Member libdap::Array::Array (const string &n, BaseType *v, bool\n is_dap4=false)\n Force the Array::add_var() method to be used to add v. This version of\n@@ -24,30 +20,34 @@\n first variable is the Array and all subsequent ones are Maps (when\n dealing with a Grid, the only time Part matters). This would enable\n several methods to migrate from Structure, Sequence and Grid to\n Constructor.\n Member libdap::BaseType::length () const\n change the return type to int64_t\n Member libdap::BaseType::read ()\n- Modify all of the stock handlers so they conform to this!\n Modify the D4 serialize code so that it supports the true/false behavior\n of read() for arrays.\n+ Modify all of the stock handlers so they conform to this!\n+ Member libdap::BaseType::set_length (int)\n+ change param type to int64_t\n Member libdap::BaseType::set_read_p (bool state)\n Look at making synthesized variables easier to implement and at making\n them more integrated into the overall CE evaluation process. Maybe the\n code that computes the synthesized var's value should be in the that\n variable's read() method? This might provide a way to get rid of the\n awkward 'projection functions' by replacing them with real children of\n BaseType. It would also provide a way to clean up the way the\n synthesized_p prop intrudes on the read_p prop.\n Member libdap::Constructor::is_linear ()\n Change the name to is_flattenable or something like that. 05/16/03 jhrg\n Member libdap::Constructor::serialize (D4StreamMarshaller &m, DMR &dmr, bool\n filter=false)\n See notebook for 8/21/14\n+ Class libdap::D4Enum\n+ Note the hack to remove the union...\n Member libdap::D4Group::transform_to_dap2 (AttrTable *parent_attr_table)\n Fix the comment.\n Member libdap::D4RValue::value (DMR &dmr)\n Could move the operation that wraps a constant in a BaseType to this\n method while providing other ways to access the value(s) (methods to\n determine if the rvalue is a constant and what DAP type it is, e.g.).\n This would provide an optimization for the filter evaluator which may\n"}]}]}]}]}]}