diff options
-rw-r--r-- | meta-oe/recipes-support/rdfind/files/reproducible_build.patch | 46 | ||||
-rw-r--r-- | meta-oe/recipes-support/rdfind/rdfind_1.3.4.bb | 17 |
2 files changed, 63 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/rdfind/files/reproducible_build.patch b/meta-oe/recipes-support/rdfind/files/reproducible_build.patch new file mode 100644 index 000000000..36728a788 --- /dev/null +++ b/meta-oe/recipes-support/rdfind/files/reproducible_build.patch | |||
@@ -0,0 +1,46 @@ | |||
1 | Description: sort the filelist when it is complete to get reproducible behaviour | ||
2 | Author: Reiner Herrmann <reiner@reiner-h.de> | ||
3 | Bug-Debian: https://bugs.debian.org/795790 | ||
4 | |||
5 | Upstream-Status: Pending | ||
6 | |||
7 | Signed-off-by: Andre McCurdy <armccurdy@gmail.com> | ||
8 | |||
9 | Index: rdfind-1.3.4/Fileinfo.hh | ||
10 | =================================================================== | ||
11 | --- rdfind-1.3.4.orig/Fileinfo.hh | ||
12 | +++ rdfind-1.3.4/Fileinfo.hh | ||
13 | @@ -189,6 +189,10 @@ public: | ||
14 | static bool compareondepth(const Fileinfo &a, const Fileinfo &b) | ||
15 | {return (a.depth() < b.depth());} | ||
16 | |||
17 | + //returns true if a has lower filename than b) | ||
18 | + static bool compareonfilename(const Fileinfo &a, const Fileinfo &b) | ||
19 | + {return (a.name().compare(b.name()) < 0);} | ||
20 | + | ||
21 | //fills with bytes from the file. if lasttype is supplied, | ||
22 | //it is used to see if the file needs to be read again - useful if | ||
23 | //file is shorter than the length of the bytes field. | ||
24 | @@ -235,6 +239,10 @@ public: | ||
25 | static bool equaldepth(const Fileinfo &a, const Fileinfo &b) | ||
26 | {return (a.depth()==b.depth());} | ||
27 | |||
28 | + //returns true if filenames are equal | ||
29 | + static bool equalfilename(const Fileinfo &a, const Fileinfo &b) | ||
30 | + {return (a.name()==b.name());} | ||
31 | + | ||
32 | //returns true if file is a regular file. call readfileinfo first! | ||
33 | bool isRegularFile() {return m_info.is_file;} | ||
34 | |||
35 | Index: rdfind-1.3.4/rdfind.cc | ||
36 | =================================================================== | ||
37 | --- rdfind-1.3.4.orig/rdfind.cc | ||
38 | +++ rdfind-1.3.4/rdfind.cc | ||
39 | @@ -349,6 +349,7 @@ int main(int narg, char *argv[]) | ||
40 | cout<<dryruntext<<"Now have "<<filelist1.size()<<" files in total."<<endl; | ||
41 | |||
42 | |||
43 | + gswd.sortlist(&Fileinfo::compareonfilename,&Fileinfo::equalfilename); | ||
44 | |||
45 | //mark files with a unique number | ||
46 | gswd.markitems(); | ||
diff --git a/meta-oe/recipes-support/rdfind/rdfind_1.3.4.bb b/meta-oe/recipes-support/rdfind/rdfind_1.3.4.bb new file mode 100644 index 000000000..4d984ee05 --- /dev/null +++ b/meta-oe/recipes-support/rdfind/rdfind_1.3.4.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | SUMMARY = "Rdfind is a program that finds duplicate files" | ||
2 | HOMEPAGE = "https://rdfind.pauldreik.se/" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88" | ||
5 | |||
6 | DEPENDS = "nettle" | ||
7 | |||
8 | SRC_URI = "https://rdfind.pauldreik.se/${BP}.tar.gz \ | ||
9 | file://reproducible_build.patch \ | ||
10 | " | ||
11 | |||
12 | SRC_URI[md5sum] = "97c0cb35933588413583c61d3b5f9adf" | ||
13 | SRC_URI[sha256sum] = "a5f0b3f72093d927b93898c993479b35682cccb47f7393fb72bd4803212fcc7d" | ||
14 | |||
15 | inherit autotools | ||
16 | |||
17 | BBCLASSEXTEND = "native" | ||