Browse Source

merged from the mvo branch (and contains all non-abi break changes from donkult)

debian/1.8.y
Michael Vogt 13 years ago
parent
commit
43be0ac4b3
  1. 17
      .bzrignore
  2. 3
      apt-inst/makefile
  3. 12
      apt-pkg/contrib/strutl.h
  4. 8
      apt-pkg/deb/debsrcrecords.cc
  5. 8
      apt-pkg/init.h
  6. 11
      apt-pkg/makefile
  7. 15
      apt-pkg/packagemanager.cc
  8. 1526
      buildlib/config.guess
  9. 1
      buildlib/config.h.in
  10. 1658
      buildlib/config.sub
  11. 8
      buildlib/configure.mak
  12. 3
      buildlib/defaults.mak
  13. 10
      buildlib/environment.mak.in
  14. 16
      buildlib/library.mak
  15. 14
      buildlib/libversion.mak
  16. 11
      buildlib/po4a_manpage.mak
  17. 45
      buildlib/sgml_manpage.mak
  18. 50
      buildlib/tools.m4
  19. 45
      buildlib/xml_manpage.mak
  20. 42
      buildlib/yodl_manpage.mak
  21. 219
      cmdline/apt-get.cc
  22. 15
      cmdline/apt-mark
  23. 11
      configure.in
  24. 2
      debian/NEWS
  25. 66
      debian/changelog
  26. 9
      debian/control
  27. 17
      debian/rules
  28. 2
      doc/apt-cache.8.xml
  29. 2
      doc/apt-extracttemplates.1.xml
  30. 15
      doc/apt-ftparchive.1.xml
  31. 4
      doc/apt-get.8.xml
  32. 2
      doc/apt-mark.8.xml
  33. 12
      doc/apt-secure.8.xml
  34. 43
      doc/apt.conf.5.xml
  35. 8
      doc/apt.ent
  36. 6
      doc/de/addendum/xml_de.add
  37. 11
      doc/de/makefile
  38. 9
      doc/es/addendum/xml_es.add
  39. 454
      doc/es/apt-cache.es.8.sgml
  40. 167
      doc/es/apt-cdrom.es.8.sgml
  41. 123
      doc/es/apt-config.es.8.sgml
  42. 558
      doc/es/apt-get.es.8.sgml
  43. 447
      doc/es/apt.conf.es.5.sgml
  44. 155
      doc/es/apt.ent.es
  45. 55
      doc/es/apt.es.8
  46. 587
      doc/es/apt_preferences.es.5.sgml
  47. 9
      doc/es/makefile
  48. 225
      doc/es/sources.list.es.5.sgml
  49. 120
      doc/es/vendors.list.es.5.sgml
  50. 7
      doc/fr/addendum/debiandoc_fr.add
  51. 585
      doc/guide.it.sgml
  52. 11
      doc/it/makefile
  53. 7
      doc/ja/addendum/debiandoc_ja.add
  54. 0
      doc/ja/manpage.links
  55. 40
      doc/makefile
  56. 8
      doc/pl/makefile
  57. 252
      doc/pl/offline.pl.sgml
  58. 1627
      doc/po/apt-doc.pot
  59. 1853
      doc/po/de.po
  60. 10127
      doc/po/es.po
  61. 1817
      doc/po/fr.po
  62. 8362
      doc/po/it.po
  63. 2217
      doc/po/ja.po
  64. 8117
      doc/po/pl.po
  65. 8515
      doc/po/pt_BR.po
  66. 9
      doc/po4a.conf
  67. 5
      doc/pt_BR/addendum/xml_pt_BR.add
  68. 157
      doc/pt_BR/apt.ent.pt_BR
  69. 589
      doc/pt_BR/apt_preferences.pt_BR.5.sgml
  70. 7
      doc/pt_BR/makefile
  71. 26
      doc/sources.list.5.xml
  72. 10
      ftparchive/cachedb.cc
  73. 21
      ftparchive/writer.cc
  74. 1
      ftparchive/writer.h
  75. 4
      methods/connect.cc
  76. 1
      methods/https.cc
  77. 5
      methods/makefile
  78. 368
      po/apt-all.pot
  79. 279
      po/ar.po
  80. 291
      po/ast.po
  81. 287
      po/bg.po
  82. 279
      po/bs.po
  83. 291
      po/ca.po
  84. 286
      po/cs.po
  85. 288
      po/cy.po
  86. 286
      po/da.po
  87. 291
      po/de.po
  88. 288
      po/dz.po
  89. 286
      po/el.po
  90. 286
      po/en_GB.po
  91. 286
      po/es.po
  92. 286
      po/eu.po
  93. 286
      po/fi.po
  94. 300
      po/fr.po
  95. 286
      po/gl.po
  96. 286
      po/hu.po
  97. 162
      po/it.po
  98. 286
      po/ja.po
  99. 288
      po/km.po
  100. 286
      po/ko.po

17
.bzrignore

@ -9,7 +9,8 @@ autom4te.cache/
build/
configure
# generated apt man pages
# generated files in the progress to build all
# apt man pages and other documentation
doc/*.1
doc/*.5
doc/*.8
@ -17,15 +18,5 @@ doc/*/*.1
doc/*/*.5
doc/*/*.8
doc/*/apt.ent
# ignore xml man page files generated by po4a
# older translation methods translate in this files
# so we can not ignore it for all translations now
doc/ja/*.xml
doc/fr/*.xml
# FIXME: files generated by deprecated sgml man pages
doc/es/manpage.links
doc/es/manpage.refs
doc/pt_BR/manpage.links
doc/pt_BR/manpage.refs
doc/*/*.xml
doc/*/*.sgml

3
apt-inst/makefile

@ -11,8 +11,7 @@ include ../buildlib/defaults.mak
# The library name
LIBRARY=apt-inst
LIBEXT=$(GLIBC_VER)$(LIBSTDCPP_VER)
MAJOR=1.1
MAJOR=1.2
MINOR=0
SLIBS=$(PTHREADLIB) -lapt-pkg
APT_DOMAIN:=libapt-inst$(MAJOR)

12
apt-pkg/contrib/strutl.h

@ -68,15 +68,15 @@ int tolower_ascii(int c);
#define APT_MKSTRCMP(name,func) \
inline int name(const char *A,const char *B) {return func(A,A+strlen(A),B,B+strlen(B));}; \
inline int name(const char *A,const char *AEnd,const char *B) {return func(A,AEnd,B,B+strlen(B));}; \
inline int name(string A,const char *B) {return func(A.c_str(),A.c_str()+A.length(),B,B+strlen(B));}; \
inline int name(string A,string B) {return func(A.c_str(),A.c_str()+A.length(),B.c_str(),B.c_str()+B.length());}; \
inline int name(string A,const char *B,const char *BEnd) {return func(A.c_str(),A.c_str()+A.length(),B,BEnd);};
inline int name(const string& A,const char *B) {return func(A.c_str(),A.c_str()+A.length(),B,B+strlen(B));}; \
inline int name(const string& A,const string& B) {return func(A.c_str(),A.c_str()+A.length(),B.c_str(),B.c_str()+B.length());}; \
inline int name(const string& A,const char *B,const char *BEnd) {return func(A.c_str(),A.c_str()+A.length(),B,BEnd);};
#define APT_MKSTRCMP2(name,func) \
inline int name(const char *A,const char *AEnd,const char *B) {return func(A,AEnd,B,B+strlen(B));}; \
inline int name(string A,const char *B) {return func(A.begin(),A.end(),B,B+strlen(B));}; \
inline int name(string A,string B) {return func(A.begin(),A.end(),B.begin(),B.end());}; \
inline int name(string A,const char *B,const char *BEnd) {return func(A.begin(),A.end(),B,BEnd);};
inline int name(const string& A,const char *B) {return func(A.begin(),A.end(),B,B+strlen(B));}; \
inline int name(const string& A,const string& B) {return func(A.begin(),A.end(),B.begin(),B.end());}; \
inline int name(const string& A,const char *B,const char *BEnd) {return func(A.begin(),A.end(),B,BEnd);};
int stringcmp(const char *A,const char *AEnd,const char *B,const char *BEnd);
int stringcasecmp(const char *A,const char *AEnd,const char *B,const char *BEnd);

8
apt-pkg/deb/debsrcrecords.cc

@ -135,9 +135,15 @@ bool debSrcRecordParser::Files(vector<pkgSrcRecords::File> &List)
string::size_type Tmp = F.Path.rfind('.',Pos);
if (Tmp == string::npos)
break;
if (F.Type == "tar") {
// source v3 has extension 'debian.tar.*' instead of 'diff.*'
if (string(F.Path, Tmp+1, Pos-Tmp) == "debian")
F.Type = "diff";
break;
}
F.Type = string(F.Path,Tmp+1,Pos-Tmp);
if (F.Type == "gz" || F.Type == "bz2" || F.Type == "lzma")
if (F.Type == "gz" || F.Type == "bz2" || F.Type == "lzma" || F.Type == "tar")
{
Pos = Tmp-1;
continue;

8
apt-pkg/init.h

@ -16,10 +16,14 @@
#include <apt-pkg/configuration.h>
#include <apt-pkg/pkgsystem.h>
// See the makefile
// These lines are extracted by the makefiles and the buildsystem
// Increasing MAJOR or MINOR results in the need of recompiling all
// reverse-dependencies of libapt-pkg against the new SONAME.
// Non-ABI-Breaks should only increase RELEASE number.
// See also buildlib/libversion.mak
#define APT_PKG_MAJOR 4
#define APT_PKG_MINOR 8
#define APT_PKG_RELEASE 1
#define APT_PKG_RELEASE 0
extern const char *pkgVersion;
extern const char *pkgLibVersion;

11
apt-pkg/makefile

@ -9,14 +9,13 @@ HEADER_TARGETDIRS = apt-pkg
# Bring in the default rules
include ../buildlib/defaults.mak
# The library name, don't forget to update init.h and the copy in
# methods/makefile - FIXME
# The library name and version (indirectly used from init.h)
include ../buildlib/libversion.mak
LIBRARY=apt-pkg
LIBEXT=$(GLIBC_VER)$(LIBSTDCPP_VER)
MAJOR=4.8
MINOR=1
MAJOR=$(LIBAPTPKG_MAJOR)
MINOR=$(LIBAPTPKG_RELEASE)
SLIBS=$(PTHREADLIB) $(INTLLIBS) -lutil -ldl
APT_DOMAIN:=libapt-pkg$(MAJOR)
APT_DOMAIN:=libapt-pkg$(LIBAPTPKG_MAJOR)
# Source code for the contributed non-core things
SOURCE = contrib/mmap.cc contrib/error.cc contrib/strutl.cc \

15
apt-pkg/packagemanager.cc

@ -143,10 +143,6 @@ void pkgPackageManager::ImmediateAdd(PkgIterator I, bool UseInstallVer, unsigned
for ( /* nothing */ ; D.end() == false; D++)
if (D->Type == pkgCache::Dep::Depends || D->Type == pkgCache::Dep::PreDepends)
{
// ignore dependencies if no instal/upgrade/remove is going to happen
if (D.TargetPkg() == 0 || Cache[D.TargetPkg()].Keep())
continue;
if(!List->IsFlag(D.TargetPkg(), pkgOrderList::Immediate))
{
if(Debug)
@ -325,8 +321,9 @@ bool pkgPackageManager::SmartConfigure(PkgIterator Pkg)
// Sanity Check
if (List->IsFlag(Pkg,pkgOrderList::Configured) == false)
return _error->Error("Internal error, could not immediate configure %s",Pkg.Name());
return _error->Error(_("Could not perform immediate configuration on '%s'."
"Please see man 5 apt.conf under APT::Immediate-Configure for details. (%d)"),Pkg.Name(),1);
return true;
}
/*}}}*/
@ -478,7 +475,8 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg)
List->Flag(Pkg,pkgOrderList::UnPacked,pkgOrderList::States);
if (List->IsFlag(Pkg,pkgOrderList::Immediate) == true)
if (SmartConfigure(Pkg) == false)
return _error->Error("Internal Error, Could not perform immediate configuration (1) on %s",Pkg.Name());
return _error->Error(_("Could not perform immediate configuration on already unpacked '%s'."
"Please see man 5 apt.conf under APT::Immediate-Configure for details."),Pkg.Name());
return true;
}
@ -585,7 +583,8 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg)
// Perform immedate configuration of the package.
if (List->IsFlag(Pkg,pkgOrderList::Immediate) == true)
if (SmartConfigure(Pkg) == false)
return _error->Error("Internal Error, Could not perform immediate configuration (2) on %s",Pkg.Name());
return _error->Error(_("Could not perform immediate configuration on '%s'."
"Please see man 5 apt.conf under APT::Immediate-Configure for details. (%d)"),Pkg.Name(),2);
return true;
}

1526
buildlib/config.guess

File diff suppressed because it is too large

1
buildlib/config.h.in

@ -22,6 +22,7 @@
/* These two are used by the statvfs shim for glibc2.0 and bsd */
/* Define if we have sys/vfs.h */
#undef HAVE_VFS_H
#undef HAVE_STRUCT_STATFS_F_TYPE
/* Define if we have sys/mount.h */
#undef HAVE_MOUNT_H

1658
buildlib/config.sub

File diff suppressed because it is too large

8
buildlib/configure.mak

@ -15,7 +15,13 @@ BUILDDIR=build
.PHONY: startup
startup: configure $(BUILDDIR)/config.status $(addprefix $(BUILDDIR)/,$(CONVERTED))
configure: aclocal.m4 configure.in
# use the files provided from the system instead of carry around
# and use (most of the time outdated) copycats
buildlib/config.sub:
ln -sf /usr/share/misc/config.sub buildlib/config.sub
buildlib/config.guess:
ln -sf /usr/share/misc/config.guess buildlib/config.guess
configure: aclocal.m4 configure.in buildlib/config.guess buildlib/config.sub
autoconf
aclocal.m4: $(wildcard buildlib/*.m4)

3
buildlib/defaults.mak

@ -81,10 +81,7 @@ MANPAGE_H = $(BASE)/buildlib/manpage.mak
PROGRAM_H = $(BASE)/buildlib/program.mak
PYTHON_H = $(BASE)/buildlib/python.mak
COPY_H = $(BASE)/buildlib/copy.mak
YODL_MANPAGE_H = $(BASE)/buildlib/yodl_manpage.mak
SGML_MANPAGE_H = $(BASE)/buildlib/sgml_manpage.mak
PO4A_MANPAGE_H = $(BASE)/buildlib/po4a_manpage.mak
XML_MANPAGE_H = $(BASE)/buildlib/xml_manpage.mak
FAIL_H = $(BASE)/buildlib/fail.mak
PODOMAIN_H = $(BASE)/buildlib/podomain.mak

10
buildlib/environment.mak.in

@ -9,8 +9,6 @@ CPPFLAGS+= @CPPFLAGS@ @DEFS@ -D_REENTRANT -Wall
CXX = @CXX@
CXXFLAGS+= @CXXFLAGS@
NUM_PROCS = @NUM_PROCS@
GLIBC_VER = @GLIBC_VER@
LIBSTDCPP_VER = @LIBSTDCPP_VER@
# Linker stuff
PICFLAGS+= -fPIC -DPIC
@ -30,13 +28,7 @@ DEBIANDOC_TEXT = @DEBIANDOC_TEXT@
DOXYGEN = @DOXYGEN@
# SGML for the man pages
DOCBOOK2MAN := @DOCBOOK2MAN@
# XML for the man pages
XMLTO := @XMLTO@
# po4a for the man pages
# xsltproc for the man pages
XSLTPROC := @XSLTPROC@
# po4a for the man pages

16
buildlib/library.mak

@ -5,7 +5,7 @@
# Input
# $(SOURCE) - The source code to use
# $(HEADERS) - Exported header files and private header files
# $(LIBRARY) - The name of the library without lib or .so
# $(LIBRARY) - The name of the library without lib or .so
# $(MAJOR) - The major version number of this library
# $(MINOR) - The minor version number of this library
# $(APT_DOMAIN) - The text domain for this library
@ -16,11 +16,11 @@
# See defaults.mak for information about LOCAL
# Some local definitions
LOCAL := lib$(LIBRARY)$(LIBEXT).so.$(MAJOR).$(MINOR)
LOCAL := lib$(LIBRARY).so.$(MAJOR).$(MINOR)
$(LOCAL)-OBJS := $(addprefix $(OBJ)/,$(addsuffix .opic,$(notdir $(basename $(SOURCE)))))
$(LOCAL)-DEP := $(addprefix $(DEP)/,$(addsuffix .opic.d,$(notdir $(basename $(SOURCE)))))
$(LOCAL)-HEADERS := $(addprefix $(INCLUDE)/,$(HEADERS))
$(LOCAL)-SONAME := lib$(LIBRARY)$(LIBEXT).so.$(MAJOR)
$(LOCAL)-SONAME := lib$(LIBRARY).so.$(MAJOR)
$(LOCAL)-SLIBS := $(SLIBS)
$(LOCAL)-LIBRARY := $(LIBRARY)
@ -29,7 +29,7 @@ include $(PODOMAIN_H)
# Install the command hooks
headers: $($(LOCAL)-HEADERS)
library: $(LIB)/lib$(LIBRARY).so $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR)
library: $(LIB)/lib$(LIBRARY).so $(LIB)/lib$(LIBRARY).so.$(MAJOR)
clean: clean/$(LOCAL)
veryclean: veryclean/$(LOCAL)
@ -44,14 +44,14 @@ veryclean/$(LOCAL): clean/$(LOCAL)
-rm -f $($(@F)-HEADERS) $(LIB)/lib$($(@F)-LIBRARY)*.so*
# Build rules for the two symlinks
.PHONY: $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR) $(LIB)/lib$(LIBRARY).so
$(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR): $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR).$(MINOR)
.PHONY: $(LIB)/lib$(LIBRARY).so.$(MAJOR) $(LIB)/lib$(LIBRARY).so
$(LIB)/lib$(LIBRARY).so.$(MAJOR): $(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR)
ln -sf $(<F) $@
$(LIB)/lib$(LIBRARY).so: $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR).$(MINOR)
$(LIB)/lib$(LIBRARY).so: $(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR)
ln -sf $(<F) $@
# The binary build rule
$(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR).$(MINOR): $($(LOCAL)-HEADERS) $($(LOCAL)-OBJS)
$(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR): $($(LOCAL)-HEADERS) $($(LOCAL)-OBJS)
-rm -f $(LIB)/lib$($(@F)-LIBRARY)*.so* 2> /dev/null
echo Building shared library $@
$(CXX) $(CXXFLAGS) $(LDFLAGS) $(PICFLAGS) $(LFLAGS) $(LFLAGS_SO)\

14
buildlib/libversion.mak

@ -0,0 +1,14 @@
# -*- make -*-
# Version number of libapt-pkg.
# Please increase MAJOR with each ABI break,
# with each non-ABI break to the lib, please increase RELEASE.
# The versionnumber is extracted from apt-pkg/init.h - see also there.
LIBAPTPKG_MAJOR=$(shell awk -v ORS='.' '/^\#define APT_PKG_M/ {print $$3}' $(BASE)/apt-pkg/init.h | sed 's/\.$$//')
LIBAPTPKG_RELEASE=$(shell grep -E '^\#define APT_PKG_RELEASE' $(BASE)/apt-pkg/init.h | cut -d ' ' -f 3)
# Version number of libapt-inst
# Please increase MAJOR with each ABI break,
# with each non-ABI break to the lib, please increase MINOR.
# The versionnumber is extracted from apt-inst/makefile - see also there.
LIBAPTINST_MAJOR=$(shell egrep '^MAJOR=' $(BASE)/apt-inst/makefile |cut -d '=' -f 2)
LIBAPTINST_MINOR=$(shell egrep '^MINOR=' $(BASE)/apt-inst/makefile |cut -d '=' -f 2)

11
buildlib/po4a_manpage.mak

@ -28,19 +28,21 @@ veryclean: veryclean/$(LOCAL)
$($(LOCAL)-LIST) :: % : %.xml $(INCLUDES)
echo Creating man page $@
$(XSLTPROC) -o $@ $(STYLESHEET) $< # why xsltproc doesn't respect the -o flag here???
test -f $(subst .$(LC),,$@) || echo FIXME: xsltproc respect the -o flag now, workaround can be removed
mv -f $(subst .$(LC),,$@) $@
# Clean rule
.PHONY: veryclean/$(LOCAL)
veryclean/$(LOCAL):
-rm -rf $($(@F)-LIST) apt.ent apt.$(LC).8 \
$(addsuffix .xml,$($(@F)-LIST))
$(addsuffix .xml,$($(@F)-LIST)) \
offline.$(LC).sgml guide.$(LC).sgml
HAVE_PO4A=yes
endif
# take care of the rest
SOURCE := $(SOURCE) apt.$(LC).8
SOURCE := $(SOURCE) $(wildcard apt.$(LC).8)
INCLUDES :=
ifndef HAVE_PO4A
@ -52,3 +54,8 @@ endif
ifneq ($(words $(SOURCE)),0)
include $(MANPAGE_H)
endif
# Debian Doc SGML Documents
SOURCE := $(wildcard *.$(LC).sgml)
DEBIANDOC_HTML_OPTIONS=-l $(LC)
include $(DEBIANDOC_H)

45
buildlib/sgml_manpage.mak

@ -1,45 +0,0 @@
# -*- make -*-
# This handles man pages in DocBook SGMLL format. We convert to the respective
# output in the source directory then copy over to the final dest. This
# means yodl is only needed if compiling from CVS
# Input
# $(SOURCE) - The documents to use, in the form foo.sect, ie apt-cache.8
# the sgml files are called apt-cache.8.sgml
# See defaults.mak for information about LOCAL
# Some local definitions
ifdef DOCBOOK2MAN
LOCAL := sgml-manpage-$(firstword $(SOURCE))
$(LOCAL)-LIST := $(SOURCE)
# Install generation hooks
doc: $($(LOCAL)-LIST)
veryclean: veryclean/$(LOCAL)
$($(LOCAL)-LIST) :: % : %.sgml $(INCLUDES)
echo Creating man page $@
$(DOCBOOK2MAN) $<
# Clean rule
.PHONY: veryclean/$(LOCAL)
veryclean/$(LOCAL):
-rm -rf $($(@F)-LIST)
HAVE_SGML=yes
endif
INCLUDES :=
ifndef HAVE_SGML
# Strip from the source list any man pages we dont have compiled already
SOURCE := $(wildcard $(SOURCE))
endif
# Chain to the manpage rule
ifneq ($(words $(SOURCE)),0)
include $(MANPAGE_H)
endif

50
buildlib/tools.m4

@ -89,56 +89,6 @@ AC_DEFUN(ah_NUM_PROCS,
AC_SUBST(NUM_PROCS)
])
AC_DEFUN(rc_GLIBC_VER,
[AC_MSG_CHECKING([glibc version])
AC_CACHE_VAL(ac_cv_glibc_ver,
dummy=if$$
cat <<_GLIBC_>$dummy.c
#include <features.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv) { printf("libc6.%d",__GLIBC_MINOR__); exit(0); }
_GLIBC_
${CC-cc} $dummy.c -o $dummy > /dev/null 2>&1
if test "$?" = 0; then
GLIBC_VER=`./$dummy`
AC_MSG_RESULT([$GLIBC_VER])
ac_cv_glibc_ver=$GLIBC_VER
else
AC_MSG_WARN([cannot determine GNU C library minor version number])
fi
rm -f $dummy $dummy.c
)
GLIBC_VER="-$ac_cv_glibc_ver"
AC_SUBST(GLIBC_VER)
])
AC_DEFUN(rc_LIBSTDCPP_VER,
[AC_MSG_CHECKING([libstdc++ version])
dummy=if$$
cat <<_LIBSTDCPP_>$dummy.cc
#include <features.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv) { exit(0); }
_LIBSTDCPP_
${CXX-c++} $dummy.cc -o $dummy > /dev/null 2>&1
if test "$?" = 0; then
soname=`objdump -p ./$dummy |grep NEEDED|grep libstd`
LIBSTDCPP_VER=`echo $soname | sed -e 's/.*NEEDED.*libstdc++\(-libc.*\(-.*\)\)\?.so.\(.*\)/\3\2/'`
fi
rm -f $dummy $dummy.cc
if test -z "$LIBSTDCPP_VER"; then
AC_MSG_WARN([cannot determine standard C++ library version number])
else
AC_MSG_RESULT([$LIBSTDCPP_VER])
LIBSTDCPP_VER="-$LIBSTDCPP_VER"
fi
AC_SUBST(LIBSTDCPP_VER)
])
AC_DEFUN(ah_GCC3DEP,[
AC_MSG_CHECKING(if $CXX -MD works)
touch gcc3dep.cc

45
buildlib/xml_manpage.mak

@ -1,45 +0,0 @@
# -*- make -*-
# This handles man pages in DocBook XML format. We convert to the respective
# output in the source directory then copy over to the final dest. This
# means xmlto is only needed if compiling from Arch
# Input
# $(SOURCE) - The documents to use, in the form foo.sect, ie apt-cache.8
# the XML files are called apt-cache.8.xml
# See defaults.mak for information about LOCAL
# Some local definitions
ifdef XMLTO
LOCAL := xml-manpage-$(firstword $(SOURCE))
$(LOCAL)-LIST := $(SOURCE)
# Install generation hooks
doc: $($(LOCAL)-LIST)
veryclean: veryclean/$(LOCAL)
$($(LOCAL)-LIST) :: % : %.xml $(INCLUDES)
echo Creating man page $@
$(XMLTO) man $<
# Clean rule
.PHONY: veryclean/$(LOCAL)
veryclean/$(LOCAL):
-rm -rf $($(@F)-LIST)
HAVE_XMLTO=yes
endif
INCLUDES :=
ifndef HAVE_XMLTO
# Strip from the source list any man pages we dont have compiled already
SOURCE := $(wildcard $(SOURCE))
endif
# Chain to the manpage rule
ifneq ($(words $(SOURCE)),0)
include $(MANPAGE_H)
endif

42
buildlib/yodl_manpage.mak

@ -1,42 +0,0 @@
# -*- make -*-
# This handles man pages in YODL format. We convert to the respective
# output in the source directory then copy over to the final dest. This
# means yodl is only needed if compiling from CVS
# Input
# $(SOURCE) - The documents to use, in the form foo.sect, ie apt-cache.8
# the yodl files are called apt-cache.8.yo
# See defaults.mak for information about LOCAL
# Some local definitions
ifdef YODL_MAN
LOCAL := yodl-manpage-$(firstword $(SOURCE))
$(LOCAL)-LIST := $(SOURCE)
# Install generation hooks
doc: $($(LOCAL)-LIST)
veryclean: veryclean/$(LOCAL)
$($(LOCAL)-LIST) :: % : %.yo
echo Creating man page $@
yodl2man -o $@ $<
# Clean rule
.PHONY: veryclean/$(LOCAL)
veryclean/$(LOCAL):
-rm -rf $($(@F)-LIST)
else
# Strip from the source list any man pages we dont have compiled already
SOURCE := $(wildcard $(SOURCE))
endif
# Chain to the manpage rule
ifneq ($(words $(SOURCE)),0)
include $(MANPAGE_H)
endif

219
cmdline/apt-get.cc

@ -862,10 +862,14 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true,
{
struct statvfs Buf;
string OutputDir = _config->FindDir("Dir::Cache::Archives");
if (statvfs(OutputDir.c_str(),&Buf) != 0)
return _error->Errno("statvfs",_("Couldn't determine free space in %s"),
OutputDir.c_str());
if (unsigned(Buf.f_bfree) < (FetchBytes - FetchPBytes)/Buf.f_bsize)
if (statvfs(OutputDir.c_str(),&Buf) != 0) {
if (errno == EOVERFLOW)
return _error->WarningE("statvfs",_("Couldn't determine free space in %s"),
OutputDir.c_str());
else
return _error->Errno("statvfs",_("Couldn't determine free space in %s"),
OutputDir.c_str());
} else if (unsigned(Buf.f_bfree) < (FetchBytes - FetchPBytes)/Buf.f_bsize)
{
struct statfs Stat;
if (statfs(OutputDir.c_str(),&Stat) != 0
@ -1243,136 +1247,142 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
pkgSrcRecords &SrcRecs,string &Src,
pkgDepCache &Cache)
{
// We want to pull the version off the package specification..
string VerTag;
string DefRel;
string DefRel = _config->Find("APT::Default-Release");
string TmpSrc = Name;
const size_t found = TmpSrc.find_last_of("/=");
// honor default release
if (found != string::npos && TmpSrc[found] == '/')
{
DefRel = TmpSrc.substr(found+1);
// extract the version/release from the pkgname
const size_t found = TmpSrc.find_last_of("/=");
if (found != string::npos) {
if (TmpSrc[found] == '/')
DefRel = TmpSrc.substr(found+1);
else
VerTag = TmpSrc.substr(found+1);
TmpSrc = TmpSrc.substr(0,found);
}
else
DefRel = _config->Find("APT::Default-Release");
pkgCache::PkgIterator Pkg = Cache.FindPkg(TmpSrc);
if (found != string::npos && TmpSrc[found] == '=')
/* Lookup the version of the package we would install if we were to
install a version and determine the source package name, then look
in the archive for a source package of the same name. */
bool MatchSrcOnly = _config->FindB("APT::Get::Only-Source");
const pkgCache::PkgIterator Pkg = Cache.FindPkg(TmpSrc);
if (MatchSrcOnly == false && Pkg.end() == false)
{
VerTag = TmpSrc.substr(found+1);
TmpSrc = TmpSrc.substr(0,found);
}
else if(!Pkg.end() && DefRel.empty() == false)
{
// we have a default release, try to locate the pkg. we do it like
// this because GetCandidateVer() will not "downgrade", that means
// "apt-get source -t stable apt" won't work on a unstable system
for (pkgCache::VerIterator Ver = Pkg.VersionList(); Ver.end() == false;
Ver++)
if(VerTag.empty() == false || DefRel.empty() == false)
{
for (pkgCache::VerFileIterator VF = Ver.FileList(); VF.end() == false;
VF++)
// we have a default release, try to locate the pkg. we do it like
// this because GetCandidateVer() will not "downgrade", that means
// "apt-get source -t stable apt" won't work on a unstable system
for (pkgCache::VerIterator Ver = Pkg.VersionList();
Ver.end() == false; Ver++)
{
/* If this is the status file, and the current version is not the
version in the status file (ie it is not installed, or somesuch)
then it is not a candidate for installation, ever. This weeds
out bogus entries that may be due to config-file states, or
other. */
if ((VF.File()->Flags & pkgCache::Flag::NotSource) ==
pkgCache::Flag::NotSource && Pkg.CurrentVer() != Ver)
continue;
if((VF.File().Archive() != 0 && VF.File().Archive() == DefRel) ||
(VF.File().Codename() != 0 && VF.File().Codename() == DefRel))
for (pkgCache::VerFileIterator VF = Ver.FileList();
VF.end() == false; VF++)
{
pkgRecords::Parser &Parse = Recs.Lookup(VF);
VerTag = Parse.SourceVer();
if (VerTag.empty())
VerTag = Ver.VerStr();
break;
/* If this is the status file, and the current version is not the
version in the status file (ie it is not installed, or somesuch)
then it is not a candidate for installation, ever. This weeds
out bogus entries that may be due to config-file states, or
other. */
if ((VF.File()->Flags & pkgCache::Flag::NotSource) ==
pkgCache::Flag::NotSource && Pkg.CurrentVer() != Ver)
continue;
// We match against a concrete version (or a part of this version)
if (VerTag.empty() == false && strncmp(VerTag.c_str(), Ver.VerStr(), VerTag.size()) != 0)
continue;
// or we match against a release
if(VerTag.empty() == false ||
(VF.File().Archive() != 0 && VF.File().Archive() == DefRel) ||
(VF.File().Codename() != 0 && VF.File().Codename() == DefRel))
{
pkgRecords::Parser &Parse = Recs.Lookup(VF);
Src = Parse.SourcePkg();
if (VerTag.empty() == true)
VerTag = Parse.SourceVer();
break;
}
}
}
if (Src.empty() == true)
{
if (VerTag.empty() == false)
_error->Warning(_("Ignore unavailable version '%s' of package '%s'"), VerTag.c_str(), TmpSrc.c_str());
else
_error->Warning(_("Ignore unavailable target release '%s' of package '%s'"), DefRel.c_str(), TmpSrc.c_str());
VerTag.clear();
DefRel.clear();
}
}
}
/* Lookup the version of the package we would install if we were to
install a version and determine the source package name, then look
in the archive for a source package of the same name. */
bool MatchSrcOnly = _config->FindB("APT::Get::Only-Source");
if (MatchSrcOnly == false)
{
if (Pkg.end() == false)
if (VerTag.empty() == true && DefRel.empty() == true)
{
// if we don't have a version or default release, use the CandidateVer to find the Source
pkgCache::VerIterator Ver = Cache.GetCandidateVer(Pkg);
if (Ver.end() == false)
if (Ver.end() == false)
{
pkgRecords::Parser &Parse = Recs.Lookup(Ver.FileList());
Src = Parse.SourcePkg();
VerTag = Parse.SourceVer();
}
}
}
}
if (Src.empty() == true)
Src = TmpSrc;
else
{
/* if we have a source pkg name, make sure to only search
for srcpkg names, otherwise apt gets confused if there
is a binary package "pkg1" and a source package "pkg1"
with the same name but that comes from different packages */
MatchSrcOnly = true;
if (Src != TmpSrc)
{
ioprintf(c1out, _("Picking '%s' as source package instead of '%s'\n"), Src.c_str(), TmpSrc.c_str());
}
}
// The best hit
pkgSrcRecords::Parser *Last = 0;
unsigned long Offset = 0;
string Version;
bool IsMatch = false;
// No source package name..
if (Src.empty() == true)
Src = TmpSrc;
else
// if we have a source pkg name, make sure to only search
// for srcpkg names, otherwise apt gets confused if there
// is a binary package "pkg1" and a source package "pkg1"
// with the same name but that comes from different packages
MatchSrcOnly = true;
// If we are matching by version then we need exact matches to be happy
if (VerTag.empty() == false)
IsMatch = true;
/* Iterate over all of the hits, which includes the resulting
binary packages in the search */
pkgSrcRecords::Parser *Parse;
SrcRecs.Restart();
while ((Parse = SrcRecs.Find(Src.c_str(), MatchSrcOnly)) != 0)
while (true)
{
string Ver = Parse->Version();
// show name mismatches
if (IsMatch == true && Parse->Package() != Src)
ioprintf(c1out, _("No source package '%s' picking '%s' instead\n"), Src.c_str(), Parse->Package().c_str());
if (VerTag.empty() == false)
SrcRecs.Restart();
while ((Parse = SrcRecs.Find(Src.c_str(), MatchSrcOnly)) != 0)
{
/* Don't want to fall through because we are doing exact version
matching. */
if (Cache.VS().CmpVersion(VerTag,Ver) != 0)
const string Ver = Parse->Version();
// Ignore all versions which doesn't fit
if (VerTag.empty() == false && strncmp(VerTag.c_str(), Ver.c_str(), VerTag.size()) != 0)
continue;
Last = Parse;
Offset = Parse->Offset();
break;
// Newer version or an exact match? Save the hit
if (Last == 0 || Cache.VS().CmpVersion(Version,Ver) < 0) {
Last = Parse;
Offset = Parse->Offset();
Version = Ver;
}
// was the version check above an exact match? If so, we don't need to look further
if (VerTag.empty() == false && VerTag.size() == Ver.size())
break;
}
// Newer version or an exact match
if (Last == 0 || Cache.VS().CmpVersion(Version,Ver) < 0 ||
(Parse->Package() == Src && IsMatch == false))
{
IsMatch = Parse->Package() == Src;
Last = Parse;
Offset = Parse->Offset();
Version = Ver;
}
if (Last != 0 || VerTag.empty() == true)
break;
//if (VerTag.empty() == false && Last == 0)
_error->Warning(_("Ignore unavailable version '%s' of package '%s'"), VerTag.c_str(), TmpSrc.c_str());
VerTag.clear();
}
if (Last == 0 || Last->Jump(Offset) == false)
return 0;
return Last;
}
/*}}}*/
@ -2234,10 +2244,14 @@ bool DoSource(CommandLine &CmdL)
// Check for enough free space
struct statvfs Buf;
string OutputDir = ".";
if (statvfs(OutputDir.c_str(),&Buf) != 0)
return _error->Errno("statvfs",_("Couldn't determine free space in %s"),
OutputDir.c_str());
if (unsigned(Buf.f_bfree) < (FetchBytes - FetchPBytes)/Buf.f_bsize)
if (statvfs(OutputDir.c_str(),&Buf) != 0) {
if (errno == EOVERFLOW)
return _error->WarningE("statvfs",_("Couldn't determine free space in %s"),
OutputDir.c_str());
else
return _error->Errno("statvfs",_("Couldn't determine free space in %s"),
OutputDir.c_str());
} else if (unsigned(Buf.f_bfree) < (FetchBytes - FetchPBytes)/Buf.f_bsize)
{
struct statfs Stat;
if (statfs(OutputDir.c_str(),&Stat) != 0
@ -2797,6 +2811,7 @@ int main(int argc,const char *argv[]) /*{{{*/
{0,"force-yes","APT::Get::force-yes",0},
{0,"print-uris","APT::Get::Print-URIs",0},
{0,"diff-only","APT::Get::Diff-Only",0},
{0,"debian-only","APT::Get::Diff-Only",0},
{0,"tar-only","APT::Get::Tar-Only",0},
{0,"dsc-only","APT::Get::Dsc-Only",0},
{0,"purge","APT::Get::Purge",0},

15
cmdline/apt-mark

@ -2,13 +2,14 @@
from optparse import OptionParser
import sys
import os.path
try:
import apt_pkg
except ImportError:
print "Error importing apt_pkg, is python-apt installed?"
import sys
import os.path
sys.exit(1)
actions = { "markauto" : 1,
"unmarkauto": 0
@ -31,8 +32,12 @@ def mark_unmark_automatic(filename, action, pkgs):
" mark or unmark automatic flag"
# open the statefile
if os.path.exists(STATE_FILE):
tagfile = apt_pkg.ParseTagFile(open(STATE_FILE))
outfile = open(STATE_FILE+".tmp","w")
try:
tagfile = apt_pkg.ParseTagFile(open(STATE_FILE))
outfile = open(STATE_FILE+".tmp","w")
except IOError, msg:
print "%s, are you root?" % (msg)
sys.exit(1)
while tagfile.Step():
pkgname = tagfile.Section.get("Package")
autoInst = tagfile.Section.get("Auto-Installed")

11
configure.in

@ -184,12 +184,6 @@ AC_PATH_PROG(DEBIANDOC_TEXT,debiandoc2text)
dnl Check for doxygen
AC_PATH_PROG(DOXYGEN, doxygen)
dnl Check for the SGML tools needed to build man pages
AC_PATH_PROG(DOCBOOK2MAN,docbook2man)
dnl Check for the XML tools needed to build man pages
AC_PATH_PROG(XMLTO,xmlto)
dnl Check for the XSLTProc tool needed to build man pages together with po4a
AC_PATH_PROG(XSLTPROC,xsltproc)
@ -202,12 +196,7 @@ AC_PATH_PROG([DOT], [dot], [])
DOTDIR=$(dirname $DOT)
AC_SUBST(DOTDIR)
dnl Check for YODL
dnl AC_CHECK_PROG(YODL_MAN,yodl2man,"yes","")
ah_NUM_PROCS
rc_GLIBC_VER
rc_LIBSTDCPP_VER
ah_GCC3DEP
dnl It used to be that the user could select translations and that could get

2
debian/NEWS

@ -1,6 +1,6 @@
apt (0.7.24) unstable; urgency=low
* Allready included in the last version but now with better documentation
* Already included in the last version but now with better documentation
is the possibility to add/prefer different compression types while
downloading archive informations, which can decrease the time needed for
update on slow machines. See apt.conf (5) manpage for details.

66
debian/changelog

@ -23,9 +23,6 @@ apt (0.7.25) UNRELEASED; urgency=low
Closes: #559277
[ Michael Vogt ]
* apt-pkg/packagemanager.cc:
- fix overly aggressive immediate config propergation
(thanks to David Kalnischkies)
* apt-pkg/packagemanager.cc:
- add output about pre-depends configuring when debug::pkgPackageManager
is used
@ -35,7 +32,8 @@ apt (0.7.25) UNRELEASED; urgency=low
* merge lp:~mvo/apt/netrc branch, this adds support for a
/etc/apt/auth.conf that can be used to store username/passwords
in a "netrc" style file (with the extension that it supports "/"
in a machine definition). Based on the maemo git branch.
in a machine definition). Based on the maemo git branch (Closes: #518473)
(thanks also to Jussi Hakala and Julian Andres Klode)
* apt-pkg/deb/dpkgpm.cc:
- add "purge" to list of known actions
@ -48,6 +46,61 @@ apt (0.7.25) UNRELEASED; urgency=low
- Emit a warning if removed keys keyring is missing and skip associated
checks (LP: #218971)
[ David Kalnischkies ]
* apt-pkg/packagemanager.cc:
- better debug output for ImmediateAdd with depth and why
- improve the message shown for failing immediate configuration
* doc/guide.it.sgml: moved to doc/it/guide.it.sgml
* doc/po4a.conf: activate translation of guide.sgml and offline.sgml
* doc/apt.conf.5.xml:
- provide a few more details about APT::Immediate-Configure
* doc/sources.list.5.xml:
- add note about additional apt-transport-methods
* doc/apt-mark.8.xml:
- correct showauto synopsis, thanks Andrew Schulman (Closes: #551440)
* cmdline/apt-get.cc:
- source should displays his final pkg pick (Closes: #249383, #550952)
- source doesn't need the complete version for match (Closes: #245250)
- source ignores versions/releases if not available (Closes: #377424)
- only warn if (free) space overflows (Closes: #522238)
- add --debian-only as alias for --diff-only
* methods/connect.cc:
- display also strerror of "wicked" getaddrinfo errors
* buildlib/configure.mak, buildlib/config.{sub,guess}:
- remove (outdated) config.{sub,guess} and use the ones provided
by the new added build-dependency autotools-dev instead
* configure.in, buildlib/{xml,yodl,sgml}_manpage.mak:
- remove the now obsolete manpage buildsystems
* doc/{pl,pt_BR,es,it}/*.{sgml,xml}:
- convert all remaining translation to the po4a system
* debian/control:
- drop build-dependency on docbook-utils and xmlto
- add build-dependency on autotools-dev
- bump policy to 3.8.3 as we have no outdated manpages anymore
* debian/NEWS:
- fix a typo in 0.7.24: Allready -> Already (Closes: #557674)
* cmdline/apt-mark:
- print an error if a new state file can't be created,
thanks Carl Chenet! (Closes: #521289)
- print an error and exit if python-apt is not installed,
thanks Carl Chenet! (Closes: #521284)
* ftparchive/writer.{cc,h}:
- add APT::FTPArchive::LongDescription to be able to disable them
* apt-pkg/deb/debsrcrecords.cc:
- use "diff" filetype for .debian.tar.* files (Closes: #554898)
[ Chris Leick ]
* doc/ various manpages:
- correct various errors, typos and oddities (Closes: #552535)
* doc/apt-secure.8.xml:
- replace literal with emphasis tags in Archive configuration
[ Eugene V. Lyubimkin ]
* apt-pkg/contib/strutl.h
- Avoid extra inner copy in APT_MKSTRCMP and APT_MKSTRCMP2.
* build infrastructure:
- Bumped libapt version, excluded eglibc from SONAME. (Closes: #448249)
[ Julian Andres Klode ]
* doc/apt.conf.5.xml:
- Deprecate unquoted values, string concatenation and explain what should
@ -55,15 +108,12 @@ apt (0.7.25) UNRELEASED; urgency=low
- Restrict option names to alphanumerical characters and "/-:._+".
- Deprecate #include, we have apt.conf.d nowadays which should be
sufficient.
* methods/https.cc:
- Add support for authentication using netrc (Closes: #518473), patch
by Jussi Hakala <jussi.hakala@hut.fi>.
* ftparchive/apt-ftparchive.cc:
- Call setlocale() so translations are actually used.
* debian/apt.conf.autoremove:
- Add kfreebsd-image-* to the list (Closes: #558803)
-- Michael Vogt <michael.vogt@ubuntu.com> Tue, 29 Sep 2009 15:51:34 +0200
-- Michael Vogt <mvo@debian.org> Thu, 10 Dec 2009 22:02:38 +0100
apt (0.7.24) unstable; urgency=low

9
debian/control

@ -5,18 +5,16 @@ Maintainer: APT Development Team <deity@lists.debian.org>
Uploaders: Michael Vogt <mvo@debian.org>, Otavio Salvador <otavio@debian.org>,
Christian Perrier <bubulle@debian.org>, Daniel Burrows <dburrows@debian.org>,
Luca Bruno <lethalman88@gmail.com>, Julian Andres Klode <jak@debian.org>
Standards-Version: 3.8.2.0
Build-Depends: debhelper (>= 5.0), libdb-dev, gettext (>= 0.12), libcurl4-gnutls-dev | libcurl3-gnutls-dev (>= 7.15.5), debiandoc-sgml, docbook-utils (>= 0.6.12), xsltproc, docbook-xsl, xmlto, po4a (>= 0.34-2)
Standards-Version: 3.8.3
Build-Depends: debhelper (>= 5.0), libdb-dev, gettext (>= 0.12), libcurl4-gnutls-dev | libcurl3-gnutls-dev (>= 7.15.5), debiandoc-sgml, xsltproc, docbook-xsl, po4a (>= 0.34-2), autotools-dev
Vcs-Bzr: http://bzr.debian.org/apt/debian-sid/
Package: apt
Architecture: any
Depends: ${shlibs:Depends}, debian-archive-keyring
Priority: important
Replaces: libapt-pkg-doc (<< 0.3.7), libapt-pkg-dev (<< 0.3.7)
Provides: ${libapt-pkg:provides}
Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt
Section: admin
Description: Advanced front-end for dpkg
This is Debian's next generation front-end for the dpkg package manager.
It provides the apt-get utility and APT dselect method that provides a
@ -55,10 +53,8 @@ Description: Documentation for APT development
Package: apt-utils
Architecture: any
Depends: ${shlibs:Depends}
Priority: important
Provides: ${libapt-inst:provides}
Replaces: apt (<< 0.5.9)
Section: admin
Description: APT utility programs
This package contains some APT utility programs such as apt-ftparchive,
apt-sortpkgs and apt-extracttemplates.
@ -71,7 +67,6 @@ Package: apt-transport-https
Architecture: any
Depends: ${shlibs:Depends}
Priority: optional
Section: admin
Description: APT https transport
This package contains a APT https transport. It makes it possible to
use 'deb https://foo distro main' lines in the sources.list.

17
debian/rules

@ -75,25 +75,24 @@ APT_UTILS=ftparchive sortpkgs extracttemplates
#export DH_VERBOSE=1
# Find the libapt-pkg major version for use in other control files
export LIBAPTPKG_MAJOR:=$(shell egrep '^MAJOR=' apt-pkg/makefile |cut -d '=' -f 2)
export LIBAPTINST_MAJOR:=$(shell egrep '^MAJOR=' apt-inst/makefile |cut -d '=' -f 2)
include buildlib/libversion.mak
# Determine which package we should provide in the control files
LIBAPTPKG_PROVIDE=libapt-pkg$(GLIBC_VER)$(LIBSTDCPP_VER)-$(LIBAPTPKG_MAJOR)
LIBAPTINST_PROVIDE=libapt-inst$(GLIBC_VER)$(LIBSTDCPP_VER)-$(LIBAPTINST_MAJOR)
LIBAPTPKG_PROVIDE=libapt-pkg-$(LIBAPTPKG_MAJOR)
LIBAPTINST_PROVIDE=libapt-inst-$(LIBAPTINST_MAJOR)
debian/shlibs.local: apt-pkg/makefile
# We have 3 shlibs.local files.. One for 'apt', one for 'apt-utils' and
# one for the rest of the packages. This ensures that each package gets
# the right overrides..
rm -rf $@ $@.apt $@.apt-utils
echo "libapt-pkg$(GLIBC_VER)$(LIBSTDCPP_VER) $(LIBAPTPKG_MAJOR)" > $@.apt
echo "libapt-pkg $(LIBAPTPKG_MAJOR)" > $@.apt
echo "libapt-pkg$(GLIBC_VER)$(LIBSTDCPP_VER) $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@.apt-utils
echo "libapt-inst$(GLIBC_VER)$(LIBSTDCPP_VER) $(LIBAPTINST_MAJOR)" >> $@.apt-utils
echo "libapt-pkg $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@.apt-utils
echo "libapt-inst $(LIBAPTINST_MAJOR)" >> $@.apt-utils
echo "libapt-pkg$(GLIBC_VER)$(LIBSTDCPP_VER) $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@
echo "libapt-inst$(GLIBC_VER)$(LIBSTDCPP_VER) $(LIBAPTINST_MAJOR) $(LIBAPTINST_PROVIDE)" >> $@
echo "libapt-pkg $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@
echo "libapt-inst $(LIBAPTINST_MAJOR) $(LIBAPTINST_PROVIDE)" >> $@
build: build/build-stamp
build-doc: build/build-doc-stamp

2
doc/apt-cache.8.xml

@ -151,7 +151,7 @@ Reverse Provides:
<listitem><para><literal>Missing</literal> is the number of package names that were referenced in
a dependency but were not provided by any package. Missing packages may
be in evidence if a full distribution is not accessed, or if a package
be an evidence if a full distribution is not accessed, or if a package
(real or virtual) has been dropped from the distribution. Usually they
are referenced from Conflicts or Breaks statements.</para>
</listitem>

2
doc/apt-extracttemplates.1.xml

@ -60,7 +60,7 @@
<varlistentry><term><option>-t</option></term><term><option>--tempdir</option></term>
<listitem><para>
Temporary directory in which to write extracted debconf template files
and config scripts
and config scripts.
Configuration Item: <literal>APT::ExtractTemplates::TempDir</literal></para></listitem>
</varlistentry>

15
doc/apt-ftparchive.1.xml

@ -15,7 +15,7 @@
&apt-email;
&apt-product;
<!-- The last update date -->
<date>29 February 2004</date>
<date>17 August 2009</date>
</refentryinfo>
<refmeta>
@ -158,7 +158,7 @@
<para>
The <literal>Dir</literal> section defines the standard directories needed to
locate the files required during the generation process. These
directories are prepended to certain relative paths defined in later
directories are prepended certain relative paths defined in later
sections to produce a complete an absolute path.</para>
<variablelist>
<varlistentry><term>ArchiveDir</term>
@ -543,7 +543,16 @@ for i in Sections do
Make the caching databases read only.
Configuration Item: <literal>APT::FTPArchive::ReadOnlyDB</literal>.</para></listitem>
</varlistentry>
<varlistentry><term><option>APT::FTPArchive::LongDescription</option></term>
<listitem><para>
This configuration option defaults to "<literal>true</literal>" and should only be set to
<literal>"false"</literal> if the Archive generated with &apt-ftparchive; also provides
<filename>Translation</filename> files. Note that it is currently not possible to create these
files with <command>apt-ftparchive</command>.
</para></listitem>
</varlistentry>
&apt-commonoptions;
</variablelist>

4
doc/apt-get.8.xml

@ -263,7 +263,7 @@
you will properly get another (newer, older or none) source version than
the one you have installed or could install.</para>
<para>If the <option>--compile</option> options is specified
<para>If the <option>--compile</option> option is specified
then the package will be compiled to a binary .deb using
<command>dpkg-buildpackage</command>, if <option>--download-only</option>
is specified then the source package will not be unpacked.</para>
@ -391,7 +391,7 @@
<para>Simulate prints out
a series of lines each one representing a dpkg operation, Configure (Conf),
Remove (Remv), Unpack (Inst). Square brackets indicate broken packages with
Remove (Remv), Unpack (Inst). Square brackets indicate broken packages
and empty set of square brackets meaning breaks that are of no consequence
(rare).</para></listitem>
</varlistentry>

2
doc/apt-mark.8.xml

@ -80,7 +80,7 @@
<varlistentry><term>showauto</term>
<listitem><para><literal>showauto</literal> is used to print a
list of manually installed packages with each package on a new line.
list of automatically installed packages with each package on a new line.
</para></listitem>
</varlistentry>
</variablelist>

12
doc/apt-secure.8.xml

@ -68,7 +68,7 @@
different steps. <command>apt-secure</command> is the last step in
this chain, trusting an archive does not mean that the packages
that you trust it do not contain malicious code but means that you
trust the archive maintainer. Its the archive maintainer
trust the archive maintainer. It's the archive maintainer
responsibility to ensure that the archive integrity is correct.
</para>
@ -94,7 +94,7 @@
is computed and put in the Packages file. The MD5 sum of all of the
packages files are then computed and put into the Release file. The
Release file is then signed by the archive key (which is created
once a year and distributed through the FTP server. This key is
once a year) and distributed through the FTP server. This key is
also on the Debian keyring.
</para>
@ -157,15 +157,15 @@
</para>
<itemizedlist>
<listitem><para><literal>Create a toplevel Release
file</literal>. if it does not exist already. You can do this
<listitem><para><emphasis>Create a toplevel Release
file</emphasis>, if it does not exist already. You can do this
by running <command>apt-ftparchive release</command>
(provided in apt-utils).</para></listitem>
<listitem><para><literal>Sign it</literal>. You can do this by running
<listitem><para><emphasis>Sign it</emphasis>. You can do this by running
<command>gpg -abs -o Release.gpg Release</command>.</para></listitem>
<listitem><para><literal>Publish the key fingerprint</literal>,
<listitem><para><emphasis>Publish the key fingerprint</emphasis>,
that way your users will know what key they need to import in
order to authenticate the files in the
archive.</para></listitem>

43
doc/apt.conf.5.xml

@ -48,9 +48,9 @@
loading even more config files.</para>
<para>The configuration file is organized in a tree with options organized into
functional groups. option specification is given with a double colon
functional groups. Option specification is given with a double colon
notation, for instance <literal>APT::Get::Assume-Yes</literal> is an option within
the APT tool group, for the Get tool. options do not inherit from their
the APT tool group, for the Get tool. Options do not inherit from their
parent groups.</para>
<para>Syntactically the configuration language is modeled after what the ISC tools
@ -58,7 +58,7 @@
<literal>//</literal> are treated as comments (ignored), as well as all text
between <literal>/*</literal> and <literal>*/</literal>, just like C/C++ comments.
Each line is of the form
<literal>APT::Get::Assume-Yes "true";</literal> The trailing
<literal>APT::Get::Assume-Yes "true";</literal>. The trailing
semicolon and the quotes are required. The value must be on one line, and
there is no kind of string concatenation. It must not include inside quotes.
The behavior of the backslash "\" and escaped characters inside a value is
@ -156,11 +156,26 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
</varlistentry>
<varlistentry><term>Immediate-Configure</term>
<listitem><para>Disable Immediate Configuration; This dangerous option disables some
of APT's ordering code to cause it to make fewer dpkg calls. Doing
so may be necessary on some extremely slow single user systems but
is very dangerous and may cause package install scripts to fail or worse.
Use at your own risk.</para></listitem>
<listitem><para>Defaults to on which will cause APT to install essential and important packages
as fast as possible in the install/upgrade operation. This is done to limit the effect of a failing
&dpkg; call: If this option is disabled APT does treat an important package in the same way as
an extra package: Between the unpacking of the important package A and his configuration can then
be many other unpack or configuration calls, e.g. for package B which has no relation to A, but
causes the dpkg call to fail (e.g. because maintainer script of package B generates an error) which results
in a system state in which package A is unpacked but unconfigured - each package depending on A is now no
longer guaranteed to work as their dependency on A is not longer satisfied. The immediate configuration marker
is also applied to all dependencies which can generate a problem if the dependencies e.g. form a circle
as a dependency with the immediate flag is comparable with a Pre-Dependency. So in theory it is possible
that APT encounters a situation in which it is unable to perform immediate configuration, error out and
refers to this option so the user can deactivate the immediate configuration temporary to be able to perform
an install/upgrade again. Note the use of the word "theory" here as this problem was only encountered by now
in real world a few times in non-stable distribution versions and caused by wrong dependencies of the package
in question or by a system in an already broken state, so you should not blindly disable this option as
the mentioned scenario above is not the only problem immediate configuration can help to prevent in the first place.
Before a big operation like <literal>dist-upgrade</literal> is run with this option disabled it should be tried to
explicitly <literal>install</literal> the package APT is unable to configure immediately, but please make sure to
report your problem also to your distribution and to the APT team with the buglink below so they can work on
improving or correcting the upgrade process.</para></listitem>
</varlistentry>
<varlistentry><term>Force-LoopBreak</term>
@ -250,7 +265,7 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
this applies to all things including connection timeout and data timeout.</para>
<para>One setting is provided to control the pipeline depth in cases where the
remote server is not RFC conforming or buggy (such as Squid 2.0.2)
remote server is not RFC conforming or buggy (such as Squid 2.0.2).
<literal>Acquire::http::Pipeline-Depth</literal> can be a value from 0 to 5
indicating how many outstanding requests APT should send. A value of
zero MUST be specified if the remote host does not properly linger
@ -521,9 +536,9 @@ DPkg::TriggersPending "true";</literallayout></para>
<variablelist>
<varlistentry><term>DPkg::NoTriggers</term>
<listitem><para>Add the no triggers flag to all dpkg calls (expect the ConfigurePending call).
<listitem><para>Add the no triggers flag to all dpkg calls (except the ConfigurePending call).
See &dpkg; if you are interested in what this actually means. In short: dpkg will not run the
triggers then this flag is present unless it is explicit called to do so in an extra call.
triggers when this flag is present unless it is explicitly called to do so in an extra call.
Note that this option exists (undocumented) also in older apt versions with a slightly different
meaning: Previously these option only append --no-triggers to the configure calls to dpkg -
now apt will add these flag also to the unpack and remove calls.</para></listitem>
@ -534,8 +549,8 @@ DPkg::TriggersPending "true";</literallayout></para>
The "<literal>smart</literal>" way is it to configure only packages which need to be configured before
another package can be unpacked (Pre-Depends) and let the rest configure by dpkg with a call generated
by the next option. "<literal>no</literal>" on the other hand will not configure anything and totally
relay on dpkg for configuration (which will at the moment fail if a Pre-Depends is encountered).
Setting this option to another than the all value will implicit activate also the next option per
rely on dpkg for configuration (which will at the moment fail if a Pre-Depends is encountered).
Setting this option to another than the all value will implicitly activate also the next option per
default as otherwise the system could end in an unconfigured status which could be unbootable!
</para></listitem>
</varlistentry>
@ -543,7 +558,7 @@ DPkg::TriggersPending "true";</literallayout></para>
<listitem><para>If this option is set apt will call <command>dpkg --configure --pending</command>
to let dpkg handle all required configurations and triggers. This option is activated automatic
per default if the previous option is not set to <literal>all</literal>, but deactivating could be useful
if you want to run APT multiple times in a row - e.g. in an installer. In this sceneries you could
if you want to run APT multiple times in a row - e.g. in an installer. In these sceneries you could
deactivate this option in all but the last run.</para></listitem>
</varlistentry>
<varlistentry><term>DPkg::TriggersPending</term>

8
doc/apt.ent

@ -78,7 +78,7 @@
<!ENTITY dpkg "<citerefentry>
<refentrytitle><command>dpkg</command></refentrytitle>
<manvolnum>8</manvolnum>
<manvolnum>1</manvolnum>
</citerefentry>"
>
@ -96,19 +96,19 @@
<!ENTITY dpkg-scanpackages "<citerefentry>
<refentrytitle><command>dpkg-scanpackages</command></refentrytitle>
<manvolnum>8</manvolnum>
<manvolnum>1</manvolnum>
</citerefentry>"
>
<!ENTITY dpkg-scansources "<citerefentry>
<refentrytitle><command>dpkg-scansources</command></refentrytitle>
<manvolnum>8</manvolnum>
<manvolnum>1</manvolnum>
</citerefentry>"
>
<!ENTITY dselect "<citerefentry>
<refentrytitle><command>dselect</command></refentrytitle>
<manvolnum>8</manvolnum>
<manvolnum>1</manvolnum>
</citerefentry>"
>

6
doc/de/addendum/xml_de.add

@ -0,0 +1,6 @@
PO4A-HEADER:mode=after;position=manbugs;beginboundary=^</refentry>
<refsect1><title>Übersetzung</title>
<para>Die deutsche Übersetzung wurde 2009 von Chris Leick <email>c.leick@vollbio.de</email> angefertigt
in Zusammenarbeit mit dem Debian German-l10n-Team <email>debian-l10n-german@lists.debian.org</email>.</para>
</refsect1>

11
doc/de/makefile

@ -0,0 +1,11 @@
# -*- make -*-
BASE=../..
SUBDIR=doc/de
# Bring in the default rules
include ../../buildlib/defaults.mak
# Language Code of this translation
LC=de
include $(PO4A_MANPAGE_H)

9
doc/es/addendum/xml_es.add

@ -0,0 +1,9 @@
PO4A-HEADER:mode=after;position=manbugs;beginboundary=^</refentry>
<refsect1><title>Translation</title>
<para>The spanish translation was written 2003 and 2004 by Ismael Fanlo (2003), Carlos Mestre (2003),