• Bug#1064453: fdupes: Mistakenly assumes duplicates to have changed on a

    From Ivan Krylov@21:1/5 to All on Thu Feb 22 12:50:01 2024
    tags 1064453 + patch
    thanks

    The upstream fixed this by accident in either [1] (adding confing.h to fdupes.h) or [2] (adding config.h to removeifnotchanged.c). The
    attached patch fixes the problem on my armhf machine.

    --
    Best regards,
    Ivan

    [1]: https://github.com/adrianlopezroche/fdupes/commit/ab5ef95e2b2633d0ca1a5ae0b8ac41abde160100#diff-6bb3626e773afb49e4d7267d0caa25a5d5b3f65d9705477654a5df6b95bcbe11

    [2]: https://github.com/adrianlopezroche/fdupes/commit/8b223d6a2037b6c28d4c00b60dbc9d359309c07f#diff-4d4b4474dd3708d45d2c9ac887f496a3b16342221db4d139a8110c452e771b2a

    Description: Include config.h from fdupes.h
    The struct _file defined in fdupes.h contains members of type off_t.
    Depending on whether "config.h" is #included, this could resolve to
    different types. In particular, removeifnotchanged.c does not #include
    "config.h" and thus would get "corrupted" structs on systems where
    off_t is not 64-bit by default (like armhf).
    Author: Ivan Krylov <ikrylov@disroot.org>
    Bug-Debian: https://bugs.debian.org/1064453
    Forwarded: not-needed
    Last-Update: 2024-02-22
    ---

    --- fdupes-2.2.1.orig/fdupes.h
    +++ fdupes-2.2.1/fdupes.h
    @@ -22,6 +22,7 @@
    #ifndef FDUPES_H
    #define FDUPES_H

    +#include "config.h"
    #include <sys/stat.h>
    #include "md5/md5.h"

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ivan Krylov@21:1/5 to All on Thu Feb 22 12:20:01 2024
    UGFja2FnZTogZmR1cGVzClZlcnNpb246IDE6Mi4yLjEtMQpTZXZlcml0eTogbm9ybWFsCgpEZWFy IE1haW50YWluZXIsCgpBIHNjcmlwdCBJIGFtIHJ1bm5pbmcgb24gYW4gYXJtaGYgbWFjaGluZSBw cm9kdWNlcyBkYXRhYmFzZSBzbmFwc2hvdHMuCkZyZXF1ZW50bHksIHRoZSBzbmFwc2hvdCBpcyBp ZGVudGljYWwgdG8gdGhlIHByZXZpb3VzIG9uZSwgc28gSSB3b3VsZApsaWtlIHRvIHJlbW92ZSB0 aG9zZSB1c2luZyBmZHVwZXMgLXFkTiAvcGF0aC90by9kdW1wcy8uCgpBZnRlciB1cGdyYWRpbmcg ZnJvbSBTdHJldGNoIHRvIEJvb2t3b3JtIChoaXR0aW5nIGFsbCBpbnRlcm1lZGlhdGUKcmVsZWFz ZXMgaW4gcHJvY2VzcyksIEkgc3RhcnRlZCByZWNlaXZpbmcgdGhlIGZvbGxvd2luZyBvdXRwdXQ6 CgogICBbK10gL3BhdGgvdG8vZHVtcHMvZHVtcC4yMDI0LTAxLTE3XzA0OjE1OjAxLnNxbC54egog ICBbIV0gL3BhdGgvdG8vZHVtcHMvZHVtcC4yMDI0LTAxLTI0XzA0OjE1OjAxLnNxbC54eiAtLSB1 bmFibGUgdG8gZGVsZXRlIGZpbGU6IEZpbGUgY29udGVudHMgY2hhbmdlZCBkdXJpbmcgcHJvY2Vz c2luZyEKICAgWyFdIC9wYXRoL3RvL2R1bXBzL2R1bXAuMjAyNC0wMS0zMV8wNDoxNTowMS5zcWwu eHogLS0gdW5hYmxlIHRvIGRlbGV0ZSBmaWxlOiBGaWxlIGNvbnRlbnRzIGNoYW5nZWQgZHVyaW5n IHByb2Nlc3NpbmchCiAgIFshXSAvcGF0aC90by9kdW1wcy9kdW1wLjIwMjQtMDItMDdfMDQ6MTU6 MDEuc3FsLnh6IC0tIHVuYWJsZSB0byBkZWxldGUgZmlsZTogRmlsZSBjb250ZW50cyBjaGFuZ2Vk IGR1cmluZyBwcm9jZXNzaW5nIQogICBbIV0gL3BhdGgvdG8vZHVtcHMvZHVtcC4yMDI0LTAyLTIx XzA0OjE1OjAxLnNxbC54eiAtLSB1bmFibGUgdG8gZGVsZXRlIGZpbGU6IEZpbGUgY29udGVudHMg Y2hhbmdlZCBkdXJpbmcgcHJvY2Vzc2luZyEKICAgWyFdIC9wYXRoL3RvL2R1bXBzL2R1bXAuMjAy NC0wMi0yMl8xMjo0NzoxNi5zcWwueHogLS0gdW5hYmxlIHRvIGRlbGV0ZSBmaWxlOiBGaWxlIGNv bnRlbnRzIGNoYW5nZWQgZHVyaW5nIHByb2Nlc3NpbmchCgpVc2luZyBHREIsIEkgaGF2ZSB0cmFj ZWQgdGhpcyB0byB0aGUgZm9sbG93aW5nIHNpdHVhdGlvbjogZnJvbSBmZHVwZXMuYywgdGhlCmNv bnRlbnRzIG9mIGR1cGVsaXN0IGxvb2sgZXhhY3RseSByaWdodDoKCihnZGIpIGZyYW1lIDEKIzEg IDB4MDA0MDM3ZTggaW4gZGVsZXRlZmlsZXMgKGZpbGVzPTB4NDJjN2Y4LCBwcm9tcHQ9MCwgdHR5 PTxvcHRpbWl6ZWQgb3V0PiwgbG9nZmlsZT08b3B0aW1pemVkIG91dD4pIGF0IGZkdXBlcy5jOjEw MTAKMTAxMCAgICAgICAgICBpZiAocmVtb3ZlaWZub3RjaGFuZ2VkKGR1cGVsaXN0W3hdLCAmZXJy b3JzdHJpbmcpID09IDApIHsKKGdkYikgcCAqZHVwZWxpc3RbeF0KJDQ3ID0ge2RfbmFtZSA9IDB4 NDJjNGQ4ICIvcGF0aC90by9kdW1wcy9kdW1wLjIwMjQtMDEtMjRfMDQ6MTU6MDEuc3FsLnh6Iiwg c2l6ZSA9IDQ1NjY0LAogIGNyY3BhcnRpYWwgPSAweDQyM2M2OCAiQkR9XDAwNVxhXDIwM1wyNjVI XDAwNFwyMDRcMjA2blwzMDFUXDM0My4xNTowXDAzMSIsCiAgY3Jjc2lnbmF0dXJlID0gMHg0MjNj OTggIlwyMzJXXGZcMjMwQlwyMDQ1XDIyNlwyNTJcMzU1XDIzMlFcMjc2XDI1NlwyNzLXkVwzNDdV XDM0MkFcMDAxIiwgZGV2aWNlID0gMjA1MCwgaW5vZGUgPSA0MTQxOTI5OSwgbXRpbWUgPSAxNzA2 MDU4OTAyLAogIGN0aW1lID0gMTcwNjA1ODkwMiwgaGFzZHVwZXMgPSAwLCBkdXBsaWNhdGVzID0g MHg0MmMzOTAsIG5leHQgPSAweDQyYzQxMH0KClRoZSBtb21lbnQgdGhlIGV4ZWN1dGlvbiByZWFj aGVzIHRoZSBmdW5jdGlvbiByZW1vdmVpZm5vdGNoYW5nZWQoKSwgdGhlCmNvbnRlbnRzIG9mIGR1 cGVsaXN0IHN0YXJ0IGxvb2tpbmcgY29ycnVwdGVkOgoKKGdkYikgZnJhbWUgMAojMCAgcmVtb3Zl aWZub3RjaGFuZ2VkIChmaWxlPWZpbGVAZW50cnk9MHg0MmM0OTAsIGVycm9yc3RyaW5nPWVycm9y c3RyaW5nQGVudHJ5PTB4YmVmZmYyZDQpIGF0IHJlbW92ZWlmbm90Y2hhbmdlZC5jOjcKNyAgICAg ICB7CihnZGIpIHAgKmZpbGUKJDQ4ID0ge2RfbmFtZSA9IDB4NDJjNGQ4ICIvcGF0aC90by9kdW1w cy9kdW1wLjIwMjQtMDEtMjRfMDQ6MTU6MDEuc3FsLnh6Iiwgc2l6ZSA9IDAsIGNyY3BhcnRpYWwg PSAweGIyNjAgPGVycm9yOiBDYW5ub3QgYWNjZXNzIG1lbW9yeSBhdCBhZGRyZXNzIDB4YjI2MD4s CiAgY3Jjc2lnbmF0dXJlID0gMHgwLCBkZXZpY2UgPSAxODY0Mzk3MTk5OTkzOTY4OCwgaW5vZGUg PSAyMDUwLCBtdGltZSA9IDAsIGN0aW1lID0gNDE0MTkyOTksIGhhc2R1cGVzID0gMCwgZHVwbGlj YXRlcyA9IDB4NjViMDY0OTYsIG5leHQgPSAweDY1YjA2NDk2fQoKVGhlIGlub2RlIGZpZWxkIG5v dyBob2xkcyB0aGUgdmFsdWUgb2YgdGhlIGRldmljZSBmaWVsZCwgYW5kIGFsbCB0aGUKcG9pbnRl cnMgZXhjZXB0IHRoZSBmaXJzdCBvbmUgYXJlIHBsYWluIHdyb25nLiBUaGlzIGhhcHBlbnMgZHVl IHRvIHRoZQpkaWZmZXJlbmNlcyBpbiB0aGUgb2ZmX3QgdHlwZToKCihnZGIpIGZyYW1lIDEKIzEg IDB4MDA0MDM3ZTggaW4gZGVsZXRlZmlsZXMgKGZpbGVzPTB4NDJjN2Y4LCBwcm9tcHQ9MCwgdHR5 PTxvcHRpbWl6ZWQgb3V0PiwgbG9nZmlsZT08b3B0aW1pemVkIG91dD4pIGF0IGZkdXBlcy5jOjEw MTAKMTAxMCAgICAgICAgICBpZiAocmVtb3ZlaWZub3RjaGFuZ2VkKGR1cGVsaXN0W3hdLCAmZXJy b3JzdHJpbmcpID09IDApIHsKKGdkYikgcHR5cGUgL28gZHVwZWxpc3RbeF0KdHlwZSA9IHN0cnVj dCBfZmlsZSB7Ci8qICAgICAgMCAgICAgIHwgICAgICAgNCAqLyAgICBjaGFyICpkX25hbWU7Ci8q IFhYWCAgNC1ieXRlIGhvbGUgICAgICAqLwovKiAgICAgIDggICAgICB8ICAgICAgIDggKi8gICAg b2ZmX3Qgc2l6ZTsKLyogICAgIDE2ICAgICAgfCAgICAgICA0ICovICAgIG1kNV9ieXRlX3QgKmNy Y3BhcnRpYWw7Ci8qICAgICAyMCAgICAgIHwgICAgICAgNCAqLyAgICBtZDVfYnl0ZV90ICpjcmNz aWduYXR1cmU7Ci8qICAgICAyNCAgICAgIHwgICAgICAgOCAqLyAgICBkZXZfdCBkZXZpY2U7Ci8q ICAgICAzMiAgICAgIHwgICAgICAgOCAqLyAgICBpbm9fdCBpbm9kZTsKLyogICAgIDQwICAgICAg fCAgICAgICA0ICovICAgIHRpbWVfdCBtdGltZTsKLyogICAgIDQ0ICAgICAgfCAgICAgICA0ICov ICAgIHRpbWVfdCBjdGltZTsKLyogICAgIDQ4ICAgICAgfCAgICAgICA0ICovICAgIGludCBoYXNk dXBlczsKLyogICAgIDUyICAgICAgfCAgICAgICA0ICovICAgIHN0cnVjdCBfZmlsZSAqZHVwbGlj YXRlczsKLyogICAgIDU2ICAgICAgfCAgICAgICA0ICovICAgIHN0cnVjdCBfZmlsZSAqbmV4dDsK LyogWFhYICA0LWJ5dGUgcGFkZGluZyAgICovCgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLyogdG90YWwgc2l6ZSAoYnl0ZXMpOiAgIDY0ICovCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfSAqCihnZGIpIGZyYW1lIDAKIzAgIHJlbW92ZWlmbm90Y2hhbmdlZCAoZmlsZT1maWxl QGVudHJ5PTB4NDJjNDkwLCBlcnJvcnN0cmluZz1lcnJvcnN0cmluZ0BlbnRyeT0weGJlZmZmMmQ0 KSBhdCByZW1vdmVpZm5vdGNoYW5nZWQuYzo3CjcgICAgICAgewooZ2RiKSBwdHlwZSAvbyBmaWxl CnR5cGUgPSBjb25zdCBzdHJ1Y3QgX2ZpbGUgewovKiAgICAgIDAgICAgICB8ICAgICAgIDQgKi8g ICAgY2hhciAqZF9uYW1lOwovKiAgICAgIDQgICAgICB8ICAgICAgIDQgKi8gICAgb2ZmX3Qgc2l6 ZTsKLyogICAgICA4ICAgICAgfCAgICAgICA0ICovICAgIG1kNV9ieXRlX3QgKmNyY3BhcnRpYWw7 Ci8qICAgICAxMiAgICAgIHwgICAgICAgNCAqLyAgICBtZDVfYnl0ZV90ICpjcmNzaWduYXR1cmU7 Ci8qICAgICAxNiAgICAgIHwgICAgICAgOCAqLyAgICBkZXZfdCBkZXZpY2U7Ci8qICAgICAyNCAg ICAgIHwgICAgICAgNCAqLyAgICBpbm9fdCBpbm9kZTsKLyogICAgIDI4ICAgICAgfCAgICAgICA0 ICovICAgIHRpbWVfdCBtdGltZTsKLyogICAgIDMyICAgICAgfCAgICAgICA0ICovICAgIHRpbWVf dCBjdGltZTsKLyogICAgIDM2ICAgICAgfCAgICAgICA0ICovICAgIGludCBoYXNkdXBlczsKLyog ICAgIDQwICAgICAgfCAgICAgICA0ICovICAgIHN0cnVjdCBfZmlsZSAqZHVwbGljYXRlczsKLyog ICAgIDQ0ICAgICAgfCAgICAgICA0ICovICAgIHN0cnVjdCBfZmlsZSAqbmV4dDsKCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAvKiB0b3RhbCBzaXplIChieXRlcyk6ICAgNDggKi8KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9ICoKCkkgdGhpbmsgdGhhdCBmZHVwZXMuaCBtdXN0 ICNpbmNsdWRlICJjb25maWcuaCIgaW4gb3JkZXIgdG8gcHJvdmlkZSB0aGUKIHByb3BlciBkZWZp bml0aW9uIG9mIG9mZl90IHRvIGV2ZXJ5IHVzZXIgb2Ygc3RydWN0IF9maWxlOgoKJCBkaWZmIC11 IDwoY3BwIHJlbW92ZWlmbm90Y2hhbmdlZC5jKSAgPCgoZWNobyAnI2luY2x1ZGUgImNvbmZpZy5o Iic7IGNhdCByZW1vdmVpZm5vdGNoYW5nZWQuYykgfCBjcHApIHwgZ3JlcCBvZmZfdAotdHlwZWRl ZiBfX29mZl90IG9mZl90OwordHlwZWRlZiBfX29mZjY0X3Qgb2ZmX3Q7Ci0gICAgX19vZmZfdCBz dF9zaXplOwotZXh0ZXJuIGludCBmc2Vla28gKEZJTEUgKl9fc3RyZWFtLCBfX29mZl90IF9fb2Zm LCBpbnQgX193aGVuY2UpOwotZXh0ZXJuIF9fb2ZmX3QgZnRlbGxvIChGSUxFICpfX3N0cmVhbSkg OwoKVGhlIHNhbWUgcHJvYmxlbSBtYXkgYmUgcHJlc2VudCBvbiBvdGhlciAzMi1iaXQgYXJjaGl0 ZWN0dXJlcy4KCi0tIFN5c3RlbSBJbmZvcm1hdGlvbjoKRGViaWFuIFJlbGVhc2U6IDEyLjUKICBB UFQgcHJlZmVycyBzdGFibGUtdXBkYXRlcwogIEFQVCBwb2xpY3k6ICg1MDAsICdzdGFibGUtdXBk YXRlcycpLCAoNTAwLCAnb2xkb2xkc3RhYmxlJyksICg1MDAsICdzdGFibGUnKQpBcmNoaXRlY3R1 cmU6IGFybWhmIChhcm12N2wpCgpLZXJuZWw6IExpbnV4IDQuMTQuMTgwKyAoU01QIHcvOCBDUFUg dGhyZWFkczsgUFJFRU1QVCkKTG9jYWxlOiBMQU5HPWVuX0dCLlVURi04LCBMQ19DVFlQRT1lbl9H Qi5VVEYtOCAoY2hhcm1hcD1VVEYtOCksIExBTkdVQUdFIG5vdCBzZXQKU2hlbGw6IC9iaW4vc2gg bGlua2VkIHRvIC91c3IvYmluL2Rhc2gKSW5pdDogc3lzdmluaXQgKHZpYSAvc2Jpbi9pbml0KQoK VmVyc2lvbnMgb2YgcGFja2FnZXMgZmR1cGVzIGRlcGVuZHMgb246CmlpICBsaWJjNiAgICAgICAg ICAyLjM2LTkrZGViMTJ1NAppaSAgbGlibmN1cnNlc3c2ICAgNi40LTQKaWkgIGxpYnBjcmUyLTMy LTAgIDEwLjQyLTEKaWkgIGxpYnRpbmZvNiAgICAgIDYuNC00CgpmZHVwZXMgcmVjb21tZW5kcyBu byBwYWNrYWdlcy4KCmZkdXBlcyBzdWdnZXN0cyBubyBwYWNrYWdlcy4KCi0tIG5vIGRlYmNvbmYg aW5mb3JtYXRpb24K

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)