Bug#835625: nikwi: please make the build reproducible
Chris Lamb
lamby at debian.org
Sat Aug 27 18:00:53 UTC 2016
Source: nikwi
Version: 0.0.20120213-3
Severity: wishlist
Tags: patch
User: reproducible-builds at lists.alioth.debian.org
Usertags: ordering
X-Debbugs-Cc: reproducible-builds at 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
`. `'` lamby at debian.org / chris-lamb.co.uk
`-
-------------- next part --------------
--- 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 <lamby at 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
More information about the Reproducible-builds
mailing list