Bug#865813: jumpnbump: Fix occasional parallel FTBFS

Adrian Bunk bunk at debian.org
Sat Jun 24 23:21:16 UTC 2017


Source: jumpnbump
Version: 1.60-1
Severity: serious
Tags: patch

debhelper compat 10 defaults to parallel building,
which exposed the bug fixed in the attached patch
that resulted in "cd modify && make" running up to
three times in prallel.

Depending on the timing this does sometimes FTBFS:

https://buildd.debian.org/status/fetch.php?pkg=jumpnbump&arch=mips&ver=1.60-1&stamp=1498322671&raw=0

...
make -C modify
...
make -C modify
...
cc -g -O2 -fdebug-prefix-map=/«PKGBUILDDIR»=. -fstack-protector-strong -Wformat -Werror=format-security -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp -DNDEBUG -DUSE_SDL -DUSE_NET -DZLIB_SUPPORT -DBZLIB_SUPPORT `sdl2-config --cflags` -I. -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp -DNDEBUG -DUSE_SDL -DUSE_NET -DZLIB_SUPPORT -DBZLIB_SUPPORT -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2  -c -o jnbunpack.o jnbunpack.c
cc -g -O2 -fdebug-prefix-map=/«PKGBUILDDIR»=. -fstack-protector-strong -Wformat -Werror=format-security -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp -DNDEBUG -DUSE_SDL -DUSE_NET -DZLIB_SUPPORT -DBZLIB_SUPPORT `sdl2-config --cflags` -I. -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp -DNDEBUG -DUSE_SDL -DUSE_NET -DZLIB_SUPPORT -DBZLIB_SUPPORT -I. -I.. -o ../gobpack gobpack.o -Wl,-z,relro 
cc -g -O2 -fdebug-prefix-map=/«PKGBUILDDIR»=. -fstack-protector-strong -Wformat -Werror=format-security -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp -DNDEBUG -DUSE_SDL -DUSE_NET -DZLIB_SUPPORT -DBZLIB_SUPPORT `sdl2-config --cflags` -I. -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp -DNDEBUG -DUSE_SDL -DUSE_NET -DZLIB_SUPPORT -DBZLIB_SUPPORT -I. -I.. -o ../jnbpack jnbpack.o -Wl,-z,relro 
jnbunpack.c: In function 'main':
jnbunpack.c:65:5: warning: ignoring return value of 'read', declared with attribute warn_unused_result [-Wunused-result]
     read(fd, &num_entries, 4);
     ^~~~~~~~~~~~~~~~~~~~~~~~~
jnbunpack.c:70:5: warning: ignoring return value of 'read', declared with attribute warn_unused_result [-Wunused-result]
     read(fd, datafile, num_entries * sizeof(DirEntry));
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jnbunpack.c:100:2: warning: ignoring return value of 'read', declared with attribute warn_unused_result [-Wunused-result]
  read(fd, buf, datafile[i].size);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jnbunpack.c:101:2: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
  write(outfd, buf, datafile[i].size);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc -g -O2 -fdebug-prefix-map=/«PKGBUILDDIR»=. -fstack-protector-strong -Wformat -Werror=format-security -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp -DNDEBUG -DUSE_SDL -DUSE_NET -DZLIB_SUPPORT -DBZLIB_SUPPORT `sdl2-config --cflags` -I. -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp -DNDEBUG -DUSE_SDL -DUSE_NET -DZLIB_SUPPORT -DBZLIB_SUPPORT -I. -I.. -o ../jnbunpack jnbunpack.o -Wl,-z,relro 
make[3]: Leaving directory '/«PKGBUILDDIR»/modify'
make -C modify
make[3]: Entering directory '/«PKGBUILDDIR»/modify'
cc -g -O2 -fdebug-prefix-map=/«PKGBUILDDIR»=. -fstack-protector-strong -Wformat -Werror=format-security -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp -DNDEBUG -DUSE_SDL -DUSE_NET -DZLIB_SUPPORT -DBZLIB_SUPPORT `sdl2-config --cflags` -I. -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp -DNDEBUG -DUSE_SDL -DUSE_NET -DZLIB_SUPPORT -DBZLIB_SUPPORT -I. -I.. -o ../jnbunpack jnbunpack.o -Wl,-z,relro 
jnbunpack.o: file not recognized: File truncated
collect2: error: ld returned 1 exit status
Makefile:21: recipe for target '../jnbunpack' failed
make[3]: *** [../jnbunpack] Error 1
make[3]: Leaving directory '/«PKGBUILDDIR»/modify'
Makefile:36: recipe for target 'jnbunpack' failed
make[2]: *** [jnbunpack] Error 2
make[2]: *** Waiting for unfinished jobs....
cc -g -O2 -fdebug-prefix-map=/«PKGBUILDDIR»=. -fstack-protector-strong -Wformat -Werror=format-security -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp -DNDEBUG -DUSE_SDL -DUSE_NET -DZLIB_SUPPORT -DBZLIB_SUPPORT `sdl2-config --cflags` -I. -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp -DNDEBUG -DUSE_SDL -DUSE_NET -DZLIB_SUPPORT -DBZLIB_SUPPORT -I. -I.. -o ../jnbunpack jnbunpack.o -Wl,-z,relro 
make[3]: Leaving directory '/«PKGBUILDDIR»/modify'
make[2]: Leaving directory '/«PKGBUILDDIR»'
dh_auto_build: make -j2 PREFIX=/usr BINDIR=/usr/games GAMEDATADIR=/usr/share/games returned exit code 2
debian/rules:7: recipe for target 'override_dh_auto_build' failed
make[1]: *** [override_dh_auto_build] Error 2
-------------- next part --------------
Description: Fix occasional parallel FTBFS
 "cd modify && make" was running up to three times in parallel.
Author: Adrian Bunk <bunk at debian.org>

--- jumpnbump-1.51+dfsg1.orig/Makefile
+++ jumpnbump-1.51+dfsg1/Makefile
@@ -12,14 +12,16 @@ BINARIES = $(TARGET) jumpnbump.svgalib j
 	jnbmenu.tcl
 PREFIX ?= /usr/local
 
-.PHONY: data
+.PHONY: data modify
 
 all: $(BINARIES)
 
 $(SDL_TARGET): globals.h
 	cd sdl && make
 
-$(MODIFY_TARGET): globals.h
+$(MODIFY_TARGET): modify
+
+modify: globals.h
 	cd modify && make
 
 $(TARGET): $(OBJS) $(SDL_TARGET) data globals.h


More information about the Pkg-games-devel mailing list