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)