Source: nikwi Version: 0.0.20120213-3 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: ordering X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org
Hi, Whilst working on the Reproducible Builds effort [0], I noticed that nikwi could not be built reproducibly. Patch attached. [0] https://reproducible-builds.org/ Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
--- a/debian/patches/reproducible_build.patch 1970-01-01 01:00:00.000000000 +0100 --- b/debian/patches/reproducible_build.patch 2016-08-27 18:51:19.004085540 +0100 @@ -0,0 +1,49 @@ +Description: Make the build reproducible +Author: Chris Lamb <la...@debian.org> +Last-Update: 2016-08-27 + +--- nikwi-0.0.20120213.orig/src/tools/upack/upack.c ++++ nikwi-0.0.20120213/src/tools/upack/upack.c +@@ -159,9 +159,9 @@ static void packFile(char *filename, cha + + static void scanDirectory(char *dirname, char *path) + { +- DIR *dir; ++ int n; + char *spath; +- struct dirent *de; ++ struct dirent *de, **namelist; + if (chdir(dirname)) + return; + +@@ -170,15 +170,15 @@ static void scanDirectory(char *dirname, + sprintf(spath, "%s/%s", path, dirname); + else + sprintf(spath, "%s", dirname); +- dir = opendir("."); +- if (!dir) +- { ++ n = scandir(".", &namelist, 0, alphasort); ++ if (n < 0) { + chdir(".."); + printf("cannot open `%s'\n", dirname); + return; + } +- while ((de = readdir(dir))) ++ while (n--) + { ++ de = namelist[n]; + if (!strcmp(de->d_name, ".") || !strcmp(de->d_name, "..")) + continue; + if (chdir(de->d_name)) +@@ -199,8 +199,9 @@ static void scanDirectory(char *dirname, + } + scanDirectory(de->d_name, spath); + } ++ free(de); + } +- closedir(dir); ++ free(namelist); + + free(spath); + chdir(".."); --- a/debian/patches/series 2016-08-27 18:41:21.055719434 +0100 --- b/debian/patches/series 2016-08-27 18:51:16.784055046 +0100 @@ -4,3 +4,4 @@ slashfx_main.patch uscript_type.patch big-endian.patch +reproducible_build.patch
_______________________________________________ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds