Package: dpkg
Version: 1.14.19
Severity: normal
Tags: patch

I'm using dpkg on Interix, without glibc. See:
http://www.debian-interix.net/

So I'm happy that libcompat has been created/fixed recently,
it still has a bug, however:

lib/tarfn.c uses strnlen(), so libcompat/libcompat.a, which possibly (on Interix it has to) provides strnlen(), should be placed after lib/libdpkg.a in the link invocation cmd.

You might consider the attached patch.

Martin
--- dpkg-1.14.19.orig/dpkg-deb/Makefile.am
+++ dpkg-1.14.19/dpkg-deb/Makefile.am
@@ -17,5 +17,4 @@
 	main.c
 
 dpkg_deb_LDADD = \
-	../libcompat/libcompat.a \
-	$(LIBINTL) ../lib/libdpkg.a $(ZLIB_LIBS) $(BZ2_LIBS) $(SELINUX_LIBS)
+	$(LIBINTL) ../lib/libdpkg.a ../libcompat/libcompat.a $(ZLIB_LIBS) $(BZ2_LIBS) $(SELINUX_LIBS)
--- dpkg-1.14.19.orig/dpkg-split/Makefile.am
+++ dpkg-1.14.19/dpkg-split/Makefile.am
@@ -19,9 +19,9 @@
 	split.c
 
 dpkg_split_LDADD = \
-	../libcompat/libcompat.a \
 	$(LIBINTL) \
-	../lib/libdpkg.a
+	../lib/libdpkg.a \
+	../libcompat/libcompat.a
 
 
 pkglib_SCRIPTS = mksplit
--- dpkg-1.14.19.orig/dselect/Makefile.am
+++ dpkg-1.14.19/dselect/Makefile.am
@@ -35,10 +35,10 @@
 	pkgtop.cc
 
 dselect_LDADD = \
-	../libcompat/libcompat.a \
 	$(LIBINTL) \
 	$(CURSES_LIBS) \
-	../lib/libdpkg.a
+	../lib/libdpkg.a \
+	../libcompat/libcompat.a
 
 
 EXTRA_DIST = keyoverride mkcurkeys.pl
--- dpkg-1.14.19.orig/src/Makefile.am
+++ dpkg-1.14.19/src/Makefile.am
@@ -28,8 +28,7 @@
 	update.c
 
 dpkg_LDADD = \
-	../libcompat/libcompat.a \
-	$(LIBINTL) ../lib/libdpkg.a $(ZLIB_LIBS) $(BZ2_LIBS) $(SELINUX_LIBS)
+	$(LIBINTL) ../lib/libdpkg.a ../libcompat/libcompat.a $(ZLIB_LIBS) $(BZ2_LIBS) $(SELINUX_LIBS)
 
 dpkg_query_SOURCES = \
 	errors.c \
@@ -37,17 +36,17 @@
 	query.c
 
 dpkg_query_LDADD = \
-	../libcompat/libcompat.a \
 	$(LIBINTL) \
-	../lib/libdpkg.a
+	../lib/libdpkg.a \
+	../libcompat/libcompat.a
 
 dpkg_trigger_SOURCES = \
 	trigcmd.c
 
 dpkg_trigger_LDADD = \
-	../libcompat/libcompat.a \
 	$(LIBINTL) \
-	../lib/libdpkg.a
+	../lib/libdpkg.a \
+	../libcompat/libcompat.a
 
 install-data-local:
 	$(mkdir_p) $(DESTDIR)$(admindir)/alternatives

Reply via email to