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: