Bug#1011500: tuxcmd-modules: reproducible-builds: embedded build paths in various binaries
tags 1011500 + pending patch
thanks
I've just uploaded an updated version of tuxcmd-modules 0.6.70+ds-5.1
to DELAYED/3. This variant of the upload actually includes the fix for
#941296 which was missed when preparing the upload.
tuxcmd-modules (0.6.70+ds-5.1) unstable; urgency=medium
.
* Non-maintainer upload.
* Apply a patch by Vagrant Cascadian to ensure that tuxcmd-modules does not
embed build paths in various binaries. (Closes: #1011500)
* Apply a patch by Helmut Grohne to make it possible to cross-build
tuxcmd-modules. (Closes: #941296)
The full debdiff is attached.
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` lamby@debian.org / chris-lamb.co.uk
`-
diffstat for tuxcmd-modules-0.6.70+ds tuxcmd-modules-0.6.70+ds
changelog | 10 +++
patches/crossbuild.patch | 130 +++++++++++++++++++++++++++++++++++++++
patches/reproducible-build.patch | 68 ++++++++++++++++++++
patches/series | 2
4 files changed, 210 insertions(+)
diff -Nru tuxcmd-modules-0.6.70+ds/debian/changelog tuxcmd-modules-0.6.70+ds/debian/changelog
--- tuxcmd-modules-0.6.70+ds/debian/changelog 2013-05-10 21:00:35.000000000 +0100
+++ tuxcmd-modules-0.6.70+ds/debian/changelog 2022-11-17 17:15:30.000000000 +0000
@@ -1,3 +1,13 @@
+tuxcmd-modules (0.6.70+ds-5.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Apply a patch by Vagrant Cascadian to ensure that tuxcmd-modules does not
+ embed build paths in various binaries. (Closes: #1011500)
+ * Apply a patch by Helmut Grohne to make it possible to cross-build
+ tuxcmd-modules. (Closes: #941296)
+
+ -- Chris Lamb <lamby@debian.org> Thu, 17 Nov 2022 17:15:30 +0000
+
tuxcmd-modules (0.6.70+ds-5) unstable; urgency=low
* QA upload.
diff -Nru tuxcmd-modules-0.6.70+ds/debian/patches/crossbuild.patch tuxcmd-modules-0.6.70+ds/debian/patches/crossbuild.patch
--- tuxcmd-modules-0.6.70+ds/debian/patches/crossbuild.patch 1970-01-01 01:00:00.000000000 +0100
+++ tuxcmd-modules-0.6.70+ds/debian/patches/crossbuild.patch 2022-11-17 17:15:30.000000000 +0000
@@ -0,0 +1,130 @@
+--- tuxcmd-modules-0.6.70+ds.orig/gvfs/Makefile
++++ tuxcmd-modules-0.6.70+ds/gvfs/Makefile
+@@ -5,6 +5,7 @@ INSTALL_DATA = ${INSTALL} -m 644
+
+ # compiler options
+ CC = gcc
++PKG_CONFIG ?= pkg-config
+ CFLAGS =-I. -I/usr/include \
+ -Wall -fPIC -O2 -g \
+ -DG_DISABLE_DEPRECATED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
+@@ -20,13 +21,13 @@ VFS_OBJECTS=gvfs.o
+
+ .SUFFIXES: .c
+ .c.o:
+- $(CC) $(CFLAGS) `pkg-config glib-2.0 gio-2.0 --cflags` -c $<
++ $(CC) $(CFLAGS) `$(PKG_CONFIG) glib-2.0 gio-2.0 --cflags` -c $<
+
+
+ all shared static: libgvfs_plugin.so
+
+ libgvfs_plugin.so: $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS)
+- $(CC) -shared -o libgvfs_plugin.so $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS) $(CFLAGS) `pkg-config glib-2.0 gio-2.0 --libs`
++ $(CC) -shared -o libgvfs_plugin.so $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS) $(CFLAGS) `$(PKG_CONFIG) glib-2.0 gio-2.0 --libs`
+
+ strutils.o: strutils.c strutils.h
+ treepathutils.o: treepathutils.c treepathutils.h
+--- tuxcmd-modules-0.6.70+ds.orig/libarchive/Makefile
++++ tuxcmd-modules-0.6.70+ds/libarchive/Makefile
+@@ -7,7 +7,8 @@ DIR_LIBARCHIVE=./libarchive-2.5.5
+
+ # compiler options
+ CC = gcc
+-CPP = g++
++CXX = g++
++PKG_CONFIG ?= pkg-config
+ CFLAGS =-I. -I/usr/include -I$(DIR_COMMON) \
+ -Wall -fPIC -O2 -g \
+ -DG_DISABLE_DEPRECATED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE \
+@@ -23,20 +24,20 @@ VFS_OBJECTS=libarchive.o
+
+ .SUFFIXES: .c .cpp
+ .c.o:
+- $(CC) $(CFLAGS) `pkg-config glib-2.0 --cflags` -c $<
++ $(CC) $(CFLAGS) `$(PKG_CONFIG) glib-2.0 --cflags` -c $<
+ .cpp.o:
+- $(CPP) $(CFLAGS) `pkg-config glib-2.0 --cflags` -c $<
++ $(CXX) $(CFLAGS) `$(PKG_CONFIG) glib-2.0 --cflags` -c $<
+
+
+ all: static
+
+
+ shared: $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS)
+- $(CC) -shared -o libarchive_plugin.so $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS) $(CFLAGS) `pkg-config glib-2.0 --libs` -larchive -lz -lbz2
++ $(CC) -shared -o libarchive_plugin.so $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS) $(CFLAGS) `$(PKG_CONFIG) glib-2.0 --libs` -larchive -lz -lbz2
+
+ static: CFLAGS += -I$(DIR_LIBARCHIVE)/libarchive
+ static: lib_libarchive_compile $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS)
+- $(CC) -shared -o libarchive_plugin.so $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS) $(DIR_LIBARCHIVE)/.libs/libarchive.a $(CFLAGS) `pkg-config glib-2.0 --libs` -lz -lbz2
++ $(CC) -shared -o libarchive_plugin.so $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS) $(DIR_LIBARCHIVE)/.libs/libarchive.a $(CFLAGS) `$(PKG_CONFIG) glib-2.0 --libs` -lz -lbz2
+
+ lib_libarchive_compile:
+ @which uudecode > /dev/null || exit 1;
+--- tuxcmd-modules-0.6.70+ds.orig/zip/Makefile
++++ tuxcmd-modules-0.6.70+ds/zip/Makefile
+@@ -6,7 +6,8 @@ DIR_ZIPARCHIVE = ./ZipArchive/
+
+ # compiler options
+ CC = gcc
+-CPP = g++
++CXX = g++
++PKG_CONFIG ?= pkg-config
+ CFLAGS =-I. -I$(DIR_ZIPARCHIVE) -I/usr/include \
+ -Wall -fPIC -O2 -g \
+ -DG_DISABLE_DEPRECATED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE \
+@@ -23,15 +24,15 @@ VFS_CPP_OBJECTS=zip.o
+
+ .SUFFIXES: .c .cpp
+ .c.o:
+- $(CPP) $(CFLAGS) `pkg-config glib-2.0 --cflags` -c $<
++ $(CXX) $(CFLAGS) `$(PKG_CONFIG) glib-2.0 --cflags` -c $<
+ .cpp.o:
+- $(CPP) $(CFLAGS) `pkg-config glib-2.0 --cflags` -c $<
++ $(CXX) $(CFLAGS) `$(PKG_CONFIG) glib-2.0 --cflags` -c $<
+
+
+ all shared static: libzip_plugin.so
+
+ libzip_plugin.so: ziparchive $(VFS_COMMON_OBJECTS) $(VFS_CPP_OBJECTS) $(VFS_C_OBJECTS)
+- $(CPP) -shared -o libzip_plugin.so zip.o $(VFS_COMMON_OBJECTS) $(DIR_ZIPARCHIVE)libziparch.a -lz -lm $(CFLAGS) `pkg-config glib-2.0 --libs`
++ $(CXX) -shared -o libzip_plugin.so zip.o $(VFS_COMMON_OBJECTS) $(DIR_ZIPARCHIVE)libziparch.a -lz -lm $(CFLAGS) `$(PKG_CONFIG) glib-2.0 --libs`
+
+ ziparchive:
+ ( cd $(DIR_ZIPARCHIVE) && make -f ../Makefile.ziparch ) || exit 1
+--- tuxcmd-modules-0.6.70+ds.orig/zip/Makefile.ziparch
++++ tuxcmd-modules-0.6.70+ds/zip/Makefile.ziparch
+@@ -10,12 +10,6 @@
+ #otherwise, the system's bzip2 library will be used
+ #INTERNAL_BZIP2 = 1
+
+-CC=g++
+-
+-CCC=cc
+-#CCC=gcc
+-
+-
+ CFLAGS = -D ZIP_ARCHIVE_LNX -fPIC -g -O2
+ #CFLAGS =
+
+@@ -59,9 +53,9 @@ RANLIB=ranlib
+
+ .SUFFIXES: .c .cpp
+ .c.o:
+- $(CCC) $(CFLAGS) $(INCLUDES) -c -o $*.o $<
++ $(CC) $(CFLAGS) $(INCLUDES) -c -o $*.o $<
+ .cpp.o:
+- $(CC) $(CFLAGS) $(INCLUDES) -c $<
++ $(CXX) $(CFLAGS) $(INCLUDES) -c $<
+
+ OBJS = $(ZLIBLOCATION)adler32.o $(ZLIBLOCATION)compress.o $(ZLIBLOCATION)crc32.o $(ZLIBLOCATION)uncompr.o $(ZLIBLOCATION)deflate.o $(ZLIBLOCATION)trees.o \
+ $(ZLIBLOCATION)zutil.o $(ZLIBLOCATION)inflate.o $(ZLIBLOCATION)infback.o $(ZLIBLOCATION)inftrees.o $(ZLIBLOCATION)inffast.o\
+@@ -151,7 +145,7 @@ clean:
+ -rm -f *.o *~ $(ZIPARCHLIB) $(ZLIBLOCATION)*.o $(ZLIBLOCATION)*~ $(BZIP2LOCATION)*.o $(BZIP2LOCATION)*~
+
+ zippie:
+- $(CC) -I$(zipardir) $(CFLAGS) -o zippie $(ZIPPIELOCATION)zippie.cpp $(ZIPPIELOCATION)CmdLine.cpp $(LIBS)
++ $(CXX) -I$(zipardir) $(CFLAGS) -o zippie $(ZIPPIELOCATION)zippie.cpp $(ZIPPIELOCATION)CmdLine.cpp $(LIBS)
+ #$(CC) -I$(zipardir) -L$(libdir) $(CFLAGS) -o zippie $(ZIPPIELOCATION)zippie.cpp $(ZIPPIELOCATION)CmdLine.cpp $(LIBS)
+
+ cleanzippie:
diff -Nru tuxcmd-modules-0.6.70+ds/debian/patches/reproducible-build.patch tuxcmd-modules-0.6.70+ds/debian/patches/reproducible-build.patch
--- tuxcmd-modules-0.6.70+ds/debian/patches/reproducible-build.patch 1970-01-01 01:00:00.000000000 +0100
+++ tuxcmd-modules-0.6.70+ds/debian/patches/reproducible-build.patch 2022-11-17 17:15:30.000000000 +0000
@@ -0,0 +1,68 @@
+--- tuxcmd-modules-0.6.70+ds.orig/Makefile
++++ tuxcmd-modules-0.6.70+ds/Makefile
+@@ -1,5 +1,7 @@
+ SUBDIRS = zip libarchive gvfs
+
++export BUILDPATH = $(CURDIR)
++
+ all install clean shared static::
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+--- tuxcmd-modules-0.6.70+ds.orig/gvfs/Makefile
++++ tuxcmd-modules-0.6.70+ds/gvfs/Makefile
+@@ -9,6 +9,8 @@ CFLAGS =-I. -I/usr/include \
+ -Wall -fPIC -O2 -g \
+ -DG_DISABLE_DEPRECATED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
+
++# Avoid embedding build path
++CFLAGS += -ffile-prefix-map=$(BUILDPATH)=.
+
+ # VFS_COMMON_OBJECTS=strutils.o treepathutils.o treepath_vfs.o vfsutils.o
+ VFS_COMMON_OBJECTS=
+--- tuxcmd-modules-0.6.70+ds.orig/libarchive/Makefile
++++ tuxcmd-modules-0.6.70+ds/libarchive/Makefile
+@@ -13,6 +13,9 @@ CFLAGS =-I. -I/usr/include -I$(DIR_COMMO
+ -DG_DISABLE_DEPRECATED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE \
+ -D__VERBOSE_DEBUGx
+
++# Avoid embedding build path
++CFLAGS += -ffile-prefix-map=$(BUILDPATH)=.
++
+ VFS_COMMON_OBJECTS=strutils.o treepathutils.o treepath_vfs.o vfsutils.o
+
+ VFS_OBJECTS=libarchive.o
+--- tuxcmd-modules-0.6.70+ds.orig/zip/Makefile
++++ tuxcmd-modules-0.6.70+ds/zip/Makefile
+@@ -12,6 +12,8 @@ CFLAGS =-I. -I$(DIR_ZIPARCHIVE) -I/usr/i
+ -DG_DISABLE_DEPRECATED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE \
+ -D__VERBOSE_DEBUGx
+
++# Avoid embedding build path
++CFLAGS += -ffile-prefix-map=$(BUILDPATH)=.
+
+ VFS_COMMON_OBJECTS=strutils.o treepathutils.o treepath_vfs.o vfsutils.o
+
+--- tuxcmd-modules-0.6.70+ds.orig/zip/Makefile.ziparch
++++ tuxcmd-modules-0.6.70+ds/zip/Makefile.ziparch
+@@ -19,6 +19,9 @@ CCC=cc
+ CFLAGS = -D ZIP_ARCHIVE_LNX -fPIC -g -O2
+ #CFLAGS =
+
++# Avoid embedding build path
++CFLAGS += -ffile-prefix-map=$(BUILDPATH)=.
++
+ ifdef INTERNAL_BZIP2
+ CFLAGS += -D ZIP_ARCHIVE_BZIP2_INTERNAL
+ endif
+--- tuxcmd-modules-0.6.70+ds.orig/zip/ZipArchive/Makefile
++++ tuxcmd-modules-0.6.70+ds/zip/ZipArchive/Makefile
+@@ -23,6 +23,9 @@ ifdef INTERNAL_BZIP2
+ CFLAGS += -D ZIP_ARCHIVE_BZIP2_INTERNAL
+ endif
+
++# Avoid embedding build path
++CFLAGS += -ffile-prefix-map=$(BUILDPATH)=.
++
+ ZIPARCHLIB = libziparch.a
+
+ ZIPPIELOCATION = ../Zippie/
diff -Nru tuxcmd-modules-0.6.70+ds/debian/patches/series tuxcmd-modules-0.6.70+ds/debian/patches/series
--- tuxcmd-modules-0.6.70+ds/debian/patches/series 2013-05-10 21:00:35.000000000 +0100
+++ tuxcmd-modules-0.6.70+ds/debian/patches/series 2022-11-17 17:15:30.000000000 +0000
@@ -2,3 +2,5 @@
Fix-FTBFS-because-removal-of-ARCHIVE_LIBRARY_VERSION.patch
glib-single-include.patch
fix-FTBFS-with-gcc-4.7.patch
+reproducible-build.patch
+crossbuild.patch
Reply to: