summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2010-06-26 18:40:15 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2010-06-26 18:40:15 +0200
commit1408e219e76e577fb84ef1c48e58337b6569feec (patch)
treef665fda23f0bb1df862e8747cf2b40b73ba85edd
parent1f2933a8de0f3a26f51b4a0a2112cbdfd4461e9b (diff)
* apt-pkg/contrib/fileutl.cc:
- show notice about ignored file instead of being always silent - add a Dir::Ignore-Files-Silently list option to control the notice *
-rw-r--r--apt-pkg/contrib/fileutl.cc4
-rw-r--r--apt-pkg/init.cc5
-rw-r--r--debian/changelog6
-rw-r--r--doc/apt.conf.5.xml9
4 files changed, 23 insertions, 1 deletions
diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc
index 16f7ce929..e95ddf562 100644
--- a/apt-pkg/contrib/fileutl.cc
+++ b/apt-pkg/contrib/fileutl.cc
@@ -281,6 +281,7 @@ std::vector<string> GetListOfFilesInDir(string const &Dir, std::vector<string> c
}
std::vector<string> List;
+ Configuration::MatchAgainstConfig SilentIgnore("Dir::Ignore-Files-Silently");
DIR *D = opendir(Dir.c_str());
if (D == 0)
{
@@ -306,6 +307,7 @@ std::vector<string> GetListOfFilesInDir(string const &Dir, std::vector<string> c
{
if (Debug == true)
std::clog << "Bad file: " << Ent->d_name << " → no extension" << std::endl;
+ _error->Notice("Ignoring file '%s' in directory '%s' as it has no filename extension", Ent->d_name, Dir.c_str());
continue;
}
}
@@ -313,6 +315,8 @@ std::vector<string> GetListOfFilesInDir(string const &Dir, std::vector<string> c
{
if (Debug == true)
std::clog << "Bad file: " << Ent->d_name << " → bad extension »" << flExtension(Ent->d_name) << "«" << std::endl;
+ if (SilentIgnore.Match(Ent->d_name) == false)
+ _error->Notice("Ignoring file '%s' in directory '%s' as it has an invalid filename extension", Ent->d_name, Dir.c_str());
continue;
}
}
diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc
index 21472eb3b..7a332c86e 100644
--- a/apt-pkg/init.cc
+++ b/apt-pkg/init.cc
@@ -78,6 +78,11 @@ bool pkgInitConfig(Configuration &Cnf)
Cnf.Set("Dir::Log::Terminal","term.log");
Cnf.Set("Dir::Log::History","history.log");
+ Cnf.Set("Dir::Ignore-Files-Silently::", "~$");
+ Cnf.Set("Dir::Ignore-Files-Silently::", "\\.disabled$");
+ Cnf.Set("Dir::Ignore-Files-Silently::", "\\.bak$");
+ Cnf.Set("Dir::Ignore-Files-Silently::", "\\.dpkg-[a-z]+$");
+
// Translation
Cnf.Set("APT::Acquire::Translation", "environment");
diff --git a/debian/changelog b/debian/changelog
index 4500614a0..722e7ffc4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -25,8 +25,12 @@ apt (0.7.26~exp8) UNRELEASED; urgency=low
- show a deprecation notice for APT::Acquire::Translation
* apt-pkg/contrib/configuration.{cc,h}:
- add a wrapper to match strings against configurable regex patterns
+ * apt-pkg/contrib/fileutl.cc:
+ - show notice about ignored file instead of being always silent
+ - add a Dir::Ignore-Files-Silently list option to control the notice
+ *
- -- David Kalnischkies <kalnischkies@gmail.com> Sat, 26 Jun 2010 13:28:48 +0200
+ -- David Kalnischkies <kalnischkies@gmail.com> Sat, 26 Jun 2010 18:40:01 +0200
apt (0.7.26~exp7) experimental; urgency=low
diff --git a/doc/apt.conf.5.xml b/doc/apt.conf.5.xml
index 0cf4bb663..39e2c8e6b 100644
--- a/doc/apt.conf.5.xml
+++ b/doc/apt.conf.5.xml
@@ -507,6 +507,15 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
will be looked up in
<filename>/tmp/staging/var/lib/dpkg/status</filename>.
</para>
+
+ <para>
+ The <literal>Ignore-Files-Silently</literal> list can be used to specify
+ which files APT should silently ignore while parsing the files in the
+ fragment directories. Per default a file which end with <literal>.disabled</literal>,
+ <literal>~</literal>, <literal>.bak</literal> or <literal>.dpkg-[a-z]+</literal>
+ is silently ignored. As seen in the last default value these patterns can use regular
+ expression syntax.
+ </para>
</refsect1>
<refsect1><title>APT in DSelect</title>