[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#392063: portability patch




Hello,

I now have prepared a patch to increase the portability of apt. I have built apt against a non-gnu libc, and this patch was necessary.

To further increase portability, you might also want to consider to replace (not in the patch)
#include <stdint.h>
by
#include <inttypes.h>
in apt-pkg/contrib/{md5.h,sha256.cc}

as apt has a fall-back inttypes.h in case the build system doesn't have one (my system doesn't have one!), but doesn't have a fall-back stdint.h, which my system doesn't have, either.

Martin
--- apt-0.6.46.4.orig/buildlib/apti18n.h.in
+++ apt-0.6.46.4/buildlib/apti18n.h.in
@@ -18,6 +18,8 @@
 #else
 // apt will not use any gettext
 # define setlocale(a, b)
+# define textdomain(a)
+# define bindtextdomain(a, b)
 # define _(x) x
 # define N_(x) x
 #endif
--- apt-0.6.46.4.orig/buildlib/inttypes.h.in
+++ apt-0.6.46.4/buildlib/inttypes.h.in
@@ -4,6 +4,13 @@
 
 #include <config.h>
 
+#undef int32_t
+#undef uint32_t
+#undef int16_t
+#undef uint16_t
+#undef int8_t
+#undef uint8_t
+
 /* Generate the fixed bit size types */
 #if SIZEOF_INT == 4
   typedef int int32_t;
--- apt-0.6.46.4.orig/cmdline/makefile
+++ apt-0.6.46.4/cmdline/makefile
@@ -7,42 +7,42 @@
 
 # The apt-cache program
 PROGRAM=apt-cache
-SLIBS = -lapt-pkg
+SLIBS = -lapt-pkg $(INTLLIBS)
 LIB_MAKES = apt-pkg/makefile
 SOURCE = apt-cache.cc
 include $(PROGRAM_H)
 
 # The apt-get program
 PROGRAM=apt-get
-SLIBS = -lapt-pkg
+SLIBS = -lapt-pkg $(INTLLIBS)
 LIB_MAKES = apt-pkg/makefile
 SOURCE = apt-get.cc acqprogress.cc
 include $(PROGRAM_H)
 
 # The apt-config program
 PROGRAM=apt-config
-SLIBS = -lapt-pkg
+SLIBS = -lapt-pkg $(INTLLIBS)
 LIB_MAKES = apt-pkg/makefile
 SOURCE = apt-config.cc
 include $(PROGRAM_H)
 
 # The apt-cdrom program
 PROGRAM=apt-cdrom
-SLIBS = -lapt-pkg
+SLIBS = -lapt-pkg $(INTLLIBS)
 LIB_MAKES = apt-pkg/makefile
 SOURCE = apt-cdrom.cc 
 include $(PROGRAM_H)
 
 # The apt-sortpkgs program
 PROGRAM=apt-sortpkgs
-SLIBS = -lapt-pkg
+SLIBS = -lapt-pkg $(INTLLIBS)
 LIB_MAKES = apt-pkg/makefile
 SOURCE = apt-sortpkgs.cc
 include $(PROGRAM_H)
 
 # The apt-extracttemplates program
 PROGRAM=apt-extracttemplates
-SLIBS = -lapt-pkg -lapt-inst
+SLIBS = -lapt-pkg -lapt-inst $(INTLLIBS)
 LIB_MAKES = apt-pkg/makefile
 SOURCE = apt-extracttemplates.cc 
 include $(PROGRAM_H)
--- apt-0.6.46.4.orig/ftparchive/makefile
+++ apt-0.6.46.4/ftparchive/makefile
@@ -8,10 +8,10 @@
 # The apt-ftparchive program
 ifdef BDBLIB
 PROGRAM=apt-ftparchive
-SLIBS = -lapt-pkg -lapt-inst $(BDBLIB)
+SLIBS = -lapt-pkg -lapt-inst $(BDBLIB) $(INTLLIBS)
 LIB_MAKES = apt-pkg/makefile apt-inst/makefile
 SOURCE = apt-ftparchive.cc cachedb.cc writer.cc contents.cc override.cc \
          multicompress.cc
--- apt-0.6.46.4.orig/methods/makefile
+++ apt-0.6.46.4/methods/makefile
@@ -12,63 +12,63 @@
 
 # The file method
 PROGRAM=file
-SLIBS = -lapt-pkg 
+SLIBS = -lapt-pkg $(INTLLIBS)
 LIB_MAKES = apt-pkg/makefile
 SOURCE = file.cc
 include $(PROGRAM_H)
 
 # The copy method
 PROGRAM=copy
-SLIBS = -lapt-pkg 
+SLIBS = -lapt-pkg $(INTLLIBS)
 LIB_MAKES = apt-pkg/makefile
 SOURCE = copy.cc
 include $(PROGRAM_H)
 
 # The gzip method
 PROGRAM=gzip
-SLIBS = -lapt-pkg 
+SLIBS = -lapt-pkg $(INTLLIBS)
 LIB_MAKES = apt-pkg/makefile
 SOURCE = gzip.cc
 include $(PROGRAM_H)
 
 # The gpgv method
 PROGRAM=gpgv
-SLIBS = -lapt-pkg
+SLIBS = -lapt-pkg $(INTLLIBS)
 LIB_MAKES = apt-pkg/makefile
 SOURCE = gpgv.cc
 include $(PROGRAM_H)
 
 # The cdrom method
 PROGRAM=cdrom
-SLIBS = -lapt-pkg 
+SLIBS = -lapt-pkg $(INTLLIBS)
 LIB_MAKES = apt-pkg/makefile
 SOURCE = cdrom.cc
 include $(PROGRAM_H)
 
 # The http method
 PROGRAM=http
-SLIBS = -lapt-pkg $(SOCKETLIBS)
+SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS)
 LIB_MAKES = apt-pkg/makefile
 SOURCE = http.cc rfc2553emu.cc connect.cc
 include $(PROGRAM_H)
 
 # The ftp method
 PROGRAM=ftp
-SLIBS = -lapt-pkg $(SOCKETLIBS)
+SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS)
 LIB_MAKES = apt-pkg/makefile
 SOURCE = ftp.cc rfc2553emu.cc connect.cc
 include $(PROGRAM_H)
 
 # The rred method
 PROGRAM=rred
-SLIBS = -lapt-pkg $(SOCKETLIBS)
+SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS)
 LIB_MAKES = apt-pkg/makefile
 SOURCE = rred.cc
 include $(PROGRAM_H)
 
 # The rsh method
 PROGRAM=rsh
-SLIBS = -lapt-pkg
+SLIBS = -lapt-pkg $(INTLLIBS)
 LIB_MAKES = apt-pkg/makefile
 SOURCE = rsh.cc
 include $(PROGRAM_H)

Reply to: