Michael Vogt лет назад: 14
Родитель
Сommit
fa64f7b255

+ 0 - 1
COMPILING

@@ -36,7 +36,6 @@ functionality. Patches to make autoconf detect these cases and generate the
 required shims are OK.
 
 Current shims:
-  * C99 integer types 'inttypes.h' 
   * sys/statvfs.h to convert from BSD/old-glibc statfs to SUS statvfs
   * rfc2553 hostname resolution (methods/rfc*), shims to normal gethostbyname.
     The more adventurous could steal the KAME IPv6 enabled resolvers for those

+ 1 - 0
apt-pkg/contrib/mmap.cc

@@ -84,6 +84,7 @@ bool MMap::Map(FileFd &Fd)
       if ((Flags & ReadOnly) != ReadOnly)
 	 return _error->Error("Compressed file %s can only be mapped readonly", Fd.Name().c_str());
       Base = new unsigned char[iSize];
+      SyncToFd = new FileFd();
       if (Fd.Seek(0L) == false || Fd.Read(Base, iSize) == false)
 	 return _error->Error("Compressed file %s can't be read into mmap", Fd.Name().c_str());
       return true;

+ 3 - 14
buildlib/config.h.in

@@ -2,20 +2,6 @@
    byte first (like Motorola and SPARC, unlike Intel and VAX).  */
 #undef WORDS_BIGENDIAN
 
-/* The following 4 are only used by inttypes.h shim if the system lacks
-   inttypes.h */
-/* The number of bytes in a usigned char.  */
-#undef SIZEOF_CHAR
-
-/* The number of bytes in a unsigned int.  */
-#undef SIZEOF_INT
-
-/* The number of bytes in a unsigned long.  */
-#undef SIZEOF_LONG
-
-/* The number of bytes in a unsigned short.  */
-#undef SIZEOF_SHORT
-
 /* Define if we have the timegm() function */
 #undef HAVE_TIMEGM
 
@@ -51,4 +37,7 @@
 /* The version number string */
 #undef PACKAGE_VERSION
 
+/* The mail address to reach upstream */
+#undef PACKAGE_MAIL
+
 #define APT_8_CLEANER_HEADERS

+ 1 - 1
buildlib/environment.mak.in

@@ -3,6 +3,7 @@
 
 PACKAGE = @PACKAGE@
 PACKAGE_VERSION = @PACKAGE_VERSION@
+PACKAGE_MAIL = @PACKAGE_MAIL@
 
 # C++ compiler options
 CC = @CC@
@@ -53,7 +54,6 @@ BDBLIB = @BDBLIB@
 INTLLIBS = @INTLLIBS@
 
 # Shim Headerfile control
-HAVE_C9X = @HAVE_C9X@
 HAVE_STATVFS = @HAVE_STATVFS@
 HAVE_ZLIB = @HAVE_ZLIB@
 HAVE_BZ2 = @HAVE_BZ2@

+ 0 - 50
buildlib/inttypes.h.in

@@ -1,50 +0,0 @@
-/* This is an ISO C 9X header file. We omit this copy to the include 
-   directory if the local platform does not have inttypes.h, it contains
-   [u]int[8,16,32]_t fixed width types */
-
-#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;
-  typedef unsigned int uint32_t;
-#else
-# if SIZEOF_LONG == 4
-  typedef long int32_t;
-  typedef unsigned long uint32_t;
-# else
-#  if SIZEOF_SHORT == 4
-    typedef short int32_t;
-    typedef unsigned short uint32_t;
-#  else
-#   error Must have a form of 32-bit integer
-#  endif
-# endif
-#endif
-
-#if SIZEOF_INT == 2
-  typedef int int16_t;
-  typedef unsigned int uint16_t;
-#else
-# if SIZEOF_LONG == 2
-   typedef long int16_t;
-   typedef unsigned long uint16_t;
-# else
-#  if SIZEOF_SHORT == 2
-    typedef short int16_t;
-    typedef unsigned short uint16_t;
-#  else
-#   error Must have a form of 16-bit integer
-#  endif
-# endif
-#endif
-
-typedef signed char int8_t;
-typedef unsigned char uint8_t;

+ 0 - 5
buildlib/makefile.in

@@ -31,11 +31,6 @@ maintainer-clean dist-clean pristine sanity distclean:
 .PHONY: dirs
 dirs: 
 	$(MAKE) -C $(SRCDIR) -f Makefile $@
-ifeq ($(HAVE_C9X),yes)
-	@rm -f include/inttypes.h > /dev/null 2>&1
-else
-	@cp -p $(SRCDIR)/buildlib/inttypes.h.in include/inttypes.h
-endif
 ifeq ($(HAVE_STATVFS),yes)
 	@rm -f include/statvfs.h > /dev/null 2>&1
 else

+ 0 - 14
buildlib/mkChangeLog

@@ -1,14 +0,0 @@
-#!/bin/sh
-
-NAMES="`sed -ne 's/'\''/'\''\\\\'\'''\''/g;
-	         s/^.*CVS:\([^ ]\+\) \([^<]\+\) <\([^>]*\)>/\
-		    -u '\''\1:\2:\3'\''/gp' AUTHORS`"
-OPTIONS="-l 78"
-
-# Generate the standard ChangeLog
-echo CVSIGNORE=po rcs2log $OPTIONS $NAMES
-eval CVSIGNORE=po rcs2log $OPTIONS $NAMES >> ChangeLog
-
-# Generate the po ChangeLog
-#echo rcs2log $OPTIONS $NAMES po
-#eval rcs2log $OPTIONS $NAMES po >> po/ChangeLog

+ 3 - 3
buildlib/podomain.mak

@@ -11,10 +11,10 @@ MY_DOMAIN := $(APT_DOMAIN)
 endif
 
 MKDIRS += $(PO_DOMAINS)/$(MY_DOMAIN)
-$(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list: $(addprefix $(BASE)/$(SUBDIR)/,$(SOURCE))
+$(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list: SRC := $(addprefix $(SUBDIR)/,$(SOURCE))
 $(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list: makefile dirs
-	(echo $(addprefix $(SUBDIR)/,$(SOURCE)) | xargs -n1 echo) > $@
-startup binary program clean: $(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list
+	(echo $(SRC) | xargs -n1 echo) > $@
+startup binary program clean update-po: $(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list
 
 veryclean: veryclean/$(LOCAL)
 veryclean/po/$(LOCAL): LIST := $(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list

+ 0 - 25
buildlib/sizetable

@@ -1,25 +0,0 @@
-#
-# This file lists common architectures for cross-compilation (CPUs, not
-# OSs), and the endian-ness and relative type sizes. It is not needed for
-# native compilation.
-#
-# If you wish to cross-compile APT, and your architecture is not listed
-# here, you should add it, and submit it by email to the APT team at
-# <apt@packages.debian.org>.
-#
-# This is used primarily for the MD5 algorithm.
-# The format is:-
-# CPU endian sizeof: char, int, short, long
-i386    little  1 4 2 4
-amd64   little  1 4 2 8
-armeb   big     1 4 2 4
-arm     little  1 4 2 4
-alpha   little  1 4 2 8
-mipsel  little  1 4 2 4
-sparc   big     1 4 2 4
-sparc64 big     1 4 2 8
-m68k    big     1 4 2 4
-powerpc big     1 4 2 4
-mips    big     1 4 2 4
-hppa    big     1 4 2 4
-m32r	big	1 4 2 4

+ 4 - 44
configure.in

@@ -19,10 +19,13 @@ AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildli
 
 PACKAGE="apt"
 PACKAGE_VERSION="0.9.4"
+PACKAGE_MAIL="APT Development Team <deity@lists.debian.org>"
 AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
 AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"$PACKAGE_VERSION")
+AC_DEFINE_UNQUOTED(PACKAGE_MAIL,"$PACKAGE_MAIL")
 AC_SUBST(PACKAGE)
 AC_SUBST(PACKAGE_VERSION)
+AC_SUBST(PACKAGE_MAIL)
 
 dnl Check the archs, we want the target type.
 AC_CANONICAL_SYSTEM
@@ -116,12 +119,6 @@ fi
 AC_MSG_RESULT($archset)
 AC_DEFINE_UNQUOTED(COMMON_ARCH,"$archset")
 
-dnl We use C99 types if at all possible
-AC_CACHE_CHECK([for C99 integer types],apt_cv_c9x_ints,[
-    AC_TRY_COMPILE([#include <inttypes.h>],
-                   [uint8_t Foo1;uint16_t Foo2;uint32_t Foo3;],
-		   apt_cv_c9x_ints=yes,apt_cv_c9x_ints=no)])
-
 dnl Single Unix Spec statvfs
 AC_CHECK_FUNC(statvfs,[HAVE_STATVFS=yes])
 AC_SUBST(HAVE_STATVFS)
@@ -141,46 +138,9 @@ dnl We should use the real timegm function if we have it.
 AC_CHECK_FUNC(timegm,AC_DEFINE(HAVE_TIMEGM))
 AC_SUBST(HAVE_TIMEGM)
 
-dnl Check the sizes etc. of the architecture
-dnl This is stupid, it should just use the AC macros like it does below
-dnl Cross compilers can either get a real C library or preload the cache
-dnl with their size values.
-changequote(,)
-archline="`awk \" ! /^#|^\\\$/ {if (match(\\\"$archset\\\",\\\$1)) {print; exit}}\" $srcdir/buildlib/sizetable | cut -f 2- -d ' '`"
-if test "x$archline" != "x"; then
-   changequote([,])
-   set $archline
-   if test "$1" = "little"; then
-      ac_cv_c_bigendian=no
-   else
-      ac_cv_c_bigendian=yes
-   fi
-   size_char=$2
-   size_int=$3
-   size_short=$4
-   size_long=$5
-fi
-
-dnl I wonder what AC_C_BIGENDIAN does if you cross compile...
-dnl This is probably bogus, as above we only care if we have to build our own
-dnl C9x types.
-if test "$cross_compiling" = "yes" -a "x$archline" = "x"; then
-  AC_MSG_ERROR(When cross compiling, architecture must be present in sizetable)
-fi
+dnl Check the architecture
 AC_C_BIGENDIAN
 
-dnl We do not need this if we have inttypes!
-HAVE_C9X=yes
-if test x"$apt_cv_c9x_ints" = x"no"; then
-   AC_CHECK_SIZEOF(char,$size_char)
-   AC_CHECK_SIZEOF(int,$size_int)
-   AC_CHECK_SIZEOF(short,$size_short)
-   AC_CHECK_SIZEOF(long,$size_long)
-  
-   HAVE_C9X=
-   AC_SUBST(HAVE_C9X)
-fi
-
 dnl HP-UX sux..
 AC_MSG_CHECKING(for missing socklen_t)
 AC_EGREP_HEADER(socklen_t, sys/socket.h,[AC_MSG_RESULT(no)],[

+ 22 - 0
debian/changelog

@@ -1,3 +1,25 @@
+apt (0.9.5) UNRELEASED; urgency=low
+
+  [ David Kalnischkies ]
+  * buildlib/podomain.mak:
+    - ensure that all sources end up in the srclist so that we don't
+      forget to extract half of the translation strings
+  * buildlib/inttypes.h.in:
+    - remove inttypes.h compatibility as providing such a c99 types
+      compatibility conflicts with the usage of c99 type long long
+  * apt-pkg/contrib/mmap.cc:
+    - have a dummy SyncToFd around in case of ReadOnly access to a
+      compressed file as we otherwise on Close() do not delete[] the
+      char buffer but munmap() it… (Closes: #673815)
+  * debian/control:
+    - moving debiandoc-sgml to Build-Depends-Indep was one step too much
+      for the buildds as we still build two sgml files in arch:any
+  * debian/rules:
+    - move internal-solver as 'apt' to his friend dump-solver in
+      /usr/lib/apt/solvers to avoid writing a manpage for it
+
+ -- David Kalnischkies <kalnischkies@gmail.com>  Mon, 21 May 2012 15:10:49 +0200
+
 apt (0.9.4) unstable; urgency=low
 
   [ David Kalnischkies ]

+ 2 - 2
debian/control

@@ -9,8 +9,8 @@ Standards-Version: 3.9.3
 Build-Depends: dpkg-dev (>= 1.15.8), debhelper (>= 8.1.3~), libdb-dev,
  gettext (>= 0.12), libcurl4-gnutls-dev (>= 7.19.0),
  zlib1g-dev, libbz2-dev, xsltproc, docbook-xsl, docbook-xml,
- po4a (>= 0.34-2), autotools-dev, autoconf, automake
-Build-Depends-Indep: debiandoc-sgml, doxygen
+ po4a (>= 0.34-2), autotools-dev, autoconf, automake, debiandoc-sgml
+Build-Depends-Indep: doxygen
 Build-Conflicts: autoconf2.13, automake1.4
 Vcs-Bzr: http://bzr.debian.org/apt/debian-sid/
 Vcs-Browser: http://bzr.debian.org/loggerhead/apt/debian-sid/

+ 3 - 2
debian/rules

@@ -51,7 +51,7 @@ override BLD := ./build
 endif
 
 # APT Programs in apt-utils
-APT_UTILS=ftparchive sortpkgs extracttemplates internal-solver
+APT_UTILS=ftparchive sortpkgs extracttemplates
 
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
@@ -191,7 +191,7 @@ apt: build build-manpages
 	dh_install -p$@ --sourcedir=$(BLD)
 
 	# Remove the bits that are in apt-utils
-	rm $(addprefix debian/$@/usr/bin/apt-,$(APT_UTILS) dump-solver)
+	rm $(addprefix debian/$@/usr/bin/apt-,$(APT_UTILS) dump-solver internal-solver)
 
 	# https has its own package
 	rm debian/$@/usr/lib/apt/methods/https
@@ -245,6 +245,7 @@ apt-utils: build build-manpages
 
 	cp $(addprefix $(BLD)/bin/apt-,$(APT_UTILS)) debian/$@/usr/bin/
 	cp $(BLD)/bin/apt-dump-solver debian/$@/usr/lib/apt/solvers/dump
+	cp $(BLD)/bin/apt-internal-solver debian/$@/usr/lib/apt/solvers/apt
 
 	dh_install -p$@ --sourcedir=$(BLD)
 	dh_link -p$@

+ 7 - 3
doc/makefile

@@ -83,14 +83,18 @@ ifdef PO4A
 doc: po4a
 
 update-po:
-	po4a --previous --no-backups --force --no-translations po4a.conf
+	po4a --previous --no-backups --force --no-translations \
+		--package-name='$(PACKAGE)' --package-version='$(PACKAGE_VERSION)' \
+		--msgid-bugs-address='$(PACKAGE_MAIL)' po4a.conf
 
 po4a:
-	po4a --previous --no-backups po4a.conf
+	po4a --previous --no-backups \
+		--package-name='$(PACKAGE)' --package-version='$(PACKAGE_VERSION)' \
+		--msgid-bugs-address='$(PACKAGE_MAIL)' po4a.conf
 endif
 
 stats:
-	for i in po/*.po; do echo -n "$$i: "; msgfmt --statistics $$i; done
+	for i in po/*.po; do echo -n "$$i: "; msgfmt --output-file=/dev/null --statistics $$i; done
 
 ifdef DOXYGEN
 DOXYGEN_SOURCES = $(shell find $(BASE)/apt-pkg -not -name .\\\#* -and \( -name \*.cc -or -name \*.h \) )

+ 3 - 3
po/makefile

@@ -61,7 +61,7 @@ $(MOFILES) : $(PO_DOMAINS)/%.mo : $(PO_DOMAINS)/%.po
 	cp $@ $(LOCALE)/$(notdir $*)/LC_MESSAGES/$(call GETDOMAIN,$*).mo
 
 stats:
-	for i in *.pot *.po; do echo -n "$$i: "; msgfmt --statistics $$i; done
+	for i in *.pot *.po; do echo -n "$$i: "; msgfmt --output-file=/dev/null --statistics $$i; done
 
 binary: $(POTFILES) $(MOFILES)
 
@@ -69,8 +69,8 @@ $(PACKAGE)-all.pot: $(POTFILES)
 	# we create our partial pot files without a header to avoid changing dates in *.mo files,
 	# but we want a header for our master-pot file, so we use a dummy pot with nothing but the header
 	$(XGETTEXT) --default-domain=$(PO)/$(PACKAGE)-dummy.pot --foreign --language=c \
-		-o $(PO)/$(PACKAGE)-dummy.pot --force-po --package-name=$(PACKAGE) \
-		--package-version=$(PACKAGE_VERSION) --msgid-bugs-address=deity@lists.debian.org /dev/null
+		-o $(PO)/$(PACKAGE)-dummy.pot --force-po --package-name='$(PACKAGE)' \
+		--package-version='$(PACKAGE_VERSION)' --msgid-bugs-address='$(PACKAGE_MAIL)' /dev/null
 	$(MSGCOMM) --more-than=0 $(PO)/$(PACKAGE)-dummy.pot $(POTFILES) --output=$(PACKAGE)-all.pot
 	rm -f $(PO)/$(PACKAGE)-dummy.pot