Parcourir la source

merged -r1875..1886 from lp:~donkult/apt/sid

Michael Vogt il y a 16 ans
Parent
commit
be2033f956

+ 4 - 6
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)
@@ -478,7 +474,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 for on already unpacked %s."
+			"Please see man 5 apt.conf under APT::Immediate-Configure for details."),Pkg.Name());
       return true;
    }
 
@@ -585,7 +582,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."),Pkg.Name());
    
    return true;
 }

+ 7 - 1
buildlib/po4a_manpage.mak

@@ -28,6 +28,7 @@ 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
@@ -40,7 +41,7 @@ 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 +53,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)

+ 15 - 7
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,19 @@ 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)
+
   [ Julian Andres Klode ]
   * doc/apt.conf.5.xml:
     - Deprecate unquoted values, string concatenation and explain what should
@@ -55,9 +66,6 @@ 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:

+ 1 - 1
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>

+ 16 - 5
doc/apt.conf.5.xml

@@ -156,11 +156,22 @@ 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 doesn't 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, 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.</para></listitem>
      </varlistentry>
 
      <varlistentry><term>Force-LoopBreak</term>

doc/guide.it.sgml → doc/it/guide.it.sgml


+ 11 - 0
doc/it/makefile

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

+ 2 - 2
doc/makefile

@@ -7,8 +7,8 @@ SUBDIRS= $(dir $(wildcard */makefile))
 include ../buildlib/defaults.mak
 
 # Debian Doc SGML Documents
-SOURCE = dpkg-tech.sgml design.sgml files.sgml guide.sgml guide.it.sgml \
-         cache.sgml method.sgml offline.sgml
+SOURCE = $(wildcard *.sgml)
+DEBIANDOC_HTML_OPTIONS=-l en
 include $(DEBIANDOC_H)
 
 # XML man pages

+ 4 - 4
doc/pl/makefile

@@ -5,7 +5,7 @@ SUBDIR=doc/pl
 # Bring in the default rules
 include ../../buildlib/defaults.mak
 
-# Debian Doc SGML Documents
-SOURCE = offline.pl.sgml
-DEBIANDOC_HTML_OPTIONS=-l pl
-include $(DEBIANDOC_H)
+# Language Code of this translation
+LC=pl
+
+include $(PO4A_MANPAGE_H)

+ 5 - 4
doc/po4a.conf

@@ -33,6 +33,11 @@
                 add_$lang:$lang/addendum/xml_$lang.add
 [type: docbook] sources.list.5.xml $lang:$lang/sources.list.$lang.5.xml \
                 add_$lang:$lang/addendum/xml_$lang.add
+
+[type: sgml]    guide.sgml $lang:$lang/guide.$lang.sgml \
+                add_$lang::$lang/addendum/debiandoc_$lang.add
+[type: sgml]    offline.sgml $lang:$lang/offline.$lang.sgml \
+                add_$lang::$lang/addendum/debiandoc_$lang.add
 #[type: sgml]    cache.sgml $lang:$lang/cache.$lang.sgml \
 #                add_$lang::$lang/addendum/debiandoc_$lang.add
 #[type: sgml]    design.sgml $lang:$lang/design.$lang.sgml\
@@ -41,10 +46,6 @@
 #                add_$lang::$lang/addendum/debiandoc_$lang.add
 #[type: sgml]    files.sgml $lang:$lang/files.$lang.sgml\
 #                add_$lang::$lang/addendum/debiandoc_$lang.add
-#[type: sgml]    guide.sgml $lang:$lang/guide.$lang.sgml\
-#                add_$lang::$lang/addendum/debiandoc_$lang.add
 #[type: sgml]    method.sgml $lang:$lang/method.$lang.sgml\
 #                add_$lang::$lang/addendum/debiandoc_$lang.add
-#[type: sgml]    offline.sgml $lang:$lang/offline.$lang.sgml\
-#                add_$lang::$lang/addendum/debiandoc_$lang.add
 

+ 12 - 0
doc/sources.list.5.xml

@@ -174,6 +174,18 @@ deb http://http.us.debian.org/debian dists/stable-updates/
     <command>dd</command> 
     commands to perform the file transfers from the remote.</para></listitem>
     </varlistentry>
+
+    <varlistentry><term>more recongnizable URI types</term>
+    <listitem><para>
+    APT can be extended with more methods shipped in other optional packages which should
+    follow the nameing scheme <literal>apt-transport-<replaceable>method</replaceable></literal>.
+    The APT team e.g. maintain also the <literal>apt-transport-https</literal> package which
+    provides access methods for https-URIs with features similiar to the http method, but other
+    methods for using e.g. debtorrent are also available, see <citerefentry>
+    <refentrytitle><filename>apt-transport-debtorrent</filename></refentrytitle>
+    <manvolnum>1</manvolnum></citerefentry>.
+    </para></listitem>
+    </varlistentry>
   </variablelist>
  </para>
  </refsect1>

+ 5 - 5
ftparchive/cachedb.cc

@@ -182,11 +182,11 @@ bool CacheDB::GetFileInfo(string FileName, bool DoControl, bool DoContents,
 	Stats.Bytes += CurStat.FileSize;
 	Stats.Packages++;
 
-	if (DoControl && LoadControl() == false
-		|| DoContents && LoadContents(GenContentsOnly) == false
-		|| DoMD5 && GetMD5(false) == false
-		|| DoSHA1 && GetSHA1(false) == false
-		|| DoSHA256 && GetSHA256(false) == false)
+	if ((DoControl && LoadControl() == false)
+		|| (DoContents && LoadContents(GenContentsOnly) == false)
+		|| (DoMD5 && GetMD5(false) == false)
+		|| (DoSHA1 && GetSHA1(false) == false)
+		|| (DoSHA256 && GetSHA256(false) == false))
 	{
 		delete Fd;
 		Fd = NULL;

+ 0 - 1
methods/https.cc

@@ -138,7 +138,6 @@ bool HttpsMethod::Fetch(FetchItem *Itm)
    curl_easy_setopt(curl, CURLOPT_NOPROGRESS, false);
    curl_easy_setopt(curl, CURLOPT_FAILONERROR, true);
    curl_easy_setopt(curl, CURLOPT_FILETIME, true);
-   curl_easy_setopt(curl, CURLOPT_NETRC, CURL_NETRC_OPTIONAL);
 
    // SSL parameters are set by default to the common (non mirror-specific) value
    // if available (or a default one) and gets overload by mirror-specific ones.

+ 15 - 1
po/apt-all.pot

@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-09-27 17:32+0200\n"
+"POT-Creation-Date: 2009-09-30 18:47+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -2305,6 +2305,20 @@ msgid ""
 "you really want to do it, activate the APT::Force-LoopBreak option."
 msgstr ""
 
+#: apt-pkg/packagemanager.cc:474
+#, c-format
+msgid ""
+"Could not perform immediate configuration for on already unpacked %s.Please "
+"see man 5 apt.conf under APT::Immediate-Configure for details."
+msgstr ""
+
+#: apt-pkg/packagemanager.cc:575
+#, c-format
+msgid ""
+"Could not perform immediate configuration on %s.Please see man 5 apt.conf "
+"under APT::Immediate-Configure for details."
+msgstr ""
+
 #: apt-pkg/pkgrecords.cc:32
 #, c-format
 msgid "Index file type '%s' is not supported"